@kizmann/nano-ui 1.0.1 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -114
- package/dist/nano-ui.css +1 -1
- package/dist/nano-ui.js +1 -1
- package/dist/nano-ui.js.map +1 -1
- package/dist/themes/dark.css +1 -1
- package/dist/themes/light.css +1 -1
- package/package.json +6 -6
- package/src/drawer/src/drawer/drawer.js +8 -8
- package/src/drawer/src/drawer/drawer.scss +8 -2
- package/src/form/src/form-item/form-item.scss +6 -1
- package/src/map/src/map/map.scss +1 -0
- package/src/map/src/map-marker/map-marker.js +1 -1
- package/src/resizer/src/resizer/resizer.js +6 -4
- package/src/root/vars.scss +1 -1
- package/src/scrollbar/src/scrollbar/scrollbar.next.js +1 -1
- package/src/scrollbar/src/scrollbar/scrollbar.scss +3 -2
- package/src/select/src/select/select.js +1 -1
- package/src/slider/src/slider/slider.js +5 -0
- package/src/slider/src/slider/slider.scss +4 -0
- package/src/table/src/table/table.scss +6 -2
- package/src/table/src/table-column/table-column.scss +0 -1
- package/themes/macos/button/src/button/button.scss +9 -0
- package/themes/macos/radio/src/radio/radio.scss +1 -1
- package/themes/macos/root/vars-dark.scss +1 -1
- package/themes/macos/root/vars-light.scss +1 -1
- package/themes/macos/root/vars.scss +0 -1
- package/themes/macos/scrollbar/src/scrollbar/scrollbar.scss +1 -1
- package/themes/macos/select/src/select/select.scss +1 -1
- package/themes/macos/slider/src/slider/slider.scss +23 -3
- package/themes/macos/tags/src/tags-item/tags-item.scss +4 -2
package/dist/nano-ui.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"nano-ui.js","mappings":"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","sources":["webpack://Nano/webpack/universalModuleDefinition","webpack://Nano/./src/datetimepicker/src/datetimepicker/datetimepicker.js","webpack://Nano/./src/datetimepicker/index.js","webpack://Nano/./src/transfer/src/transfer/transfer.js","webpack://Nano/./src/transfer/index.js","webpack://Nano/./src/scrollbar/src/scrollbar/scrollbar.next.js","webpack://Nano/./src/scrollbar/index.js","webpack://Nano/./src/switch/src/switch/switch.js","webpack://Nano/./src/switch/index.js","webpack://Nano/./src/info/src/info/info.js","webpack://Nano/./src/info/src/info-column/info-column.js","webpack://Nano/./src/info/src/info-field/info-field.js","webpack://Nano/./src/info/src/info-field/types/info-field-string.js","webpack://Nano/./src/info/src/info-field/types/info-field-boolean.js","webpack://Nano/./src/info/src/info-field/types/info-field-datetime.js","webpack://Nano/./src/info/src/info-field/types/info-field-option.js","webpack://Nano/./src/info/src/info-field/types/info-field-image.js","webpack://Nano/./src/info/index.js","webpack://Nano/./src/config/src/builder/prototypes/checkbox/n-checkbox-group.js","webpack://Nano/./src/map/src/map/map.js","webpack://Nano/./src/map/src/map-marker/map-marker.js","webpack://Nano/./src/map/index.js","webpack://Nano/./src/mixins/src/ctor.js","webpack://Nano/./src/config/src/builder/prototypes/input/n-input.js","webpack://Nano/./src/config/src/builder/prototypes/confirm/n-confirm.js","webpack://Nano/./src/empty/src/empty-icon/empty-icon.js","webpack://Nano/./src/empty/index.js","webpack://Nano/./src/resizer/src/resizer/resizer.js","webpack://Nano/./src/resizer/index.js","webpack://Nano/./src/config/src/builder/prototypes/datepicker/n-datepicker.js","webpack://Nano/./src/config/src/builder/prototypes/cascader/n-cascader.js","webpack://Nano/./src/config/src/builder/prototypes/select/n-select.js","webpack://Nano/./src/alert/src/alert/alert.js","webpack://Nano/./src/alert/index.js","webpack://Nano/./src/config/src/builder/prototypes/radio/n-radio-group.js","webpack://Nano/external umd {\"root\":\"Vue\",\"commonjs2\":\"vue\",\"commonjs\":\"vue\",\"amd\":\"vue\"}","webpack://Nano/./src/cascader/src/cascader-panel/cascader-panel.js","webpack://Nano/./src/cascader/src/cascader/cascader.js","webpack://Nano/./src/cascader/index.js","webpack://Nano/./src/tags/src/tags/tags.js","webpack://Nano/./src/tags/src/tags-item/tags-item.js","webpack://Nano/./src/tags/index.js","webpack://Nano/./src/button/src/button/button.js","webpack://Nano/./src/button/src/button-group/button-group.js","webpack://Nano/./src/button/index.js","webpack://Nano/./src/durationpicker/src/durationpicker/durationpicker.js","webpack://Nano/./src/durationpicker/index.js","webpack://Nano/./src/config/src/builder/prototypes/form/n-form.js","webpack://Nano/./src/config/src/builder/prototypes/rating/n-rating.js","webpack://Nano/./src/input-number/src/input-number/input-number.js","webpack://Nano/./src/input-number/index.js","webpack://Nano/./src/file/src/file/file.js","webpack://Nano/./src/file/index.js","webpack://Nano/./src/config/src/builder/prototypes/form/n-form-item.js","webpack://Nano/./src/collapse/src/collapse/collapse.js","webpack://Nano/./src/collapse/src/collapse-item/collapse-item.js","webpack://Nano/./src/collapse/index.js","webpack://Nano/./src/drawer/src/drawer/drawer.js","webpack://Nano/./src/drawer/index.js","webpack://Nano/./src/config/src/builder/prototypes/button/n-button.js","webpack://Nano/./src/checkbox/src/checkbox/checkbox.js","webpack://Nano/./src/checkbox/src/checkbox-group/checkbox-group.js","webpack://Nano/./src/checkbox/index.js","webpack://Nano/./src/config/src/builder/prototypes/html/div.js","webpack://Nano/./src/config/src/config/config.js","webpack://Nano/./src/config/src/config/config-next.js","webpack://Nano/./src/config/src/builder/builder.js","webpack://Nano/./src/config/src/reference-panel/reference-panel.js","webpack://Nano/./src/config/src/reference-picker/reference-picker.js","webpack://Nano/./src/config/index.js","webpack://Nano/./src/confirm/src/confirm/confirm.js","webpack://Nano/./src/confirm/index.js","webpack://Nano/./src/virtualscroller/src/virtualscroller/virtualscroller.beta.js","webpack://Nano/./src/virtualscroller/index.js","webpack://Nano/./src/datepicker/src/datepicker-panel/datepicker-panel.js","webpack://Nano/./src/datepicker/src/datepicker/datepicker.js","webpack://Nano/./src/datepicker/index.js","webpack://Nano/./src/config/src/builder/prototypes/input-number/n-input-number.js","webpack://Nano/./src/config/src/builder/prototypes/checkbox/n-checkbox.js","webpack://Nano/./src/modal/src/modal/modal.js","webpack://Nano/./src/modal/index.js","webpack://Nano/./src/config/src/builder/prototypes/html/nano.js","webpack://Nano/./src/config/src/builder/prototypes/tabs/n-tabs-item.js","webpack://Nano/external umd {\"root\":\"pi\",\"commonjs2\":\"@kizmann/pico-js\",\"commonjs\":\"@kizmann/pico-js\",\"amd\":\"@kizmann/pico-js\"}","webpack://Nano/./src/config/src/builder/prototypes/html/span.js","webpack://Nano/./src/config/src/builder/prototypes/slider/n-slider.js","webpack://Nano/./src/paginator/src/paginator/paginator.js","webpack://Nano/./src/paginator/index.js","webpack://Nano/./src/form/src/form/form.js","webpack://Nano/./src/form/src/form-group/form-group.js","webpack://Nano/./src/form/src/form-item/form-item.js","webpack://Nano/./src/form/src/form-menu/form-menu.js","webpack://Nano/./src/form/src/form-frame/form-frame.js","webpack://Nano/./src/form/src/form-frame-item/form-frame-item.js","webpack://Nano/./src/form/index.js","webpack://Nano/./src/config/src/builder/prototypes/radio/n-radio.js","webpack://Nano/./src/table/src/table/table.js","webpack://Nano/./src/table/src/table-column/table-column.js","webpack://Nano/./src/table/src/table-cell/table-cell.js","webpack://Nano/./src/table/src/table-cell/types/table-cell-string.js","webpack://Nano/./src/table/src/table-cell/types/table-cell-boolean.js","webpack://Nano/./src/table/src/table-cell/types/table-cell-datetime.js","webpack://Nano/./src/table/src/table-cell/types/table-cell-option.js","webpack://Nano/./src/table/src/table-cell/types/table-cell-image.js","webpack://Nano/./src/table/src/table-cell/types/table-cell-matrix.js","webpack://Nano/./src/table/src/table-cell/types/table-cell-select.js","webpack://Nano/./src/table/src/table-filter/table-filter.js","webpack://Nano/./src/table/src/table-filter/types/table-filter-string.js","webpack://Nano/./src/table/src/table-filter/types/table-filter-boolean.js","webpack://Nano/./src/table/src/table-filter/types/table-filter-datetime.js","webpack://Nano/./src/table/src/table-filter/types/table-filter-option.js","webpack://Nano/./src/table/index.js","webpack://Nano/./src/config/src/builder/prototypes/timepicker/n-timepicker.js","webpack://Nano/./src/timepicker/src/timepicker-panel/timepicker-panel.js","webpack://Nano/./src/timepicker/src/timepicker/timepicker.js","webpack://Nano/./src/timepicker/index.js","webpack://Nano/./src/config/src/builder/prototypes/tags/n-tags-item.js","webpack://Nano/./src/textarea/src/textarea/textarea.js","webpack://Nano/./src/textarea/index.js","webpack://Nano/./src/config/src/builder/prototypes/loader/n-loader.js","webpack://Nano/./src/config/src/builder/prototypes/tabs/n-tabs.js","webpack://Nano/./src/slider/src/slider/slider.js","webpack://Nano/./src/slider/index.js","webpack://Nano/./src/select/src/select/select.js","webpack://Nano/./src/select/src/select-option/select-option.js","webpack://Nano/./src/select/index.js","webpack://Nano/./src/config/src/builder/prototypes/table/n-table-column.js","webpack://Nano/./src/popover/src/popover/popover.js","webpack://Nano/./src/popover/src/popover-group/popover-group.js","webpack://Nano/./src/popover/src/popover-option/popover-option.js","webpack://Nano/./src/popover/index.js","webpack://Nano/./src/config/src/builder/prototypes/datetimepicker/n-datetimepicker.js","webpack://Nano/./src/notification/src/notification/notification.js","webpack://Nano/./src/notification/index.js","webpack://Nano/./src/tabs/src/tabs/tabs.js","webpack://Nano/./src/tabs/src/tabs-item/tabs-item.js","webpack://Nano/./src/tabs/index.js","webpack://Nano/./src/preview/src/preview/preview.js","webpack://Nano/./src/preview/src/preview-plain/preview-plain.js","webpack://Nano/./src/preview/src/preview-image/preview-image.js","webpack://Nano/./src/preview/src/preview-video/preview-video.js","webpack://Nano/./src/preview/index.js","webpack://Nano/./src/config/src/builder/prototypes/switch/n-switch.js","webpack://Nano/./src/config/src/builder/prototypes/table/n-table.js","webpack://Nano/./src/rating/src/rating/rating.js","webpack://Nano/./src/rating/index.js","webpack://Nano/./src/config/src/builder/prototypes/tags/n-tags.js","webpack://Nano/./src/radio/src/radio/radio.js","webpack://Nano/./src/radio/src/radio-group/radio-group.js","webpack://Nano/./src/radio/index.js","webpack://Nano/./src/config/src/builder/prototypes/form/n-form-group.js","webpack://Nano/./src/draggable/src/draghandler/draghandler.js","webpack://Nano/./src/draggable/src/draglist/draglist.js","webpack://Nano/./src/draggable/src/draglist-item/draglist-item.js","webpack://Nano/./src/draggable/src/draggrid/draggrid.js","webpack://Nano/./src/draggable/src/draggrid-item/draggrid-item.js","webpack://Nano/./src/draggable/src/dropzone/dropzone.js","webpack://Nano/./src/draggable/index.js","webpack://Nano/./src/input/src/input/input.js","webpack://Nano/./src/input/index.js","webpack://Nano/./src/loader/src/loader/loader.js","webpack://Nano/./src/loader/index.js","webpack://Nano/./src/config/src/builder/prototypes/empty/n-empty.js","webpack://Nano/./src/config/src/builder/prototypes/durationpicker/n-durationpicker.js","webpack://Nano/./src/config/src/builder/prototypes/transfer/n-transfer.js","webpack://Nano/./src/config/src/builder/prototypes/button/n-button-group.js","webpack://Nano/./src/config/src/builder/prototypes/modal/n-modal.js","webpack://Nano/webpack/bootstrap","webpack://Nano/webpack/runtime/compat get default export","webpack://Nano/webpack/runtime/define property getters","webpack://Nano/webpack/runtime/global","webpack://Nano/webpack/runtime/hasOwnProperty shorthand","webpack://Nano/webpack/runtime/make namespace object","webpack://Nano/./src/mixins/src/cmer.js","webpack://Nano/./src/mixins/src/cslo.js","webpack://Nano/./src/index.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@kizmann/pico-js\"), require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"@kizmann/pico-js\", \"vue\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Nano\"] = factory(require(\"@kizmann/pico-js\"), require(\"vue\"));\n\telse\n\t\troot[\"Nano\"] = factory(root[\"pi\"], root[\"Vue\"]);\n})(self, (__WEBPACK_EXTERNAL_MODULE__6055__, __WEBPACK_EXTERNAL_MODULE__2122__) => {\nreturn ","import { Obj, Now, Any, Locale } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NDatetimepicker',\n\n inject: {\n\n NFormItem: {\n default: undefined\n }\n\n },\n\n props: {\n\n modelValue: {\n default()\n {\n return null;\n }\n },\n\n clearValue: {\n default()\n {\n return null;\n }\n },\n\n minDate: {\n default()\n {\n return null;\n }\n },\n\n maxDate: {\n default()\n {\n return null;\n }\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n placeholder: {\n default()\n {\n return Locale.trans('Select datetime');\n },\n type: [String]\n },\n\n monthPanels: {\n default()\n {\n return 1;\n },\n type: [Number]\n },\n\n boundary: {\n default()\n {\n return null;\n }\n },\n\n position: {\n default()\n {\n return 'bottom-start';\n },\n type: [String]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n clearable: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n format: {\n default()\n {\n return 'YYYY-MM-DD HH:mm:ss';\n },\n type: [String]\n },\n\n displayFormat: {\n default()\n {\n return Locale.trans('YYYY-MM-DD HH:mm:ss');\n },\n type: [String]\n },\n\n weekdays: {\n default()\n {\n return [\n Locale.trans('Mo'),\n Locale.trans('Tu'),\n Locale.trans('We'),\n Locale.trans('Th'),\n Locale.trans('Fr'),\n Locale.trans('Sa'),\n Locale.trans('Su'),\n ];\n },\n type: [Array]\n },\n\n months: {\n default()\n {\n return [\n Locale.trans('Jan'),\n Locale.trans('Feb'),\n Locale.trans('Mar'),\n Locale.trans('Apr'),\n Locale.trans('May'),\n Locale.trans('Jun'),\n Locale.trans('Jul'),\n Locale.trans('Aug'),\n Locale.trans('Sep'),\n Locale.trans('Oct'),\n Locale.trans('Nov'),\n Locale.trans('Dec'),\n ];\n },\n type: [Array]\n }\n\n },\n\n computed: {\n\n deepDisabled() {\n return this.NFormItem ? this.NFormItem.disabled(this.disabled) :\n this.disabled;\n }\n\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue.format(this.format) ) {\n this.tempValue = Now.make(value);\n }\n },\n\n },\n\n data()\n {\n return {\n focus: false, tempValue: Now.make(this.modelValue, this.format),\n };\n },\n\n methods: {\n\n clearDatetimepicker()\n {\n this.tempValue = Now.make(this.clearValue, \n this.format);\n\n this.$emit('update:modelValue', this.clearValue);\n },\n\n onPopoverInput(value)\n {\n this.focus = value;\n },\n\n onValueInput(event)\n {\n let isNotSameLength = this.displayFormat.length !==\n event.target.value.length;\n\n if ( isNotSameLength ) {\n return;\n }\n\n let value = Now.make(event.target.value, \n this.displayFormat);\n\n if ( ! value.moment.isValid() ) {\n return;\n }\n\n let moment = this.tempValue.moment.set({\n year: value.moment.year(),\n month: value.moment.month(),\n date: value.moment.date(),\n hour: value.moment.hour(),\n minute: value.moment.minute(),\n second: value.moment.second(),\n });\n\n this.tempValue = Now.make(moment);\n\n this.$emit('update:modelValue', \n this.tempValue.format(this.format));\n },\n\n onDatepickerInput(value)\n {\n this.tempValue = Now.make(value, \n this.format);\n\n this.$emit('update:modelValue', value);\n },\n\n onTimepickerInput(value)\n {\n this.tempValue = Now.make(value,\n this.format);\n\n this.$emit('update:modelValue', value);\n },\n\n },\n\n\n renderLabelClear()\n {\n let isEmpty = ! this.tempValue.initialDate;\n\n if ( ! this.clearable || isEmpty ) {\n return null;\n }\n\n let props = {};\n\n if ( ! this.deepDisabled ) {\n props.onMousedown = this.clearDatetimepicker;\n }\n\n return (\n <div class=\"n-datetimepicker__clear\" {...props}>\n <i class={ nano.Icons.times }></i>\n </div>\n );\n },\n\n renderLabelAngle()\n {\n return (\n <div class=\"n-datetimepicker__angle\">\n <i class={ nano.Icons.angleDown }></i>\n </div>\n );\n },\n\n renderSingle()\n {\n let props = {\n value: '',\n disabled: this.deepDisabled,\n placeholder: this.placeholder,\n onInput: this.onValueInput,\n };\n\n if ( this.tempValue.valid() ) {\n props.value = this.tempValue.format(\n this.displayFormat, true);\n }\n\n return (\n <div class=\"n-datetimepicker__input\">\n <input {...props}/>\n </div>\n );\n },\n\n renderDisplay()\n {\n let classList = [\n 'n-datetimepicker__display'\n ];\n\n return (\n <div class={classList}>\n { this.ctor('renderLabelClear')() }\n { this.ctor('renderSingle')() }\n { this.ctor('renderLabelAngle')() }\n </div>\n );\n },\n\n renderPanels()\n {\n return (\n <div class=\"n-datetimepicker__body\">\n {[this.ctor('renderDatePanel')(), this.ctor('renderTimePanel')()]}\n </div>\n );\n },\n\n renderDatePanel()\n {\n let props = Obj.only(this.$props, [\n 'minDate', 'maxDate', 'size', 'type', 'format', 'monthPanels', 'disabled', 'weekdays', 'months'\n ]);\n\n props = Obj.assign(props, {\n modelValue: this.tempValue.format(this.format) || null,\n });\n\n props['onUpdate:modelValue'] = this.onDatepickerInput;\n\n return (\n <NDatepickerPanel class=\"n-datetimepicker__date-panel\" {...props}></NDatepickerPanel>\n );\n },\n\n renderTimePanel()\n {\n let props = Obj.only(this.$props, [\n 'size', 'type', 'format', 'disabled', 'hoursInterval', 'minutesInterval', 'secondsInterval'\n ]);\n\n props = Obj.assign(props, {\n modelValue: this.tempValue.format(this.format) || null,\n });\n\n props['onUpdate:modelValue'] = this.onTimepickerInput;\n\n return (\n <NTimepickerPanel class=\"n-datetimepicker__time-panel\" {...props}></NTimepickerPanel>\n );\n },\n\n renderPopover()\n {\n let props = {\n trigger: 'click',\n width: 0,\n size: this.size,\n position: this.position,\n scrollClose: true,\n disabled: this.deepDisabled\n };\n\n let slots = {\n raw: this.ctor('renderPanels')\n };\n\n return (\n <NPopover ref=\"popover\" vModel={this.focus} {...props} v-slots={slots} />\n );\n },\n\n render()\n {\n let classList = [\n 'n-datetimepicker',\n 'n-datetimepicker--' + this.type,\n 'n-datetimepicker--' + this.size,\n ];\n\n let isEmpty = ! this.tempValue.initialDate;\n\n if ( isEmpty ) {\n classList.push('n-empty');\n }\n\n if ( this.clearable ) {\n classList.push('n-clearable');\n }\n\n if ( this.focus ) {\n classList.push('n-focus');\n }\n\n if ( this.deepDisabled ) {\n classList.push('n-disabled');\n }\n\n return (\n <div class={classList}>\n { this.ctor('renderDisplay')() }\n { this.ctor('renderPopover')() }\n </div>\n );\n }\n\n}","import Datetimepicker from \"./src/datetimepicker/datetimepicker\";\n\nexport default function (App) {\n App.component(Datetimepicker.name, Datetimepicker);\n}","import { Str, Arr, Obj, Any, UUID } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NTransfer',\n\n props: {\n\n modelValue: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n options: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n sourceLabel: {\n default()\n {\n return 'Source';\n },\n type: [String]\n },\n\n targetLabel: {\n default()\n {\n return 'Target';\n },\n type: [String]\n },\n\n labelProp: {\n default()\n {\n return 'label';\n },\n type: [String]\n },\n\n uniqueProp: {\n default()\n {\n return 'id';\n },\n type: [String]\n }\n\n },\n\n computed: {\n\n sourceChecked()\n {\n return !! this.selectedSource.length && \n this.selectedSource.length === this.tempSource.length;\n },\n\n sourceIntermediate()\n {\n return !! this.selectedSource.length && \n this.selectedSource.length !== this.tempSource.length;\n },\n\n targetChecked()\n {\n return !! this.selectedTarget.length && \n this.selectedTarget.length === this.tempTarget.length;\n },\n\n targetIntermediate()\n {\n return !! this.selectedTarget.length && \n this.selectedTarget.length !== this.tempTarget.length;\n },\n\n tempSource()\n {\n let source = Arr.filter(this.options, (item) => {\n return ! Arr.find(this.tempValue, { [this.uniqueProp]: item[this.uniqueProp] });\n });\n\n if ( Any.isEmpty(this.sourceSearch) ) {\n return Arr.clone(source);\n }\n\n let searchPattern = new RegExp(this.sourceSearch, 'i');\n\n source = Arr.filter(source, (item) => {\n return item[this.labelProp].match(searchPattern);\n });\n\n return Arr.clone(source);\n },\n\n tempTarget()\n {\n let target = Arr.filter(this.options, (item) => {\n return !! Arr.find(this.tempValue, { [this.uniqueProp]: item[this.uniqueProp] });\n });\n\n if ( Any.isEmpty(this.targetSearch) ) {\n return Arr.clone(target);\n }\n\n let searchPattern = new RegExp(this.targetSearch, 'i');\n\n target = Arr.filter(target, (item) => {\n return item[this.labelProp].match(searchPattern);\n });\n\n return Arr.clone(target);\n }\n\n },\n data()\n {\n return {\n uid: UUID(),\n tempValue: this.modelValue,\n sourceSearch: '',\n targetSearch: '',\n selectedSource: [],\n selectedTarget: []\n };\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue ) {\n this.tempValue = value;\n }\n }\n\n },\n\n methods: {\n\n moveItemsTarget(options)\n {\n Arr.each(options, (source) => {\n\n let item = Arr.find(this.options, {\n [this.uniqueProp]: source\n });\n\n Arr.add(this.tempValue, item, {\n [this.uniqueProp]: source\n });\n\n });\n\n this.$emit('input', this.tempValue);\n },\n\n moveItemsSource(options)\n {\n Arr.each(options, (source) => {\n\n Arr.remove(this.tempValue, {\n [this.uniqueProp]: source\n });\n\n });\n\n this.$emit('input', this.tempValue);\n },\n\n moveRowTarget(node)\n {\n // Get node unique\n let target = node.value[this.uniqueProp];\n\n // Remove item from selected list\n Arr.remove(this.selectedTarget, target);\n\n this.tempValue = Arr.remove(this.tempValue, {\n [this.uniqueProp]: target\n });\n\n this.$emit('update:modelValue', this.tempValue);\n },\n\n moveRowSource(node)\n {\n // Get node unique\n let source = node.value[this.uniqueProp];\n\n // Remove item from selected list\n Arr.remove(this.selectedSource, source);\n\n Arr.add(this.tempValue, node.item, source, {\n [this.uniqueProp]: source\n });\n\n this.$emit('update:modelValue', this.tempValue);\n },\n\n moveToSource()\n {\n Arr.each(this.selectedTarget, (target) => {\n\n Arr.remove(this.tempValue, {\n [this.uniqueProp]: target\n });\n\n });\n\n this.selectedTarget = [];\n\n this.$emit('update:modelValue', this.tempValue);\n },\n\n moveToTarget()\n {\n Arr.each(this.selectedSource, (source) => {\n\n let item = Arr.find(this.options, {\n [this.uniqueProp]: source\n });\n\n Arr.add(this.tempValue, item, {\n [this.uniqueProp]: source\n });\n\n });\n\n this.selectedSource = [];\n\n this.$emit('update:modelValue', this.tempValue);\n },\n\n updateSelectedSource(selected)\n {\n this.selectedSource = selected;\n },\n\n updateSelectedTarget(selected)\n {\n this.selectedTarget = selected;\n }\n\n },\n\n renderSourceSelect()\n {\n let props = {\n modelValue: this.sourceChecked,\n size: this.size,\n type: this.type,\n intermediate: this.sourceIntermediate,\n disabled: ! this.tempSource.length\n };\n\n props['onUpdate:modelValue'] = () => {\n this.$refs.source.selectAll();\n };\n\n return (\n <div class=\"n-transfer__select\">\n <NCheckbox {...props} />\n </div>\n );\n },\n\n renderSourceTitle()\n {\n let labelHtml = (\n <span class=\"n-transfer__item-title\">\n { this.sourceLabel }\n </span>\n );\n\n let counterHtml = (\n <span class=\"n-transfer__item-count\">\n { this.tempSource.length }\n </span>\n );\n\n return (\n <div class=\"n-transfer__title\">\n { [labelHtml, counterHtml] }\n </div>\n );\n },\n\n renderSourceHeader()\n {\n return (\n <div class=\"n-transfer__header\">\n { this.ctor('renderSourceSelect')() }\n { this.ctor('renderSourceTitle')() }\n </div>\n );\n },\n\n renderSourceSearch()\n {\n let props = {\n placeholder: this.trans('Search item'),\n size: this.size,\n type: this.type,\n icon: nano.Icons.times,\n iconDisabled: ! this.sourceSearch\n };\n\n props['onIconClick'] = () => {\n this.sourceSearch = '';\n };\n\n props['onUpdate:modelValue'] = () => {\n this.selectedSource = [];\n };\n\n return (\n <div class=\"n-transfer__search\">\n <NInput vModel={this.sourceSearch} {...props} />\n </div>\n )\n },\n\n renderSourceBody()\n {\n let props = {\n group: [this.uid + 'source'],\n allowGroups: [this.uid + 'target'],\n items: this.tempSource,\n size: this.size,\n type: this.type,\n renderSelect: true,\n selected: this.selectedSource,\n safezone: () => -10,\n disableMove: true,\n renderNode: this.ctor('renderNode'),\n onMove: this.moveItemsSource,\n 'onRowDblclick': this.moveRowSource,\n 'onUpdate:selected': this.updateSelectedSource\n };\n\n return (\n <NDraglist ref=\"source\" class=\"n-transfer__body\" {...props} />\n );\n },\n\n renderTargetSelect()\n {\n let props = {\n modelValue: this.targetChecked,\n size: this.size,\n type: this.type,\n intermediate: this.targetIntermediate,\n disabled: ! this.tempTarget.length\n };\n\n props['onUpdate:modelValue'] = () => {\n this.$refs.target.selectAll();\n };\n\n return (\n <div class=\"n-transfer__select\">\n <NCheckbox {...props} />\n </div>\n );\n },\n\n renderTargetTitle()\n {\n let labelHtml = (\n <span class=\"n-transfer__item-title\">\n { this.targetLabel }\n </span>\n );\n\n let counterHtml = (\n <span class=\"n-transfer__item-count\">\n { this.tempTarget.length }\n </span>\n );\n\n return (\n <div class=\"n-transfer__title\">\n { [labelHtml, counterHtml] }\n </div>\n );\n },\n\n renderTargetHeader()\n {\n return (\n <div class=\"n-transfer__header\">\n { this.ctor('renderTargetSelect')() }\n { this.ctor('renderTargetTitle')() }\n </div>\n );\n },\n\n renderTargetSearch()\n {\n let props = {\n placeholder: this.trans('Search item'),\n size: this.size,\n type: this.type,\n icon: nano.Icons.times,\n iconDisabled: ! this.targetSearch\n };\n\n props['onIconClick'] = () => {\n this.targetSearch = '';\n };\n\n props['onUpdate:modelValue'] = () => {\n this.selectedTarget = [];\n };\n\n return (\n <div class=\"n-transfer__search\">\n <NInput vModel={this.targetSearch} {...props} />\n </div>\n )\n },\n\n renderTargetBody()\n {\n let props = {\n group: [this.uid + 'target'],\n allowGroups: [this.uid + 'source'],\n items: this.tempTarget,\n size: this.size,\n type: this.type,\n renderSelect: true,\n selected: this.selectedTarget,\n safezone: () => -1,\n disableMove: true,\n renderNode: this.ctor('renderNode'),\n onMove: this.moveItemsTarget,\n 'onRowDblclick': this.moveRowTarget,\n 'onUpdate:selected': this.updateSelectedTarget\n };\n\n return (\n <NDraglist ref=\"target\" class=\"n-transfer__body\" {...props} />\n );\n },\n\n renderNode(props)\n {\n if ( this.$slots.default ) {\n return this.$slots.default(props);\n }\n\n return (\n <div class=\"n-transfer__item\">\n { Obj.get(props.item, this.labelProp) }\n </div>\n );\n },\n\n renderMoveSource()\n {\n let props = {\n disabled: ! this.selectedSource.length,\n size: this.size,\n type: this.type,\n square: true, \n icon: nano.Icons.angleRight,\n onClick: this.moveToTarget\n };\n\n return (\n <NButton {...props} />\n );\n },\n\n renderMoveTarget()\n {\n let props = {\n disabled: ! this.selectedTarget.length,\n size: this.size,\n type: this.type,\n square: true, \n icon: nano.Icons.angleLeft,\n onClick: this.moveToSource\n };\n return (\n <NButton {...props} />\n );\n },\n\n render($render)\n {\n let classList = [\n 'n-transfer',\n 'n-transfer--' + this.size,\n 'n-transfer--' + this.type,\n ]\n\n return (\n <div class={classList}>\n <div class=\"n-transfer__panel\">\n { this.ctor('renderSourceHeader')() }\n { this.ctor('renderSourceSearch')() }\n { this.ctor('renderSourceBody')() }\n </div>\n <div class=\"n-transfer__controls\">\n { this.ctor('renderMoveSource')() }\n { this.ctor('renderMoveTarget')() }\n </div>\n <div class=\"n-transfer__panel\">\n { this.ctor('renderTargetHeader')() }\n { this.ctor('renderTargetSearch')() }\n { this.ctor('renderTargetBody')() }\n </div>\n </div>\n );\n }\n\n}","import Transfer from \"./src/transfer/transfer\";\n\nexport default function (App) {\n App.component(Transfer.name, Transfer);\n}","import { Arr, Obj, Dom, Any, Str, Event } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NScrollbar',\n\n provide()\n {\n return {\n NScrollbar: this\n };\n },\n\n props: {\n\n options: {\n default()\n {\n return {};\n },\n type: [Object]\n },\n\n relative: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n fixture: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n allowNative: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n overflowY: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n overflowX: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n offsetY: {\n default()\n {\n return 10;\n },\n type: [Number]\n },\n\n offsetX: {\n default()\n {\n return 10;\n },\n type: [Number]\n },\n\n framerate: {\n default()\n {\n return 24;\n },\n type: [Number]\n },\n\n wrapClass: {\n default()\n {\n return 'n-scrollbar__wrap';\n }\n }\n\n },\n\n computed: {\n\n touch() {\n return !! ('ontouchstart' in window ||\n navigator.msMaxTouchPoints);\n },\n\n mousedown() {\n return this.touch ? 'touchstart' :\n 'mousedown';\n },\n\n mousemove() {\n return this.touch ? 'touchmove' :\n 'mousemove';\n },\n\n mouseup() {\n return this.touch ? 'touchend' :\n 'mouseup';\n }\n\n },\n\n data()\n {\n return {\n native: false\n };\n },\n\n beforeMount()\n {\n this.adaptScrollBehavior();\n },\n\n mounted()\n {\n this.bindAdaptHeight();\n this.bindAdaptWidth();\n\n let passive = {\n passive: true, uid: this._.uid\n };\n\n Event.bind('NScrollbar:resize',\n this.onResize, this._.uid);\n\n Event.bind('NResizer:moved',\n this.onUpdate, this._.uid);\n\n Dom.find(window).on('resize',\n this.onResize, passive);\n\n Dom.find(this.$refs.content).on('scroll',\n this.onScroll, passive);\n },\n\n updated()\n {\n if ( this.passedHeight || this.passedWidth ) {\n Dom.find(this.$el).addClass('n-ready');\n }\n },\n\n beforeUnmount()\n {\n this.unbindAdaptHeight();\n this.unbindAdaptWidth();\n\n let passive = {\n passive: true, uid: this._.uid\n };\n\n Event.unbind('NScrollbar:resize',\n this._.uid);\n\n Event.unbind('NResizer:moved',\n this._.uid);\n\n Dom.find(window).off('resize',\n null, passive);\n\n Dom.find(this.$el).off('scroll',\n null, passive);\n },\n\n methods: {\n\n scrollTo(x = 0, y = 0, delay = 0)\n {\n Any.delay(() => this.onScrollTo(x, y), delay);\n },\n\n onScrollTo(x = 0, y = 0)\n {\n if ( this.$refs.content ) {\n this.$refs.content.scrollTop = y;\n this.$refs.content.scrollLeft = x;\n }\n },\n\n scrollIntoView(selector, delay = 0)\n {\n Any.delay(() => this.onScrollIntoView(selector), delay);\n },\n\n onScrollIntoView(selector)\n {\n let $el = Dom.find(this.$el).find(selector);\n\n let scrollTop = this.$refs.content\n .scrollTop;\n\n let outerHeight = this.$refs.content.\n clientHeight;\n\n let offsetTop = $el.offsetTop(this.$el);\n\n if ( offsetTop < scrollTop ) {\n this.$refs.content.scrollTop = offsetTop;\n }\n\n if ( offsetTop + $el.height() >= scrollTop + outerHeight ) {\n this.$refs.content.scrollTop = offsetTop - outerHeight + $el.height();\n }\n\n let scrollLeft = this.$refs.content\n .scrollLeft;\n\n let outerWidth = this.$refs.content.\n clientWidth;\n\n let offsetLeft = $el.offsetLeft(this.$el);\n\n if ( offsetLeft < scrollLeft ) {\n this.$refs.content.scrollLeft = offsetLeft;\n }\n\n if ( offsetLeft + $el.width() >= scrollLeft + outerWidth ) {\n this.$refs.content.scrollLeft = offsetLeft - outerWidth + $el.width();\n }\n },\n\n adaptScrollBehavior()\n {\n let $dom = Dom.make('div', { classList: ['n-scrollbar-test'] })\n .appendTo(document.body).get(0);\n\n Dom.make('div').appendTo($dom);\n\n this.native = $dom.clientWidth === $dom.offsetWidth ||\n $dom.clientHeight === $dom.offsetHeight;\n\n $dom.remove();\n },\n\n adaptScrollHeight()\n {\n if ( this.native && this.allowNative ) {\n return;\n }\n\n // let offsetHeight = this.$refs.content.clientHeight -\n // this.$refs.content.offsetHeight;\n //\n // let offsetWidth = this.$refs.content.clientWidth -\n // this.$refs.content.offsetWidth;\n\n let outerHeight = this.$refs.content.\n clientHeight || 0;\n\n if ( this.native && ! this.allowNative ) {\n outerHeight -= 16;\n }\n\n // if ( offsetHeight === 0 && this.overflowX ) {\n // outerHeight -= 15;\n // }\n\n let innerHeight = this.$refs.content\n .scrollHeight || 0;\n\n let virtualHeight = 0;\n\n Dom.find(this.$refs.content).childs().each((el) => {\n virtualHeight += Dom.find(el).height() || 0;\n });\n\n if ( this.native && ! this.allowNative ) {\n innerHeight -= 16;\n }\n\n if ( virtualHeight > innerHeight ) {\n innerHeight = virtualHeight;\n }\n\n // if ( offsetHeight === 0 && this.overflowX ) {\n // innerHeight -= 15;\n // }\n\n let isSameOld = outerHeight === this.outerHeight &&\n innerHeight === this.innerHeight;\n\n if ( isSameOld ) {\n return;\n }\n\n this.outerHeight = outerHeight;\n this.innerHeight = innerHeight;\n\n let height = (outerHeight / innerHeight)\n * outerHeight;\n\n let barHeight = Math.max(height, 50);\n\n let maxHeight = Math.ceil((outerHeight / innerHeight) *\n (innerHeight - outerHeight));\n\n this.heightRatio = (maxHeight - (barHeight - height)\n - this.offsetY) / maxHeight;\n\n Dom.find(this.$refs.vbar).css({\n height: (this.barHeight = Math.ceil(barHeight)) + 'px'\n });\n\n // let hasNativeBar = offsetWidth !== 0 && this.overflowY;\n //\n // if ( hasNativeBar ) {\n // Dom.find(this.$el).addClass('has-native-vbar');\n // }\n //\n // if ( hasNativeBar && this.overflowX ) {\n // Dom.find(this.$el).addClass('has-native-hbar');\n // }\n\n let hasVtrack = outerHeight && outerHeight < innerHeight;\n\n if ( hasVtrack ) {\n Dom.find(this.$el).addClass('has-vtrack');\n }\n\n if ( ! hasVtrack ) {\n Dom.find(this.$el).removeClass('has-vtrack');\n }\n\n // if ( hasVtrack && ! hasNativeBar ) {\n // Event.fire('NScrollbar:native');\n // }\n\n this.adaptScrollPosition();\n },\n\n adaptScrollWidth()\n {\n if ( this.native && this.allowNative ) {\n return;\n }\n\n // let offsetWidth = this.$refs.content.clientWidth -\n // this.$refs.content.offsetWidth;\n //\n // let offsetHeight = this.$refs.content.clientHeight -\n // this.$refs.content.offsetHeight;\n\n let outerWidth = this.$refs.content.\n clientWidth || 0;\n\n if ( this.native && ! this.allowNative ) {\n outerWidth -= 16;\n }\n\n // if ( offsetWidth === 0 && this.overflowY ) {\n // outerWidth -= 15;\n // }\n\n let innerWidth = this.$refs.content\n .scrollWidth || 0;\n\n let virtualWidth = 0;\n\n Dom.find(this.$refs.content).childs().each((el) => {\n virtualWidth += Dom.find(el).width() || 0;\n });\n\n if ( this.native && ! this.allowNative ) {\n innerWidth -= 16;\n }\n\n if ( virtualWidth > innerWidth ) {\n innerWidth = virtualWidth;\n }\n\n // if ( offsetWidth === 0 && this.overflowY ) {\n // innerWidth -= 15;\n // }\n\n let isSameOld = outerWidth === this.outerWidth &&\n innerWidth === this.innerWidth;\n\n if ( isSameOld ) {\n return;\n }\n\n this.outerWidth = outerWidth;\n this.innerWidth = innerWidth;\n\n let width = (outerWidth / innerWidth)\n * outerWidth;\n\n let barWidth = Math.max(width, 50);\n\n let maxWidth = Math.ceil((outerWidth / innerWidth) *\n (innerWidth - outerWidth));\n\n this.widthRatio = (maxWidth - (barWidth - width)\n - this.offsetX) / maxWidth;\n\n Dom.find(this.$refs.hbar).css({\n width: (this.barWidth = Math.ceil(barWidth)) + 'px'\n });\n\n // let hasNativeBar = offsetHeight && this.overflowX;\n\n // if ( hasNativeBar ) {\n // Dom.find(this.$el).addClass('has-native-hbar');\n // }\n //\n // if ( hasNativeBar && this.overflowY ) {\n // Dom.find(this.$el).addClass('has-native-vbar');\n // }\n\n let hasHtrack = outerWidth && outerWidth < innerWidth;\n\n if ( hasHtrack ) {\n Dom.find(this.$el).addClass('has-htrack');\n }\n\n if ( ! hasHtrack ) {\n Dom.find(this.$el).removeClass('has-htrack');\n }\n\n // if ( hasHtrack && ! hasNativeBar ) {\n // Event.fire('NScrollbar:native');\n // }\n\n this.adaptScrollPosition();\n },\n\n adaptScrollPosition(scroll = {})\n {\n if ( this.native && this.allowNative ) {\n return;\n }\n\n if ( ! scroll.top ) {\n scroll.top = this.$refs.content.scrollTop;\n }\n\n if ( ! scroll.left ) {\n scroll.left = this.$refs.content.scrollLeft;\n }\n\n let vbarTop = Math.ceil((this.outerHeight / this.innerHeight) *\n scroll.top * this.heightRatio) || 0;\n\n if ( ! this.vbarTop || vbarTop !== this.vbarTop ) {\n\n Dom.find(this.$refs.vbar).css({\n transform: `translateY(${vbarTop}px) translateZ(0)`\n });\n\n this.vbarTop = vbarTop;\n }\n\n let hbarLeft = Math.ceil((this.outerWidth / this.innerWidth) *\n scroll.left * this.widthRatio) || 0;\n\n if ( ! this.hbarLeft || hbarLeft !== this.hbarLeft ) {\n\n Dom.find(this.$refs.hbar).css({\n transform: `translateX(${hbarLeft}px) translateZ(0)`\n });\n\n this.hbarLeft = hbarLeft;\n }\n },\n\n adaptHeight()\n {\n if ( ! this.cacheChildEl ) {\n this.cacheChildEl = Dom.find(this.$refs.content).child();\n }\n\n let height = this.cacheChildEl\n .height();\n\n if ( ! this.cacheWindwoEl ) {\n this.cacheWindwoEl = Dom.find(this.$el);\n }\n\n let window = this.cacheWindwoEl\n .innerHeight();\n\n if ( height === this.passedHeight && window === this.windowCache ) {\n return;\n }\n\n this.windowCache = window;\n\n if ( this.overflowY ) {\n this.adaptScrollHeight();\n }\n\n if ( window ) {\n this.passedHeight = height;\n }\n\n let style = {\n height: (height + 1) + 'px'\n };\n\n if ( ! this.relative ) {\n return Any.delay(this.onSizechange, 100);\n }\n\n Dom.find(this.$refs.spacer).child().css(style);\n },\n\n bindAdaptHeight()\n {\n this.refreshHeight = setInterval(this.adaptHeight,\n 1000 / this.framerate);\n },\n\n unbindAdaptHeight()\n {\n clearInterval(this.refreshHeight);\n },\n\n adaptWidth()\n {\n if ( this.resizeTimer ) {\n return;\n }\n\n let width = Dom.find(this.$refs.content)\n .child().width();\n\n let window = Dom.find(this.$el)\n .innerWidth();\n\n if ( width === this.passedWidth ) {\n return;\n }\n\n if ( this.overflowX ) {\n this.adaptScrollWidth();\n }\n\n if ( window ) {\n this.passedWidth = width;\n }\n\n let style = {\n width: width + 'px'\n };\n\n if ( this.fixture ) {\n this.onUpdate();\n }\n\n if ( ! this.relative ) {\n return Any.delay(this.onSizechange, 100);\n }\n\n Dom.find(this.$refs.spacer).child().css(style);\n },\n\n bindAdaptWidth()\n {\n this.refreshWidth = setInterval(this.adaptWidth,\n 1000 / this.framerate);\n },\n\n unbindAdaptWidth()\n {\n clearInterval(this.refreshWidth);\n },\n\n onScroll(event)\n {\n let scroll = {\n top: this.$refs.content.scrollTop,\n left: this.$refs.content.scrollLeft\n };\n\n let scrollUpdate = () => {\n this.$emit('scrollupdate', scroll.top, scroll.left);\n }\n\n this.$nextTick(scrollUpdate);\n this.adaptScrollPosition(scroll);\n },\n\n onSizechange(event)\n {\n let height = Dom.find(this.$el).height();\n let width = Dom.find(this.$el).width();\n\n if ( ! height || ! width ) {\n return;\n }\n\n if ( this.passedHeight || this.passedWidth ) {\n Dom.find(this.$el).addClass('is-ready');\n }\n\n this.$emit('sizechange', height, width, this.$el);\n },\n\n onResize()\n {\n if ( ! this.fixture ) {\n return;\n }\n\n Dom.find(this.$refs.content)\n .child().css(null);\n\n clearTimeout(this.resizeTimer);\n\n this.resizeTimer = setTimeout(\n this.onUpdate, 500);\n\n Dom.find(this.$el).fire('resized');\n },\n\n onUpdate()\n {\n if ( ! this.fixture || ! this.$refs.content ) {\n return;\n }\n\n let $inner = Dom.find(this.$refs.content)\n .child();\n\n let height = $inner.actual(() => {\n return $inner.scrollHeight();\n });\n\n if ( height !== this.passedHeight ) {\n $inner.css({ height: height + 'px' });\n }\n\n let width = $inner.actual(() => {\n return $inner.scrollWidth();\n });\n\n if ( width !== this.passedWidth ) {\n $inner.css({ width: width + 'px' });\n }\n\n delete this.resizeTimer;\n },\n\n getTouchEvent(event)\n {\n if ( ! this.touch ) {\n return event;\n }\n\n return event.touches[0] || event.changedTouches[0];\n },\n\n onVbarMousedown(event)\n {\n if ( ! Arr.has([0, 1], event.which) ) {\n return;\n }\n\n event.stopPropagation();\n\n Dom.find(document).on(this.mousemove,\n this.onVbarMousemove, this._.uid);\n\n Dom.find(document).on(this.mouseup,\n this.onVbarMouseup, this._.uid);\n\n this.scrollTop = this.$refs.content\n .scrollTop;\n\n this.clientY = this.getTouchEvent(event)\n .clientY;\n },\n\n onVbarMousemove(event)\n {\n let clientY = this.getTouchEvent(event)\n .clientY;\n\n let top = (this.outerHeight / this.innerHeight) *\n this.scrollTop * this.heightRatio;\n\n let offset = (clientY - this.clientY) + top;\n\n let height = (this.outerHeight -\n this.barHeight - this.offsetY);\n\n this.$refs.content.scrollTop = offset / height *\n (this.innerHeight - this.outerHeight);\n },\n\n onVbarMouseup(event)\n {\n Dom.find(document).off(this.mousemove,\n null, this._.uid);\n\n Dom.find(document).off(this.mouseup,\n null, this._.uid);\n },\n\n onHbarMousedown(event)\n {\n if ( ! Arr.has([0, 1], event.which) ) {\n return;\n }\n\n event.stopPropagation();\n\n Dom.find(document).on(this.mousemove,\n this.onHbarMousemove, this._.uid);\n\n Dom.find(document).on(this.mouseup,\n this.onHbarMouseup, this._.uid);\n\n this.scrollLeft = this.$refs.content\n .scrollLeft;\n\n this.clientX = event.clientX;\n },\n\n onHbarMousemove(event)\n {\n let top = (this.outerWidth / this.innerWidth) *\n this.scrollLeft * this.widthRatio;\n\n let offset = (event.clientX - this.clientX) + top;\n\n let width = (this.outerWidth -\n this.barWidth - this.offsetX);\n\n this.$refs.content.scrollLeft = offset / width *\n (this.innerWidth - this.outerWidth);\n },\n\n onHbarMouseup(event)\n {\n Dom.find(document).off(this.mousemove,\n null, this._.uid);\n\n Dom.find(document).off(this.mouseup,\n null, this._.uid);\n }\n\n },\n\n render()\n {\n let classList = [\n 'n-scrollbar'\n ];\n\n if ( this.native ) {\n classList.push('n-scrollbar--native');\n }\n\n if ( ! this.allowNative ) {\n classList.push('n-scrollbar--forced');\n }\n\n if ( this.touch ) {\n classList.push('n-scrollbar--touch');\n }\n\n if ( window.WIN ) {\n classList.push('n-windows');\n }\n\n if ( this.overflowY ) {\n classList.push('n-overflow-y');\n }\n\n if ( this.overflowX ) {\n classList.push('n-overflow-x');\n }\n\n let vbarProps = {\n ['on' + Str.ucfirst(this.mousedown)]: this.onVbarMousedown\n };\n\n let hbarProps = {\n ['on' + Str.ucfirst(this.mousedown)]: this.onHbarMousedown\n };\n\n return (\n <div class={classList} {...Obj.except(this.$attrs, ['class'])}>\n <div class=\"n-scrollbar-content\" ref=\"content\">\n <div class={this.wrapClass}>\n { this.$slots.default && this.$slots.default() }\n </div>\n </div>\n <div class=\"n-scrollbar-spacer\" ref=\"spacer\">\n <div class={this.wrapClass}>\n { /* Adapt inner height */ }\n </div>\n </div>\n <div ref=\"hbar\" class=\"n-scrollbar-h\" {...hbarProps}></div>\n <div ref=\"vbar\" class=\"n-scrollbar-v\" {...vbarProps}></div>\n </div>\n );\n }\n\n}\n","import Scrollbar from './src/scrollbar/scrollbar.next';\n\nexport default function (App) {\n App.component(Scrollbar.name, Scrollbar);\n}","import { Obj, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NSwitch',\n\n inject: {\n\n NFormItem: {\n default: undefined\n }\n\n },\n\n props: {\n\n modelValue: {\n default()\n {\n return false;\n }\n },\n\n onValue: {\n default()\n {\n return true;\n }\n },\n\n offValue: {\n default()\n {\n return false;\n }\n },\n\n onType: {\n default()\n {\n return 'primary';\n }\n },\n\n offType: {\n default()\n {\n return 'default';\n }\n },\n\n size: {\n default()\n {\n return 'md';\n }\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n },\n\n computed: {\n\n deepDisabled() {\n return this.NFormItem ? this.NFormItem.disabled(this.disabled) :\n this.disabled;\n }\n\n },\n\n data()\n {\n return {\n tempValue: this.modelValue\n };\n },\n\n methods: {\n\n eventClick()\n {\n let tempValue = this.onValue;\n\n if ( this.tempValue === this.onValue ) {\n tempValue = this.offValue;\n }\n\n this.$emit('update:modelValue', this.tempValue = tempValue);\n }\n\n },\n\n watch: {\n\n modelValue()\n {\n if ( this.modelValue !== this.tempValue ) {\n this.tempValue = this.modelValue;\n }\n }\n\n },\n\n renderSwitch()\n {\n let classList = [\n 'n-switch__switch'\n ];\n\n let props = {};\n\n if ( ! this.deepDisabled ) {\n props.onMousedown = this.eventClick;\n }\n\n return (\n <div class={classList} {...props}>\n <span></span>\n </div>\n )\n },\n\n renderLabel()\n {\n if ( ! this.$slots.default ) {\n return null;\n }\n\n let classList = [\n 'n-switch__label',\n ];\n\n let props = {};\n\n if ( ! this.deepDisabled ) {\n props.onMousedown = this.eventClick;\n }\n\n return (\n <div class={classList} {...props}>\n { this.$slots.default() }\n </div>\n )\n },\n\n render()\n {\n let classList = [\n 'n-switch',\n 'n-switch--' + this.size\n ];\n\n if ( this.tempValue === this.onValue ) {\n classList.push('n-switch--' + this.onType);\n }\n\n if ( this.tempValue === this.offValue) {\n classList.push('n-switch--' + this.offType);\n }\n\n if ( this.tempValue === this.onValue ) {\n classList.push('n-on');\n }\n\n if ( this.tempValue === this.offValue ) {\n classList.push('n-off');\n }\n\n if ( this.deepDisabled ) {\n classList.push('n-disabled');\n }\n\n return (\n <div class={classList}>\n { this.ctor('renderSwitch')() }\n { this.ctor('renderLabel')() }\n </div>\n );\n }\n\n}\n","import Vue from \"vue\";\n\nimport Switch from './src/switch/switch';\n\nexport default function (App) {\n App.component(Switch.name, Switch);\n}","import { Arr, Any, Obj, Event, UUID } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NInfo',\n\n model: {\n prop: 'item'\n },\n\n props: {\n\n item: {\n default()\n {\n return null;\n }\n },\n\n syncEvent: {\n default()\n {\n return null;\n }\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n relative: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n showEmptyIcon: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n },\n\n data()\n {\n return {\n uid: UUID(),\n elements: [],\n options: [],\n tempValue: this.item,\n };\n },\n\n watch: {\n\n item(value)\n {\n if ( value !== this.tempValue ) {\n this.tempValue = value;\n }\n }\n\n },\n\n mounted()\n {\n this.bindSyncEvent();\n },\n\n beforeUnmount()\n {\n this.unbindSyncEvent();\n },\n\n updated()\n {\n Any.delay(() => {\n if ( this.$refs.scrollbar ) {\n this.$refs.scrollbar.adaptHeight();\n }\n }, 500);\n },\n\n methods: {\n\n bindSyncEvent()\n {\n if ( !this.syncEvent ) {\n return;\n }\n\n this.options = this.syncEvent;\n\n if ( Any.isFunction(this.options) ) {\n this.options = this.options(this);\n }\n\n let syncFunction = (value, uid = null) => {\n if ( uid === this.options[1] ) {\n this.setValue(value);\n }\n };\n\n Event.bind(this.options[0], syncFunction,\n this.uid);\n },\n\n unbindSyncEvent()\n {\n Event.unbind(this.options[0], this.uid);\n },\n\n setValue(value)\n {\n this.$emit('update:modelValue',\n this.tempValue = value);\n },\n\n addColumn(column)\n {\n Arr.add(this.elements,\n column, { uid: column.uid });\n },\n\n removeColumn(column)\n {\n Arr.remove(this.elements,\n { uid: column.uid });\n },\n\n },\n\n provide()\n {\n return {\n NInfo: this\n };\n },\n\n renderEmpty()\n {\n return (\n <NEmptyIcon disabled={!this.showEmptyIcon} class=\"n-info__empty\">\n {this.$slots.empty && this.$slots.empty() || this.trans('No entry')}\n </NEmptyIcon>\n );\n },\n\n renderBody()\n {\n if ( Any.isEmpty(this.tempValue) ) {\n return this.ctor('renderEmpty')();\n }\n\n let elements = Obj.each(this.elements, (column) => {\n return (\n <div class=\"n-info__column\">\n {column.ctor('renderLabel')({ item: this.tempValue })}\n {column.ctor('renderBody')({ item: this.tempValue })}\n </div>\n );\n });\n\n return (\n <div class=\"n-info__body\">\n {Any.vals(elements)}\n </div>\n );\n },\n\n render()\n {\n let classList = [\n 'n-info',\n 'n-info--' + this.type,\n 'n-info--' + this.size,\n ];\n\n let infoHtml = (\n <NScrollbar ref=\"scrollbar\" relative={this.relative}>\n {this.ctor('renderBody')()}\n </NScrollbar>\n );\n\n return (\n <div class={classList}>\n {[infoHtml, this.$slots.default()]}\n </div>\n );\n }\n}\n","import { UUID, Obj, Locale, Str } from \"@kizmann/pico-js\";\nimport { h, resolveComponent } from \"vue\";\n\nexport default {\n\n name: 'NInfoColumn',\n\n inject: {\n\n NInfo: {\n default: undefined\n }\n\n },\n\n props: {\n\n modelValue: {\n default()\n {\n return null;\n }\n },\n\n prop: {\n default()\n {\n return 'id';\n },\n type: [String]\n },\n\n label: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'string';\n },\n type: [String]\n },\n\n previewProp: {\n default()\n {\n return 'preview';\n },\n type: [String]\n },\n\n options: {\n default()\n {\n return [];\n },\n type: [Object, Array, Function]\n },\n\n optionsValue: {\n default()\n {\n return '$value';\n },\n type: [String]\n },\n\n optionsLabel: {\n default()\n {\n return '$value';\n },\n type: [String]\n },\n\n emptyText: {\n default()\n {\n return Locale.trans('-');\n },\n type: [String]\n },\n\n trueText: {\n default()\n {\n return Locale.trans('Yes');\n },\n type: [String]\n },\n\n falseText: {\n default()\n {\n return Locale.trans('No');\n },\n type: [String]\n },\n\n datetimeFormat: {\n default()\n {\n return Locale.trans('YYYY-MM-DD HH:mm');\n },\n type: [String]\n }\n\n },\n\n data()\n {\n return {\n uid: UUID()\n };\n },\n\n beforeMount()\n {\n this.NInfo.addColumn(this);\n },\n\n beforeUnmount()\n {\n this.NInfo.removeColumn(this);\n },\n\n renderLabel()\n {\n if ( this.$slots.label ) {\n return this.$slots.label();\n }\n \n return (\n <div class=\"n-info-column\">\n <span>{this.label}</span>\n </div>\n );\n },\n\n renderBody(props)\n {\n let passed = Obj.except(props, [], {\n column: this\n });\n\n let component = resolveComponent('NInfoField' + \n Str.ucfirst(this.type));\n\n if ( ! component ) {\n return null;\n }\n\n passed.class = [\n 'n-info-field',\n 'n-info-field--' + this.type\n ];\n\n return h(component, passed);\n },\n\n render()\n {\n return null;\n }\n\n}\n","import { Obj } from \"@kizmann/pico-js\";\nimport CtorMixin from \"../../../mixins/src/ctor\";\n\nexport default {\n\n inject: {\n\n NInfo: {\n default: undefined\n }\n\n },\n\n props: {\n\n column: {\n required: true\n },\n\n item: {\n required: true\n },\n\n },\n\n computed: {\n\n input()\n {\n return Obj.get(this.item, this.column.prop);\n }\n\n },\n\n render()\n {\n return (\n <div>\n <span>{ this.input }</span>\n </div>\n );\n }\n\n}\n","import { Any } from \"@kizmann/pico-js\";\nimport InfoField from \"../info-field\";\n\nexport default {\n\n name: 'NInfoFieldString',\n\n extends: InfoField,\n\n render()\n {\n if ( this.column.cslo('default', this) ) {\n return (\n <div>{ this.column.$slots.default(this) }</div>\n );\n }\n\n return (\n <div>\n <span>{ Any.convertString(this.input, this.column.emptyText) }</span>\n </div>\n );\n }\n\n}\n","import { Any } from \"@kizmann/pico-js\";\nimport InfoField from \"../info-field\";\n\nexport default {\n\n name: 'NInfoFieldBoolean',\n\n extends: InfoField,\n\n render()\n {\n if ( this.column.cslo('default', this) ) {\n return (\n <div>{ this.column.$slots.default(this) }</div>\n );\n }\n\n return (\n <div>\n <span>{ Any.convertBoolean(this.input, this.column.trueText, this.column.falseText) }</span>\n </div>\n );\n }\n\n}\n","import { Any } from \"@kizmann/pico-js\";\nimport InfoField from \"../info-field\";\n\nexport default {\n\n name: 'NInfoFieldDatetime',\n\n extends: InfoField,\n\n render()\n {\n if ( this.column.cslo('default', this) ) {\n return (\n <div>{ this.column.$slots.default(this) }</div>\n );\n }\n\n return (\n <div>\n <span>{ Any.convertDatetime(this.input, this.column.datetimeFormat, this.column.emptyText) }</span>\n </div>\n );\n }\n\n}\n","import { Arr, Obj, Any } from \"@kizmann/pico-js\";\nimport InfoField from \"../info-field\";\n\nexport default {\n\n name: 'NInfoFieldOption',\n\n extends: InfoField,\n\n renderOption(value)\n {\n let options = this.column.options;\n\n if ( Any.isFunction(options) ) {\n options = this.column.options(this);\n }\n\n let prop = this.column.optionsValue;\n\n options = Arr.each(options, (value, index) => {\n return { $value: value, $index: index };\n });\n\n let option = Arr.find(options, (item) => {\n return Obj.get(item, prop) == value;\n });\n\n if ( ! option ) {\n return [this.column.emptyText];\n }\n\n return Obj.get(option, this.column.optionsLabel,\n this.column.undefinedText);\n },\n\n render()\n {\n if ( this.column.cslo('default', this) ) {\n return (\n <div>{ this.column.$slots.default(this) }</div>\n );\n }\n\n let input = ! Any.isObject(this.input) ?\n [this.input] : this.input;\n\n return (\n <div>\n <span>{ Arr.each(input, this.ctor('renderOption')) }</span>\n </div>\n );\n }\n\n}\n","import InfoField from \"../info-field\";\nimport { Obj } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NInfoFieldImage',\n\n extends: InfoField,\n\n computed: {\n\n preview()\n {\n return Obj.get(this.item, this.column.previewProp);\n }\n\n },\n\n render()\n {\n if ( this.column.cslo('default', this) ) {\n return (\n <div>{ this.column.$slots.default(this) }</div>\n );\n }\n\n let props = {\n fit: 'contain',\n };\n\n return (\n <div>\n <NPreview file={this.preview || this.input} thumb={this.input} {...props} />\n </div>\n );\n }\n\n}\n","import Info from './src/info/info';\nimport InfoColumn from './src/info-column/info-column';\nimport InfoFieldString from './src/info-field/types/info-field-string';\nimport InfoFieldBoolean from './src/info-field/types/info-field-boolean';\nimport InfoFieldDatetime from './src/info-field/types/info-field-datetime';\nimport InfoFieldOption from './src/info-field/types/info-field-option';\nimport InfoFieldImage from './src/info-field/types/info-field-image';\n\nexport default function (App) {\n App.component(Info.name, Info);\n App.component(InfoColumn.name, InfoColumn);\n App.component(InfoFieldString.name, InfoFieldString);\n App.component(InfoFieldBoolean.name, InfoFieldBoolean);\n App.component(InfoFieldDatetime.name, InfoFieldDatetime);\n App.component(InfoFieldOption.name, InfoFieldOption);\n App.component(InfoFieldImage.name, InfoFieldImage);\n}","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NCheckboxGroup'] = Locale.trans('NCheckboxGroup');\n\nglobal.NanoBuilderIndexies['NCheckboxGroup'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NCheckboxGroup']['props'] = {\n //\n};","import { Arr, Map, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NMap',\n\n props: {\n\n lat: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n lng: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n zoom: {\n default()\n {\n return 15;\n },\n type: [Number]\n }\n\n },\n\n provide()\n {\n return {\n NMap: this\n };\n },\n\n data()\n {\n return { init: false, callbacks: [], tempMap: null };\n },\n\n watch: {\n\n lat()\n {\n Any.delay(() => this.tempMap.focusMarkers(), 100);\n },\n\n lng()\n {\n Any.delay(() => this.tempMap.focusMarkers(), 100);\n }\n\n },\n\n mounted()\n {\n this.tempMap = new Map(this.$el, {\n lat: this.lat, lng: this.lng, zoom: this.zoom\n });\n\n this.init = true;\n\n Arr.each(this.callbacks, (callback) => callback())\n },\n\n methods: {\n\n getMap()\n {\n return this.tempMap;\n },\n\n onMount(callback)\n {\n this.init ? callback() : this.callbacks.push(callback);\n }\n\n },\n\n render()\n {\n let classList = [\n 'n-map'\n ];\n\n return (\n <div class={classList}>\n { this.$slots.default && this.$slots.default() }\n </div>\n );\n }\n}\n","import { UUID, Obj, Num, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NMapMarker',\n\n inject: {\n\n NMap: {\n default: undefined\n }\n\n },\n\n props: {\n\n lat: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n lng: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n drag: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n options: {\n default()\n {\n return { style: 'default' };\n },\n type: [Object]\n },\n\n },\n\n data()\n {\n return {\n id: UUID(), tempMarker: null\n };\n },\n\n methods: {\n\n importMarkerPosition()\n {\n this.tempMarker.marker.setPosition({\n lat: this.lat, lng: this.lng\n });\n },\n\n updateMarkerPosition()\n {\n this.$emit('update:lat', this.tempMarker.marker.getPosition().lat());\n this.$emit('update:lng', this.tempMarker.marker.getPosition().lng());\n },\n\n initializeMarker()\n {\n let options = Obj.assign({\n lat: Num.float(this.lat), lng: Num.float(this.lng), draggable: this.drag\n }, this.options);\n\n if ( ! Any.isEmpty(this.$slots.default) ) {\n options.html = this.$el.innerHTML;\n }\n\n this.tempMarker = this.NMap.getMap().createMarker(this.id, options);\n\n this.tempMarker.marker.addListener('position_changed',\n Any.debounce(this.updateMarkerPosition));\n\n this.tempMarker.marker.addListener('dragstart',\n () => this.$emit('dragstart', this.tempMarker));\n\n this.tempMarker.marker.addListener('dragend',\n () => this.$emit('dragend', this.tempMarker));\n\n this.tempMarker.marker.addListener('mouseover',\n () => this.$emit('mouseenter', this.tempMarker));\n\n this.tempMarker.marker.addListener('mouseout',\n () => this.$emit('mouseleave', this.tempMarker));\n },\n\n setMarkerByAddress(address)\n {\n let successClosure = () => {\n this.NMap.getMap().focusMarkers(null, this.NMap.zoom);\n };\n\n let errorClosure = () => {\n this.Notify(this.trans('Address not found.'), 'danger');\n };\n\n this.NMap.getMap().setMarkerByAddress(this.id, address)\n .then(successClosure, errorClosure);\n }\n\n },\n\n watch: {\n\n lat()\n {\n this.importMarkerPosition();\n },\n\n lng()\n {\n this.importMarkerPosition();\n }\n\n },\n\n beforeMount()\n {\n this.NMap.onMount(this.initializeMarker);\n },\n\n render()\n {\n return (\n <div style=\"display: none;\">\n { this.$slots.default }\n </div>\n );\n }\n\n}\n","import Map from './src/map/map';\nimport MapMarker from './src/map-marker/map-marker';\n\nexport default function (App) {\n App.component(Map.name, Map);\n App.component(MapMarker.name, MapMarker);\n}\n\n","import { Arr, Obj } from \"@kizmann/pico-js\";\n\nexport default {\n\n ctor(key, fallback = null)\n {\n let ctor = Obj.get(this.$options, key.split('.'), -1);\n\n // if ( ctor === -1 ) {\n // ctor = Obj.get(this.$vnode.componentOptions.Ctor,\n // Arr.merge(['options'], key.split('.')), -1);\n // }\n\n if ( ctor === -1 ) {\n ctor = fallback;\n }\n\n if ( typeof ctor !== 'function' ) {\n return ctor;\n }\n\n return (...args) => ctor.apply(this, args);\n }\n\n}\n","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NInput'] = Locale.trans('NInput');\n\nglobal.NanoBuilderIndexies['NInput'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NInput']['props'] = {\n modelValue: {\n for: ['binds', 'props'], default: null, type: 'String'\n },\n size: {\n for: ['binds', 'props'], default: 'md', type: 'String', options: global.NanoPrototypeSizes\n },\n type: {\n for: ['binds', 'props'], default: 'primary', type: 'String', options: global.NanoPrototypeTypes\n },\n disabled: {\n for: ['binds', 'props'], default: false, type: 'Boolean', options: global.NanoPrototypeBools\n },\n placeholder: {\n for: ['binds', 'props'], default: '', type: 'String'\n },\n nativeType: {\n for: ['binds', 'props'], default: 'text', type: 'String', options: ['text', 'password', 'email']\n },\n icon: {\n for: ['binds', 'props'], default: '', type: 'String'\n },\n iconPosition: {\n for: ['binds', 'props'], default: 'before', type: 'String', options: ['before', 'after']\n },\n iconDisabled: {\n for: ['binds', 'props'], default: null, type: 'Boolean', options: global.NanoPrototypeBools\n },\n iconClick: {\n for: ['on'], type: 'String'\n },\n};","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NConfirm'] = Locale.trans('n-confirm');\n\nglobal.NanoBuilderIndexies['NConfirm'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NConfirm']['props'] = {\n //\n};","export default {\n\n name: 'NEmptyIcon',\n\n props: {\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'default';\n },\n type: [String]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n inline: {\n default()\n {\n return false;\n },\n type: [Boolean]\n }\n\n },\n\n render()\n {\n let classList = [\n 'n-empty-icon',\n 'n-empty-icon--' + this.size,\n 'n-empty-icon--' + this.type\n ];\n\n if ( this.disabled ) {\n classList.push('n-disabled');\n }\n\n if ( this.inline ) {\n classList.push('n-inline');\n }\n\n return (\n <div class={classList}>\n <div class=\"n-empty-icon__frame\">\n { /* Icon */ }\n </div>\n <div class=\"n-empty-icon__text\">\n { this.$slots.default && this.$slots.default() }\n </div>\n </div>\n );\n }\n\n}\n","import EmptyIcon from './src/empty-icon/empty-icon';\n\nexport default function (App) {\n App.component(EmptyIcon.name, EmptyIcon);\n}\n","import { UUID, Arr, Obj, Dom, Any, Str, Locale, Event, Num } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NResizer',\n\n inject: {\n\n NScrollbar: {\n default: undefined\n }\n\n },\n\n props: {\n\n modelValue: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n width: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n minWidth: {\n default()\n {\n return 60;\n },\n type: [Number]\n },\n\n maxWidth: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n group: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n position: {\n default()\n {\n return 'right';\n },\n type: [String]\n },\n\n resizerWidth: {\n default()\n {\n return 6;\n },\n type: [Number]\n }\n\n },\n\n computed: {\n\n touch() {\n return !! ('ontouchstart' in window || \n navigator.msMaxTouchPoints);\n },\n\n mousedown() {\n return this.touch ? 'touchstart' :\n 'mousedown';\n },\n\n mousemove() {\n return this.touch ? 'touchmove' :\n 'mousemove';\n },\n\n mouseup() {\n return this.touch ? 'touchend' :\n 'mouseup';\n }\n\n },\n\n data()\n {\n return {\n sizeFixed: false,\n tempValue: this.modelValue,\n };\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue ) {\n this.tempValue = value;\n }\n },\n\n },\n\n mounted()\n {\n if ( ! this.modelValue ) {\n this.updateWidth();\n }\n\n if ( this.NScrollbar ) {\n this.bindSizechange();\n }\n\n Event.bind('NResizer:move', \n this.forceWidth, this._.uid);\n\n Dom.find(window).on('resize', \n Any.debounce(this.onResize, 500), this._.uid);\n },\n\n updated()\n {\n this.updateWidth();\n },\n\n unmounted()\n {\n if ( this.NScrollbar ) {\n this.unbindSizechange();\n }\n\n Event.unbind('NResizer:move', \n this._.uid);\n \n Dom.find(window).off('resize', \n null, this._.uid);\n },\n\n methods: {\n\n forceWidth(group)\n {\n if ( ! Arr.has(group, this.group) ) {\n return;\n }\n \n if ( ! this.tempValue || ! this.group.length ) {\n return;\n }\n\n this.sizeFixed = true;\n\n let style = {\n width: this.tempValue + 'px', flex: '0 0 auto'\n };\n\n Dom.find(this.$el).css(style);\n },\n\n updateWidth()\n {\n let width = Dom.find(this.$el)\n .width();\n\n if ( width === this.tempValue ) {\n return;\n }\n\n this.$emit('update:modelValue', \n this.tempValue = width);\n \n this.updateHandle();\n },\n\n updateHandle()\n {\n let style = {};\n\n if ( this.position === 'left' ) {\n style.transform =`translateX(-${this.tempValue - this.resizerWidth}px)`\n }\n \n if ( this.position === 'right' ) {\n style.transform = `translateX(${this.tempValue - this.resizerWidth}px)`\n }\n\n Dom.find(this.$refs.handle).css(style);\n },\n\n bindSizechange()\n {\n Dom.find(this.NScrollbar.$el).on('resized', \n Any.debounce(this.updateWidth, 50), this._.uid);\n },\n\n unbindSizechange()\n {\n Dom.find(this.NScrollbar.$el)\n .off('resized', null, this._.uid);\n },\n\n\n onResize()\n {\n if ( this.NScrollbar ) {\n return;\n }\n\n this.updateWidth();\n },\n\n getTouchEvent(event)\n {\n if ( ! this.touch ) {\n return event;\n }\n\n return event.touches[0] || event.changedTouches[0];\n },\n\n onLeftMousedown(event)\n {\n if ( ! Arr.has([0, 1], event.which) ) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n if ( this.group.length ) {\n Event.fire('NResizer:move', this.group);\n }\n\n Dom.find(this.$el).addClass('n-move');\n Dom.find(document.body).addClass('n-move');\n\n Dom.find(document).on(this.mouseup,\n Any.framerate(this.onLeftMouseup, 60), this._.uid);\n\n Dom.find(document).on(this.mousemove,\n Any.framerate(this.onLeftMousemove, 60), this._.uid);\n },\n\n onLeftMousemove(event)\n {\n this.clientX = (window.innerWidth - \n this.getTouchEvent(event).clientX);\n\n let offsetX = Dom.find(this.$el)\n .offset('right');\n\n let scrollX = Dom.find(this.$el)\n .scroll('right');\n\n let targetWidth = (this.clientX + scrollX - offsetX) -\n (this.resizerWidth / 2);\n\n if ( this.minWidth ) {\n targetWidth = Math.max(targetWidth,\n this.minWidth - this.resizerWidth);\n }\n\n if ( this.maxWidth ) {\n targetWidth = Math.min(targetWidth,\n this.maxWidth - this.resizerWidth);\n }\n\n let style = {\n transform: `translateX(-${targetWidth}px)`\n };\n\n Dom.find(this.$refs.handle).css(style);\n },\n\n onLeftMouseup(event)\n {\n event.preventDefault();\n event.stopPropagation();\n\n Dom.find(document).off(this.mouseup, null, this._.uid);\n Dom.find(document).off(this.mousemove, null, this._.uid);\n\n if ( ! this.clientX ) {\n return;\n }\n\n let offsetX = Dom.find(this.$el)\n .offset('right');\n\n let scrollX = Dom.find(this.$el)\n .scroll('right');\n\n let targetWidth = this.clientX + scrollX - offsetX;\n\n if ( this.minWidth ) {\n targetWidth = Math.max(targetWidth, this.minWidth);\n }\n\n if ( this.maxWidth ) {\n targetWidth = Math.min(targetWidth, this.maxWidth);\n }\n\n this.tempValue = Math.round(targetWidth);\n\n Dom.find(this.$el).removeClass('n-move');\n\n let style = {\n transform: `translateX(-${targetWidth - this.resizerWidth}px)`\n };\n\n Dom.find(this.$refs.handle).css(style);\n\n let frameStyle = {\n width: this.tempValue + 'px', flex: '0 0 auto'\n };\n\n Dom.find(this.$el).css(frameStyle);\n\n delete this.clientX;\n\n if ( this.group.length ) {\n Event.fire('NResizer:moved', this.group);\n }\n\n this.$emit('update:modelValue', this.tempValue);\n },\n\n onRightMousedown(event)\n {\n if ( ! Arr.has([0, 1], event.which) ) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n if ( this.group.length ) {\n Event.fire('NResizer:move', this.group);\n }\n\n Dom.find(this.$el).addClass('n-move');\n Dom.find(document.body).addClass('n-move');\n\n Dom.find(document).on(this.mouseup,\n Any.framerate(this.onRightMouseup, 60), this._.uid);\n\n Dom.find(document).on(this.mousemove,\n Any.framerate(this.onRightMousemove, 60), this._.uid);\n },\n\n onRightMousemove(event)\n {\n this.clientX = this.getTouchEvent(event).clientX;\n\n let offsetX = Dom.find(this.$el)\n .offset('left');\n\n let scrollX = Dom.find(this.$el)\n .scroll('left');\n\n let targetWidth = (this.clientX + scrollX - offsetX) -\n (this.resizerWidth / 2);\n\n if ( this.minWidth ) {\n targetWidth = Math.max(targetWidth,\n this.minWidth - this.resizerWidth);\n }\n\n if ( this.maxWidth ) {\n targetWidth = Math.min(targetWidth,\n this.maxWidth - this.resizerWidth);\n }\n\n let style = {\n transform: `translateX(${targetWidth}px)`\n };\n\n Dom.find(this.$refs.handle).css(style);\n },\n\n onRightMouseup(event)\n {\n event.preventDefault();\n event.stopPropagation();\n\n Dom.find(document).off(this.mousemove, null, this._.uid);\n Dom.find(document).off(this.mouseup, null, this._.uid);\n\n if ( ! this.clientX ) {\n return;\n }\n\n let offsetX = Dom.find(this.$el)\n .offset('left');\n\n let scrollX = Dom.find(this.$el)\n .scroll('left');\n\n let targetWidth = this.clientX + scrollX - offsetX;\n\n if ( this.minWidth ) {\n targetWidth = Math.max(targetWidth, this.minWidth);\n }\n\n if ( this.maxWidth ) {\n targetWidth = Math.min(targetWidth, this.maxWidth);\n }\n\n this.tempValue = Math.round(targetWidth);\n\n Dom.find(this.$el).removeClass('n-move');\n\n let style = {\n transform: `translateX(${targetWidth - this.resizerWidth}px)`\n };\n\n Dom.find(this.$refs.handle).css(style);\n\n let frameStyle = {\n width: this.tempValue + 'px', flex: '0 0 auto'\n };\n\n Dom.find(this.$el).css(frameStyle);\n\n delete this.clientX;\n\n if ( this.group.length ) {\n Event.fire('NResizer:moved', this.group);\n }\n\n this.$emit('update:modelValue', this.tempValue);\n }\n\n },\n\n renderHandle()\n {\n if ( this.disabled ) {\n return null;\n }\n \n let classList = [\n 'n-resizer__handle',\n ];\n\n let props = {};\n\n if ( this.position === 'right' ) {\n props['on' + Str.ucfirst(this.mousedown)] = this.onRightMousedown;\n }\n\n if ( this.position === 'left' ) {\n props['on' + Str.ucfirst(this.mousedown)] = this.onLeftMousedown;\n }\n\n if ( this.resizerWidth ) {\n props.width = this.resizerWidth + 'px';\n }\n\n return (\n <div ref=\"handle\" class={classList} {...props}/>\n );\n },\n\n render()\n {\n let classList = [\n 'n-resizer',\n 'n-resizer--' + this.position,\n ];\n\n let style = {};\n\n if ( this.width && ! this.tempValue ) {\n style['width'] = this.width + 'px';\n }\n\n if ( this.width ) {\n style['flex-basis'] = this.width + 'px';\n }\n\n if ( this.minWidth ) {\n style['min-width'] = this.minWidth + 'px';\n }\n\n if ( this.maxWidth ) {\n style['max-width'] = this.maxWidth + 'px';\n }\n\n return (\n <div class={classList} style={style}>\n { [this.$slots.default(), this.ctor('renderHandle')()] }\n </div>\n );\n }\n\n}\n","import Resizer from './src/resizer/resizer';\n\nexport default function (App) {\n App.component(Resizer.name, Resizer);\n}\n","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NDatepicker'] = Locale.trans('NDatepicker');\n\nglobal.NanoBuilderIndexies['NDatepicker'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NDatepicker']['props'] = {\n //\n};","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NCascader'] = Locale.trans('n-cascader');\n\nglobal.NanoBuilderIndexies['NCascader'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NCascader']['props'] = {\n //\n};","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NSelect'] = Locale.trans('NSelect');\n\nglobal.NanoBuilderIndexies['NSelect'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NSelect']['props'] = {\n //\n};","import { Any, Str, Obj, Dom } from \"@kizmann/pico-js\";\n\nclass AlertFrame {\n\n el = null;\n\n text = '';\n\n icon = '';\n\n type = '';\n\n options = {\n iconPrimary: nano.Icons.info,\n iconSecondary: nano.Icons.info,\n iconSuccess: nano.Icons.success,\n iconWarning: nano.Icons.warning,\n iconDanger: nano.Icons.danger,\n iconInfo: nano.Icons.info\n };\n\n constructor(text, type = 'primary', options = {})\n {\n this.text = text;\n this.type = type;\n\n this.options = Obj.assign(this.options, options);\n\n this.render();\n }\n\n getIcon()\n {\n return Obj.get(this.options,\n 'icon' + Str.ucfirst(this.type));\n }\n\n append(el = document.body)\n {\n this.el.appendTo(el);\n\n Dom.find(document.body).on('keydown', (event) => {\n if ( event.which === 27 ) {\n this.remove();\n }\n }, 'n-alert');\n\n setTimeout(() => this.el.addClass('n-active'), 100);\n }\n\n remove()\n {\n Dom.find(document.body).off('keydown', null, 'n-alert');\n\n this.el.get(0).remove();\n }\n\n render()\n {\n let classList = [\n 'n-alert-frame',\n 'n-alert-frame--' + this.type,\n 'n-alert-frame--' + Alert.size\n ];\n\n this.el = Dom.make('div', {\n classList: classList.join(' ')\n });\n\n let backdrop = Dom.make('div', {\n classList: 'n-alert-backdrop', onclick: () => this.remove()\n });\n\n backdrop.onClick = () => {\n this.remove();\n };\n\n backdrop.appendTo(this.el);\n\n let frame = Dom.make('div', {\n classList: 'n-alert'\n });\n\n frame.appendTo(this.el);\n\n let icon = Dom.make('div', {\n classList: 'n-alert__icon'\n });\n\n icon.appendTo(frame);\n\n let iconSpan = Dom.make('span', {\n classList: this.getIcon()\n });\n\n iconSpan.appendTo(icon);\n\n let text = Dom.make('div', {\n classList: 'n-alert__text'\n });\n\n text.html(this.text).appendTo(frame);\n }\n\n}\n\nexport default class Alert {\n\n static alias = 'Alert';\n\n static size = nano.Settings.notifySize;\n\n static alert = null;\n\n static handle(...args)\n {\n if ( ! Any.isEmpty(Alert.alert) ) {\n Alert.alert.remove();\n }\n\n Alert.alert = new AlertFrame(...args);\n\n Alert.alert.append();\n\n return Alert;\n }\n\n}\n","import Alert from './src/alert/alert';\n\nexport default function (App) {\n App.config.globalProperties[Alert.alias] = window[Alert.alias] = Alert.handle;\n}\n","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NRadioGroup'] = Locale.trans('NRadioGroup');\n\nglobal.NanoBuilderIndexies['NRadioGroup'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NRadioGroup']['props'] = {\n //\n};","module.exports = __WEBPACK_EXTERNAL_MODULE__2122__;","import { Arr, Obj, Any, Str } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NCascaderPanel',\n\n props: {\n\n modelValue: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n clearValue: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n hover: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n options: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n trigger: {\n default()\n {\n return 'hover';\n },\n type: [String]\n },\n\n labelProp: {\n default()\n {\n return 'label';\n },\n type: [String]\n },\n\n valueProp: {\n default()\n {\n return 'value';\n },\n type: [String]\n },\n\n childProp: {\n default()\n {\n return 'children';\n },\n type: [String]\n },\n\n disabledProp: {\n default()\n {\n return 'disabled';\n },\n type: [String]\n },\n\n },\n\n computed: {\n\n touch() {\n return !! ('ontouchstart' in window || \n navigator.msMaxTouchPoints);\n },\n\n mousedown() {\n return this.touch ? 'touchstart' :\n 'mousedown';\n },\n\n mousemove() {\n return this.touch ? 'touchmove' :\n 'mousemove';\n },\n\n mouseup() {\n return this.touch ? 'touchend' :\n 'mouseup';\n }\n\n },\n\n data()\n {\n return {\n tempValue: this.modelValue,\n tempHover: this.hover,\n };\n },\n\n watch: {\n\n modelValue(value) {\n if ( value !== this.tempValue ) {\n this.tempValue = value;\n }\n },\n\n hover(value) {\n if ( value !== this.tempHover ) {\n this.tempHover = value;\n }\n }\n\n },\n\n methods: {\n\n clearCascader()\n {\n this.$emit('update:modelValue', this.tempHover = \n this.tempValue = this.clearValue);\n },\n\n onHover(cascade)\n {\n return (event) => this.hoverItem(cascade, event)\n },\n\n onSelect(cascade)\n {\n return (event) => this.selectItem(cascade, event)\n },\n\n hoverItem(cascade, event = null)\n {\n // Hover intend emulation\n clearTimeout(this.delay);\n\n let updateHover = () => {\n this.$emit('update:hover', \n this.tempHover = cascade);\n };\n\n this.delay = setTimeout(updateHover, 130);\n },\n\n selectItem(cascade, event = null)\n {\n clearTimeout(this.clickTimer);\n\n if ( ! this.lastclick ) {\n this.lastclick = 0;\n }\n\n this.lastclick++;\n\n let trigger = this.touch ? 'click' : \n this.trigger ;\n \n this.clickTimer = setTimeout(() => \n this.lastclick = 0, 240);\n\n this.hoverTimer = setTimeout(() => \n this.hoverItem(cascade), 240);\n\n if ( this.lastclick === 1 && trigger === 'click' ) {\n return this.hoverItem(cascade, event);\n }\n\n if ( event ) {\n event.preventDefault();\n }\n\n this.clickTimer = setTimeout(() => \n this.fireSelectItem(cascade), 50);\n },\n\n fireSelectItem(cascade)\n {\n clearTimeout(this.hoverTimer);\n\n this.lastclick = 0;\n\n this.$emit('update:modelValue', \n this.tempValue = cascade);\n }\n\n },\n\n renderDisplay()\n {\n let classList = [\n 'n-cascader-panel',\n 'n-cascader-panel--' + this.size\n ];\n\n return (\n <div class={classList}>\n { this.ctor('renderLabelClear')() }\n { this.ctor('renderLabel')() }\n { this.ctor('renderLabelAngle')() }\n </div>\n )\n },\n\n renderOption(item, cascade = [])\n {\n let value = Obj.get(item, this.valueProp);\n\n let classList = [\n 'n-popover-option'\n ];\n\n if ( Arr.has(this.tempValue, item[this.valueProp]) ) {\n classList.push('n-active');\n }\n\n let disabled = Obj.get(item, this.disabledProp, false);\n\n if ( disabled ) {\n classList.push('n-disabled');\n }\n\n let props = {\n size: this.size,\n type: this.type,\n clickClose: false\n };\n\n if ( Arr.last(this.tempValue) === value ) {\n props.icon = nano.Icons.checked;\n }\n\n let tempCascade = Arr.merge(Arr.clone(cascade), [value]);\n\n if ( this.trigger === 'hover' ) {\n props.onMousemove = Any.framerate(this.onHover(tempCascade), 30);\n }\n\n if ( ! disabled ) {\n props['on' + Str.ucfirst(this.mousedown)] = this.onSelect(tempCascade);\n }\n\n let children = Obj.get(item, this.childProp);\n\n if ( ! props.icon && ! Any.isEmpty(children) ) {\n props.icon = nano.Icons.angleRight;\n }\n\n return (\n <NPopoverOption class={classList} {...props}>\n { Obj.get(item, this.labelProp) }\n </NPopoverOption>\n );\n },\n\n renderOptions(items, cascade = [])\n {\n if ( Any.isEmpty(items) ) {\n return null;\n }\n\n return (\n <div class=\"n-cascader-panel__items\">\n <NScrollbar relative={true}>\n {\n Arr.each(items, (item) => {\n return this.ctor('renderOption')(item, cascade);\n })\n }\n </NScrollbar>\n </div>\n )\n },\n\n renderCascade()\n {\n let renderList = [\n this.ctor('renderOptions')(this.options)\n ];\n\n let items = this.options, cascade = [];\n\n Arr.each(this.tempHover, (value) => {\n\n if ( ! items ) {\n return;\n }\n\n cascade.push(value);\n\n let item = Arr.find(items, {\n [this.valueProp]: value\n });\n\n items = Obj.get(item, this.childProp);\n\n let options = this.ctor('renderOptions')\n (items, cascade);\n\n renderList.push(options);\n });\n\n return renderList;\n },\n\n render()\n {\n let classList = [\n 'n-cascader-panel',\n 'n-cascader-panel--' + this.size\n ];\n\n if ( this.disabled ) {\n classList.push('n-disabled');\n }\n\n return (\n <div class={classList}>{ this.ctor('renderCascade')() }</div>\n );\n }\n\n}","import { Arr, Obj, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NCascader',\n\n props: {\n\n modelValue: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n clearValue: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n options: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n current: {\n default()\n {\n return null;\n }\n },\n\n placeholder: {\n default()\n {\n return 'Please select';\n },\n type: [String]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n clearable: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n position: {\n default()\n {\n return 'bottom-start';\n },\n type: [String]\n },\n\n trigger: {\n default()\n {\n return 'hover';\n },\n type: [String]\n },\n\n labelProp: {\n default()\n {\n return 'label';\n },\n type: [String]\n },\n\n valueProp: {\n default()\n {\n return 'value';\n },\n type: [String]\n },\n\n childProp: {\n default()\n {\n return 'children';\n },\n type: [String]\n },\n\n disabledProp: {\n default()\n {\n return 'disabled';\n },\n type: [String]\n },\n\n },\n\n data()\n {\n return {\n tempValue: this.modelValue,\n tempHover: this.modelValue,\n focus: false,\n };\n },\n\n methods: {\n\n clearCascader()\n {\n this.focus = true;\n\n this.$emit('update:modelValue', \n this.tempValue = this.tempHover = this.clearValue);\n },\n\n onCascaderInput(value)\n {\n this.focus = false;\n\n this.$emit('update:modelValue', \n this.tempValue = value);\n },\n\n onCascaderHover(value)\n {\n this.$emit('update:hover', \n this.tempHover = value);\n },\n\n onPopoverInput(value)\n {\n this.focus = value;\n },\n\n },\n\n watch: {\n\n modelValue(value) {\n if ( value !== this.tempValue ) {\n this.tempValue = value;\n }\n }\n\n },\n\n renderLabelClear()\n {\n if ( ! this.clearable || Any.isEmpty(this.tempValue) ) {\n return null;\n }\n\n let props = {};\n\n if ( ! this.disabled ) {\n props.onMousedown = this.clearCascader;\n }\n\n return (\n <div class=\"n-cascader__clear\" {...props}>\n <i class={ nano.Icons.times }></i>\n </div>\n );\n },\n\n renderLabelAngle()\n {\n return (\n <div class=\"n-cascader__angle\">\n <i class={ nano.Icons.angleDown }></i>\n </div>\n );\n },\n\n renderLabelItems()\n {\n let items = this.options, renderList = [];\n\n if ( Any.isEmpty(this.tempValue) ) {\n return (\n <div class=\"n-cascader__placeholder\">\n { this.trans(this.placeholder) }\n </div>\n );\n }\n\n Arr.each(this.tempValue, (value) => {\n\n if ( ! items ) {\n return;\n }\n\n let item = Arr.find(items, {\n [this.valueProp]: value\n });\n\n items = Obj.get(item, this.childProp);\n\n let itemLabel = (\n <div class=\"n-cascader__item\">\n <span>{ Obj.get(item, this.labelProp) }</span>\n </div>\n );\n\n renderList.push(itemLabel);\n });\n\n return (\n <div class=\"n-cascader__items\">\n { renderList }\n </div>\n );\n },\n\n renderDisplay()\n {\n let classList = [\n 'n-cascader__display'\n ];\n\n return (\n <div class={classList}>\n { this.ctor('renderLabelClear')() }\n { this.ctor('renderLabelItems')() }\n { this.ctor('renderLabelAngle')() }\n </div>\n );\n },\n\n renderItems()\n {\n let props = Obj.except(this.$props, ['modelValue'], {\n hover: this.tempHover,\n modelValue: this.tempValue,\n });\n\n props['onUpdate:hover'] = this.onCascaderHover;\n props['onUpdate:modelValue'] = this.onCascaderInput;\n\n return (\n <NCascaderPanel class=\"n-cascader__body\" {...props}></NCascaderPanel>\n );\n },\n\n renderPopover()\n {\n let props = {\n trigger: 'click',\n width: 0,\n size: this.size,\n position: this.position,\n scrollClose: true,\n disabled: this.disabled,\n };\n\n return (\n <NPopover ref=\"popover\" vModel={this.focus} {...props}>\n { { raw: this.ctor('renderItems') } }\n </NPopover>\n );\n },\n\n render()\n {\n let classList = [\n 'n-cascader',\n 'n-cascader--' + this.type,\n 'n-cascader--' + this.size,\n ];\n\n if ( Any.isEmpty(this.tempValue) ) {\n classList.push('n-empty');\n }\n\n if ( this.clearable ) {\n classList.push('n-clearable');\n }\n\n if ( this.focus ) {\n classList.push('n-focus');\n }\n\n if ( this.disabled ) {\n classList.push('n-disabled');\n }\n\n return (\n <div class={classList}>\n { this.ctor('renderDisplay')() }\n { this.ctor('renderPopover')() }\n </div>\n );\n }\n\n}","import CascaderPanel from './src/cascader-panel/cascader-panel';\nimport Cascader from './src/cascader/cascader';\n\nexport default function (App) {\n App.component(CascaderPanel.name, CascaderPanel);\n App.component(Cascader.name, Cascader);\n}","import { Arr, Dom, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NTags',\n\n provide()\n {\n return {\n NTags: this\n };\n },\n\n props: {\n\n modelValue: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n tags: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n }\n\n },\n\n data()\n {\n return {\n init: false, elements: [], tempValue: this.modelValue\n };\n },\n\n methods: {\n\n addTag(tab)\n {\n Arr.add(this.elements, tab,\n { label: tab.label });\n\n if ( this.init) {\n this.$nextTick(this.$forceUpdate);\n }\n },\n\n removeTag(tab)\n {\n Arr.remove(this.elements,\n { label: tab.label });\n\n if ( this.init) {\n this.$nextTick(this.$forceUpdate);\n }\n },\n\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue ) {\n this.tempValue = value;\n }\n }\n\n },\n\n mounted()\n {\n this.init = true;\n },\n\n render()\n {\n let classList = [\n 'n-tags',\n ];\n\n return (\n <div class={classList}>\n { this.$slots.default && this.$slots.default() }\n </div>\n );\n }\n}\n","import { Arr, Any, Dom } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NTagsItem',\n\n inject: {\n\n NTags: {\n default: undefined\n }\n\n },\n\n props: {\n\n label: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n icon: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return -1;\n },\n type: [String, Number]\n },\n\n color: {\n default()\n {\n return 0;\n },\n type: [String, Number]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n },\n\n beforeMount()\n {\n if ( this.NTags ) {\n this.NTags.addTag(this);\n }\n },\n\n beforeUnmount()\n {\n if ( this.NTags ) {\n this.NTags.removeTag(this);\n }\n },\n\n renderIcon()\n {\n if ( Any.isEmpty(this.icon) ) {\n return null;\n }\n\n return (\n <i class={this.icon}></i>\n );\n },\n\n renderLabel()\n {\n return (\n <span>{this.$slots.default ? this.$slots.default() : this.label}</span>\n );\n },\n\n render()\n {\n let size = this.size;\n\n if ( this.NTags ) {\n size = this.NTags.size;\n }\n\n let classList = [\n 'n-tags-item',\n 'n-tags-item--' + size,\n ,\n ];\n\n if ( this.type === -1 ) {\n classList.push('n-tags-item--color-' + this.color);\n }\n\n if ( this.type !== -1 ) {\n classList.push('n-tags-item--color-' + this.type);\n }\n\n return (\n <div class={classList}>\n {[this.ctor('renderIcon')(), this.ctor('renderLabel')()]}\n </div>\n );\n }\n\n}\n","import Tags from './src/tags/tags';\nimport TagsItem from './src/tags-item/tags-item';\n\nexport default function (App) {\n App.component(Tags.name, Tags);\n App.component(TagsItem.name, TagsItem);\n}","import { Obj } from \"@kizmann/pico-js\";\nimport { h } from \"vue\";\n\nexport default {\n\n name: 'NButton',\n\n props: {\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n link: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n square: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n icon: {\n default()\n {\n return null;\n }\n },\n\n iconPosition: {\n default()\n {\n return 'before';\n },\n type: [String]\n },\n\n nativeType: {\n default()\n {\n return 'button';\n },\n type: [String]\n }\n\n },\n\n renderIcon()\n {\n if ( ! this.icon ) {\n return null;\n }\n\n let classList = [\n 'n-icon', \n 'n-icon--' + this.iconPosition,\n ];\n\n classList.push(this.icon);\n\n return (<i class={classList}></i>);\n },\n\n render()\n {\n let classList = [\n 'n-button',\n 'n-button--' + this.size,\n 'n-button--' + this.type,\n ];\n\n if ( this.icon ) {\n classList.push('n-button--icon');\n }\n\n if ( this.link ) {\n classList.push('n-button--link');\n }\n\n if ( this.square ) {\n classList.push('n-button--square');\n }\n\n if ( this.disabled ) {\n classList.push('n-disabled');\n }\n\n let props = {\n class: classList\n };\n\n if ( this.disabled ) {\n props.disabled = true;\n }\n\n let innerHtml = [];\n\n if ( this.iconPosition === 'before' ) {\n innerHtml.push(this.ctor('renderIcon')());\n }\n\n if ( this.$slots.default && ! this.square ) {\n innerHtml.push(<span>{ this.$slots.default && this.$slots.default() }</span>);\n }\n\n if ( this.iconPosition === 'after' ) {\n innerHtml.push(this.ctor('renderIcon')());\n }\n\n return h(this.nativeType, props, innerHtml);\n }\n\n}\n","export default {\n\n name: 'NButtonGroup',\n\n props: {\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n }\n\n },\n\n render()\n {\n let classList = [\n 'n-button-group',\n 'n-button-group--' + this.size\n ]\n return (\n <div class={classList}>\n { this.$slots.default && this.$slots.default() }\n </div>\n );\n }\n\n}\n","import Button from './src/button/button';\nimport ButtonGroup from './src/button-group/button-group';\n\nexport default function (App) {\n App.component(Button.name, Button);\n App.component(ButtonGroup.name, ButtonGroup);\n}\n","import { Any, Obj, Arr, Locale } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NDurationpicker',\n\n props: {\n\n modelValue: {\n default()\n {\n return null;\n }\n },\n\n clearValue: {\n default()\n {\n return null;\n }\n },\n\n options: {\n default()\n {\n return [\n 60 * 5,\n 60 * 10,\n 60 * 15,\n 60 * 30,\n 60 * 45,\n 60 * 60,\n 60 * 90,\n 60 * 120,\n 60 * 150,\n 60 * 60 * 3,\n 60 * 60 * 4,\n 60 * 60 * 5,\n 60 * 60 * 6,\n 60 * 60 * 12,\n 60 * 60 * 24,\n 60 * 60 * 24 * 2,\n 60 * 60 * 24 * 3,\n 60 * 60 * 24 * 4,\n 60 * 60 * 24 * 5,\n 60 * 60 * 24 * 6,\n 60 * 60 * 24 * 7,\n ];\n },\n type: [Array]\n },\n\n minDuration: {\n default()\n {\n return null;\n }\n },\n\n maxDuration: {\n default()\n {\n return null;\n }\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n placeholder: {\n default()\n {\n return Locale.trans('Select duration');\n },\n type: [String]\n },\n\n negativeText: {\n default()\n {\n return Locale.trans('Negative duration');\n },\n type: [String]\n },\n\n boundary: {\n default()\n {\n return null;\n }\n },\n\n position: {\n default()\n {\n return 'bottom-start';\n },\n type: [String]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n clearable: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n days: {\n default()\n {\n return Locale.trans(':count Day|:count Days');\n },\n type: [String]\n },\n\n hours: {\n default()\n {\n return Locale.trans(':count Hour|:count Hours');\n },\n type: [String]\n },\n\n minutes: {\n default()\n {\n return Locale.trans(':count Minute|:count Minutes');\n },\n type: [String]\n },\n\n seconds: {\n default()\n {\n return Locale.trans(':count Second|:count Seconds');\n },\n type: [String]\n }\n\n },\n\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue ) {\n this.tempValue = value;\n }\n },\n\n },\n\n data()\n {\n return {\n focus: false, tempValue: this.modelValue, editValue: null\n };\n },\n\n methods: {\n\n findPattern(text, pattern)\n {\n pattern = pattern.replaceAll(':count', '([0-9\\.\\,]+)')\n .replaceAll(' ', '\\\\s*');\n\n return text.match(new RegExp(pattern, 'i'));\n },\n\n humanizeValue(value)\n {\n if ( Any.isEmpty(value) ) {\n return '';\n }\n\n if ( value < 0 ) {\n return this.negativeText;\n }\n\n let seconds = value;\n\n // Extract minutes\n let minutes = Math.floor(seconds/60);\n seconds -= minutes * 60;\n\n // Extract hours\n let hours = Math.floor(minutes/60);\n minutes -= hours * 60;\n\n\n // Extract days\n let days = Math.floor(hours/24);\n hours -= days * 24;\n\n let text = [];\n\n if ( days ) {\n text.push(Locale.choice(this.days, days));\n }\n\n if ( hours ) {\n text.push(Locale.choice(this.hours, hours));\n }\n\n if ( minutes ) {\n text.push(Locale.choice(this.minutes, minutes));\n }\n\n if ( seconds ) {\n text.push(Locale.choice(this.seconds, seconds));\n }\n\n return text.join(' ');\n },\n\n digitizeValue(text)\n {\n if ( Any.isEmpty(text) ) {\n return this.clearValue;\n }\n\n let value = 0;\n\n let dmatch = this.findPattern(text, this.days);\n\n if ( dmatch && dmatch.length === 3 ) {\n value += Any.float(dmatch[1].replace(',', '.')) * 24 * 60 * 60;\n }\n\n let hmatch = this.findPattern(text, this.hours);\n\n if ( hmatch && hmatch.length === 3 ) {\n value += Any.float(hmatch[1].replace(',', '.')) * 60 * 60;\n }\n\n let mmatch = this.findPattern(text, this.minutes);\n\n if ( mmatch && mmatch.length === 3 ) {\n value += Any.float(mmatch[1].replace(',', '.')) * 60;\n }\n\n let smatch = this.findPattern(text, this.seconds);\n\n if ( smatch && smatch.length === 3 ) {\n value += Any.float(smatch[1].replace(',', '.'));\n }\n\n return value;\n },\n\n clearDurationpicker()\n {\n this.$emit('update:modelValue', this.tempValue = this.clearValue);\n },\n\n onPopoverInput(value)\n {\n this.focus = value;\n },\n\n onValueInput(e)\n {\n let value = this.digitizeValue(e.target.value);\n\n if ( value === this.tempValue ) {\n return;\n }\n\n this.editValue = value;\n },\n\n onValueChange(e)\n {\n let value = this.editValue;\n\n // Clear edit value\n this.editValue = null;\n\n if ( ! value || value === this.tempValue ) {\n return;\n }\n\n this.$emit('update:modelValue', this.tempValue = value);\n },\n\n onDurationpickerInput(value)\n {\n this.focus = false;\n\n // Clear edit value\n this.editValue = null;\n\n this.$emit('update:modelValue', this.tempValue = value);\n },\n\n },\n\n renderLabelClear()\n {\n if ( ! this.clearable || ! this.tempValue ) {\n return null;\n }\n\n let props = {};\n\n if ( ! this.disabled ) {\n props.onMousedown = this.clearDurationpicker;\n }\n\n return (\n <div class=\"n-durationpicker__clear\" {...props}>\n <i class={ nano.Icons.times }></i>\n </div>\n );\n },\n\n renderLabelAngle()\n {\n return (\n <div class=\"n-durationpicker__angle\">\n <i class={ nano.Icons.angleDown }></i>\n </div>\n );\n },\n\n renderInput()\n {\n let props = {\n value: this.humanizeValue(this.tempValue),\n disabled: this.disabled,\n placeholder: this.placeholder,\n onInput: this.onValueInput,\n onBlur: this.onValueChange,\n onChange: this.onValueChange,\n };\n\n return (\n <div class=\"n-durationpicker__input\">\n <input {...props}/>\n </div>\n );\n },\n\n renderDisplay()\n {\n let classList = [\n 'n-durationpicker__display'\n ];\n\n return (\n <div class={classList}>\n { this.ctor('renderLabelClear')() }\n { this.ctor('renderInput')() }\n { this.ctor('renderLabelAngle')() }\n </div>\n );\n },\n\n renderItems()\n {\n return Arr.each(this.options, (value) => {\n\n let text = this.humanizeValue(value);\n\n let optionProps = {\n //\n };\n\n optionProps['onClick'] = () => {\n this.onDurationpickerInput(value);\n }\n\n return (<NPopoverOption {...optionProps}>{text}</NPopoverOption>)\n });\n },\n\n renderPopover()\n {\n let props = {\n trigger: 'click',\n width: -1,\n size: this.size,\n position: this.position,\n scrollClose: true,\n disabled: this.disabled\n };\n\n let slots = {};\n\n slots.raw = () => {\n\n let scrollProps = {\n relative: true, size: this.size\n }\n\n return (\n <NScrollbar ref=\"scrollbar\" class=\"n-durationpicker__body\" {...scrollProps}>\n {this.ctor('renderItems')()}\n </NScrollbar>\n )\n }\n\n return (\n <NPopover ref=\"popover\" vModel={this.focus} {...props} v-slots={slots} />\n );\n },\n\n render()\n {\n let classList = [\n 'n-durationpicker',\n 'n-durationpicker--' + this.type,\n 'n-durationpicker--' + this.size,\n ];\n\n if ( ! this.tempValue ) {\n classList.push('n-empty');\n }\n\n if ( this.clearable ) {\n classList.push('n-clearable');\n }\n\n if ( this.focus ) {\n classList.push('n-focus');\n }\n\n if ( this.disabled ) {\n classList.push('n-disabled');\n }\n\n return (\n <div class={classList}>\n { this.ctor('renderDisplay')() }\n { this.ctor('renderPopover')() }\n </div>\n );\n }\n\n}","import Durationpicker from \"./src/durationpicker/durationpicker\";\n\nexport default function (App) {\n App.component(Durationpicker.name, Durationpicker);\n}","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NForm'] = Locale.trans('NForm');\n\nglobal.NanoBuilderIndexies['NForm'] = {\n childs: true, props: {}\n};\n\nglobal.NanoBuilderIndexies['NForm']['props'] = {\n //\n};","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NRating'] = Locale.trans('NRating');\n\nglobal.NanoBuilderIndexies['NRating'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NRating']['props'] = {\n //\n};","import { Arr, Obj, Num, Now, Any, Dom, Locale } from \"@kizmann/pico-js\";\nimport { h } from \"vue\";\n\nexport default {\n\n name: 'NInputNumber',\n\n inheritAttrs: false,\n\n inject: {\n\n NFormItem: {\n default: undefined\n }\n \n },\n\n\n props: {\n\n modelValue: {\n default()\n {\n return null;\n }\n },\n\n clearValue: {\n default()\n {\n return null;\n }\n },\n\n min: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n max: {\n default()\n {\n return Number.MAX_VALUE;\n },\n type: [Number]\n },\n\n placeholder: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n clearable: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n stepSize: {\n default()\n {\n return 1;\n },\n type: [Number]\n },\n\n precision: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n format: {\n default()\n {\n return ':count';\n },\n type: [String]\n },\n\n decimals: {\n default()\n {\n return Locale.trans('.');\n },\n type: [String]\n },\n\n },\n\n computed: {\n\n deepDisabled() {\n return this.NFormItem ? this.NFormItem.disabled(this.disabled) :\n this.disabled;\n }\n\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue ) {\n this.tempValue = this.getValue(value);\n }\n }\n\n },\n\n data()\n {\n return {\n focus: false, tempValue: this.getValue(),\n }\n },\n\n methods: {\n\n clear()\n {\n this.$emit('update:modelValue', this.tempValue = this.clearValue);\n },\n\n getValue(value = null)\n {\n if ( Any.isNull(value) ) {\n value = this.modelValue;\n }\n\n if ( Any.isEmpty(value) ) {\n return this.min;\n }\n\n return Num.float(value);\n },\n\n getDisplayValue()\n {\n\n if ( Any.isEmpty(this.modelValue) ) {\n return null;\n }\n\n let value = Num.format(this.tempValue,\n this.decimals, ' ', this.precision);\n\n return Locale.trans(this.format, { count: value });\n },\n\n nextStep()\n {\n if ( isNaN(this.tempValue) ) {\n this.tempValue = 0;\n }\n\n let value = this.tempValue + this.stepSize;\n\n if ( this.max < value ) {\n return;\n }\n\n value = Num.float(value).toFixed(this.precision);\n\n this.$emit('update:modelValue',\n this.tempValue = Num.float(value));\n },\n\n onNextDown()\n {\n this.nextStep();\n\n this.nextTimeout = setTimeout(() => {\n this.nextInterval = setInterval(this.nextStep, 100);\n }, 400);\n\n Dom.find(document).on('mouseup', this.onNextUp,\n this._.uid);\n },\n\n onNextUp()\n {\n clearTimeout(this.nextTimeout);\n clearInterval(this.nextInterval);\n\n Dom.find(document).off('mouseup', null,\n this._.uid);\n },\n\n prevStep()\n {\n if ( isNaN(this.tempValue) ) {\n this.tempValue = 0;\n }\n\n let value = this.tempValue - this.stepSize;\n\n if ( this.min > value ) {\n return;\n }\n\n value = Num.float(value).toFixed(this.precision);\n\n this.$emit('update:modelValue',\n this.tempValue = Num.float(value));\n },\n\n onPrevDown()\n {\n this.prevStep();\n\n this.prevTimeout = setTimeout(() => {\n this.prevInterval = setInterval(this.prevStep, 100);\n }, 400);\n\n Dom.find(document).on('mouseup', this.onPrevUp,\n this._.uid);\n },\n\n onPrevUp()\n {\n clearTimeout(this.prevTimeout);\n clearInterval(this.prevInterval);\n\n Dom.find(document).off('mouseup', null,\n this._.uid);\n },\n\n onKeydown(event)\n {\n if ( event.which === 13 ) {\n this.onInput(event);\n }\n },\n\n onFocus(event)\n {\n this.focus = true;\n },\n\n onBlur(event)\n {\n this.onInput(event);\n\n this.focus = false;\n },\n\n onInput(event)\n {\n let value = event.target.value;\n\n if ( value.match(/^[0-9]+((.|,)[0-9]+)?$/) ) {\n value = this.format.replace(':count', value);\n }\n\n let format = this.format.replace(':count',\n `([0-9\\\\,\\\\.\\\\-\\\\s]+)`);\n\n let regex = new RegExp(`^${format}$`);\n\n let match = value.match(regex);\n\n if ( !match ) {\n return event.target.value = this.getDisplayValue();\n }\n\n value = match[1].replace(',', '.')\n .replace(/\\s/, '');\n\n value = Num.float(value).toFixed(this.precision);\n\n if ( value < this.min ) {\n value = this.min;\n }\n\n if ( value > this.max ) {\n value = this.max;\n }\n\n this.$emit('update:modelValue',\n this.tempValue = Num.float(value));\n\n event.target.value = this.getDisplayValue();\n }\n\n },\n\n renderPrev()\n {\n let disabled = this.deepDisabled ||\n this.tempValue <= this.min;\n\n let props = {\n type: 'input-number',\n size: this.size,\n icon: 'fa fa-minus',\n square: true,\n disabled: disabled,\n onMousedown: this.onPrevDown,\n };\n\n return (<NButton {...props} />);\n },\n\n renderNext()\n {\n let disabled = this.deepDisabled ||\n this.tempValue >= this.max;\n\n let props = {\n type: 'input-number',\n size: this.size,\n icon: 'fa fa-plus',\n square: true,\n disabled: disabled,\n onMousedown: this.onNextDown,\n };\n\n return (<NButton {...props} />);\n },\n\n renderInput()\n {\n let props = Obj.except(this.$attrs,\n ['class', 'style']);\n\n Obj.assign(props, {\n value: this.getDisplayValue(),\n disabled: this.deepDisabled,\n placeholder: this.placeholder,\n onKeydown: this.onKeydown,\n onFocus: this.onFocus,\n onBlur: this.onBlur,\n });\n\n return h('input', props);\n },\n\n renderClear()\n {\n if ( !this.clearable || Any.isEmpty(this.tempValue) ) {\n return null;\n }\n\n let props = {};\n\n if ( !this.deepDisabled ) {\n props.onMousedown = this.clear;\n }\n\n return (\n <div class=\"n-input-number__clear\" {...props}>\n <i class={nano.Icons.times}></i>\n </div>\n );\n },\n\n render()\n {\n let classList = [\n 'n-input-number',\n 'n-input-number--' + this.type,\n 'n-input-number--' + this.size,\n ];\n\n if ( Any.isEmpty(this.modelValue) ) {\n classList.push('n-empty');\n }\n\n if ( this.clearable ) {\n classList.push('n-clearable');\n }\n\n if ( this.focus ) {\n classList.push('n-focus');\n }\n\n if ( this.deepDisabled ) {\n classList.push('n-disabled');\n }\n\n return (\n <div class={classList}>\n {this.ctor('renderPrev')()}\n {this.ctor('renderInput')()}\n {this.ctor('renderClear')()}\n {this.ctor('renderNext')()}\n </div>\n );\n }\n\n}","import InputNumber from \"./src/input-number/input-number\";\n\nexport default function (App) {\n App.component(InputNumber.name, InputNumber);\n}","import { Arr, Obj, Any, Locale } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NFile',\n\n props: {\n\n modelValue: {\n default()\n {\n return null;\n }\n },\n\n multiple: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n icon: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n placeholder: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n clearable: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n clearableIcon: {\n default()\n {\n return nano.Icons.times;\n },\n type: [String]\n },\n\n buttonText: {\n default()\n {\n return Locale.trans('Select file');\n },\n type: [String]\n }\n\n },\n\n data()\n {\n return {\n tempValue: this.modelValue\n };\n },\n\n watch: {\n\n modelValue()\n {\n if ( this.modelValue !== this.tempValue ) {\n this.tempValue = this.modelValue;\n }\n },\n\n tempValue()\n {\n if ( Any.isEmpty(this.tempValue) ) {\n this.$refs.input.value = null;\n }\n }\n\n },\n\n methods: {\n\n openContext()\n {\n this.$refs.input.click();\n },\n\n updateFile()\n {\n let tempValue = [\n ...this.$refs.input.files\n ];\n\n if ( ! this.multiple ) {\n tempValue = tempValue[0];\n }\n\n this.$emit('update:modelValue', this.tempValue = tempValue);\n },\n\n clearFile()\n {\n this.$emit('update:modelValue', null);\n }\n\n },\n\n renderInput()\n {\n let props = {\n size: this.size,\n disabled: true,\n iconDisabled: false,\n };\n\n props['onIconClick'] = this.clearFile;\n\n if ( ! this.multiple ) {\n props.modelValue = Obj.get(this.tempValue, 'name');\n }\n\n if ( this.multiple ) {\n props.modelValue = Locale.choice(':count File|:count Files',\n this.tempValue.length);\n }\n\n if ( this.clearable && !Any.isEmpty(this.tempValue) ) {\n props.icon = this.clearableIcon;\n }\n\n return (\n <NInput {...props}>\n { /* Input field for text */ }\n </NInput>\n );\n },\n\n renderButton()\n {\n let props = {\n size: this.size,\n disabled: this.disabled,\n icon: this.icon,\n onClick: this.openContext\n };\n\n return (\n <NButton {...props}>{this.buttonText}</NButton>\n );\n },\n\n renderHidden()\n {\n let props = {\n 'onInput': this.updateFile\n };\n\n return (\n <div class=\"n-file__input\">\n <input ref=\"input\" type=\"file\" multiple={this.multiple} {...props}></input>\n </div>\n );\n },\n\n render()\n {\n let classList = [\n 'n-file'\n ];\n\n if ( this.disabled ) {\n classList.push('n-disabled');\n }\n\n return (\n <div class={classList}>\n { this.ctor('renderInput')() }\n { this.ctor('renderButton')() }\n { this.ctor('renderHidden')() }\n </div>\n )\n }\n\n}\n","import File from './src/file/file';\n\nexport default function (App) {\n App.component(File.name, File);\n}\n\n","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NFormItem'] = Locale.trans('NFormItem');\n\nglobal.NanoBuilderIndexies['NFormItem'] = {\n childs: true, props: {}\n};\n\nglobal.NanoBuilderIndexies['NFormItem']['props'] = {\n label: {\n for: ['binds', 'props'], type: 'String'\n }\n};","import { Arr, Dom, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NCollapse',\n\n provide()\n {\n return {\n NCollapse: this\n };\n },\n\n props: {\n\n modelValue: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n relative: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n }\n\n },\n\n data()\n {\n return {\n init: false, elements: [], tempValue: this.modelValue\n };\n },\n\n methods: {\n\n addTab(tab)\n {\n Arr.add(this.elements, tab,\n { name: tab.name });\n\n if ( this.init) {\n this.$nextTick(this.$forceUpdate);\n }\n },\n\n removeTab(tab)\n {\n Arr.remove(this.elements,\n { name: tab.name });\n\n if ( this.init) {\n this.$nextTick(this.$forceUpdate);\n }\n },\n\n showTab(value)\n {\n if ( Arr.has(this.tempValue, value) ) {\n return;\n }\n\n Arr.add(this.tempValue, value);\n\n this.$emit('update:modelValue', this.tempValue);\n },\n\n hideTab(value)\n {\n if ( ! Arr.has(this.tempValue, value) ) {\n return;\n }\n\n Arr.remove(this.tempValue, value);\n\n this.$emit('update:modelValue', this.tempValue);\n },\n\n toggleTab(value)\n {\n Arr.toggle(this.tempValue, value);\n\n this.$emit('update:modelValue', this.tempValue);\n }\n\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue ) {\n this.tempValue = value;\n }\n }\n\n },\n\n mounted()\n {\n this.init = true;\n },\n\n render()\n {\n let classList = [\n 'n-collapse',\n 'n-collapse--' + this.size,\n 'n-collapse--' + this.type\n ];\n\n return (\n <div class={classList}>\n { this.$slots.default && this.$slots.default() }\n </div>\n );\n }\n}\n","import { Arr, Any, Dom } from \"@kizmann/pico-js\";\nimport { h, resolveComponent } from \"vue\";\n\nexport default {\n\n name: 'NCollapseItem',\n\n inject: {\n\n NCollapse: {\n default: undefined\n }\n\n },\n\n provide()\n {\n return {\n NCollapseItem: this\n };\n },\n\n props: {\n\n label: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n name: {\n default()\n {\n return 'default';\n },\n type: [String]\n },\n\n icon: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n sort: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n relative: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n preload: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n keep: {\n default()\n {\n return false;\n },\n type: [Boolean]\n }\n\n },\n\n methods: {\n\n showTab()\n {\n this.NCollapse.showTab(this.name);\n },\n\n hideTab()\n {\n this.NCollapse.hideTab(this.name);\n },\n\n toggleTab()\n {\n this.NCollapse.toggleTab(this.name);\n }\n\n },\n\n data()\n {\n return {\n _key: null, init: false, dragger: 0\n }\n },\n\n beforeMount()\n {\n this.NCollapse.addTab(this);\n },\n\n beforeUnmount()\n {\n this.NCollapse.removeTab(this);\n },\n\n renderHeaderIcon()\n {\n if ( !this.$slots.icon && !this.icon ) {\n return null;\n }\n\n return (\n <div class=\"n-collapse__header-icon\">\n {this.$slots.icon && this.$slots.icon() || <i class={this.icon}></i>}\n </div>\n );\n },\n\n renderHeaderLabel()\n {\n return (\n <div class=\"n-collapse__header-label\">\n {this.$slots.label && this.$slots.label() || <span>{this.label}</span>}\n </div>\n );\n },\n\n renderHeaderAngle()\n {\n return (\n <div class=\"n-collapse__header-angle\">\n {this.$slots.angle && this.$slots.angle() || <i class={nano.Icons.angleRight}></i>}\n </div>\n );\n },\n\n renderHeader()\n {\n if ( !this.label && !this.$slots.label ) {\n return null;\n }\n\n let classList = [\n 'n-collapse__header'\n ];\n\n if ( Arr.has(this.NCollapse.tempValue, this.name) ) {\n classList.push('n-active');\n }\n\n let props = {\n onClick: () => this.toggleTab(this.name)\n };\n\n props['onDragenter'] = (event) => {\n\n this.dragger ++;\n\n if ( this.dragger !== 1 ) {\n return;\n }\n\n this.showDelay = setTimeout(() => {\n this.showTab(this.name);\n }, 350);\n };\n\n props['onDragleave'] = (event) => {\n\n this.dragger --;\n\n if ( this.dragger !== 0 ) {\n return;\n }\n\n clearTimeout(this.showDelay);\n };\n\n props.style = {\n order: this.sort + 1,\n };\n\n return (\n <div ref=\"header\" class={classList} {...props}>\n {this.ctor('renderHeaderIcon')()}\n {this.ctor('renderHeaderLabel')()}\n {this.ctor('renderHeaderAngle')()}\n </div>\n );\n },\n\n renderBody()\n {\n let classList = [\n 'n-collapse__body'\n ];\n\n let tempValue = Arr.clone(this.NCollapse.tempValue);\n\n if ( !this.label && !this.$slots.label ) {\n tempValue.push(this.name);\n }\n\n let renderBody = Arr.has(tempValue, this.name);\n\n if ( !Arr.has(tempValue, this.name) && this.keep ) {\n renderBody = this.init;\n }\n\n if ( !Arr.has(tempValue, this.name) && this.preload ) {\n renderBody = true;\n }\n\n if ( !renderBody && this.label ) {\n return null;\n }\n\n this.init = true;\n\n let style = {\n order: this.sort + 2\n };\n\n if ( !Arr.has(tempValue, this.name) ) {\n style.display = 'none';\n }\n\n let element = 'div';\n\n if ( !this.relative && !this.NCollapse.relative ) {\n element = resolveComponent('NScrollbar');\n }\n\n return h(element, { class: classList, style, }, this.$slots);\n },\n\n render()\n {\n return [\n this.ctor('renderHeader')(), this.ctor('renderBody')()\n ];\n }\n}\n","import Collapse from './src/collapse/collapse';\nimport CollapseItem from './src/collapse-item/collapse-item';\n\nexport default function (App) {\n App.component(Collapse.name, Collapse);\n App.component(CollapseItem.name, CollapseItem);\n}","import { UUID, Num, Arr, Obj, Any, Dom, Locale } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NDrawer',\n\n inject: {\n\n NScrollbar: {\n default: undefined\n }\n\n },\n\n props: {\n\n modelValue: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n listen: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n update: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n selector: {\n default()\n {\n return null;\n },\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n width: {\n default()\n {\n return '30%';\n },\n type: [String]\n },\n\n title: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'default';\n },\n type: [String]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n position: {\n default()\n {\n return 'right';\n },\n type: [String]\n },\n\n closable: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n renderClose: {\n default()\n {\n return true;\n },\n type: [Boolean]\n }\n\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue ) {\n this.tempValue = value;\n }\n },\n\n tempValue()\n {\n this.startRefreshTimeout();\n }\n\n },\n\n provide()\n {\n return {\n NDrawer: this\n };\n },\n\n data()\n {\n return {\n target: null, tempValue: false\n };\n },\n\n mounted()\n {\n this.target = Dom.find(this.selector || this.$el)\n .previous().get(0);\n\n Dom.find(document.body).on('mousedown',\n this.eventClick, this._.uid);\n\n Dom.find(document.body).on('keydown',\n this.eventKeydown, this._.uid);\n\n let showDrawer = () => {\n this.tempValue = true;\n };\n\n if ( this.modelValue ) {\n Any.delay(showDrawer, 100);\n }\n\n Dom.find(document.body).append(this.$el);\n },\n\n beforeUnmount()\n {\n this.$el.remove();\n },\n\n unmounted()\n {\n Dom.find(document.body).off('mousedown',\n null, this._.uid);\n\n Dom.find(document.body).off('keydown',\n null, this._.uid);\n },\n\n methods: {\n\n openModal(force = false, source = null)\n {\n if ( this.tempValue ) {\n return;\n }\n\n if ( this.closable || force ) {\n this.tempValue = true;\n }\n\n this.$emit('update:modelValue', true, source);\n },\n\n closeModal(force = false, source = null)\n {\n if ( ! this.tempValue ) {\n return;\n }\n\n if ( ! this.update ) {\n return this.$emit('close', source);\n }\n\n if ( this.closable || force ) {\n this.tempValue = false;\n }\n\n this.$emit('update:modelValue', false, source);\n },\n\n stopRefreshTimeout()\n {\n clearTimeout(this.refresh);\n\n Dom.find(this.$el).removeClass('n-ready');\n },\n\n startRefreshTimeout()\n {\n if ( ! this.tempValue ) {\n return this.stopRefreshTimeout();\n }\n\n window.zIndex += 1;\n\n Dom.find(this.$el).attr('data-drawer',\n window.zIndex);\n\n Dom.find(this.$el).css({\n 'z-index': window.zIndex\n });\n\n this.queueRefreshTimeout();\n },\n\n queueRefreshTimeout()\n {\n if ( ! this.tempValue ) {\n return this.stopRefreshTimeout();\n }\n\n this.refresh = setTimeout(() => {\n Dom.find(this.$el).addClass('n-ready');\n }, 100);\n },\n\n eventClick(event, el)\n {\n if ( this.disabled || event.which !== 1 ) {\n return;\n }\n\n let result = !! Dom.find(el).closest(this.target);\n\n if ( ! result && ! this.tempValue ) {\n return;\n }\n\n if ( this.tempValue && this.closable ) {\n result = ! Dom.find(el).closest(this.$refs.backdrop);\n }\n\n if ( result === this.tempValue ) {\n return;\n }\n\n if ( ! result ) {\n return this.closeModal(false, 'escape');\n }\n\n if ( this.listen ) {\n this.openModal(true, 'selector');\n }\n },\n\n eventKeydown(event, el)\n {\n if ( ! this.tempValue || event.which !== 27 ) {\n return;\n }\n\n let extractIndex = (modal) => {\n return Dom.find(modal).attr('data-drawer');\n };\n\n let indexes = Dom.find('.n-drawer:not(.n-hidden)')\n .each(extractIndex);\n\n let index = Dom.find(this.$el).attr('data-drawer');\n\n if ( Arr.last(indexes.sort()) !== index ) {\n return;\n }\n\n this.closeModal(false, 'escape');\n },\n\n },\n\n renderClose()\n {\n if ( ! this.renderClose || ! this.closable ) {\n return null;\n }\n\n let props = {\n onClick: () => this.closeModal(false, 'escape')\n };\n\n return (\n <div class=\"n-drawer__close\" {...props}>\n <span class={nano.Icons.times}></span>\n </div>\n );\n },\n\n renderHeader()\n {\n if ( ! this.$slots.header && ! this.title ) {\n return null;\n }\n\n return (\n <div class=\"n-drawer__header\">\n { [this.$slots.header && this.$slots.header({ closeModal: this.closeModal }) || this.title, this.ctor('renderClose')()] }\n </div>\n );\n },\n\n renderFooter()\n {\n if ( ! this.$slots.footer ) {\n return null;\n }\n\n return (\n <div class=\"n-drawer__footer\">\n { this.$slots.footer({ closeModal: this.closeModal }) }\n </div>\n );\n },\n\n renderBody()\n {\n let bodyHtml = (\n <NScrollbar ref=\"scrollbar\" relative={true} wrapClass=\"n-drawer__wrap\">\n { this.$slots.default && this.$slots.default({ closeModal: this.closeModal }) }\n </NScrollbar>\n );\n\n if ( this.$slots.body ) {\n bodyHtml = this.$slots.body({ closeModal: this.closeModal });\n }\n\n return (\n <div class=\"n-drawer__body\">\n { bodyHtml }\n </div>\n );\n },\n\n renderFrame()\n {\n if ( ! this.tempValue ) {\n return null;\n }\n\n let style = {\n width: this.width\n };\n\n let innerHtml = [\n this.ctor('renderHeader')(),\n this.ctor('renderBody')(),\n this.ctor('renderFooter')(),\n ]\n\n return (\n <div class=\"n-drawer__frame\" style={style}>\n { this.$slots.raw ? this.$slots.raw() : innerHtml }\n </div>\n );\n },\n\n renderBackdrop()\n {\n return (\n <div ref=\"backdrop\" class=\"n-drawer__backdrop\"></div>\n );\n },\n\n render()\n {\n if ( ! window.zIndex ) {\n window.zIndex = 9000;\n }\n\n let classList = [\n 'n-drawer',\n 'n-drawer--' + this.size,\n 'n-drawer--' + this.type,\n 'n-drawer--' + this.position\n ];\n\n if ( this.tempValue ) {\n this.queueRefreshTimeout();\n }\n\n if ( this.renderClose ) {\n classList.push('n-closable');\n }\n\n if ( ! this.tempValue ) {\n classList.push('n-hidden');\n }\n\n let innerHtml = null;\n\n if ( this.tempValue ) {\n innerHtml = this.ctor('renderFrame')();\n }\n\n return (\n <div class={classList}>\n { [innerHtml, this.ctor('renderBackdrop')()] }\n </div>\n );\n }\n\n}\n","import Modal from './src/drawer/drawer';\n\nexport default function (App) {\n App.component(Modal.name, Modal);\n}\n","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NButton'] = Locale.trans('NButton');\n\nglobal.NanoBuilderIndexies['NButton'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NButton']['props'] = {\n size: {\n for: ['binds', 'props'], type: 'String', options: global.NanoPrototypeSizes\n },\n type: {\n for: ['binds', 'props'], type: 'String', options: global.NanoPrototypeTypes\n },\n link: {\n for: ['binds', 'props'], type: 'Boolean', options: global.NanoPrototypeBools\n },\n square: {\n for: ['binds', 'props'], type: 'Boolean', options: global.NanoPrototypeBools\n },\n disabled: {\n for: ['binds', 'props'], type: 'Boolean', options: global.NanoPrototypeBools\n },\n icon: {\n for: ['binds', 'props'], type: 'String'\n },\n iconPosition: {\n for: ['binds', 'props'], type: 'String', options: ['before', 'after']\n },\n nativeType: {\n for: ['binds', 'props'], type: 'String', options: ['button', 'a', 'div']\n },\n click: {\n for: ['on'], type: 'String'\n }\n};","import { Arr, Obj, Any, UUID } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NCheckbox',\n\n inject: {\n\n NCheckboxGroup: {\n default: undefined\n }\n\n },\n\n props: {\n\n modelValue: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n value: {\n default()\n {\n return null;\n }\n },\n\n allowUncheck: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n intermediate: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n global: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n },\n\n computed: {\n\n tempComputed()\n {\n return ! this.global ? this.tempChecked :\n this.NCheckboxGroup.globalChecked;\n },\n\n tempIntermediate()\n {\n return ! this.global ? this.intermediate :\n this.NCheckboxGroup.globalIntermediate;\n },\n\n tempDisabled()\n {\n return ! this.global ? this.disabled :\n this.NCheckboxGroup.globalDisabled;\n }\n\n },\n\n data()\n {\n return {\n uid: UUID(), tempChecked: this.modelValue\n };\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempChecked ) {\n this.tempChecked = value;\n }\n }\n\n },\n\n beforeMount()\n {\n if ( this.NCheckboxGroup ) {\n this.tempChecked = this.NCheckboxGroup.isChecked(this.value);\n }\n },\n\n mounted()\n {\n if ( ! this.NCheckboxGroup || this.global ) {\n return;\n }\n\n this.$watch('NCheckboxGroup.tempValue', () => {\n this.tempChecked = this.NCheckboxGroup.isChecked(this.value);\n });\n\n this.NCheckboxGroup.addCheckbox(this);\n },\n\n beforeUnmount()\n {\n if ( this.NCheckboxGroup && ! this.global ) {\n this.NCheckboxGroup.removeCheckbox(this);\n }\n },\n\n methods: {\n\n toggle()\n {\n this.$emit('update:modelValue', this.tempChecked = ! this.tempChecked);\n },\n\n check()\n {\n if ( this.NCheckboxGroup ) {\n this.NCheckboxGroup.checkCheckbox(this);\n }\n\n this.$emit('update:modelValue', this.tempChecked = true);\n },\n\n uncheck()\n {\n if ( this.NCheckboxGroup ) {\n this.NCheckboxGroup.uncheckCheckbox(this);\n }\n\n this.$emit('update:modelValue', this.tempChecked = false);\n },\n\n eventShiftClick()\n {\n if ( this.NCheckboxGroup ) {\n this.NCheckboxGroup.shiftCheckbox(this);\n }\n\n this.$emit('update:modelValue', this.tempChecked = true);\n },\n\n eventLocalClick(event)\n {\n let canClick = ! this.tempDisabled || (this.allowUncheck &&\n this.tempChecked);\n\n if ( ! canClick ) {\n return;\n }\n\n event.preventDefault();\n\n if ( event.shiftKey ) {\n return this.eventShiftClick();\n }\n \n if ( this.NCheckboxGroup ) {\n this.NCheckboxGroup.toggleCheckbox(this);\n }\n\n this.$emit('update:modelValue', this.tempChecked = ! this.tempChecked);\n },\n\n eventGlobalClick()\n {\n let canClick = ! this.tempDisabled || (this.allowUncheck &&\n this.tempChecked);\n\n if ( ! canClick ) {\n return;\n }\n\n this.NCheckboxGroup.toggleAll();\n },\n\n updateFromGroup()\n {\n let checked = this.NCheckboxGroup.isChecked(this.value);\n\n if ( this.tempChecked === checked ) {\n return;\n }\n \n this.$emit('update:modelValue', this.tempChecked = checked);\n }\n\n },\n\n renderCheckbox()\n {\n let interHtml = this.$slots.intermediate &&\n this.$slots.intermediate();\n\n if ( ! interHtml ) {\n interHtml = (<i class={nano.Icons.intermediate}></i>);\n }\n\n let checkHtml = this.$slots.checked &&\n this.$slots.checked();\n\n if ( ! checkHtml ) {\n checkHtml = (<i class={nano.Icons.checked}></i>);\n }\n\n return (\n <div class=\"n-checkbox__checkbox\">\n { this.tempIntermediate ? interHtml : checkHtml }\n </div>\n );\n },\n\n renderLabel()\n {\n if ( ! this.cslo('default') && ! this.cslo('label') ) {\n return null;\n }\n\n return (\n <div class=\"n-checkbox__label\">\n { this.$slots.default() || this.$slots.label() }\n </div>\n );\n },\n\n render()\n {\n let size = this.size;\n\n if ( this.NCheckboxGroup ) {\n size = this.NCheckboxGroup.size;\n }\n\n let classList = [\n 'n-checkbox',\n 'n-checkbox--' + size,\n 'n-checkbox--' + this.type,\n ];\n\n if ( this.allowUncheck ) {\n classList.push('n-uncheck');\n }\n\n if ( this.tempComputed ) {\n classList.push('n-checked');\n }\n\n if ( this.tempIntermediate ) {\n classList.push('n-intermediate');\n }\n\n if ( this.tempDisabled ) {\n classList.push('n-disabled');\n }\n\n if ( this.tempComputed && this.allowUncheck ) {\n Arr.remove(classList, 'n-disabled');\n }\n\n let props = Obj.clone(this.$attrs);\n\n if ( this.global ) {\n props.onMousedown = this.eventGlobalClick;\n }\n\n if ( ! this.global ) {\n props.onMousedown = this.eventLocalClick;\n }\n\n return (\n <div class={classList} {...props}>\n { [this.ctor('renderCheckbox')(), this.ctor('renderLabel')()] }\n </div>\n );\n }\n\n}\n","import { Arr, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NCheckboxGroup',\n\n provide()\n {\n return {\n NCheckboxGroup: this\n };\n },\n\n props: {\n\n modelValue: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n align: {\n default()\n {\n return 'horizontal';\n },\n type: [String]\n }\n\n },\n\n computed: {\n\n globalChecked()\n {\n let checked = Arr.filter(this.elements, (checkbox) => {\n return checkbox.tempChecked;\n });\n\n return checked.length === this.elements.length &&\n this.elements.length !== 0;\n },\n\n globalIntermediate()\n {\n let checked = this.elements.filter((checkbox) => {\n return checkbox.tempChecked;\n });\n\n return checked.length !== this.elements.length &&\n checked.length !== 0 ;\n },\n\n globalDisabled()\n {\n return this.elements.length === 0;\n },\n\n },\n\n data()\n {\n return {\n tempValue: this.modelValue,\n index: -1,\n elements: []\n }\n },\n\n watch: {\n\n modelValue()\n {\n if ( this.tempValue = this.modelValue ) {\n this.tempValue = this.modelValue;\n }\n \n },\n\n },\n\n methods: {\n\n addCheckbox(checkbox)\n {\n this.index = -1;\n\n Arr.add(this.elements, checkbox, {\n uid: checkbox.uid\n });\n\n this.elements = Arr.sort(this.elements, 'sort');\n },\n\n removeCheckbox(checkbox)\n {\n this.index = -1;\n \n Arr.remove(this.elements, {\n uid: checkbox.uid\n });\n },\n\n toggleCheckbox(checkbox, emit = true)\n {\n let index = Arr.findIndex(this.elements, {\n uid: checkbox.uid\n });\n\n if ( ! checkbox.tempChecked ) {\n this.index = index;\n }\n\n Arr.toggle(this.tempValue, checkbox.value);\n\n if ( ! emit ) {\n return;\n }\n\n this.$emit('update:modelValue', this.tempValue);\n },\n\n checkCheckbox(checkbox, emit = true)\n {\n Arr.add(this.tempValue, checkbox.value);\n\n if ( ! emit ) {\n return;\n }\n\n this.$emit('update:modelValue', this.tempValue);\n },\n\n uncheckCheckbox(checkbox, emit = true)\n {\n Arr.remove(this.tempValue, checkbox.value);\n\n if ( ! emit ) {\n return;\n }\n\n this.$emit('update:modelValue', this.tempValue);\n },\n\n shiftCheckbox(checkbox)\n {\n if ( this.index === -1 ) {\n return this.toggleCheckbox(checkbox, false);\n }\n\n let index = Arr.findIndex(this.elements, {\n uid: checkbox.uid\n });\n\n let checkboxes = this.elements.slice(this.index, index + 1);\n\n if ( index < this.index ) {\n checkboxes = this.elements.slice(index, this.index + 1);\n }\n\n this.index = -1;\n\n Arr.each(checkboxes, (checkbox) => {\n this.checkCheckbox(checkbox, false);\n });\n\n Arr.each(checkboxes, (checkbox) => {\n checkbox.updateFromGroup();\n });\n\n this.$emit('update:modelValue', this.tempValue);\n },\n\n toggleAll()\n {\n this.globalChecked ? this.uncheckAll() : this.checkAll();\n },\n\n checkAll()\n {\n Arr.each(this.elements, (checkbox) => {\n this.checkCheckbox(checkbox, false);\n });\n\n Arr.each(this.elements, (checkbox) => {\n checkbox.updateFromGroup();\n });\n\n this.$emit('update:modelValue', this.tempValue);\n },\n\n uncheckAll()\n {\n Arr.each(this.elements, (checkbox) => {\n this.uncheckCheckbox(checkbox, false);\n });\n\n Arr.each(this.elements, (checkbox) => {\n checkbox.updateFromGroup();\n });\n\n this.$emit('update:modelValue', this.tempValue);\n },\n\n isChecked(value)\n {\n return Arr.has(this.tempValue, value);\n }\n\n },\n\n render()\n {\n let classList = [\n 'n-checkbox-group',\n 'n-checkbox-group--' + this.size,\n 'n-checkbox-group--' + this.align,\n ];\n\n return (\n <div class={classList}>\n {this.$slots.default()}\n </div>\n );\n }\n\n}\n","import Vue from \"vue\";\n\nimport Checkbox from './src/checkbox/checkbox';\nimport CheckboxGroup from './src/checkbox-group/checkbox-group';\n\nexport default function (App) {\n App.component(Checkbox.name, Checkbox);\n App.component(CheckboxGroup.name, CheckboxGroup);\n}","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['div'] = Locale.trans('div');\n\nglobal.NanoBuilderIndexies['div'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['div']['props'] = {\n classList: {\n type: 'String'\n },\n};","import { Arr, Obj, Any } from \"@kizmann/pico-js\";\nimport { h, resolveComponent } from \"vue\";\n\nexport default {\n\n name: 'NConfig',\n\n props: {\n\n modelValue: {\n default()\n {\n return {};\n },\n type: [Object]\n },\n\n config: {\n default()\n {\n return {};\n },\n type: [Object]\n },\n\n scope: {\n default()\n {\n return this;\n },\n type: [Object]\n }\n\n },\n\n data()\n {\n return {\n tempValue: this.modelValue\n };\n },\n\n methods: {\n\n solveAwait(value)\n {\n if ( Any.isEmpty(value) ) {\n return true;\n }\n\n if ( Any.isString(value) && value.match(/\\$\\$scope/) ) {\n return Obj.has({ $$scope: this.scope }, value);\n }\n\n if ( Any.isString(value) && value.match(/\\$\\$value/) ) {\n return Obj.has({ $$value: this.tempValue }, value);\n }\n\n return false;\n },\n\n solveValue(value, ...args)\n {\n if ( Any.isFunction(value) ) {\n return value.apply(this.scope, [this.tempValue, ...args]);\n }\n\n if ( Any.isString(value) && value.match(/^\\$\\$scope/) ) {\n return Obj.get({ $$scope: this.scope }, value);\n }\n\n if ( Any.isString(value) && value.match(/^\\$\\$value/) ) {\n return Obj.get({ $$value: this.tempValue }, value);\n }\n\n return value;\n },\n\n solveEvent(value)\n {\n let scope = Obj.assign(this.scope, {\n $configRefs: this.$refs\n });\n\n if ( Any.isFunction(value) ) {\n return (...args) => value.apply(scope, args);\n }\n\n return value;\n },\n\n solveContent(value, ...args)\n {\n if ( Any.isFunction(value) ) {\n return value.apply(this.scope, [this.$render, this.tempValue, ...args]);\n }\n\n return value;\n },\n\n prepareValue(veModel)\n {\n if ( ! veModel.path ) {\n return veModel.fallback;\n }\n\n if ( ! Obj.has(this.tempValue, veModel.path) ) {\n this.deepSet(this.tempValue, veModel.path, veModel.fallback);\n }\n\n return Obj.get(this.tempValue, veModel.path);\n },\n\n inputClosure(veModel, closure = null)\n {\n if ( ! veModel.path ) {\n return () => null;\n }\n\n return (value) => {\n\n if ( closure ) {\n closure(value, this.tempValue);\n }\n\n this.deepSet(this.tempValue, veModel.path, value);\n };\n },\n\n deepSet(obj, keys, val)\n {\n keys = (typeof keys === 'string') ?\n keys.split('.') : keys;\n\n let key = keys.shift();\n\n if ( obj[key] === undefined || obj[key] === null ) {\n Obj.set(obj, key, {});\n }\n\n if ( keys.length === 0 ) {\n return Obj.set(obj, key, val);\n }\n\n return this.deepSet(obj[key], keys, val);\n }\n\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue ) {\n this.tempValue = value;\n }\n }\n\n },\n\n renderLayer(source)\n {\n if ( ! Any.isPlain(source) ) {\n return source;\n }\n\n return Arr.each(source, (setup, component) => {\n\n component = component.replace(/:.*?$/, '');\n\n // Set setup defaults\n setup = Obj.assign({\n vIf: true, vShow: true, vAwait: null, class: null, $on: {}, $props: {}, $attrs: {}\n }, setup);\n\n if ( ! this.solveAwait(setup.vAwait) ) {\n return null;\n }\n\n if ( ! this.solveValue(setup.vIf) ) {\n return null;\n }\n\n if ( ! this.solveValue(setup.vShow) ) {\n setup.style = { display: 'none' };\n }\n\n // Build default model\n let veModel = Obj.assign({\n prop: 'modelValue', fallback: null\n }, setup.model);\n\n // Delete model from setup\n delete setup.model;\n\n // Normalize props\n setup.$props = this.solveValue(setup.$props);\n\n // Normalize class\n setup.class = this.solveValue(setup.class);\n\n // Solve props\n Obj.map(setup.$props, (value) => this.solveValue(value));\n\n // Normalize attrs\n setup.$attrs = this.solveValue(setup.$attrs);\n\n // Solve attrs\n Obj.map(setup.$attrs, (value) => this.solveValue(value));\n\n // Solve events\n Obj.map(setup.$on, (value) => this.solveEvent(value));\n\n if ( veModel.path ) {\n\n // Override input event\n setup['onUpdate:modelValue'] = this.inputClosure(veModel, setup.$on.input);\n\n // Set prop in value or get fallback\n setup.$props[veModel.prop] = this.prepareValue(veModel);\n }\n\n Obj.assign(setup, setup.$props);\n delete setup.$props;\n\n Obj.assign(setup, setup.$attrs);\n delete setup.$attrs;\n\n Obj.assign(setup, setup.$on);\n delete setup.$on;\n\n let content = setup.content;\n delete setup.content;\n\n delete setup.vIf;\n delete setup.vShow;\n delete setup.vAwait;\n\n // Solve content if is functional\n let slots = this.solveContent(content, setup);\n\n let domtypes = [\n 'div', 'span', 'a'\n ];\n\n let resolved = component;\n\n if ( ! Arr.has(domtypes, resolved) ) {\n resolved = resolveComponent(component);\n }\n\n return h(resolved, setup, this.ctor('renderLayer')(slots));\n });\n },\n\n render()\n {\n return this.ctor('renderLayer')(this.config)[0];\n }\n\n}","import { Arr, Obj, Str, Any } from \"@kizmann/pico-js\";\nimport { h, resolveComponent } from \"vue\";\n\nexport default {\n\n name: 'NConfigNext',\n\n props: {\n\n modelValue: {\n default()\n {\n return {};\n },\n type: [Object]\n },\n\n extraValue: {\n default()\n {\n return null;\n },\n type: [Object]\n },\n\n config: {\n default()\n {\n return {};\n },\n type: [Object]\n },\n\n scope: {\n default()\n {\n return {};\n },\n type: [Object]\n }\n\n },\n\n data()\n {\n return {\n tempValue: this.modelValue, sempValue: this.extraValue || this.modelValue\n };\n },\n\n watch: {\n\n modelValue: function (value) {\n if ( value !== this.tempValue ) {\n this.tempValue = value;\n }\n },\n\n extraValue: function (value) {\n if ( value !== this.sempValue ) {\n this.sempValue = value;\n }\n }\n\n },\n\n methods: {\n\n getString(value)\n {\n let final = value.replace(/^@/, '')\n .replace(/^\\\\@/, '@');\n\n\n\n if ( value.match(/^@/) ) {\n return this.trans(final);\n }\n\n return final;\n },\n\n propAwait(value)\n {\n if ( Any.isEmpty(value) ) {\n return true;\n }\n\n if ( ! Any.isArray(value) ) {\n value = [value];\n }\n\n let result = Arr.each(value, (state) => {\n return this.getState(state, true);\n });\n\n return ! Arr.has(result, false);\n },\n\n propExists(value)\n {\n if ( Any.isEmpty(value) ) {\n return true;\n }\n\n if ( ! Any.isArray(value) ) {\n value = [value];\n }\n\n let result = Arr.each(value, (state) => {\n return this.getState(state, false);\n });\n\n return ! Arr.has(result, false);\n },\n\n getState(value, exists = true)\n {\n if ( Any.isFunction(value) ) {\n return !! this.solveInput(value);\n }\n\n if ( ! Any.isString(value) ) {\n return !! value;\n }\n\n if ( ! value.match(/(\\$scope|\\$model|\\$global)/) ) {\n return !! value;\n }\n\n let sources = {\n $scope: this.scope, $model: this.tempValue, $extra: this.sempValue, $global: window\n };\n\n if ( exists ) {\n return Obj.get(sources, value, undefined) === undefined;\n }\n\n return !! Obj.get(sources, value);\n },\n\n toPropKey(value)\n {\n let splits = value.replace(/^!/, '').split('-');\n\n value = Arr.each(splits, (split) => {\n return Str.ucfirst(split);\n });\n\n return Str.lcfirst(value.join(''));\n },\n\n toEventKey(value)\n {\n if ( ! value.match(/^on/) ) {\n value = 'on-' + value;\n }\n\n let splits = value.split('-');\n\n value = Arr.each(splits, (split) => {\n return Str.ucfirst(split);\n });\n\n return Str.lcfirst(value.join(''));\n },\n\n solveInput(cb, fallback)\n {\n return cb.call(this.scope, this.tempValue, fallback);\n },\n\n solveContext(cb)\n {\n if ( ! Any.isFunction(cb) ) {\n return () => console.error('Raw suffix (!) only allowed on functions');\n }\n\n return (...args) => cb.call(this.scope, ...args);\n },\n\n getProp(key, value)\n {\n if ( key.match(/^!/) ) {\n return this.solveContext(value);\n }\n\n if ( Any.isFunction(value) ) {\n return this.solveInput(value);\n }\n\n if ( ! Any.isString(value) ) {\n return value;\n }\n\n if ( ! value.match(/(\\$scope|\\$model|\\$global)/) ) {\n return this.getString(value);\n }\n\n let sources = {\n $scope: this.scope, $model: this.tempValue, $extra: this.sempValue, $global: window\n };\n\n let result = Obj.get(sources, value.replace(/^!+/, ''));\n\n if ( value.match(/^!!\\$/) ) {\n result = Any.isEmpty(result);\n }\n\n if ( value.match(/^!\\$/) ) {\n result = Any.isEmpty(result);\n }\n\n return result;\n },\n\n getInput(prop, fallback)\n {\n if ( Any.isFunction(prop) ) {\n return this.solveInput(prop, fallback);\n }\n\n let sources = {\n $scope: this.scope, $model: this.tempValue, $extra: this.sempValue, $global: window\n };\n\n if ( ! Any.isNull(fallback) && Obj.get(sources, prop, -1337) === -1337 ) {\n Obj.set(sources, prop, fallback);\n }\n\n return Obj.get(sources, prop);\n },\n\n setInput(prop, value)\n {\n if ( Any.isFunction(prop) ) {\n return console.error('NConfigNew: Bind with function is not allowed!');\n }\n\n let sources = {\n $scope: this.scope, $model: this.tempValue, $extra: this.sempValue, $global: window\n };\n\n Obj.set(sources, prop, value);\n }\n\n },\n\n renderSetup(setup, alias)\n {\n if ( ! Any.isPlain(setup) ) {\n return setup;\n }\n\n if ( ! this.propExists(setup['vIf']) ) {\n return null;\n }\n\n if ( ! this.propAwait(setup['vAwait']) ) {\n return null;\n }\n\n let defaults = {\n binds: {}, props: {}, events: {}, content: {}\n };\n\n let defaultsBind = {\n value: '', fallback: null\n };\n\n setup = Obj.assign(defaults, setup);\n\n let binds = {};\n\n Obj.each(setup['binds'], (value, key) => {\n\n if ( Any.isString(value) ) {\n value = { value: value };\n }\n\n binds[key] = Obj.assign(defaultsBind, value);\n });\n\n let events = {};\n\n Obj.each(setup['events'], (value, key) => {\n events[this.toEventKey(key)] = this.solveContext(value);\n });\n\n let props = {};\n\n Obj.each(setup['props'], (value, key) => {\n props[this.toPropKey(key)] = this.getProp(key, value);\n });\n\n props = Obj.assign(props, events);\n\n Obj.each(binds, (value, key) => {\n\n let updateKey = 'onUpdate:' + key;\n\n props[this.toEventKey(updateKey)] = (input) => {\n this.setInput(value.value, input);\n };\n\n props[this.toPropKey(key)] = this.getInput(value.value,\n value.fallback);\n });\n\n let component = alias.replace(/:.*?$/, '');\n\n if ( !Arr.has(['div', 'p'], component) ) {\n component = resolveComponent(component);\n }\n\n if ( Any.isEmpty(component) ) {\n return null;\n }\n\n if ( !this.propExists(setup['vShow']) ) {\n props.style = \"display: none;\";\n }\n\n let render = () => Arr.each(setup.content, (value, key) => {\n return this.ctor('renderSetup')(value, key);\n });\n\n if ( Any.isFunction(setup.content) ) {\n render = () => setup.content.apply(this.scope);\n }\n\n if ( Any.isString(setup.content) ) {\n render = () => this.getString(setup.content);\n }\n\n return h(component, props, { default: render });\n },\n\n render()\n {\n return Arr.each(this.config, (value, key) => this.ctor('renderSetup')(value, key));\n }\n\n}","import { Arr, Dom, Any, Locale, Obj, UUID, Num } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderPropType = {\n 'root': Locale.trans('Root'),\n 'binds': Locale.trans('Bind'),\n 'props': Locale.trans('Property'),\n 'attrs': Locale.trans('Attribute'),\n 'on': Locale.trans('Event'),\n};\n\nglobal.NanoBuilderPropCode = {\n 'string': Locale.trans('String'),\n 'number': Locale.trans('Number'),\n 'boolean': Locale.trans('Boolean'),\n 'object': Locale.trans('Object'),\n 'function': Locale.trans('Function'),\n};\n\nglobal.NanoBuilderProps = {\n classList: {\n for: ['root', 'attrs', 'props'], type: 'String'\n },\n vIf: {\n for: ['root'], type: 'String'\n },\n vShow: {\n for: ['root'], type: 'String'\n },\n};\n\nglobal.NanoBuilderTypes = {\n //\n};\n\nglobal.NanoBuilderIndexies = {\n //\n};\n\n// DOM elements\nrequire('./prototypes/html/nano');\nrequire('./prototypes/html/div');\nrequire('./prototypes/html/span');\n\n// Nano elements\nrequire('./prototypes/button/n-button');\nrequire('./prototypes/button/n-button-group');\nrequire('./prototypes/cascader/n-cascader');\nrequire('./prototypes/checkbox/n-checkbox');\nrequire('./prototypes/checkbox/n-checkbox-group');\nrequire('./prototypes/confirm/n-confirm');\nrequire('./prototypes/datepicker/n-datepicker');\nrequire('./prototypes/datetimepicker/n-datetimepicker');\nrequire('./prototypes/durationpicker/n-durationpicker');\nrequire('./prototypes/empty/n-empty');\nrequire('./prototypes/form/n-form');\nrequire('./prototypes/form/n-form-group');\nrequire('./prototypes/form/n-form-item');\nrequire('./prototypes/input/n-input');\nrequire('./prototypes/input-number/n-input-number');\nrequire('./prototypes/loader/n-loader');\nrequire('./prototypes/modal/n-modal');\nrequire('./prototypes/radio/n-radio');\nrequire('./prototypes/radio/n-radio-group');\nrequire('./prototypes/rating/n-rating');\nrequire('./prototypes/select/n-select');\nrequire('./prototypes/slider/n-slider');\nrequire('./prototypes/switch/n-switch');\nrequire('./prototypes/table/n-table');\nrequire('./prototypes/table/n-table-column');\nrequire('./prototypes/tabs/n-tabs');\nrequire('./prototypes/tabs/n-tabs-item');\nrequire('./prototypes/tags/n-tags');\nrequire('./prototypes/tags/n-tags-item');\nrequire('./prototypes/timepicker/n-timepicker');\nrequire('./prototypes/transfer/n-transfer');\n\nexport default {\n\n name: 'NBuilder',\n\n props: {\n\n modelValue: {\n default()\n {\n return {};\n },\n type: [Object]\n },\n\n scope: {\n default()\n {\n return {};\n },\n type: [Object]\n },\n\n model: {\n default()\n {\n return {};\n },\n type: [Object]\n },\n\n renderDemo: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n renderExport: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n },\n\n data()\n {\n return {\n init: false, demo: false, collapse: [], safevar: this.normalizeModel(this.modelValue)\n };\n },\n\n watch: {\n modelValue: function () {\n this.safevar = this.normalizeModel(this.modelValue)\n }\n },\n\n mounted()\n {\n this.init = true;\n },\n\n methods: {\n\n exportJson(value)\n {\n return JSON.stringify(Obj.clone(value), null, 4).replace(/\"!FUNC:(.*?):FUNC!\"/g, (matches) => {\n return matches.replace(/^\"!FUNC:/, '').replace(/:FUNC!\"$/, '').replace(/\\\\\"/, '\"').replace(/\\\\n/g, \"\\n\");\n });\n },\n\n exportExecutable(value)\n {\n return new Function(`return ${this.exportJson(value)};`)();\n },\n\n normalizeModel(model)\n {\n let result = {};\n\n Obj.each(model, (value, key) => {\n result[key] = Obj.assign(this.normalizeChild(value), {\n order: (Any.vals(result).length + 1) * 100\n });\n });\n\n return result;\n },\n\n normalizeChild(child)\n {\n let result = this.applyProps(null, {\n ...Obj.except(child, ['content']), content: {}, builder: this.buildProps(child),\n });\n\n if ( Any.isArray(child.content) ) {\n child.content = Arr.first(child.content);\n }\n\n if ( ! Any.isPlain(child.content) && ! Any.isString(child.content) ) {\n child.content = {};\n }\n\n result.builder[\"null\"] = {\n type: typeof child.content\n }\n\n if (Any.isPlain(child.content)) {\n Obj.each(child.content || {}, (value, key) => {\n\n if ( ! key.match(':') ) {\n key += ':' + UUID();\n }\n\n result['content'][key] = Obj.assign(this.normalizeChild(value), {\n order: (Any.vals(result['content']).length + 1) * 100\n });\n });\n } else {\n result.content = child.content;\n }\n\n return result;\n },\n\n getOriginalValue(prop)\n {\n let safevalue = prop.value;\n\n if ( typeof prop.value === 'function' ) {\n safevalue = btoa(\"!FUNC:\" + prop.value.toString() + \":FUNC!\");\n }\n\n return safevalue;\n },\n\n getSafeValue(prop)\n {\n let safevalue = '';\n\n if ( typeof prop.value === 'string' ) {\n safevalue = Any.string(prop.value);\n }\n\n if ( typeof prop.value === 'boolean' ) {\n safevalue = Any.string(prop.value);\n }\n\n if ( typeof prop.value === 'number' ) {\n safevalue = Any.string(prop.value);\n }\n\n if ( typeof prop.value === 'object' ) {\n safevalue = JSON.stringify(prop.value);\n }\n\n if ( typeof prop.value === 'function' ) {\n safevalue = btoa(\"!FUNC:\" + prop.value.toString() + \":FUNC!\");\n }\n\n return safevalue;\n },\n\n getRealValue(prop)\n {\n let realvalue = '';\n\n if ( prop.code === 'string' ) {\n realvalue = Any.string(prop.value);\n }\n\n if ( prop.code === 'boolean' ) {\n realvalue = Any.boolean(prop.value);\n }\n\n if ( prop.code === 'number' ) {\n realvalue = Any.number(prop.value, 0);\n }\n\n if ( prop.code === 'object' ) {\n realvalue = JSON.parse(prop.value);\n }\n\n if ( prop.code === 'function' ) {\n realvalue = atob(prop.original);\n }\n\n return realvalue;\n },\n\n changeElement(key, update)\n {\n if ( Any.isEmpty(update) ) {\n return;\n }\n\n let newKey = key.replace(/^(.*?)([^\\.]+):([^\\.]+)$/, `$1${update}:$3`);\n\n let value = Obj.get(this, key, {});\n\n Obj.unset(this, key);\n Obj.set(this, newKey, value);\n\n this.collapse = Arr.each(this.collapse, (k) => {\n return k.replace(key, newKey);\n });\n },\n\n changeAlias(key, update)\n {\n if ( Any.isEmpty(update) ) {\n return;\n }\n\n let newKey = key.replace(/^(.*?)([^\\.]+):([^\\.]+)$/, `$1$2:${update}`);\n\n let value = Obj.get(this, key, {});\n\n Obj.unset(this, key);\n Obj.set(this, newKey, value);\n\n this.collapse = Arr.each(this.collapse, (k) => {\n return k.replace(key, newKey);\n });\n },\n\n changeType(key, type)\n {\n let value = Obj.get(this, key, {});\n\n let original = Obj.get(value, 'builder.null.type');\n\n if ( type === 'object' ) {\n value.content = {};\n }\n\n if ( type === 'string' ) {\n value.content = '';\n }\n\n Obj.set(value, 'builder.null.type', typeof value.content);\n },\n\n applyProps(key = null, value = {})\n {\n if ( ! Any.isEmpty(key) ) {\n value = Obj.get(this, key, {});\n }\n\n let reset = [\n 'vIf', 'vShow', 'classList', 'vLocale', 'binds', 'attrs', 'props', 'on',\n ];\n\n Obj.each(reset, (prop) => {\n Obj.unset(value, prop);\n });\n\n Obj.each(value.builder || {}, (val) => {\n\n if ( Any.isEmpty(val.key) ) {\n return;\n }\n\n let bindValue = {\n value: val.value, fallback: null\n };\n\n if ( val.code === 'string' ) {\n bindValue.fallback = Any.string(val.fallback || '');\n }\n\n if ( val.code === 'boolean' ) {\n bindValue.fallback = Any.boolean(val.fallback || 'false');\n }\n\n if ( val.code === 'object' ) {\n bindValue.fallback = JSON.parse(val.fallback || '{}');\n }\n\n if ( val.type === 'binds' ) {\n return Obj.set(value, [val.type, val.key], bindValue);\n }\n\n let realvalue = '';\n\n try {\n realvalue = this.getRealValue(val);\n } catch (e) {\n if ( ! Any.isEmpty(val.value) ) {\n console.error('Invalid JSON: ' + val.value);\n }\n }\n\n if ( val.type === 'root' ) {\n return Obj.set(value, val.key, realvalue);\n }\n\n if ( val.type === 'attrs' ) {\n return Obj.set(value, [val.type, val.key], realvalue);\n }\n\n if ( val.type === 'props' ) {\n return Obj.set(value, [val.type, val.key], realvalue);\n }\n\n if ( val.type === 'on' ) {\n return Obj.set(value, [val.type, val.key], realvalue);\n }\n\n });\n\n if ( Any.isEmpty(key) ) {\n return value;\n }\n\n return Obj.set(this, key, value);\n },\n\n buildProps(el, key = null)\n {\n let builder = {};\n\n Obj.each(Obj.only(el, ['vIf', 'vShow', 'classList']), (value, sey) => {\n builder[UUID()] = {\n type: 'root', code: typeof value, key: sey, value: this.getSafeValue({ value }), fallback: null, original: this.getOriginalValue({ value })\n };\n });\n\n Obj.each(Obj.get(el, `binds`, {}), (value, sey) => {\n\n let result = {\n type: 'binds', code: typeof value, key: sey, fallback: null, original: this.getOriginalValue({ value })\n }\n\n if ( Any.isString(value) ) {\n result.value = this.getSafeValue({ value });\n }\n\n if ( Any.isObject(value) ) {\n Obj.assign(result, { value: this.getSafeValue(value), fallback: Obj.get(value, 'fallback', null) })\n }\n\n builder[UUID()] = result;\n });\n\n Obj.each(Obj.get(el, `props`, {}), (value, sey) => {\n builder[UUID()] = { type: 'props', code: typeof value, key: sey, value: this.getSafeValue({ value }), fallback: null, original: this.getOriginalValue({ value }) };\n });\n\n Obj.each(Obj.get(el, `attrs`, {}), (value, sey) => {\n builder[UUID()] = { type: 'attrs', code: typeof value, key: sey, value: this.getSafeValue({ value }), fallback: null, original: this.getOriginalValue({ value }) };\n });\n\n Obj.each(Obj.get(el, `on`, {}), (value, sey) => {\n builder[UUID()] = { type: 'on', code: typeof value, key: sey, value: this.getSafeValue({ value }), fallback: null, original: this.getOriginalValue({ value }) };\n });\n\n if ( Any.isEmpty(key) ) {\n return builder;\n }\n\n this.$nextTick(() => {\n Obj.set(this, `${key}.builder`, builder);\n });\n\n return builder;\n },\n\n addProp(key)\n {\n let value = Obj.get(this, `${key}.builder`, {});\n\n Obj.set(value, UUID(), {\n type: 'props', code: 'string', key: '', value: '', fallback: null\n });\n\n Obj.set(this, `${key}.builder`, value);\n },\n\n removeProp(key, prop)\n {\n Obj.unset(this, `${key}.builder.${prop}`);\n\n this.applyProps(key);\n },\n\n collapseElement(key)\n {\n Arr.toggle(this.collapse, key);\n },\n\n addElement(key)\n {\n let value = Obj.get(this, key, {});\n\n Obj.set(value, 'div:' + UUID(), {\n order: (Any.vals(value).length + 1) * 100, props: { modelValue: '$scope.list' }, content: {}\n });\n\n Obj.assign(this, key, value);\n },\n\n removeElement(key)\n {\n Obj.unset(this, key);\n },\n\n moveupElement(key)\n {\n let [el, childs] = [\n Obj.get(this, key), Obj.get(this, key.replace(/\\.[^.]+$/, ''))\n ];\n\n let close = Number.MIN_VALUE;\n\n Arr.each(childs, (sub) => {\n if ( sub.order < el.order ) close = Math.max(close, sub.order);\n });\n\n if ( close === Number.MIN_VALUE ) {\n return;\n }\n\n let replacement = Arr.find(childs, {\n order: close\n });\n\n Obj.assign(replacement, {\n order: el.order\n });\n\n Obj.assign(el, { order: close });\n },\n\n movedownElement(key)\n {\n let [el, childs] = [\n Obj.get(this, key), Obj.get(this, key.replace(/\\.[^.]+$/, ''))\n ];\n\n let close = Number.MAX_VALUE;\n\n Arr.each(childs, (sub) => {\n if ( sub.order > el.order ) close = Math.min(close, sub.order);\n });\n\n if ( close === Number.MAX_VALUE ) {\n return;\n }\n\n let replacement = Arr.find(childs, {\n order: close\n });\n\n Obj.assign(replacement, {\n order: el.order\n });\n\n Obj.assign(el, { order: close });\n },\n\n },\n\n renderTools(el, value, key)\n {\n let rootProps = {\n //\n };\n\n rootProps['onDblclick'] = () => {\n this.collapseElement(key);\n };\n\n let collapseProps = {\n href: 'javascript:void(0)',\n };\n\n collapseProps['onClick'] = () => {\n this.collapseElement(key);\n };\n\n let addProps = {\n href: 'javascript:void(0)',\n };\n\n addProps['onClick'] = () => {\n this.addElement(`${key}.content`);\n };\n\n let removeProps = {\n href: 'javascript:void(0)',\n };\n\n removeProps['onClick'] = () => {\n this.removeElement(key);\n };\n\n let moveupProps = {\n href: 'javascript:void(0)',\n };\n\n moveupProps['onClick'] = () => {\n this.moveupElement(key);\n };\n\n let movedownProps = {\n href: 'javascript:void(0)',\n };\n\n movedownProps['onClick'] = () => {\n this.movedownElement(key);\n };\n\n\n return (\n <div class=\"n-builder__tools\" {...rootProps}>\n <div class=\"n-builder__collapse\">\n <a {...collapseProps}><i class=\"fa fa-bars\"></i></a>\n </div>\n <div class=\"n-builder__name\">\n {key.replace(/^.*?([^\\.:]+):([^\\.:]+)$/, '$1')}<span>{key.replace(/^.*?([^\\.:]+):([^\\.:]+)$/, '$2')}</span>\n </div>\n <div class=\"n-builder__move\">\n <a {...moveupProps}><i class=\"fa fa-angle-up\"></i></a>\n <a {...movedownProps}><i class=\"fa fa-angle-down\"></i></a>\n </div>\n <div class=\"n-builder__add\">\n <a {...addProps}><i class=\"fa fa-plus\"></i></a>\n </div>\n <div class=\"n-builder__remove\">\n <a {...removeProps}><i class=\"fa fa-trash\"></i></a>\n </div>\n </div>\n );\n },\n\n renderProp(el, sub, key)\n {\n if ( sub === \"null\" ) {\n return null;\n }\n\n let group = key.replace(/^.*?([^\\.]+):([^\\.]+)$/, '$1')\n let value = Obj.get(this.$data, `${key}.builder.${sub}`, {});\n\n let props = Obj.clone(Obj.get(global.NanoBuilderIndexies, `${group}.props`, {}));\n\n props = Obj.assign({}, global.NanoBuilderProps, props);\n\n Obj.each(props, (prop, index) => {\n if ( ! Any.isEmpty(prop.for) && ! Arr.has(prop.for, value.type) ) {\n props = Obj.unset(props, index);\n }\n });\n\n let typeProps = {\n size: 'sm', options: global.NanoBuilderPropType\n };\n\n typeProps['onUpdate:modelValue'] = () => {\n this.$nextTick(() => this.applyProps(key));\n };\n\n let keyProps = {\n size: 'sm', allowCreate: true, options: props, optionsLabel: '$index'\n };\n\n keyProps['onUpdate:modelValue'] = () => {\n this.$nextTick(() => this.applyProps(key));\n };\n\n let codeProps = {\n size: 'sm', options: global.NanoBuilderPropCode\n };\n\n codeProps['onUpdate:modelValue'] = () => {\n this.$nextTick(() => this.applyProps(key));\n };\n\n let values = Obj.get(props, `${value.key}.options`, []);\n\n let valueInputProps = {\n size: 'sm', model: this.model, scope: this.scope\n };\n\n valueInputProps['onUpdate:modelValue'] = () => {\n this.$nextTick(() => this.applyProps(key));\n };\n\n let valueHtml = (\n <NReferencePicker vModel={value.value} {...valueInputProps} />\n );\n\n let fallbackProps = {\n size: 'sm', minRows: 1, autoRows: true\n };\n\n fallbackProps['onUpdate:modelValue'] = () => {\n this.$nextTick(() => this.applyProps(key));\n };\n\n let tooltipHtml = (\n <div class=\"n-builder_prop-text\">\n <p>{Obj.get(props, `${value.key}.desc`, '')}</p>\n </div>\n );\n\n return (\n <div class=\"n-builder_prop\">\n <div class=\"n-builder_prop-type\">\n <NSelect vModel={value.type} {...typeProps} />\n </div>\n <div class=\"n-builder_prop-key\">\n <NSelect vModel={value.key} {...keyProps} />\n </div>\n <div class=\"n-builder_prop-func\">\n <NSelect vModel={value.code} {...codeProps} />\n </div>\n <div class=\"n-builder_prop-value\">\n {valueHtml}\n </div>\n <div class=\"n-builder_prop-fallback\">\n <NInput vModel={value.fallback} {...fallbackProps} />\n </div>\n <div class=\"n-builder_prop-button\">\n <NButton size=\"sm\" type=\"danger\" onClick={() => this.removeProp(key, sub)}>Remove</NButton>\n </div>\n </div>\n );\n },\n\n renderProps(el, value, key)\n {\n if ( !Arr.has(this.collapse, key) ) {\n return null;\n }\n\n let elementProps = {\n options: global.NanoBuilderTypes, allowCreate: true, modelValue: key.replace(/^.*?([^\\.]+):([^\\.]+)$/, '$1'),\n };\n\n elementProps['onUpdate:modelValue'] = (value) => {\n this.changeElement(key, value);\n };\n\n let aliasProps = {\n modelValue: key.replace(/^.*?([^\\.]+):([^\\.]+)$/, '$2'),\n };\n\n aliasProps['onUpdate:modelValue'] = (value) => {\n this.changeAlias(key, value);\n };\n\n let plainProps = {\n modelValue: Obj.get(value, 'builder.null.type'),\n options: {\n 'object': this.trans('Object'),\n 'string': this.trans('String'),\n }\n };\n\n plainProps['onUpdate:modelValue'] = (value) => {\n this.changeType(key, value);\n };\n\n let addProps = {\n type: 'primary', size: 'sm', link: true\n };\n\n addProps['onClick'] = () => {\n this.addProp(key, value);\n };\n\n let props = Obj.get(value, `builder`);\n\n if ( ! Obj.has(value, 'builder') ) {\n props = this.buildProps(el, key, value);\n }\n\n return (\n <NForm class=\"n-builder__props\">\n <NFormItem class=\"n-builder__element-type\" label={this.trans('Type')}>\n <NSelect {...elementProps} />\n </NFormItem>\n <NFormItem class=\"n-builder__element-alias\" label={this.trans('Alias')}>\n <NInput {...aliasProps} />\n </NFormItem>\n <NFormItem class=\"n-builder__element-plain\" label={this.trans('Content')}>\n <NSelect {...plainProps}>{this.trans('Enable plain')}</NSelect>\n </NFormItem>\n <div class=\"n-builder__element-prop\">\n <NButton {...addProps}>Add property</NButton>\n </div>\n <div class=\"n-builder__element-list\">\n {Arr.each(props, (prop, sub) => this.ctor('renderProp')(el, sub, key))}\n </div>\n </NForm>\n );\n },\n\n renderElement(el, value, key)\n {\n let classList = [\n 'n-builder__element'\n ];\n\n if ( Arr.has(this.collapse, key) ) {\n classList.push('is-open');\n }\n\n let builderHtml = () => {\n return this.ctor('renderBuilder')(value.content || {}, `${key}.content`);\n };\n\n if ( value.builder[\"null\"][\"type\"] === 'string' ) {\n builderHtml = () => {\n return (<div><NInput vModel={value.content} /></div>);\n };\n }\n\n return (\n <div class={classList}>\n {this.ctor('renderTools')(el, value, key)}\n {this.ctor('renderProps')(el, value, key)}\n {builderHtml()}\n </div>\n );\n },\n\n renderBuilder(el, key)\n {\n if ( Any.isEmpty(el) ) {\n return null;\n }\n\n let items = Arr.each(Obj.sort(Obj.clone(el), 'order'), (v) => {\n\n let args = [\n Obj.get(this.$data, key, {}),\n Obj.get(this.$data, [key, v._key], {}),\n `${key}.${v._key}`\n ];\n\n return this.ctor('renderElement')(...args);\n });\n\n return (\n <div class=\"n-builder__frame\">\n {items}\n </div>\n );\n },\n\n renderBody()\n {\n return (\n <div class=\"n-builder__body\">\n {this.ctor('renderBuilder')(this.safevar, 'safevar')}\n </div>\n );\n },\n\n renderHead()\n {\n let addProps = {\n type: 'primary'\n };\n\n addProps['onClick'] = () => {\n this.addElement('safevar');\n };\n\n let addHtml = (\n <div class=\"n-builder__head-add\">\n <NButton {...addProps}>{this.trans('Add root element')}</NButton>\n </div>\n );\n\n let demoProps = {\n type: 'primary'\n };\n\n demoProps['onClick'] = () => {\n this.demo = true;\n };\n\n let demoHtml = (\n <div class=\"n-builder__head-demo\">\n <NButton {...demoProps}>{this.trans('Render demo')}</NButton>\n </div>\n );\n\n return (\n <div class=\"n-builder__head\">\n {[addHtml, demoHtml]}\n </div>\n );\n },\n\n renderOutput()\n {\n return (\n <div class=\"n-builder__output\">\n <pre>{this.exportJson(this.safevar)}</pre>\n </div>\n );\n },\n\n renderDemo()\n {\n if ( ! this.renderDemo || ! this.demo ) {\n return null;\n }\n\n let renderFunction = this.$slots.default;\n\n if ( Any.isEmpty(renderFunction) ) {\n renderFunction = ({ render }) => render();\n }\n\n let modalProps = {\n width: '100%',\n height: '100%'\n };\n\n let configProps = {\n modelValue: this.model, scope: this.scope, config: this.exportExecutable(this.safevar)\n };\n\n let renderContent = () => {\n return ( <NConfigNext {...configProps} />);\n };\n\n return (\n <NModal vModel={this.demo} {...modalProps}>\n {renderFunction({ render: renderContent })}\n </NModal>\n );\n },\n\n render()\n {\n let classList = [\n 'n-builder',\n ];\n\n return (\n <div class={classList}>\n {[\n this.ctor('renderBody')(), this.ctor('renderHead')(), this.ctor('renderOutput')(), this.ctor('renderDemo')(),\n ]}\n </div>\n );\n }\n}\n","import { Arr, Obj, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NReferencePanel',\n\n props: {\n\n modelValue: {\n default()\n {\n return \"\";\n },\n type: [String]\n },\n\n model: {\n default()\n {\n return {};\n },\n type: [Object]\n },\n\n scope: {\n default()\n {\n return {};\n },\n type: [Object]\n },\n\n },\n\n data()\n {\n return {\n expanded: [], selected: null, modelTree: this.buildTree(this.model, '$model'), scopeTree: this.buildTree(this.scope, '$scope')\n };\n },\n\n methods: {\n\n buildTree(value, path = '')\n {\n let result = {};\n\n if ( ! Any.isPlain(value) && ! Obj.get(value, '__v_skip') ) {\n return result;\n }\n\n for(var key in value) {\n\n let [ref, val] = [\n `${path}.${key}`, value[key]\n ];\n\n if ( Any.isPlain(val) ) {\n val = this.buildTree(val, ref);\n }\n\n let type = typeof val;\n\n if ( Any.isArray(val) ) {\n type = 'array';\n }\n\n result[key] = {\n path: ref, value: val, type: type\n };\n\n }\n\n return result;\n },\n\n submitItem(value)\n {\n this.$emit('update:modelValue', value.path);\n },\n\n selectItem(value)\n {\n this.selected = value;\n },\n\n expandItem(value)\n {\n if ( value.type === 'object' ) {\n Arr.toggle(this.expanded, value.path);\n }\n }\n\n },\n\n renderLeaf(value, key)\n {\n let classList = [\n 'n-reference-panel__item',\n 'n-reference-panel__item--' + value.type,\n ];\n\n if ( Obj.get(this.selected, 'path') === value.path) {\n classList.push('is-selected');\n }\n\n if ( value.type === 'object' ) {\n classList.push('has-childs');\n }\n\n if ( Arr.has(this.expanded, value.path) ) {\n classList.push('is-expanded');\n }\n\n return (\n <div class={classList} onDblclick={() => this.submitItem(value)}>\n <div class=\"n-reference-panel__expand\" onClick={() => this.expandItem(value)}>\n <i class=\"fa fa-angle-right\"></i>\n </div>\n <div class=\"n-reference-panel__name\" onClick={() => this.selectItem(value)}>\n {key}\n </div>\n <div class=\"n-reference-panel__type\" onClick={() => this.selectItem(value)}>\n {value.type}\n </div>\n <div class=\"n-reference-panel__pick\" onClick={() => this.submitItem(value)}>\n <i class=\"fa fa-expand\"></i>\n </div>\n </div>\n );\n },\n\n renderTree(value, key)\n {\n let childItems = Arr.each(value.value, (value, key) => {\n return this.ctor('renderItem')(value, key);\n });\n\n let childHtml = (\n <div class=\"n-reference-panel__childs\">\n {childItems}\n </div>\n );\n\n if ( ! Arr.has(this.expanded, value.path) ) {\n childHtml = null;\n }\n\n return [this.ctor('renderLeaf')(value, key), childHtml];\n },\n\n renderItem(value, key)\n {\n if ( value.type === 'object' ) {\n return this.ctor('renderTree')(value, key);\n }\n\n return this.ctor('renderLeaf')(value, key);\n },\n\n renderModel()\n {\n let modelHtml = Arr.each(this.modelTree, (value, key) => {\n return this.ctor('renderItem')(value, key);\n });\n\n return (\n <div class=\"n-reference-panel__model\">\n {modelHtml}\n </div>\n );\n },\n\n renderScope()\n {\n let scopeHtml = Arr.each(this.scopeTree, (value, key) => {\n return this.ctor('renderItem')(value, key);\n });\n\n return (\n <div class=\"n-reference-panel__scope\">\n {scopeHtml}\n </div>\n );\n },\n\n render()\n {\n return (\n <div class=\"n-reference-panel\">\n {[this.ctor('renderModel')(), this.ctor('renderScope')()]}\n </div>\n );\n }\n\n}","import { Arr, Obj, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NReferencePicker',\n\n props: {\n\n modelValue: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n model: {\n default()\n {\n return {};\n },\n type: [Object]\n },\n\n scope: {\n default()\n {\n return {};\n },\n type: [Object]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n width: {\n default()\n {\n return '100%';\n },\n type: [String]\n },\n\n height: {\n default()\n {\n return '100%';\n },\n type: [String]\n },\n\n },\n\n data()\n {\n return {\n modal: false, tempValue: this.modelValue\n };\n },\n\n methods: {\n\n updateValue(value)\n {\n this.$emit('update:modelValue', this.tempValue = value);\n }\n\n },\n\n renderModal()\n {\n if ( ! this.modal ) {\n return null;\n }\n\n let modalProps = {\n modelValue: true,\n width: this.width,\n height: this.height,\n };\n\n modalProps['onClose'] = () => {\n this.modal = false;\n };\n\n let panelProps = {\n model: this.model, scope: this.scope,\n };\n\n panelProps['onUpdate:modelValue'] = (value) => {\n this.updateValue(value); this.modal = false;\n };\n\n let slots = {\n //\n };\n\n slots['body'] = () => (\n <NReferencePanel class=\"in-modal\" {...panelProps} />\n );\n\n return (\n <NModal {...modalProps} v-slots={slots} />\n );\n },\n\n renderInput()\n {\n let inputProps = {\n modelValue: this.tempValue,\n icon: 'fa fa-expand',\n size: this.size,\n };\n\n inputProps['onUpdate:modelValue'] = (value) => {\n this.updateValue(value);\n };\n\n inputProps['onBlur'] = (e) => {\n this.$emit('onBlur', e);\n };\n\n inputProps['onIconClick'] = () => {\n this.modal = true;\n };\n\n return (\n <NInput {...inputProps} />\n );\n },\n\n render()\n {\n return (\n <div class=\"n-reference-picker\">\n {[this.ctor('renderInput')(), this.ctor('renderModal')()]}\n </div>\n );\n }\n\n}","import NConfig from \"./src/config/config\";\nimport NConfigNext from \"./src/config/config-next\";\nimport NBuilder from \"./src/builder/builder\";\nimport NRefrencePanel from \"./src/reference-panel/reference-panel\";\nimport NRefrencePicker from \"./src/reference-picker/reference-picker\";\n\nexport default function(App) {\n App.component(NConfig.name, NConfig);\n App.component(NConfigNext.name, NConfigNext);\n App.component(NBuilder.name, NBuilder);\n App.component(NRefrencePanel.name, NRefrencePanel);\n App.component(NRefrencePicker.name, NRefrencePicker);\n}\n","import { Obj, Locale } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NConfirm',\n\n props: {\n\n visible: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n listen: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n update: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n selector: {\n default()\n {\n return null;\n },\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n width: {\n default()\n {\n return 'auto';\n },\n type: [String]\n },\n\n position: {\n default()\n {\n return 'center-center';\n },\n type: [String]\n },\n\n closable: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n confirmText: {\n default()\n {\n return Locale.trans('Confirm');\n },\n type: [String]\n },\n\n abortText: {\n default()\n {\n return Locale.trans('Abort');\n },\n type: [String]\n },\n\n buttonSize: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n },\n\n watch: {\n\n visible()\n {\n if ( this.visible !== this.tempVisible ) {\n this.tempVisible = this.visible;\n }\n }\n\n },\n\n data()\n {\n return {\n tempVisible: this.visible\n };\n },\n\n methods: {\n\n abort(event)\n {\n this.$refs.modal.closeModal(true, 'self');\n this.$emit('abort');\n },\n\n confirm(event)\n {\n this.$refs.modal.closeModal(true, 'self');\n this.$emit('confirm');\n },\n\n eventInput(value, source)\n {\n if ( ! value && source !== 'self' ) {\n this.$emit('abort');\n }\n\n this.$emit('update:visible', this.tempVisible = value);\n }\n\n },\n\n renderIcon()\n {\n return (\n <div class=\"n-confirm__icon\">\n <span class={nano.Icons[this.type]}></span>\n </div>\n );\n },\n\n renderBody()\n {\n return (\n <div class=\"n-confirm__body\">\n { this.$slots.default && this.$slots.default() || this.trans('Are you sure?') }\n </div>\n );\n },\n\n renderAction()\n {\n let classList = [\n 'n-confirm__action'\n ];\n\n if ( window.WIN ) {\n classList.push('n-reverse');\n }\n\n return (\n <div class={classList}>\n <NButton size={this.buttonSize} type={this.type} link={true} onClick={this.abort}>\n { this.abortText }\n </NButton>\n <NButton size={this.buttonSize} type={this.type} link={false} onClick={this.confirm}>\n { this.confirmText }\n </NButton>\n </div>\n );\n },\n\n render()\n {\n let classList = [\n 'n-confirm',\n 'n-confirm--' + this.type,\n 'n-confirm--' + this.size\n ];\n\n let props = {\n type: 'default',\n selector: this.selector,\n listen: this.listen,\n update: this.update,\n width: this.width,\n position: this.position,\n closable: this.closable,\n modelValue: this.tempVisible,\n };\n\n // Override input listener\n props['onUpdate:modelValue'] = this.eventInput;\n\n let innerHtml = {\n raw: () => (\n <div class={classList}>\n { this.ctor('renderIcon')() }\n { this.ctor('renderBody')() }\n { this.ctor('renderAction')() }\n </div>\n )\n };\n\n return (\n <NModal ref=\"modal\" {...props}>\n { innerHtml }\n </NModal>\n );\n }\n\n}\n","import Confirm from './src/confirm/confirm';\n\nexport default function (App) {\n App.component(Confirm.name, Confirm);\n}\n","import { Arr, Obj, Any, Dom } from \"@kizmann/pico-js\";\n\nglobal.DEBUG_NVSCROLL = false;\n\nexport default {\n\n name: 'NVirtualscroller',\n\n inject: {\n\n NDraggable: {\n default: undefined\n }\n\n },\n\n model: {\n prop: 'items'\n },\n\n props: {\n\n items: {\n default()\n {\n return [];\n }\n },\n\n itemHeight: {\n default()\n {\n return 34;\n }\n },\n\n itemWidth: {\n default()\n {\n return 0;\n }\n },\n\n renderNode: {\n default()\n {\n return null;\n }\n },\n\n deathzone: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n overflowY: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n overflowX: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n offsetY: {\n default()\n {\n return 10;\n },\n type: [Number]\n },\n\n offsetX: {\n default()\n {\n return 10;\n },\n type: [Number]\n },\n\n threshold: {\n default()\n {\n return 1;\n },\n type: [Number]\n },\n\n framerate: {\n default()\n {\n return 65;\n },\n type: [Number]\n },\n\n useKeys: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n },\n\n data()\n {\n let state = {\n start: 0, end: 0, grid: 1\n };\n\n return {\n state, buffer: [], width: 0, height: 0, load: true\n };\n },\n\n watch: {\n\n 'items': function () {\n this.updateRender();\n }\n\n },\n\n beforeMount()\n {\n this.scrollTop = 0;\n },\n\n mounted()\n {\n\n this.bindAdaptScroll()\n },\n\n\n beforeUnmount()\n {\n this.unbindAdaptScroll()\n },\n\n methods: {\n\n bindAdaptScroll()\n {\n this.refreshScroll = setInterval(this.onScrollupdate,\n 1000 / this.framerate);\n },\n\n unbindAdaptScroll()\n {\n clearInterval(this.refreshScroll);\n },\n\n isIndexRendered(index)\n {\n if ( ! this.itemHeight ) {\n return true;\n }\n\n return this.state.start < index &&\n this.state.end > index;\n },\n\n scrollIntoView(index)\n {\n if ( ! this.$refs.scrollbar ) {\n return;\n }\n\n if ( index === -1 || index >= this.items.length ) {\n index = this.items.length;\n }\n\n if ( ! this.isIndexRendered(index) ) {\n return this.scrollToIndex(index);\n }\n\n let selector = `[data-index=\"${index}\"]`;\n\n this.$refs.scrollbar.scrollIntoView(selector);\n },\n\n scrollToIndex(index, delay = 0)\n {\n Any.delay(() => this.onScrollToIndex(index), delay);\n },\n\n onScrollToIndex(index)\n {\n if ( ! this.$refs.scrollbar ) {\n return;\n }\n\n let total = Math.ceil(this.items.length /\n this.state.grid);\n\n index = Math.floor(index / this.state.grid);\n\n if ( index === -1 || index >= total ) {\n index = total;\n }\n\n let targetTop = index * this.itemHeight;\n\n if ( this.scrollTop > targetTop ) {\n return this.scrollTo(0, targetTop);\n }\n\n targetTop = targetTop - this.height +\n this.itemHeight;\n\n this.scrollTo(0, targetTop);\n },\n\n scrollTo(x = 0, y = 0, delay = 0)\n {\n Any.delay(() => this.onScrollTo(x, y), delay);\n },\n\n onScrollTo(x = 0, y = 0)\n {\n if ( ! this.$refs.scrollbar ) {\n return;\n }\n\n this.$refs.scrollbar.scrollTo(x, y);\n },\n\n clearState()\n {\n this.state = { start: 0, end: 0 };\n },\n\n updateRender()\n {\n if ( ! this.$refs.scrollbar ) {\n return Any.delay(this.updateRender);\n }\n\n this.scrollTop = this.$refs.scrollbar.\n $refs.content.scrollTop;\n\n Any.async(this.refreshDriver);\n },\n\n onScrollupdate()\n {\n if ( ! this.threshold ) {\n return;\n }\n\n let scrollTop = this.$refs.scrollbar.\n $refs.content.scrollTop;\n\n if ( scrollTop === this.scrollTop ) {\n return;\n }\n\n this.scrollTop = scrollTop;\n\n let offset = this.$refs.scrollbar.$el.offsetHeight -\n this.$refs.scrollbar.$el.clientHeight;\n\n let isOutOfRange = scrollTop < 0 || scrollTop + this.height\n > this.$refs.inner.scrollHeight + offset;\n\n if ( isOutOfRange ) {\n return;\n }\n\n Any.async(this.refreshDriver);\n },\n\n onSizechange(height, width, el)\n {\n this.width = width;\n this.height = height;\n\n Any.async(this.refreshDriver);\n },\n\n\n refreshDriver(queue = true)\n {\n if ( Any.isEmpty(this.timer) ) {\n this.timer = Date.now();\n }\n\n if ( Date.now() - this.timer > 20 ) {\n queue = false;\n }\n\n clearTimeout(this.to);\n\n this.to = setTimeout(() => {\n this.refreshDriver(false);\n }, 25);\n\n if ( queue ) {\n return;\n }\n\n clearTimeout(this.to);\n\n let grid = 1;\n\n if ( this.itemWidth ) {\n grid = Math.floor((this.width - this.deathzone) /\n this.itemWidth) || 1;\n }\n\n if ( ! this.threshold || this.threshold > this.items.length ) {\n return this.state = { start: 0, end: 0, grid };\n }\n\n let total = Math.ceil(this.items.length\n / grid);\n\n let bufferItems = Math.round((this.height /\n this.itemHeight) * 0.6);\n\n let startItem = Math.round(this.scrollTop /\n this.itemHeight);\n\n let endItem = Math.round((this.scrollTop +\n this.height) / this.itemHeight);\n\n let start = (startItem - bufferItems);\n\n if ( start < 0 ) {\n start = 0;\n }\n\n let end = endItem + bufferItems;\n\n if ( end > total ) {\n end = total;\n }\n\n let state = { start, end, grid };\n\n if ( Any.isEqual(this.state, state) ) {\n return;\n }\n\n this.state = state;\n },\n\n },\n\n renderItem(passed)\n {\n passed.index = (passed.index +\n this.state.start);\n\n let topOffset = Math.round(this.itemHeight *\n passed.index);\n\n let renderFunction = this.$slots.default;\n\n if ( this.renderNode ) {\n renderFunction = this.renderNode;\n }\n\n let props = {\n 'data-index': passed.index\n };\n\n if ( this.NDraggable && this.useKeys ) {\n props.key = passed.value[this.NDraggable.uniqueProp];\n }\n\n let style = {};\n\n let isLazy = this.threshold && this.threshold <=\n this.items.length;\n\n if ( isLazy && this.state.grid === 1 ) {\n style.top = topOffset + 'px';\n }\n\n if ( this.itemHeight ) {\n style.height = this.itemHeight + 'px';\n }\n\n if ( this.state.grid !== 1 ) {\n style.width = this.itemWidth + 'px';\n }\n\n return (\n <div class=\"n-virtualscroller__item\" style={style} {...props}>\n { renderFunction(passed) }\n </div>\n );\n },\n\n renderRows()\n {\n let items = Arr.slice(this.items, this.state.start,\n this.state.end);\n\n if ( ! this.threshold || this.threshold > this.items.length ) {\n items = this.items;\n }\n\n return Arr.each(items, (value, index) => {\n return this.ctor('renderItem')({ value, index });\n });\n },\n\n renderGridRows(passed)\n {\n let topOffset = Math.round(this.itemHeight *\n (passed.index + this.state.start));\n\n let style = {};\n\n if ( this.threshold && this.threshold <= this.items.length ) {\n style.top = topOffset + 'px';\n }\n\n let counter = passed.index * this.state.start;\n\n return (\n <div data-row={passed.index} class=\"n-virtualscroller__row\" style={style}>\n {\n Arr.each(passed.chunk, (value, index) => {\n return this.ctor('renderItem')({\n value, index: index + counter\n });\n })\n }\n </div>\n );\n },\n\n renderGrid()\n {\n let chunks = Arr.chunk(this.items,\n this.state.grid);\n\n let items = Arr.slice(chunks, this.state.start,\n this.state.end);\n\n if ( ! this.threshold || this.threshold > this.items.length ) {\n items = chunks;\n }\n\n return Arr.each(items, (chunk, index) => {\n return this.ctor('renderGridRows')({ chunk, index });\n });\n },\n\n renderItems()\n {\n if ( ! this.items.length ) {\n return this.$slots.empty && this.$slots.empty() || null;\n }\n\n if ( this.state.grid === 1 ) {\n return this.ctor('renderRows')();\n }\n\n return this.ctor('renderGrid')();\n },\n\n render()\n {\n let classList = [\n 'n-virtualscroller'\n ];\n\n if ( this.threshold && this.threshold <= this.items.length ) {\n classList.push('n-virtualscroller--absolute');\n }\n\n let props = {\n overflowY: this.overflowY,\n overflowX: this.overflowX,\n offsetY: this.offsetY,\n offsetX: this.offsetX,\n onSizechange: this.onSizechange,\n };\n\n let style = {\n 'overflow-y': 'hidden'\n };\n\n let totalHeight = Math.ceil(this.items.length / this.state.grid) *\n this.itemHeight;\n\n if ( this.threshold && this.items.length ) {\n style.height = Math.ceil(totalHeight + this.offsetY) + 'px';\n }\n\n return (\n <NScrollbar class={classList} ref=\"scrollbar\" {...props}>\n <div ref=\"inner\" class=\"n-virtualscroller__inner\" style={style}>\n { this.ctor('renderItems')() }\n </div>\n </NScrollbar>\n );\n }\n\n}\n","import Virtualscroller from './src/virtualscroller/virtualscroller.beta';\n\nexport default function (App) {\n App.component(Virtualscroller.name, Virtualscroller);\n}","import { Arr, Str, Now, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NDatepickerPanel',\n\n props: {\n\n modelValue: {\n default()\n {\n return null;\n }\n },\n\n clearValue: {\n default()\n {\n return null;\n }\n },\n\n arrive: {\n default()\n {\n return null;\n }\n },\n\n clearArrive: {\n default()\n {\n return null;\n }\n },\n\n depart: {\n default()\n {\n return null;\n }\n },\n\n clearDepart: {\n default()\n {\n return null;\n }\n },\n\n minDate: {\n default()\n {\n return null;\n }\n },\n\n maxDate: {\n default()\n {\n return null;\n }\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n range: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n monthPanels: {\n default()\n {\n return 1;\n },\n type: [Number]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n format: {\n default()\n {\n return 'YYYY-MM-DD HH:mm:ss';\n },\n type: [String]\n },\n\n weekdays: {\n default()\n {\n return [\n 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su',\n ];\n },\n type: [Array]\n },\n\n months: {\n default()\n {\n return [\n 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', \n 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec',\n ]\n },\n type: [Array]\n }\n\n },\n\n computed: {\n\n yearsGrid()\n {\n return this.tempCache.getYears();\n },\n\n monthsGrid()\n {\n return this.tempCache.getMonths();\n }\n\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue.format(this.format) ) {\n this.tempValue = Now.make(value);\n }\n },\n\n arrive(value)\n {\n if ( value !== this.tempArrive.format(this.format) ) {\n this.tempArrive = Now.make(value);\n }\n },\n\n depart(value)\n {\n if ( value !== this.tempDepart.format(this.format) ) {\n this.tempDepart = Now.make(value);\n }\n },\n\n },\n\n data()\n {\n return {\n tempView: 'date',\n tempRanger: null,\n cacheArrive: null,\n cacheDepart: null,\n tempValue: Now.make(this.modelValue, this.format),\n tempCache: Now.make(this.modelValue, this.format),\n tempArrive: Now.make(this.arrive),\n tempDepart: Now.make(this.depart),\n }\n },\n\n methods: {\n\n gotoDate()\n {\n this.tempView = 'date';\n },\n\n gotoMonth()\n {\n this.tempView = 'month';\n },\n\n gotoYear()\n {\n this.tempView = 'year';\n },\n\n patchDate(now)\n {\n if ( Any.isString(now) ) {\n now = Now.make(now);\n }\n\n if ( Any.isEmpty(this.modelValue) ) {\n now.resetTime();\n } else {\n now.applyTime(this.tempValue);\n }\n\n // Copy now to cache\n this.tempCache = now.clone();\n\n // Copy now to value\n this.tempValue = now.clone();\n\n this.$emit('update:modelValue', \n this.tempValue.format(this.format));\n },\n\n patchMonth(now)\n {\n if ( Any.isString(now) ) {\n now = Now.make(now);\n }\n\n this.tempCache = now.clone();\n\n this.gotoDate();\n },\n\n printRange(now)\n {\n this.tempRanger = now.clone();\n },\n\n patchYear(now)\n {\n if ( Any.isString(now) ) {\n now = Now.make(now);\n }\n\n this.tempCache = now.clone();\n\n this.gotoMonth();\n },\n\n patchRange(now)\n {\n if ( this.cacheArrive && ! this.cacheDepart ) {\n this.cacheDepart = now.clone();\n }\n\n if ( ! this.cacheArrive && ! this.cacheDepart ) {\n this.cacheArrive = now.clone();\n }\n\n if ( ! this.cacheArrive || ! this.cacheDepart ) {\n return;\n }\n\n this.tempArrive = this.cacheArrive.clone();\n this.tempDepart = this.cacheDepart.clone();\n\n this.$emit('update:arrive', \n this.tempArrive.format(this.format));\n\n this.$emit('update:depart', \n this.tempDepart.format(this.format));\n\n this.cacheArrive = null;\n this.cacheDepart = null;\n\n this.$emit('rangeSelected', [\n this.tempArrive.format(this.format),\n this.tempDepart.format(this.format)\n ]);\n },\n\n },\n\n renderToolbarPrev(closure)\n {\n let props = {\n type: this.type,\n link: true,\n icon: nano.Icons.angleLeft,\n onClick: closure\n };\n\n return (<NButton {...props}></NButton>);\n },\n\n renderToolbarNext(closure)\n {\n let props = {\n type: this.type,\n link: true,\n icon: nano.Icons.angleRight,\n onClick: closure\n };\n\n return (<NButton {...props}></NButton>);\n },\n\n renderToolbarMonth()\n {\n let props = {\n onClick: this.gotoMonth\n };\n\n let monthsHtml = [\n this.months[this.tempCache.month()]\n ];\n\n let month = this.tempCache.clone()\n .addMonths(this.monthPanels - 1);\n\n if ( month.month() !== this.tempCache.month() ) {\n monthsHtml.push(this.months[month.month()]);\n }\n\n return (\n <span class=\"n-datepicker-panel__month\" {...props}>\n { monthsHtml.join(' - ') }\n </span>\n );\n },\n\n renderToolbarYear()\n {\n let props = {\n onClick: this.gotoYear\n };\n\n let yearsHtml = [\n this.tempCache.year()\n ];\n\n let month = this.tempCache.clone()\n .addMonths(this.monthPanels - 1);\n\n if ( month.year() !== this.tempCache.year() ) {\n yearsHtml.push(month.year());\n }\n\n return (\n <span class=\"n-datepicker-panel__year\" {...props}>\n { yearsHtml.join(' - ') }\n </span>\n );\n },\n\n renderToolbar({ prev, next })\n {\n return (\n <div class=\"n-datepicker-panel__toolbar\">\n <div class=\"n-datepicker-panel__display\">\n { this.ctor('renderToolbarMonth')() }\n { this.ctor('renderToolbarYear')() }\n </div>\n <div class=\"n-datepicker-panel__prev\">\n { this.ctor('renderToolbarPrev')(prev) }\n </div>\n <div class=\"n-datepicker-panel__next\">\n { this.ctor('renderToolbarNext')(next) }\n </div>\n </div>\n );\n },\n\n renderDateItem(now, month)\n {\n let classList = [\n 'n-datepicker-panel__day'\n ];\n\n if ( now.equalDate() ) {\n classList.push('n-today');\n }\n\n let isSelected = this.tempValue.valid() && \n now.equalDate(this.tempValue);\n\n if ( isSelected ) {\n classList.push('n-selected');\n }\n\n if ( now.month() === month.month() ) {\n classList.push('n-current');\n }\n\n let isNotBeforeMin = ! this.minDate || \n now.after(this.minDate) || now.equalDate(this.minDate);\n\n let isNotAfterMax = ! this.maxDate || \n now.before(this.maxDate) || now.equalDate(this.maxDate);\n\n if ( ! isNotBeforeMin || ! isNotAfterMax ) {\n classList.push('n-disabled');\n }\n\n let props = {};\n\n if ( isNotBeforeMin && isNotAfterMax ) {\n props.onClick = () => this.patchDate(now);\n }\n\n return (\n <div class={classList} {...props}>\n <span>{ now.format('DD') }</span>\n </div>\n );\n },\n\n renderRangeDateItem(now, month)\n {\n let classList = [\n 'n-datepicker-panel__day'\n ];\n\n if ( now.equalDate('now') ) {\n classList.push('n-today');\n }\n\n if ( now.month() === month.month() ) {\n classList.push('n-current');\n }\n\n let viewMode = 0;\n\n if ( !! this.cacheArrive ) {\n viewMode++;\n }\n\n if ( !! this.cacheDepart ) {\n viewMode++;\n }\n\n let isTempValid = this.tempArrive.valid() && \n this.tempDepart.valid();\n\n if ( viewMode === 0 && isTempValid ) {\n\n if ( now.between(this.tempArrive, this.tempDepart) ) {\n classList.push('n-between');\n classList.push('n-selected');\n }\n\n let arriveFirst = this.tempArrive.before(this.tempDepart);\n\n if ( now.equalDate(this.tempArrive) ) {\n classList.push(arriveFirst ? 'n-arrive' : 'n-depart');\n classList.push('n-selected');\n }\n\n if ( now.equalDate(this.tempDepart) ) {\n classList.push(arriveFirst ? 'n-depart' : 'n-arrive');\n classList.push('n-selected');\n }\n\n }\n\n if ( viewMode === 1 && this.cacheArrive ) {\n\n if ( now.between(this.cacheArrive, this.tempRanger) ) {\n classList.push('n-between');\n }\n\n let arriveFirst = this.cacheArrive.before(this.tempRanger);\n\n if ( now.equalDate(this.cacheArrive) ) {\n classList.push(arriveFirst ? 'n-arrive' : 'n-depart');\n }\n\n if ( now.equalDate(this.tempRanger) ) {\n classList.push(arriveFirst ? 'n-depart' : 'n-arrive');\n }\n\n }\n\n let isNotBeforeMin = ! this.minDate || \n now.after(this.minDate) || now.equalDate(this.minDate);\n\n let isNotAfterMax = ! this.maxDate || \n now.before(this.maxDate) || now.equalDate(this.maxDate);\n\n if ( ! isNotBeforeMin || ! isNotAfterMax ) {\n classList.push('n-disabled');\n }\n\n let props = {\n onMouseenter: () => this.printRange(now)\n };\n\n if ( isNotBeforeMin && isNotAfterMax ) {\n props.onClick = () => this.patchRange(now);\n }\n\n return (\n <div class={classList} {...props}>\n <span>{ now.format('DD') }</span>\n </div>\n );\n },\n\n renderDate()\n {\n let prev = () => {\n this.tempCache = this.tempCache.prevMonth();\n };\n let next = () => {\n this.tempCache = this.tempCache.nextMonth();\n };\n\n let legendHtml = (\n Arr.each(this.weekdays, (day) => {\n return (\n <div class=\"n-datepicker-panel__day\">\n <span>{ this.trans(day) }</span>\n </div>\n );\n })\n );\n\n let renderItem = this.ctor('renderDateItem');\n\n if ( this.range ) {\n renderItem = this.ctor('renderRangeDateItem');\n }\n\n let bodyHtml = (month) => (\n Arr.each(Arr.chunk(month.getDatesGrid(), 7), (chunks) => {\n return (\n <div class=\"n-datepicker-panel__week\">\n { Arr.each(chunks, (chunk) => renderItem(chunk, month)) }\n </div>\n );\n })\n );\n\n let panelHtml = (\n Arr.each(Arr.make(this.monthPanels), (offset) => {\n\n let month = this.tempCache.clone()\n .addMonths(offset - 1);\n\n return (\n <div class=\"n-datepicker-panel__panel\">\n <div class=\"n-datepicker-panel__legend\">\n { legendHtml }\n </div>\n <div class=\"n-datepicker-panel__body\">\n { bodyHtml(month) }\n </div>\n </div>\n );\n })\n );\n\n return (\n <div class=\"n-datepicker-panel__dateview\">\n <div class=\"n-datepicker-panel__header\">\n { this.ctor('renderToolbar')({ prev, next }) }\n </div>\n <div class=\"n-datepicker-panel__panels\">\n { panelHtml }\n </div>\n </div>\n );\n },\n\n renderMonthItem(now)\n {\n let classList = [\n 'n-datepicker-panel__month'\n ];\n\n if ( now.equal(this.tempCache, 'YYYYMM') ) {\n classList.push('n-selected');\n }\n\n if ( now.month() === Now.make('now').month() ) {\n classList.push('n-current');\n }\n\n let props = {\n onClick: () => this.patchMonth(now)\n };\n\n return (\n <div class={classList} {...props}>\n <span>{ this.trans(this.months[now.month()]) }</span>\n </div>\n )\n },\n\n renderMonth()\n {\n let prev = () => {\n this.tempCache = this.tempCache.prevYear();\n };\n\n let next = () => {\n this.tempCache = this.tempCache.nextYear();\n };\n\n return (\n <div class=\"n-datepicker-panel__monthview\">\n <div class=\"n-datepicker-panel__header\">\n { this.ctor('renderToolbar')({ prev, next }) }\n </div>\n <div class=\"n-datepicker-panel__body\">\n <div class=\"n-datepicker-panel__year\">\n { Arr.each(this.monthsGrid, this.ctor('renderMonthItem')) }\n </div>\n </div>\n <div class=\"n-datepicker-panel__footer\">\n <NButton size={this.type} size={this.size} link={true} onClick={this.gotoDate}>\n { this.trans('Go back') }\n </NButton>\n </div>\n </div>\n );\n },\n\n renderYearItem(now)\n {\n let classList = [\n 'n-datepicker-panel__year'\n ];\n\n if ( now.equal(this.tempCache, 'YYYY') ) {\n classList.push('n-selected');\n }\n\n if ( now.year() === Now.make('now').year() ) {\n classList.push('n-current');\n }\n\n let props = {\n onClick: () => this.patchYear(now)\n };\n\n return (\n <div class={classList} {...props}>\n <span>{ now.year() }</span>\n </div>\n )\n },\n\n renderYear()\n {\n let prev = () => {\n this.tempCache = this.tempCache.prevDecade();\n };\n\n let next = () => {\n this.tempCache = this.tempCache.nextDecade();\n };\n\n return (\n <div class=\"n-datepicker-panel__yearview\">\n <div class=\"n-datepicker-panel__header\">\n { this.ctor('renderToolbar')({ prev, next }) }\n </div>\n <div class=\"n-datepicker-panel__body\">\n <div class=\"n-datepicker-panel__decade\">\n { Arr.each(this.yearsGrid, this.ctor('renderYearItem')) }\n </div>\n </div>\n <div class=\"n-datepicker-panel__footer\">\n <NButton size={this.type} size={this.size} link={true} onClick={this.gotoDate}>\n { this.trans('Go back') }\n </NButton>\n </div>\n </div>\n );\n },\n\n render()\n {\n let classList = [\n 'n-datepicker-panel',\n 'n-datepicker-panel--' + this.size,\n 'n-datepicker-panel--' + this.type\n ]\n\n return (\n <div class={classList}>\n { this.ctor('render' + Str.ucfirst(this.tempView))() }\n </div>\n );\n }\n\n}","import { Obj, Now, Locale } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NDatepicker',\n\n props: {\n\n modelValue: {\n default()\n {\n return null;\n }\n },\n\n clearValue: {\n default()\n {\n return null;\n }\n },\n\n arrive: {\n default()\n {\n return null;\n }\n },\n\n clearArrive: {\n default()\n {\n return null;\n }\n },\n\n depart: {\n default()\n {\n return null;\n }\n },\n\n clearDepart: {\n default()\n {\n return null;\n }\n },\n\n minDate: {\n default()\n {\n return null;\n }\n },\n\n maxDate: {\n default()\n {\n return null;\n }\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n placeholder: {\n default()\n {\n return Locale.trans('Select date');\n },\n type: [String]\n },\n\n placeholderArrive: {\n default()\n {\n return Locale.trans('Start date');\n },\n type: [String]\n },\n\n placeholderDepart: {\n default()\n {\n return Locale.trans('End date');\n },\n type: [String]\n },\n\n range: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n rangeSeparator: {\n default()\n {\n return '-';\n },\n type: [String]\n },\n\n monthPanels: {\n default()\n {\n return 1;\n },\n type: [Number]\n },\n\n boundary: {\n default()\n {\n return null;\n }\n },\n\n position: {\n default()\n {\n return 'bottom-start';\n },\n type: [String]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n clearable: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n format: {\n default()\n {\n return 'YYYY-MM-DD HH:mm:ss';\n },\n type: [String]\n },\n\n displayFormat: {\n default()\n {\n return Locale.trans('YYYY-MM-DD');\n },\n type: [String]\n },\n\n weekdays: {\n default()\n {\n return [\n Locale.trans('Mo'),\n Locale.trans('Tu'),\n Locale.trans('We'),\n Locale.trans('Th'),\n Locale.trans('Fr'),\n Locale.trans('Sa'),\n Locale.trans('Su'),\n ];\n },\n type: [Array]\n },\n\n months: {\n default()\n {\n return [\n Locale.trans('Jan'),\n Locale.trans('Feb'),\n Locale.trans('Mar'),\n Locale.trans('Apr'),\n Locale.trans('May'),\n Locale.trans('Jun'),\n Locale.trans('Jul'),\n Locale.trans('Aug'),\n Locale.trans('Sep'),\n Locale.trans('Oct'),\n Locale.trans('Nov'),\n Locale.trans('Dec'),\n ];\n },\n type: [Array]\n }\n\n },\n\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue.format(this.format) ) {\n this.tempValue = Now.make(value);\n }\n },\n\n arrive(value)\n {\n if ( value !== this.tempArrive.format(this.format) ) {\n this.tempArrive = Now.make(value);\n }\n },\n\n depart(value)\n {\n if ( value !== this.tempDepart.format(this.format) ) {\n this.tempDepart = Now.make(value);\n }\n },\n\n },\n\n data()\n {\n return {\n focus: false,\n tempValue: Now.make(this.modelValue, this.format),\n tempArrive: Now.make(this.arrive, this.format),\n tempDepart: Now.make(this.depart, this.format),\n };\n },\n\n methods: {\n\n clearDatepicker()\n {\n this.range ? this.clearRangeDatepicker() :\n this.clearSingleDatepicker();\n },\n\n clearSingleDatepicker()\n {\n this.tempValue = Now.make(this.clearValue, \n this.format);\n\n this.$emit('update:modelValue', this.clearValue);\n },\n\n\n clearRangeDatepicker()\n {\n this.tempArrive = Now.make(this.clearArrive, \n this.format);\n\n this.$emit('update:arrive', this.clearValue);\n\n this.tempDepart = Now.make(this.clearDepart, \n this.format);\n\n this.$emit('update:depart', this.clearDepart);\n },\n\n onPopoverInput(value)\n {\n this.focus = value;\n },\n\n onValueInput(event)\n {\n let isNotSameLength = this.displayFormat.length !==\n event.target.value.length;\n\n if ( isNotSameLength ) {\n return;\n }\n\n let value = Now.make(event.target.value, \n this.displayFormat);\n\n if ( ! value.moment.isValid() ) {\n return;\n }\n\n let moment = this.tempValue.moment.set({\n year: value.moment.year(),\n month: value.moment.month(),\n date: value.moment.date(),\n });\n\n this.tempValue = Now.make(moment);\n\n this.$emit('update:modelValue', \n this.tempValue.format(this.format));\n },\n\n onArriveInput(event)\n {\n let isNotSameLength = this.displayFormat.length !==\n event.target.value.length;\n\n if ( isNotSameLength ) {\n return;\n }\n\n let value = Now.make(event.target.value, \n this.displayFormat);\n\n if ( ! value.moment.isValid() ) {\n return;\n }\n\n let moment = this.tempValue.moment.set({\n year: value.moment.year(),\n month: value.moment.month(),\n date: value.moment.date(),\n });\n\n this.tempArrive = Now.make(moment);\n\n this.$emit('update:arrive', \n this.tempArrive.format(this.format));\n },\n\n onDepartInput(event)\n {\n let isNotSameLength = this.displayFormat.length !==\n event.target.value.length;\n\n if ( isNotSameLength ) {\n return;\n }\n\n let value = Now.make(event.target.value, \n this.displayFormat);\n\n if ( ! value.moment.isValid() ) {\n return;\n }\n\n let moment = this.tempValue.moment.set({\n year: value.moment.year(),\n month: value.moment.month(),\n date: value.moment.date(),\n });\n\n this.tempDepart = Now.make(moment);\n\n this.$emit('update:depart', \n this.tempDepart.format(this.format));\n },\n\n onDatepickerInput(value)\n {\n this.focus = false;\n\n this.tempValue = Now.make(value, \n this.format);\n\n this.$emit('update:modelValue', value);\n },\n\n onDatepickerDepart(value)\n {\n this.focus = false;\n\n this.tempDepart = Now.make(value, \n this.format);\n\n this.$emit('update:depart', value);\n },\n\n onDatepickerArrive(value)\n {\n this.focus = false;\n\n this.tempArrive = Now.make(value, \n this.format);\n\n this.$emit('update:arrive', value);\n },\n\n },\n\n\n renderLabelClear()\n {\n let isEmpty = ! this.tempArrive.initialDate &&\n ! this.tempDepart.initialDate;\n\n if ( ! this.range ) {\n isEmpty = ! this.tempValue.initialDate;\n }\n\n if ( ! this.clearable || isEmpty ) {\n return null;\n }\n\n let props = {};\n\n if ( ! this.disabled ) {\n props.onMousedown = this.clearDatepicker;\n }\n\n return (\n <div class=\"n-datepicker__clear\" {...props}>\n <i class={ nano.Icons.times }></i>\n </div>\n );\n },\n\n renderLabelAngle()\n {\n return (\n <div class=\"n-datepicker__angle\">\n <i class={ nano.Icons.angleDown }></i>\n </div>\n );\n },\n\n renderRange()\n {\n let arriveProps = {\n value: '',\n disabled: this.disabled,\n placeholder: this.placeholderArrive,\n onInput: this.onArriveInput,\n };\n\n if ( this.tempArrive.valid() ) {\n arriveProps.value = this.tempArrive.format(\n this.displayFormat, true);\n }\n\n let departProps = {\n value: '',\n disabled: this.disabled,\n placeholder: this.placeholderDepart,\n onInput: this.onDepartInput,\n };\n\n if ( this.tempDepart.valid() ) {\n departProps.value = this.tempDepart.format(\n this.displayFormat, true);\n }\n\n return [\n (\n <div class=\"n-datepicker__input\">\n <input {...arriveProps}/>\n </div>\n ),\n (\n <div class=\"n-datepicker__seperator\">\n <span>{ this.rangeSeparator }</span>\n </div>\n ),\n (\n <div class=\"n-datepicker__input\">\n <input {...departProps}/>\n </div>\n )\n ];\n },\n\n renderSingle()\n {\n let props = {\n value: '',\n disabled: this.disabled,\n placeholder: this.placeholder,\n onInput: this.onValueInput,\n };\n\n if ( this.tempValue.valid() ) {\n props.value = this.tempValue.format(\n this.displayFormat, true);\n }\n\n return (\n <div class=\"n-datepicker__input\">\n <input {...props}/>\n </div>\n );\n },\n\n renderDisplay()\n {\n let classList = [\n 'n-datepicker__display'\n ];\n\n if ( this.range ) {\n classList.push('n-range');\n }\n\n let displayHtml = this.ctor('renderSingle');\n\n if ( this.range ) {\n displayHtml = this.ctor('renderRange');\n }\n\n return (\n <div class={classList}>\n { this.ctor('renderLabelClear')() }\n { displayHtml() }\n { this.ctor('renderLabelAngle')() }\n </div>\n );\n },\n\n renderItems()\n {\n \n let props = Obj.except(this.$props, ['modelValue'], {\n arrive: this.tempArrive.format(this.format) || null,\n depart: this.tempDepart.format(this.format) || null,\n modelValue: this.tempValue.format(this.format) || null,\n });\n\n props['onUpdate:arrive'] = this.onDatepickerArrive;\n props['onUpdate:depart'] = this.onDatepickerDepart;\n props['onUpdate:modelValue'] = this.onDatepickerInput;\n\n return (\n <NDatepickerPanel class=\"n-datepicker__body\" {...props}></NDatepickerPanel>\n );\n },\n\n renderPopover()\n {\n let props = {\n trigger: 'click',\n width: 0,\n size: this.size,\n position: this.position,\n scrollClose: true,\n disabled: this.disabled\n };\n\n return (\n <NPopover ref=\"popover\" vModel={this.focus} {...props}>\n { { raw: this.ctor('renderItems') } }\n </NPopover>\n );\n },\n\n render()\n {\n let classList = [\n 'n-datepicker',\n 'n-datepicker--' + this.type,\n 'n-datepicker--' + this.size,\n ];\n\n let isEmpty = ! this.tempArrive.initialDate &&\n ! this.tempDepart.initialDate;\n\n if ( ! this.range ) {\n isEmpty = ! this.tempValue.initialDate;\n }\n\n if ( isEmpty ) {\n classList.push('n-empty');\n }\n\n if ( this.clearable ) {\n classList.push('n-clearable');\n }\n\n if ( this.focus ) {\n classList.push('n-focus');\n }\n\n if ( this.disabled ) {\n classList.push('n-disabled');\n }\n\n return (\n <div class={classList}>\n { this.ctor('renderDisplay')() }\n { this.ctor('renderPopover')() }\n </div>\n );\n }\n\n}","import DatepickerPanel from \"./src/datepicker-panel/datepicker-panel\";\nimport Datepicker from \"./src/datepicker/datepicker\";\n\nexport default function (App) {\n App.component(DatepickerPanel.name, DatepickerPanel);\n App.component(Datepicker.name, Datepicker);\n}","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NInputNumber'] = Locale.trans('NInputNumber');\n\nglobal.NanoBuilderIndexies['NInputNumber'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NInputNumber']['props'] = {\n modelValue: {\n for: ['binds', 'props'], default: null, type: 'Number'\n },\n clearValue: {\n for: ['binds', 'props'], default: null, type: 'Number'\n },\n clearable: {\n for: ['binds', 'props'], default: false, type: 'Boolean', options: global.NanoPrototypeBools\n },\n min: {\n for: ['binds', 'props'], default: 0, type: 'Number'\n },\n max: {\n for: ['binds', 'props'], default: Number.MAX_VALUE, type: 'Number'\n },\n stepSize: {\n for: ['binds', 'props'], default: 1, type: 'Number'\n },\n precision: {\n for: ['binds', 'props'], default: 0, type: 'Number'\n },\n size: {\n for: ['binds', 'props'], default: 'md', type: 'String', options: global.NanoPrototypeSizes\n },\n type: {\n for: ['binds', 'props'], default: 'primary', type: 'String', options: global.NanoPrototypeTypes\n },\n disabled: {\n for: ['binds', 'props'], default: false, type: 'Boolean', options: global.NanoPrototypeBools\n },\n placeholder: {\n for: ['binds', 'props'], default: '', type: 'String'\n },\n format: {\n for: ['binds', 'props'], default: ':count', type: 'String'\n },\n decimals: {\n for: ['binds', 'props'], default: '.', type: 'String'\n },\n};","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NCheckbox'] = Locale.trans('n-checkbox');\n\nglobal.NanoBuilderIndexies['NCheckbox'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NCheckbox']['props'] = {\n //\n};","import { UUID, Num, Arr, Obj, Any, Dom, Locale } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NModal',\n\n inject: {\n\n NScrollbar: {\n default: undefined\n }\n\n },\n\n props: {\n\n modelValue: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n listen: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n update: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n selector: {\n default()\n {\n return null;\n },\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n width: {\n default()\n {\n return '50%';\n },\n type: [String]\n },\n\n height: {\n default()\n {\n return 'auto';\n },\n type: [String]\n },\n\n title: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'default';\n },\n type: [String]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n position: {\n default()\n {\n return 'center-center';\n },\n type: [String]\n },\n\n closable: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n renderClose: {\n default()\n {\n return true;\n },\n type: [Boolean]\n }\n\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue ) {\n this.tempValue = value;\n }\n },\n\n tempValue()\n {\n this.startRefreshTimeout();\n }\n\n },\n\n provide()\n {\n return {\n NModal: this\n };\n },\n\n data()\n {\n return {\n target: null, tempValue: false\n };\n },\n\n mounted()\n {\n this.target = Dom.find(this.selector || this.$el)\n .previous().get(0);\n\n Dom.find(document.body).on('mousedown',\n this.eventClick, this._.uid);\n\n Dom.find(document.body).on('keydown',\n this.eventKeydown, this._.uid);\n\n let showModal = () => {\n this.tempValue = true;\n };\n\n if ( this.modelValue ) {\n Any.delay(showModal, 100);\n }\n\n Dom.find(document.body).append(this.$el);\n },\n\n beforeUnmount()\n {\n this.$el.remove();\n },\n\n unmounted()\n {\n Dom.find(document.body).off('mousedown',\n null, this._.uid);\n\n Dom.find(document.body).off('keydown',\n null, this._.uid);\n },\n\n methods: {\n\n openModal(force = false, source = null)\n {\n if ( this.tempValue ) {\n return;\n }\n\n if ( this.closable || force ) {\n this.tempValue = true;\n }\n\n this.$emit('update:modelValue', true, source);\n },\n\n closeModal(force = false, source = null)\n {\n if ( ! this.tempValue ) {\n return;\n }\n\n if ( ! this.update ) {\n return this.$emit('close', source);\n }\n\n if ( this.closable || force ) {\n this.tempValue = false;\n }\n\n this.$emit('update:modelValue', false, source);\n },\n\n stopRefreshTimeout()\n {\n clearTimeout(this.refresh);\n\n Dom.find(this.$el).removeClass('n-ready');\n },\n\n startRefreshTimeout()\n {\n if ( ! this.tempValue ) {\n return this.stopRefreshTimeout();\n }\n\n window.zIndex += 1;\n\n Dom.find(this.$el).attr('data-modal',\n window.zIndex);\n\n Dom.find(this.$el).css({\n 'z-index': window.zIndex\n });\n\n this.queueRefreshTimeout();\n },\n\n queueRefreshTimeout()\n {\n if ( ! this.tempValue ) {\n return this.stopRefreshTimeout();\n }\n\n this.refresh = setTimeout(() => {\n Dom.find(this.$el).addClass('n-ready');\n }, 100);\n },\n\n eventClick(event, el)\n {\n if ( this.disabled || event.which !== 1 ) {\n return;\n }\n\n let result = !! Dom.find(el).closest(this.target);\n\n if ( ! result && ! this.tempValue ) {\n return;\n }\n\n if ( this.tempValue && this.closable ) {\n result = ! Dom.find(el).closest(this.$refs.backdrop);\n }\n\n if ( result === this.tempValue ) {\n return;\n }\n\n if ( ! result ) {\n return this.closeModal(false, 'escape');\n }\n\n if ( this.listen ) {\n this.openModal(true, 'selector');\n }\n },\n\n eventKeydown(event, el)\n {\n if ( ! this.tempValue || event.which !== 27 ) {\n return;\n }\n\n let extractIndex = (modal) => {\n return Dom.find(modal).attr('data-modal');\n };\n\n let indexes = Dom.find('.n-modal:not(.n-hidden)')\n .each(extractIndex);\n\n let index = Dom.find(this.$el).attr('data-modal');\n\n if ( Arr.last(indexes.sort()) !== index ) {\n return;\n }\n\n this.closeModal(false, 'escape');\n },\n\n },\n\n renderClose()\n {\n if ( ! this.renderClose || ! this.closable ) {\n return null;\n }\n\n let props = {\n onClick: () => this.closeModal(false, 'escape')\n };\n\n return (\n <div class=\"n-modal__close\" {...props}>\n <span class={nano.Icons.times}></span>\n </div>\n );\n },\n\n renderHeader()\n {\n if ( ! this.$slots.header && ! this.title ) {\n return null;\n }\n\n return (\n <div class=\"n-modal__header\">\n { [this.$slots.header && this.$slots.header({ closeModal: this.closeModal }) || this.title, this.ctor('renderClose')()] }\n </div>\n );\n },\n\n renderFooter()\n {\n if ( ! this.$slots.footer ) {\n return null;\n }\n\n return (\n <div class=\"n-modal__footer\">\n { this.$slots.footer({ closeModal: this.closeModal }) }\n </div>\n );\n },\n\n renderBody()\n {\n let bodyHtml = (\n <NScrollbar ref=\"scrollbar\" relative={true} wrapClass=\"n-modal__wrap\">\n { this.$slots.default && this.$slots.default({ closeModal: this.closeModal }) }\n </NScrollbar>\n );\n\n if ( this.$slots.body ) {\n bodyHtml = this.$slots.body({ closeModal: this.closeModal });\n }\n\n return (\n <div class=\"n-modal__body\">\n { bodyHtml }\n </div>\n );\n },\n\n renderFrame()\n {\n if ( ! this.tempValue ) {\n return null;\n }\n\n let style = {\n width: this.width, height: this.height\n };\n\n let innerHtml = [\n this.ctor('renderHeader')(),\n this.ctor('renderBody')(),\n this.ctor('renderFooter')(),\n ]\n\n return (\n <div class=\"n-modal__frame\" style={style}>\n { this.$slots.raw ? this.$slots.raw() : innerHtml }\n </div>\n );\n },\n\n renderBackdrop()\n {\n return (\n <div ref=\"backdrop\" class=\"n-modal__backdrop\"></div>\n );\n },\n\n render()\n {\n if ( ! window.zIndex ) {\n window.zIndex = 9000;\n }\n\n let classList = [\n 'n-modal',\n 'n-modal--' + this.size,\n 'n-modal--' + this.type,\n 'n-modal--' + this.position\n ];\n\n if ( this.tempValue ) {\n this.queueRefreshTimeout();\n }\n\n if ( this.renderClose ) {\n classList.push('n-closable');\n }\n\n if ( ! this.tempValue ) {\n classList.push('n-hidden');\n }\n\n let innerHtml = null;\n\n if ( this.tempValue ) {\n innerHtml = this.ctor('renderFrame')();\n }\n\n return (\n <div class={classList}>\n { [innerHtml, this.ctor('renderBackdrop')()] }\n </div>\n );\n }\n\n}\n","import Modal from './src/modal/modal';\n\nexport default function (App) {\n App.component(Modal.name, Modal);\n}\n","global.NanoPrototypeSizes = [\n 'xs', 'sm', 'md', 'lg'\n];\n\nglobal.NanoPrototypeTypes = [\n 'primary', 'secondary', 'success', 'warning', 'danger', 'info'\n];\n\nglobal.NanoPrototypeBools = [\n 'true', 'false'\n];","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NTabsItem'] = Locale.trans('NTabsItem');\n\nglobal.NanoBuilderIndexies['NTabsItem'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NTabsItem']['props'] = {\n //\n};","module.exports = __WEBPACK_EXTERNAL_MODULE__6055__;","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['span'] = Locale.trans('span');\n\nglobal.NanoBuilderIndexies['span'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['span']['props'] = {\n //\n};","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NSlider'] = Locale.trans('NSlider');\n\nglobal.NanoBuilderIndexies['NSlider'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NSlider']['props'] = {\n //\n};","import { Str, Num, Arr, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NPaginator',\n\n props: {\n\n page: {\n default()\n {\n return 1;\n },\n type: [Number]\n },\n\n limit: {\n default()\n {\n return 100;\n },\n type: [Number]\n },\n\n limitOptions: {\n default()\n {\n return [25, 50, 100, 500, 1000, 2500];\n },\n },\n\n total: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n maxPages: {\n default()\n {\n return 5;\n },\n type: [Number]\n },\n\n layout: {\n default()\n {\n return [\n 'limit', 'count', 'spacer', 'goto', 'pages'\n ]\n },\n type: [Array]\n }\n\n },\n\n computed: {\n\n pages()\n {\n return Num.ceil(this.total / this.tempLimit);\n },\n\n pageOptions()\n {\n return Arr.make(this.pages || 1);\n }\n\n },\n\n data()\n {\n return {\n tempPage: this.page, tempLimit: this.limit,\n };\n },\n\n\n\n methods: {\n\n forcePage(page)\n {\n if ( page !== this.tempPage ) {\n this.tempPage = page;\n }\n },\n\n updatePaginate()\n {\n let paginate = {\n page: this.tempPage, limit: this.tempLimit\n };\n\n this.$emit('paginate', paginate);\n },\n\n onPrevPage()\n {\n this.onPageInput(this.tempPage - 1);\n },\n\n onNextPage()\n {\n this.onPageInput(this.tempPage + 1);\n },\n\n onFirstPage()\n {\n this.onPageInput(1);\n },\n\n onLastPage()\n {\n this.onPageInput(this.pages);\n },\n\n onPageInput(value)\n {\n this.$emit('update:page', this.tempPage = value);\n\n this.updatePaginate();\n },\n\n onLimitInput(value)\n {\n if ( this.tempLimit !== value ) {\n this.$emit('update:page', this.tempPage = 1);\n }\n\n this.$emit('update:limit', this.tempLimit = value);\n\n this.updatePaginate();\n },\n\n },\n\n watch: {\n\n page(value)\n {\n if ( value !== this.tempPage ) {\n this.tempPage = value;\n }\n },\n\n limit(value)\n {\n if ( value !== this.tempLimit ) {\n this.tempLimit = value;\n }\n }\n\n },\n\n renderLimit()\n {\n let props = {\n modelValue: this.tempLimit,\n size: this.size,\n type: this.type,\n optionsValue: '$value.value',\n optionsLabel: '$value.label',\n };\n\n props.options = Arr.each(this.limitOptions, (limit) => {\n return {\n value: limit, label: this.choice(':count items', limit)\n };\n });\n\n props['onUpdate:modelValue'] = this.onLimitInput;\n\n return (\n <div class=\"n-paginator__limit\">\n <NSelect {...props} />\n </div>\n );\n },\n\n renderCount()\n {\n return (\n <div class=\"n-paginator__count\">\n { this.choice('No items|Total :count item|Total :count items', this.total) }\n </div>\n );\n },\n\n renderSpacer()\n {\n return (\n <div class=\"n-paginator__spacer\">\n { /* Nothing :( */ }\n </div>\n );\n },\n\n renderGoto()\n {\n if ( this.pageOptions.length > 500 ) {\n return null;\n }\n\n let props = {\n modelValue: this.tempPage,\n size: this.size,\n type: this.type,\n undefinedText: '?',\n optionsValue: '$value.value',\n optionsLabel: '$value.label',\n };\n\n props.options = Arr.reduce(this.pageOptions, (merge, index) => {\n return Arr.push(merge, {\n value: index, label: index\n });\n }, []);\n\n props['onUpdate:modelValue'] = this.onPageInput;\n\n return (\n <div class=\"n-paginator__goto\">\n <NSelect {...props} />\n </div>\n );\n },\n\n renderPrev()\n {\n let props = {\n type: this.type,\n square: true,\n size: this.size,\n icon: nano.Icons.angleLeft,\n onClick: this.onPrevPage\n };\n\n if ( this.tempPage - 1 < 1 ) {\n props.disabled = true;\n }\n\n return (\n <NButton {...props} />\n );\n },\n\n renderNext()\n {\n let props = {\n type: this.type,\n square: true,\n size: this.size,\n icon: nano.Icons.angleRight,\n onClick: this.onNextPage\n };\n\n if ( this.tempPage + 1 > this.pages ) {\n props.disabled = true;\n }\n\n return (\n <NButton {...props} />\n );\n },\n\n renderFirst()\n {\n if ( this.pages < this.maxPages ) {\n return null;\n }\n\n let props = {\n type: this.type,\n square: true,\n size: this.size,\n icon: nano.Icons.angleDoubleLeft,\n onClick: this.onFirstPage\n };\n\n if ( this.tempPage - 1 < 1 ) {\n props.disabled = true;\n }\n\n return (\n <NButton {...props} />\n );\n },\n\n renderLast()\n {\n if ( this.pages < this.maxPages ) {\n return null;\n }\n\n let props = {\n type: this.type,\n square: true,\n size: this.size,\n icon: nano.Icons.angleDoubleRight,\n onClick: this.onLastPage\n };\n\n if ( this.tempPage + 1 > this.pages ) {\n props.disabled = true;\n }\n\n return (\n <NButton {...props} />\n );\n },\n\n renderPage(index)\n {\n let page = this.tempPage;\n\n let pages = Math.abs(this.maxPages / 2);\n\n if ( page < pages ) {\n page = pages;\n }\n\n let global = Array(this.pages).length;\n\n if ( page > global - pages ) {\n page = global - pages;\n }\n\n let current = Num.int(index);\n\n if ( current < page - pages ) {\n return null;\n }\n\n if ( current > Math.max(1, page + pages) ) {\n return null;\n }\n\n let props = {\n type: this.type,\n size: this.size,\n };\n\n if ( current === this.tempPage ) {\n props.disabled = true;\n }\n\n props.onClick = () => {\n this.onPageInput(current);\n };\n\n return (\n <NButton {...props}>{ current }</NButton>\n );\n },\n\n renderPages()\n {\n let pages = Arr.each(this.pageOptions, (index) => {\n return this.ctor('renderPage')(index);\n });\n\n return (\n <div class=\"n-paginator__pages\">\n { this.ctor('renderFirst')() }\n { this.ctor('renderPrev')() }\n { ...pages }\n { this.ctor('renderNext')() }\n { this.ctor('renderLast')() }\n </div>\n );\n },\n\n renderSlot(view)\n {\n let renderFunction = this.ctor('render' + \n Str.ucfirst(view));\n\n if ( Any.isFunction(renderFunction) ) {\n return renderFunction();\n }\n\n return this.$slots[view] && this.$slots[view]();\n },\n\n render()\n {\n let className = [\n 'n-paginator',\n 'n-paginator--' + this.size,\n 'n-paginator--' + this.type\n ];\n\n return <div class={className}>\n {\n Arr.each(this.layout, (view) => {\n return this.ctor('renderSlot')(view);\n })\n }\n </div>;\n }\n}\n","import Paginator from './src/paginator/paginator';\n\nexport default function (App) {\n App.component(Paginator.name, Paginator);\n}","import { UUID, Num, Arr, Obj, Any, Dom, Locale } from \"@kizmann/pico-js\";\nimport { h } from \"vue\";\n\nexport default {\n\n name: 'NForm',\n\n inheritAttrs: false,\n\n model: {\n prop: 'form'\n },\n\n props: {\n\n dom: {\n default()\n {\n return 'div';\n },\n type: [String]\n },\n\n form: {\n default()\n {\n return {};\n },\n type: [Object]\n },\n\n errors: {\n default()\n {\n return {};\n },\n type: [Object]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n align: {\n default()\n {\n return 'vertical';\n },\n type: [String]\n },\n\n prevent: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n ignore: {\n default()\n {\n return ['modified', 'dragid'];\n },\n type: [Array]\n },\n\n forceChange: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n forceErrors: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n },\n\n computed: {\n\n classList()\n {\n if ( ! this.$attrs.class ) {\n return [];\n }\n\n return Any.isArray(this.$attrs) ? this.$attrs.class :\n [this.$attrs.class];\n }\n\n },\n\n data()\n {\n return {\n uid: UUID(), elements: [], groups: {}, blocked: true,\n };\n },\n\n provide()\n {\n return {\n NForm: this\n };\n },\n\n mounted()\n {\n Any.delay(this.ctor('ready'), 500);\n },\n\n ready()\n {\n this.$watch('form', this.emitChange,\n { deep: true });\n\n this.resetChange();\n },\n\n methods: {\n\n registerGroup(group)\n {\n this.groups[group.key] = group;\n },\n\n unregisterGroup(group)\n {\n delete this.groups[group.key];\n },\n\n onSubmit(event)\n {\n if ( this.prevent ) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n if ( Dom.find(event.target).is('input') ) {\n this.$emit('submit', event);\n }\n\n return this.prevent;\n },\n\n addItem(item)\n {\n Arr.add(this.elements, item, {\n uid: item.uid\n });\n },\n\n removeItem(item)\n {\n Arr.remove(this.elements,{\n uid: item.uid\n });\n },\n\n resetChange(timeout = 500)\n {\n clearTimeout(this.timeout);\n\n this.timeout = setTimeout(() => {\n this.blocked = false;\n }, timeout);\n\n this.blocked = true;\n\n let value = Obj.except(this.form,\n this.ignore);\n\n this.prevState = JSON.stringify(value);\n },\n\n emitChange()\n {\n if ( this.blocked ) {\n return;\n }\n\n let value = Obj.except(this.form,\n this.ignore);\n\n let nextState = JSON.stringify(value);\n\n if ( this.prevState == nextState ) {\n return;\n }\n\n this.prevState = nextState;\n\n this.$emit('change');\n },\n\n },\n\n render()\n {\n let classList = [\n 'n-form',\n 'n-form--' + this.align,\n ];\n\n let attrs = Obj.except(this.$attrs, ['class', 'onChange', 'onSubmit'], {\n class: this.cmer(classList)\n });\n\n attrs['onSubmit'] = (e) => {\n return false;\n }\n\n return h(this.dom, { ...attrs }, [\n this.$slots.default && this.$slots.default()\n ]);\n }\n\n}\n","import { UUID } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NFormGroup',\n\n inject: {\n\n NForm: {\n default: undefined\n }\n\n },\n\n props: {\n\n modelValue: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n key: {\n default()\n {\n return UUID();\n },\n type: [String]\n },\n\n label: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n icon: {\n default()\n {\n return '';\n }\n },\n\n size: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n kind: {\n default()\n {\n return 'classic';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n align: {\n default()\n {\n return 'vertical';\n },\n type: [String]\n },\n\n collapse: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n tooltip: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n tooltipPosition: {\n default()\n {\n return 'bottom-start';\n },\n type: [String]\n }\n\n },\n\n mounted()\n {\n if ( this.NForm ) {\n this.NForm.registerGroup(this);\n }\n },\n\n unmounted()\n {\n if ( this.NForm ) {\n this.NForm.unregisterGroup(this);\n }\n },\n\n data()\n {\n return {\n tempValue: this.modelValue\n };\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue ) {\n this.tempValue = value;\n }\n }\n\n },\n\n methods: {\n\n collapseGroup()\n {\n this.$emit('update:modelValue', this.tempValue = ! this.tempValue);\n }\n\n },\n\n renderCollapse()\n {\n if ( ! this.collapse ) {\n return null;\n }\n\n return (\n <div class=\"n-form-group__collapse\">\n <i class={nano.Icons.angleDown}></i>\n </div>\n );\n },\n\n renderIcon()\n {\n if ( ! this.icon ) {\n return null;\n }\n\n return (\n <div class=\"n-form-group__icon\">\n <i class={['n-icon', this.icon]}></i>\n </div>\n );\n },\n\n renderText()\n {\n let textHtml = (\n <div class=\"n-form-group__text\">\n <span>{ this.label }</span>\n </div>\n );\n\n return (\n <div class=\"n-form-group__label\">\n { [this.ctor('renderIcon')(), textHtml] } \n </div>\n );\n },\n\n renderAction()\n {\n if ( ! this.$slots.action ) {\n return null;\n }\n\n return (\n <div class=\"n-form-group__action\">\n { this.$slots.action() }\n </div>\n );\n },\n\n renderLabel()\n {\n return (\n <div class=\"n-form-group__legend\" onClick={this.collapseGroup}>\n { this.ctor('renderCollapse')() }\n { this.ctor('renderText')() }\n { this.ctor('renderAction')() }\n </div>\n );\n },\n\n renderTooltip()\n {\n if ( ! this.tooltip ) {\n return null;\n }\n\n return (\n <NPopover type=\"tooltip\" size=\"sm\" position={this.tooltipPosition}>\n {this.tooltip}\n </NPopover>\n );\n },\n\n renderBody()\n {\n return (\n <div class=\"n-form-group__body\">\n { this.$slots.default && this.$slots.default() }\n </div>\n );\n },\n\n render()\n {\n let size = this.size ;\n\n if ( this.NForm ) {\n size = size || this.NForm.size;\n }\n\n let classList = [\n 'n-form-group', \n 'n-form-group--' + size,\n 'n-form-group--' + this.type,\n 'n-form-group--' + this.align, \n ];\n\n if ( this.collapse ) {\n classList.push('n-form-group--collapse');\n }\n\n if ( ! this.tempValue ) {\n classList.push('n-hidden');\n }\n\n if ( this.$slots.action ) {\n classList.push('n-action');\n }\n\n return (\n <fieldset id={this.key} class={classList} data-group-key={this.key}>\n { this.ctor('renderLabel')() }\n { this.ctor('renderTooltip')() }\n { this.ctor('renderBody')() }\n </fieldset>\n );\n }\n}\n","import { Arr, Obj, Any, Dom, UUID, Locale } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NFormItem',\n\n inject: {\n\n NForm: {\n default: undefined\n },\n\n NTabs: {\n default: undefined\n },\n\n NTabsItem: {\n default: undefined\n }\n\n },\n\n provide()\n {\n return { NFormItem: this };\n },\n\n props: {\n\n modelValue: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n prop: {\n default()\n {\n return 'id';\n },\n type: [String]\n },\n\n label: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n size: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n tooltip: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n tooltipPosition: {\n default()\n {\n return 'bottom-start';\n },\n type: [String]\n },\n\n tooltipWindow: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n conditional: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n conditionOn: {\n default()\n {\n return Locale.trans('Enable field');\n },\n type: [String]\n },\n\n conditionOff: {\n default()\n {\n return Locale.trans('Disable field');\n },\n type: [String]\n }\n\n },\n\n methods: {\n\n enabled(component = false)\n {\n return (! this.conditional || this.modelValue) && ! component;\n },\n\n disabled(component)\n {\n return (this.conditional && ! this.modelValue) || component;\n },\n\n toggleCondition()\n {\n this.$emit('update:modelValue', !this.modelValue);\n },\n\n focusInput()\n {\n let $input = Dom.find(this.$el).find('input');\n\n if ( !$input.empty() ) {\n return $input.get(0).focus();\n }\n\n $input = Dom.find(this.$refs.input).childs();\n\n if ( !$input.empty() ) {\n return $input.get(0).click();\n }\n\n console.log('I dont belong here :o');\n },\n\n gotoInput()\n {\n let errors = this.NForm.errors;\n\n if ( Any.isEmpty(errors) ) {\n return;\n }\n\n if ( !this.NTabs || !this.NTabsItem ) {\n return;\n }\n\n let keys = Any.keys(errors);\n\n if ( Arr.first(keys) !== this.prop ) {\n return;\n }\n\n this.NTabs.changeTab(this.NTabsItem.name);\n }\n\n },\n\n data()\n {\n return {\n uid: UUID()\n };\n },\n\n beforeMount()\n {\n if ( this.NForm ) {\n this.NForm.addItem(this);\n }\n },\n\n mounted()\n {\n if ( this.NForm ) {\n this.NForm.$watch('errors', this.gotoInput, { deep: true });\n }\n },\n\n beforeUnmount()\n {\n if ( this.NForm ) {\n this.NForm.removeItem(this);\n }\n },\n\n renderTooltip()\n {\n if ( !this.tooltip && !this.$slots.tooltip ) {\n return null;\n }\n\n let props = {\n size: 'sm',\n position: this.tooltipPosition,\n };\n\n return (\n <NPopover type=\"tooltip\" {...props}>\n {this.$slots.tooltip && this.$slots.tooltip() || this.tooltip}\n </NPopover>\n );\n },\n\n renderCondition()\n {\n if ( ! this.conditional ) {\n return null;\n }\n\n return (\n <div class=\"n-form-item__condition\" onClick={this.toggleCondition}>\n <span>{ this.modelValue ? this.conditionOff : this.conditionOn }</span>\n </div>\n );\n },\n\n renderLabel()\n {\n if ( !this.label && !this.$slots.label ) {\n return null;\n }\n\n let labelHtml = (\n <div class=\"n-form-item__label\">\n <label onClick={this.focusInput}>\n {this.$slots.label && this.$slots.label() || this.label}\n </label>\n </div>\n );\n\n return [\n labelHtml, this.ctor('renderTooltip')()\n ]\n },\n\n renderError()\n {\n if ( !this.NForm || !Obj.has(this.NForm.errors, this.prop) ) {\n return null;\n }\n\n return (\n <div class=\"n-form-item__error\">\n {Obj.get(this.NForm.errors, this.prop)}\n </div>\n );\n },\n\n renderInput()\n {\n return (\n <div ref=\"input\" class=\"n-form-item__input\">\n {this.$slots.default && this.$slots.default()}\n </div>\n );\n },\n\n render()\n {\n let size = this.size || Obj.get(this.NForm, 'size', 'md');\n\n\n let classList = [\n 'n-form-item',\n 'n-form-item--' + size,\n ];\n\n if ( this.disabled() ) {\n classList.push('is-disabled');\n }\n\n return <div class={classList}>\n {this.ctor('renderCondition')()}\n {this.ctor('renderLabel')()}\n {this.ctor('renderInput')()}\n {this.ctor('renderError')()}\n </div>;\n }\n}\n","import { Arr, Obj, Any, Dom, UUID, Locale } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NFormMenu',\n\n inject: {\n\n NForm: {\n default: undefined\n },\n\n },\n\n props: {\n\n size: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n },\n\n mounted()\n {\n\n Dom.find(document).on('scroll', Any.debounce(() => {\n\n let loop = true;\n\n Arr.each(this.NForm.groups, (item) => {\n loop = loop && ! this.bindInviewEvent(item);\n })\n }));\n },\n\n methods: {\n\n bindInviewEvent(item)\n {\n let [menu, group] = [\n `[data-menu-key=\"${item.key}\"]`,\n `[data-group-key=\"${item.key}\"]`\n ];\n\n let inview = Dom.find(group).inviewY(0.1);\n\n Dom.find('[data-menu-key]')\n .removeClass('is-visible');\n\n if ( inview ) {\n Dom.find(menu).addClass('is-visible');\n }\n\n return inview;\n }\n\n },\n\n renderMenu(item)\n {\n return (\n <div data-menu-key={item.key}>\n <a href={'#' + item.key}>{item.label}</a>\n </div>\n );\n },\n\n renderMenus()\n {\n return Arr.each(this.NForm.groups, (item) => {\n return this.ctor('renderMenu')(item);\n })\n },\n\n render()\n {\n let classList = [\n 'n-form-menu'\n ];\n\n return <div class={classList}>\n {this.ctor('renderMenus')()}\n </div>;\n }\n}\n","import { Arr, Obj, Any, Dom, UUID, Locale } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NFrame',\n\n provide()\n {\n return { NFrame: this };\n },\n\n props: {\n\n resize: {\n default() {\n return false;\n },\n type: [Boolean]\n },\n\n scrollbar: {\n default() {\n return false;\n },\n type: [Boolean]\n }\n\n },\n\n render()\n {\n let classList = [\n 'n-frame'\n ];\n\n return (\n <div class={classList}>\n {this.$slots.default && this.$slots.default()}\n </div>\n );\n }\n}\n","import { Arr, Obj, Any, Dom, UUID, Locale } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NFrameItem',\n\n inject: {\n\n NFrame: {\n default: undefined\n },\n\n },\n\n props: {\n\n width: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n resize: {\n default() {\n return null;\n },\n type: [Boolean]\n },\n\n scrollbar: {\n default() {\n return null;\n },\n type: [Boolean]\n }\n\n },\n\n computed: {\n\n itemResize() {\n return Any.isNull(this.resize) ? this.NFrame.resize : this.resize;\n },\n\n itemScrollbar() {\n return Any.isNull(this.scrollbar) ? this.NFrame.scrollbar : this.scrollbar;\n }\n\n },\n\n renderContent()\n {\n if ( ! this.itemScrollbar ) {\n return this.$slots.default && this.$slots.default();\n }\n\n return (\n <NScrollbar>{this.$slots.default && this.$slots.default()}</NScrollbar>\n );\n },\n\n renderDiv(classList)\n {\n let style = {\n //\n };\n\n if ( this.width ) {\n style.width = this.width + 'px';\n }\n\n return (\n <div class={classList} style={style}>\n {this.ctor('renderContent')()}\n </div>\n );\n },\n\n renderResizer(classList, style)\n {\n let props = {\n width: this.width\n };\n\n return (\n <NResizer class={classList} {...props}>\n {this.ctor('renderContent')()}\n </NResizer>\n );\n },\n\n render()\n {\n let classList = [\n 'n-frame-item'\n ];\n\n if ( this.itemResize ) {\n classList.push('is-resize');\n }\n\n if ( this.itemScrollbar ) {\n classList.push('is-scrollbar');\n }\n\n if ( this.itemResize ) {\n return this.ctor('renderResizer')(classList);\n }\n\n return this.ctor('renderDiv')(classList);\n }\n}\n","import Form from './src/form/form';\nimport FormGroup from './src/form-group/form-group';\nimport FormItem from './src/form-item/form-item';\nimport FormMenu from './src/form-menu/form-menu';\nimport FormFrame from './src/form-frame/form-frame';\nimport FormFrameItem from './src/form-frame-item/form-frame-item';\n\nexport default function (App) {\n App.component(Form.name, Form);\n App.component(FormGroup.name, FormGroup);\n App.component(FormItem.name, FormItem);\n App.component(FormFrame.name, FormFrame);\n App.component(FormFrameItem.name, FormFrameItem);\n App.component(FormMenu.name, FormMenu);\n}","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NRadio'] = Locale.trans('NRadio');\n\nglobal.NanoBuilderIndexies['NRadio'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NRadio']['props'] = {\n //\n};","import { Any, Arr, Obj, Dom, Event, UUID } from \"@kizmann/pico-js\";\nimport { h, resolveComponent } from \"vue\";\n\nexport default {\n\n name: 'NTable',\n\n provide()\n {\n return {\n NTable: this\n };\n },\n\n props: {\n\n items: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n draggable: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n visible: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n current: {\n default()\n {\n return null;\n }\n },\n\n selected: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n expanded: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n filter: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n sortProp: {\n default()\n {\n return 'id';\n },\n type: [String]\n },\n\n sortDir: {\n default()\n {\n return 'desc';\n },\n type: [String]\n },\n\n closeFilterOnEnter: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n group: {\n default()\n {\n return ['default'];\n },\n type: [Array]\n },\n\n allowGroups: {\n default()\n {\n return ['default'];\n },\n type: [Array]\n },\n\n handle: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n safezone: {\n default()\n {\n return (height) => height * 0.51;\n }\n },\n\n showEmptyIcon: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n itemHeight: {\n default()\n {\n return 38;\n },\n type: [Number]\n },\n\n itemOffset: {\n default()\n {\n return 30;\n },\n type: [Number]\n },\n\n scrollTopOnChange: {\n default()\n {\n return false;\n }\n },\n\n uniqueProp: {\n default()\n {\n return 'id';\n },\n type: [String]\n },\n\n childProp: {\n default()\n {\n return 'children';\n },\n type: [String]\n },\n\n renderSelect: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n renderHandle: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n renderExpand: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n renderCurrent: {\n default()\n {\n return true;\n }\n },\n\n transformDrop: {\n default()\n {\n return (node) => node;\n }\n },\n\n disableMove: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n insertNode: {\n default()\n {\n return () => true;\n }\n },\n\n removeNode: {\n default()\n {\n return () => true;\n }\n },\n\n allowSelect: {\n default()\n {\n return () => true;\n }\n },\n\n allowDrag: {\n default()\n {\n return () => true;\n }\n },\n\n allowDrop: {\n default()\n {\n return () => true;\n }\n },\n\n threshold: {\n default()\n {\n return 1;\n },\n type: [Number]\n },\n\n useKeys: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n keyEvents: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n highlightTimeout: {\n default()\n {\n return 7000;\n },\n type: [Number]\n },\n\n },\n\n computed: {\n\n checked()\n {\n return !!this.tempSelected.length &&\n this.tempSelected.length === this.items.length;\n },\n\n intermediate()\n {\n return !!this.tempSelected.length &&\n this.tempSelected.length !== this.items.length\n }\n\n },\n\n data()\n {\n return {\n uid: UUID(),\n elements: [],\n tempVisible: this.visible,\n tempVisibleProps: [],\n tempSelected: this.selected,\n tempSortProp: this.sortProp,\n tempSortDir: this.sortDir,\n tempFilter: this.filter,\n tempFilterProps: [],\n }\n },\n\n mounted()\n {\n this.$watch('tempVisible',\n this.makeVisibleProps, { deep: true });\n\n if ( !this.tempVisible.length ) {\n Arr.each(this.elements, this.detectVisible);\n }\n },\n\n watch: {\n\n selected(value)\n {\n this.tempSelected = value;\n },\n\n },\n\n methods: {\n\n addColumn(column)\n {\n Arr.add(this.elements, column,\n { uid: column.uid });\n },\n\n removeColumn(column)\n {\n Arr.remove(this.elements,\n { uid: column.uid });\n },\n\n getColumnIndex(column)\n {\n if ( !Any.isString(column) ) {\n column = column['prop'];\n }\n\n return Arr.findIndex(this.tempVisibleProps,\n column);\n },\n\n getColumnVisiblity(column)\n {\n if ( !Any.isString(column) ) {\n column = column.prop;\n }\n\n return Arr.has(this.tempVisible, column);\n },\n\n getColumnSorted(column)\n {\n let prop = column;\n\n if ( !Any.isString(prop) ) {\n prop = column.sortProp;\n }\n\n if ( Any.isEmpty(prop) ) {\n prop = column.prop;\n }\n\n if ( this.tempSortProp !== prop ) {\n return null;\n }\n\n return this.tempSortDir;\n },\n\n getColumnFilter(column)\n {\n let prop = column;\n\n if ( !Any.isString(prop) ) {\n prop = column.filterProp;\n }\n\n if ( Any.isEmpty(prop) ) {\n prop = column.prop;\n }\n\n return Arr.find(this.tempFilter, {\n property: prop\n });\n },\n\n getColumnFiltered(column)\n {\n let prop = column;\n\n if ( !Any.isString(prop) ) {\n prop = column.filterProp;\n }\n\n if ( Any.isEmpty(prop) ) {\n prop = column.prop;\n }\n\n return Arr.has(this.tempFilterProps, prop);\n },\n\n detectVisible(column)\n {\n if ( column.detectVisibity() ) {\n Arr.add(this.tempVisible, column.prop);\n }\n },\n\n makeVisibleProps()\n {\n this.tempVisibleProps = Arr.intersect(\n Arr.extract(this.elements, 'prop'), this.tempVisible);\n\n this.$nextTick(this.$refs.scrollbar.onResize);\n },\n\n sortByColumn(column)\n {\n let prop = column;\n\n if ( !Any.isString(prop) ) {\n prop = column.sortProp;\n }\n\n if ( Any.isEmpty(prop) ) {\n prop = column.prop;\n }\n\n\n let dir = this.tempSortDir;\n\n if ( prop === this.tempSortProp && this.tempSortDir === 'desc' ) {\n dir = 'asc';\n }\n\n if ( prop === this.tempSortProp && this.tempSortDir === 'asc' ) {\n dir = 'desc';\n }\n\n if ( this.tempSortDir !== dir ) {\n this.$emit('update:sortDir', this.tempSortDir = dir);\n }\n\n if ( this.tempSortProp !== prop ) {\n this.$emit('update:sortProp', this.tempSortProp = prop);\n }\n\n this.$emit('sort', this.tempSortProp, this.tempSortDir);\n },\n\n replaceFilter(filter, search)\n {\n Arr.replace(this.tempFilter, filter, search);\n\n let filters = Arr.filter(this.tempFilter, (filter) => {\n return Arr.has(this.tempFilterProps, filter.property);\n });\n\n this.$emit('update:filter', filters);\n\n this.$emit('filter', filters, this.tempFilterProps);\n },\n\n resetFilter()\n {\n this.tempFilter = this.tempFilterProps = [];\n\n Event.fire('NTable:reset', this.uid);\n\n this.$emit('update:filter', this.tempFilter);\n\n this.$emit('filter', this.tempFilter, this.tempFilterProps);\n },\n\n selectAll()\n {\n this.$refs.draggable.selectAll();\n },\n\n highlightNode(value, key = null)\n {\n this.$refs.draggable.highlightNode(value, key);\n },\n\n syncCurrent()\n {\n return this.$refs.draggable.syncCurrent();\n },\n\n refreshCurrent()\n {\n this.$refs.draggable.refreshCurrent();\n },\n\n },\n\n renderHandle()\n {\n if ( !this.renderHandle ) {\n return null;\n }\n\n return (\n <div class=\"n-draglist-item__handle\">\n { /* Only used in row */}\n </div>\n )\n },\n\n renderExpand()\n {\n if ( !this.renderExpand ) {\n return null;\n }\n\n return (\n <div class=\"n-draglist-item__expand\">\n { /* Only used in row */}\n </div>\n )\n },\n\n renderSelect()\n {\n if ( !this.renderSelect ) {\n return null;\n }\n\n let props = {\n modelValue: this.checked,\n intermediate: this.intermediate,\n disabled: !this.items.length,\n onClick: this.selectAll\n };\n\n return (\n <div class=\"n-draglist-item__select\">\n <NCheckbox {...props}></NCheckbox>\n </div>\n );\n },\n\n renderBody(props)\n {\n let columns = Obj.each(this.elements, (column) => {\n return column.disabled ? null : column.ctor('renderBody')(props);\n });\n\n return Obj.values(columns);\n },\n\n renderContext()\n {\n let columns = Obj.each(this.elements, (column) => {\n\n if ( column.disabled ) {\n return null;\n }\n\n return (\n <NCheckbox class=\"n-table__checkbox\" value={column.prop}>\n {column.label}\n </NCheckbox>\n );\n });\n\n return (\n <NPopover trigger=\"context\" width={220}>\n <NCheckboxGroup vModel={this.tempVisible} align=\"vertical\">\n {Obj.values(columns)}\n </NCheckboxGroup>\n </NPopover>\n );\n },\n\n renderHead()\n {\n let defaultRender = [\n this.ctor('renderHandle')(),\n this.ctor('renderExpand')(),\n this.ctor('renderSelect')(),\n this.ctor('renderContext')()\n ];\n\n let columns = Obj.each(this.elements, (column) => {\n return column.disabled ? null : column.ctor('renderHead')();\n });\n\n return (\n <div class=\"n-table__header\">\n {defaultRender} {Obj.values(columns)}\n </div>\n );\n },\n\n render()\n {\n let except = [\n 'visible', 'filter', 'sortProp',\n 'sortDir', 'closeFilterOnEnter'\n ];\n\n let props = Obj.except(this.$props, except, {\n items: this.items,\n selected: this.tempSelected,\n overflowX: false,\n useKeys: this.useKeys,\n // renderNode: this.ctor('renderBody')\n });\n\n props['onRowClick'] = (...args) => {\n this.$emit('row-click', ...args);\n }\n\n props['onRowDblclick'] = (...args) => {\n this.$emit('row-dblclick', ...args);\n }\n\n props['onUpdate:items'] = (value) => {\n this.$emit('update:items', value);\n }\n\n props['onUpdate:current'] = (value) => {\n this.$emit('update:current', value);\n }\n\n props['onUpdate:expanded'] = (value) => {\n this.$emit('update:expanded', value);\n }\n\n props['onUpdate:selected'] = (value) => {\n this.$emit('update:selected', this.tempSelected = value);\n }\n\n let draggableHtml = (\n <div class=\"n-table__body\">\n <NDraglist ref=\"draggable\" {...props} offsetX={25}>\n {{ default: this.ctor('renderBody') }}\n </NDraglist>\n </div>\n );\n\n return (\n <div class=\"n-table\">\n <NScrollbar ref=\"scrollbar\" class=\"n-table__wrap\" fixture={true} overflowY={false}>\n <div class=\"n-table__inner\">\n {[this.ctor('renderHead')(), draggableHtml]}\n </div>\n </NScrollbar>\n {this.$slots.default && this.$slots.default()}\n </div>\n );\n },\n\n}","import { Any, Arr, Obj, Str, Dom, UUID, Num, Locale } from \"@kizmann/pico-js\";\nimport { h, resolveComponent } from \"vue\";\n\nexport default {\n\n name: 'NTableColumn',\n\n inject: {\n\n NTable: {\n default: undefined\n }\n\n },\n\n props: {\n\n modelValue: {\n default()\n {\n return null;\n }\n },\n\n prop: {\n default()\n {\n return UUID();\n },\n type: [String]\n },\n\n label: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n tooltip: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'string';\n },\n type: [String]\n },\n\n align: {\n default()\n {\n return 'left';\n },\n type: [String]\n },\n\n sort: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n filter: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n visible: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean, Function]\n },\n\n matrixDisabled: {\n default()\n {\n return false;\n },\n type: [Boolean, Function]\n },\n\n breakpoint: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n previewProp: {\n default()\n {\n return 'preview';\n },\n type: [String]\n },\n\n matrix: {\n default()\n {\n return - 1;\n },\n type: [Number, String]\n },\n\n matrixProp: {\n default()\n {\n return 'matrix';\n },\n type: [String]\n },\n\n options: {\n default()\n {\n return [];\n },\n type: [Object, Array, Function]\n },\n\n optionsValue: {\n default()\n {\n return '$value';\n },\n type: [String]\n },\n\n optionsLabel: {\n default()\n {\n return '$value';\n },\n type: [String]\n },\n\n sortProp: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n filterProp: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n fluid: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n fixedWidth: {\n default()\n {\n return 0;\n }\n },\n\n width: {\n default()\n {\n return 0;\n }\n },\n\n minWidth: {\n default()\n {\n return 120;\n }\n },\n\n maxWidth: {\n default()\n {\n return 0;\n }\n },\n\n emptyText: {\n default()\n {\n return '-';\n },\n type: [String]\n },\n\n undefinedText: {\n default()\n {\n return Locale.trans('-');\n },\n type: [String]\n },\n\n trueText: {\n default()\n {\n return Locale.trans('Yes');\n },\n type: [String]\n },\n\n falseText: {\n default()\n {\n return Locale.trans('No');\n },\n type: [String]\n },\n\n datetimeFormat: {\n default()\n {\n return Locale.trans('YYYY-MM-DD HH:mm');\n },\n type: [String]\n },\n\n allowUncheck: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n },\n\n computed: {\n\n matrixValues()\n {\n if ( this.type !== 'matrix' ) {\n return;\n }\n\n let values = {};\n\n if ( Any.isEmpty(this.modelValue) ) {\n return values;\n }\n\n Arr.each(this.modelValue, (item) => {\n Obj.set(values, item[this.NTable.uniqueProp],\n Num.matrix(item[this.matrixProp]));\n });\n\n return values;\n }\n\n },\n\n provide()\n {\n return {\n NTableColumn: this\n };\n },\n\n data()\n {\n return {\n uid: UUID(), tempWidth: 0\n };\n },\n\n methods: {\n\n detectVisibity()\n {\n let visible = this.visible;\n\n if ( this.breakpoint ) {\n visible &= Dom.find(this.NTable.$el).width() > this.breakpoint;\n }\n\n return visible;\n },\n\n sortByColumn(event)\n {\n if ( !Arr.has([0, 1], event.which) ) {\n return;\n }\n\n if ( !Dom.find(event.target).closest('.n-table-column__filter') ) {\n this.NTable.sortByColumn(this);\n }\n },\n\n },\n\n beforeMount()\n {\n this.changedStates = {};\n this.NTable.addColumn(this);\n },\n\n beforeUnmount()\n {\n this.NTable.removeColumn(this);\n },\n\n renderHead()\n {\n if ( !this.NTable.getColumnVisiblity(this) ) {\n return null;\n }\n\n let classList = [\n 'n-table-column',\n 'n-table-column--' + this.align,\n 'n-table-column--' + this.type,\n ];\n\n let sortDirection = this.NTable.getColumnSorted(this);\n\n if ( sortDirection ) {\n classList.push('n-sorted', 'n-' + sortDirection);\n }\n\n if ( this.fluid || !this.width ) {\n classList.push('n-fluid');\n }\n\n if ( this.fixedWidth ) {\n classList.push('n-fixed');\n }\n\n if ( this.NTable.getColumnFiltered(this) ) {\n classList.push('n-filtered');\n }\n\n let style = {};\n\n if ( this.fixedWidth ) {\n style.width = this.fixedWidth + 'px';\n }\n\n if ( this.width ) {\n style.flexBasis = this.width + 'px';\n }\n\n let props = {\n modelValue: this.tempWidth,\n width: this.width,\n minWidth: this.minWidth,\n maxWidth: this.maxWidth,\n disabled: !!this.fixedWidth,\n group: [this.NTable.uid],\n };\n\n props['onUpdate:modelValue'] = (value) => {\n this.tempWidth = value;\n }\n\n if ( this.sort ) {\n props.onMousedown = this.sortByColumn;\n }\n\n return (\n <NResizer ref=\"column\" class={classList} style={style} {...props}>\n {this.ctor('renderHeadSort')()}\n {this.ctor('renderHeadLabel')()}\n {this.ctor('renderHeadFilter')()}\n </NResizer>\n );\n },\n\n renderHeadLabel()\n {\n let classList = [\n 'n-table-column__label'\n ];\n\n let labelHtml = (\n <div class={classList}>\n <span>{this.label}</span>\n </div>\n );\n\n if ( Any.isEmpty(this.tooltip) ) {\n return labelHtml;\n }\n\n let tooltipHtml = (\n <NPopover type=\"tooltip\">{this.tooltip}</NPopover>\n );\n\n return [labelHtml, tooltipHtml];\n },\n\n renderHeadSort()\n {\n if ( !this.sort ) {\n return null;\n }\n\n return (\n <div class=\"n-table-column__sort\">\n <i>{ /* Sorting angles */}</i>\n </div>\n )\n },\n\n renderHeadFilter()\n {\n if ( !this.filter ) {\n return null;\n }\n\n let angleHtml = (\n <div class=\"n-table-column__filter\">\n <i class={nano.Icons.angleDown}></i>\n </div>\n );\n\n let component = resolveComponent('NTableFilter' +\n Str.ucfirst(this.type));\n\n return [\n angleHtml, h(component, { column: this })\n ];\n },\n\n renderBody(props)\n {\n if ( !this.NTable.getColumnVisiblity(this) ) {\n return null;\n }\n\n let uid = props.value[this.NTable.uniqueProp]\n + this.uid;\n\n let classList = [\n 'n-table-cell',\n 'n-table-cell--' + this.align,\n 'n-table-cell--' + this.type,\n ];\n\n if ( this.fluid ) {\n classList.push('n-fluid');\n }\n\n if ( this.tempWidth ) {\n classList.push('n-fixed');\n }\n\n let index = this.NTable.getColumnIndex(this);\n\n let offset = 0;\n\n if ( index === 0 ) {\n offset = props.value.depth * this.NTable.itemOffset;\n }\n\n let style = {\n width: (this.tempWidth - offset) + 'px'\n };\n\n if ( this.minWidth ) {\n style.minWidth = (this.minWidth - offset) + 'px';\n }\n\n if ( this.maxWidth ) {\n style.maxWidth = (this.maxWidth - offset) + 'px';\n }\n\n let passed = Obj.except(this.$attrs, [], {\n ...props, uid: uid, class: classList, style: style, column: this\n });\n\n let component = resolveComponent('NTableCell' +\n Str.ucfirst(this.type));\n\n return h(component, passed);\n },\n\n render()\n {\n return null;\n }\n\n}","import { Obj } from \"@kizmann/pico-js\";\n\nexport default {\n\n inject: {\n\n NTable: {\n default: undefined\n },\n\n NDraggableItem: {\n default: undefined\n }\n\n },\n\n props: {\n\n uid: {\n required: true\n },\n\n column: {\n required: true\n },\n\n item: {\n required: true\n },\n\n value: {\n required: true\n },\n\n copy: {\n required: true\n },\n\n remove: {\n required: true\n },\n\n\n },\n\n computed: {\n\n input()\n {\n return Obj.get(this.item, this.column.prop);\n }\n\n },\n\n data()\n {\n return { init: false };\n },\n\n mounted()\n {\n this.timer = setTimeout(() => this.init = true, 20);\n },\n\n beforeUnmount()\n {\n clearTimeout(this.timer);\n },\n\n methods: {\n\n setFirstState(state)\n {\n Obj.set(this.column.changedStates,\n this.uid, this.firstState = state);\n }\n\n },\n\n render()\n {\n if ( this.column.$slots.default ) {\n return this.column.$slots.default(this);\n }\n \n return (\n <div>{ this.input }</div>\n );\n }\n\n}\n","import TableCell from \"../table-cell\";\nimport { Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NTableCellString',\n\n extends: TableCell,\n\n render()\n {\n if ( ! this.init ) {\n return null;\n }\n\n if ( this.column.cslo('default', this) ) {\n return (\n <div>{ this.column.$slots.default(this) }</div>\n );\n }\n\n return (\n <div>\n <span>{ Any.convertString(this.input, this.column.emptyText) }</span>\n </div>\n );\n }\n\n}\n","import TableCell from \"../table-cell\";\nimport { Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NTableCellBoolean',\n\n extends: TableCell,\n\n render()\n {\n if ( ! this.init ) {\n return null;\n }\n\n if ( this.column.cslo('default', this) ) {\n return (\n <div>{ this.column.$slots.default(this) }</div> \n );\n }\n\n return (\n <div>\n <span>{ Any.convertBoolean(this.input, this.column.trueText, this.column.falseText) }</span>\n </div>\n );\n }\n\n}\n","import TableCell from \"../table-cell\";\nimport { Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NTableCellDatetime',\n\n extends: TableCell,\n\n render()\n {\n if ( ! this.init ) {\n return null;\n }\n\n if ( this.column.cslo('default', this) ) {\n return (\n <div>{ this.column.$slots.default(this) }</div> \n );\n }\n\n return (\n <div>\n <span>{ Any.convertDatetime(this.input, this.column.datetimeFormat, this.column.emptyText) }</span>\n </div>\n );\n }\n\n}\n","import TableCell from \"../table-cell\";\nimport { Arr, Obj, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NTableCellOption',\n\n extends: TableCell,\n\n renderOption(value)\n {\n let options = this.column.options;\n\n if ( Any.isFunction(options) ) {\n options = this.column.options(this);\n }\n\n options = Arr.each(options, (value, index) => {\n return { $value: value, $index: index };\n });\n\n let prop = this.column.optionsValue;\n\n let option = Arr.find(options, (item) => {\n return Obj.get(item, prop) == value;\n });\n\n if ( ! option ) {\n return [this.column.emptyText];\n }\n\n return Obj.get(option, this.column.optionsLabel,\n this.column.undefinedText);\n },\n\n render()\n {\n if ( ! this.init ) {\n return null;\n }\n\n if ( this.column.cslo('default', this) ) {\n return (\n <div>{ this.column.$slots.default(this) }</div> \n );\n }\n\n let input = ! Any.isObject(this.input) ?\n [this.input] : this.input;\n\n return (\n <div>\n <span>{ Arr.each(input, this.ctor('renderOption')) }</span>\n </div>\n );\n }\n\n}\n","import TableCell from \"../table-cell\";\nimport { Obj, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NTableCellImage',\n\n extends: TableCell,\n\n computed: {\n\n preview()\n {\n return Obj.get(this.item, this.column.previewProp);\n }\n\n },\n\n render()\n {\n if ( ! this.init ) {\n return null;\n }\n\n if ( this.column.cslo('default', this) ) {\n return (\n <div>{ this.column.$slots.default(this) }</div> \n );\n }\n\n let classList = [\n 'n-table-cell',\n 'n-table-cell--' + this.column.type\n ];\n\n let props = {\n fit: 'contain',\n }\n\n return (\n <div class={classList}>\n <NPreview file={this.preview || this.input} thumb={this.input} {...props} />\n </div>\n );\n }\n\n}\n","import TableCell from \"../table-cell\";\nimport { Num, Any, Obj, Arr, UUID } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NTableCellMatrix',\n\n extends: TableCell,\n\n beforeMount()\n {\n this.firstState = Obj.get(this.column.changedStates,\n this.uid);\n },\n\n methods: {\n\n toggleMatrix()\n {\n if ( this.column.matrix === -1 ) {\n return this.toggleSelect();\n }\n\n let itemList = this.column.modelValue;\n\n if ( itemList === null ) {\n itemList = [];\n }\n\n let item = Arr.find(itemList, {\n [this.NTable.uniqueProp]: this.value[this.NTable.uniqueProp]\n });\n\n if ( ! item ) {\n item = Obj.assign({}, this.item, { [this.column.matrixProp]: 0 });\n }\n\n let currentMatrix = Num.int(item[this.column.matrixProp]);\n\n let matrix = Arr.toggle(Num.matrix(currentMatrix),\n Num.int(this.column.matrix));\n\n item[this.column.matrixProp] = Num.combine(matrix);\n\n Arr.replace(itemList, item, {\n [this.NTable.uniqueProp]: item[this.NTable.uniqueProp]\n });\n\n this.column.$emit('update:modelValue', itemList);\n },\n\n toggleSelect()\n {\n let itemList = this.column.modelValue;\n\n if ( itemList === null ) {\n itemList = [];\n }\n\n let fallback = Obj.assign({}, this.item, {\n [this.column.matrixProp]: this.column.matrix\n });\n\n let finder = {\n [this.NTable.uniqueProp]: this.value[this.NTable.uniqueProp],\n };\n\n let item = Arr.find(itemList, finder);\n\n if ( ! item ) {\n Arr.add(itemList, fallback);\n } else {\n Arr.remove(itemList, finder);\n }\n\n this.column.$emit('update:modelValue', itemList);\n },\n\n isChecked()\n {\n let matrix = Obj.get(this.column.matrixValues,\n this.item[this.NTable.uniqueProp]);\n\n if ( ! matrix ) {\n return false;\n }\n\n let value = Num.int(this.column.matrix);\n\n if ( value === -1 ) {\n return true;\n }\n\n return Arr.has(matrix, value);\n },\n\n isDisabled()\n {\n if ( ! Any.isFunction(this.column.matrixDisabled) ) {\n return this.column.matrixDisabled;\n }\n\n return this.column.matrixDisabled(this);\n }\n\n },\n\n render()\n {\n let checked = this.isChecked();\n\n if ( this.firstState === null ) {\n this.setFirstState(checked);\n }\n\n if ( ! this.init ) {\n return null;\n }\n\n let classList = [\n 'n-table-cell--checkbox'\n ];\n\n if ( this.firstState !== checked ) {\n classList.push('n-changed');\n }\n\n if ( checked ) {\n classList.push('n-checked');\n }\n\n let isDisabled = this.isDisabled();\n\n if ( this.column.allowUncheck ) {\n isDisabled = isDisabled && ! checked;\n }\n\n if ( isDisabled ) {\n classList.push('n-disabled');\n }\n\n let props = {};\n\n if ( ! isDisabled ) {\n props.onClick = this.toggleMatrix;\n }\n\n return (\n <div class={classList} {...props}>\n <i class={nano.Icons.checked}></i>\n </div>\n );\n }\n\n}\n","import TableCell from \"../table-cell\";\nimport { Num, Any, Obj, Arr } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NTableCellSelect',\n\n extends: TableCell,\n\n beforeMount()\n {\n this.firstState = Obj.get(this.column.changedStates,\n this.uid);\n },\n\n methods: {\n\n toggleSelect()\n {\n let item = null;\n\n if ( ! this.isChecked() ) {\n item = Obj.assign({}, this.item);\n }\n\n this.column.$emit('update:modelValue', item);\n },\n\n isChecked()\n {\n if ( Any.isEmpty(this.column.modelValue) ) {\n return false;\n }\n\n return Obj.get(this.column.modelValue, this.NTable.uniqueProp) ===\n this.value[this.NTable.uniqueProp];\n },\n\n isDisabled()\n {\n if ( ! Any.isEmpty(this.column.modelValue) ) {\n return true;\n }\n\n if ( ! Any.isFunction(this.column.disabled) ) {\n return this.column.disabled;\n }\n\n return this.column.disabled(this);\n },\n\n },\n\n render()\n {\n let checked = this.isChecked();\n\n if ( this.firstState === null ) {\n this.setFirstState(checked);\n }\n\n if ( ! this.init ) {\n return null;\n }\n\n let classList = [\n 'n-table-cell--checkbox'\n ];\n\n if ( this.firstState !== checked ) {\n classList.push('n-changed');\n }\n\n if ( checked ) {\n classList.push('n-checked');\n }\n\n let isDisabled = this.isDisabled();\n\n if ( this.column.allowUncheck ) {\n isDisabled = isDisabled && ! checked;\n }\n\n if ( isDisabled ) {\n classList.push('n-disabled');\n }\n\n let props = {};\n\n if ( ! isDisabled ) {\n props.onClick = this.toggleSelect;\n }\n\n return (\n <div class={classList} {...props}>\n <i class={nano.Icons.checked}></i>\n </div>\n );\n }\n\n}\n","import {Arr, Obj, Any, Dom, Event, UUID} from \"@kizmann/pico-js\";\n\nexport default {\n\n inject: {\n\n NTable: {\n default: undefined\n }\n\n },\n\n props: {\n\n column: {\n required: true\n }\n\n },\n\n computed: {\n\n tempFilter()\n {\n return this.NTable.getColumnFilter(this.column);\n },\n\n canReset()\n {\n return ! this.NTable.getColumnFiltered(this.column);\n },\n\n canApply()\n {\n return ! Any.isEmpty(this.filter.value);\n }\n\n },\n\n data()\n {\n return {\n filter: this.getFilterClone(), visible: false\n };\n },\n\n beforeMount()\n {\n this.mountFilter();\n },\n\n mounted()\n {\n Event.bind('NTable:reset', \n this.resetFilter, this._.uid);\n\n Dom.find(document).on('keydown', \n this.onKeydown, this._.uid);\n },\n\n beforeUnmount()\n {\n Event.unbind('NTable:reset', \n this._.uid);\n\n Dom.find(document).off('keydown', \n null, this._.uid);\n },\n\n methods: {\n\n getFilterClone()\n {\n let tempFilter = this.NTable.getColumnFilter(this.column);\n\n if ( Any.isEmpty(tempFilter) ) {\n return null;\n }\n\n return Obj.clone(tempFilter);\n },\n\n getFilterProp()\n {\n return this.column.filterProp || \n this.column.prop;\n },\n\n getDefaultFilter()\n {\n return {\n type: this.column.type, \n value: null,\n property: this.getFilterProp(), \n };\n },\n\n mountFilter()\n {\n if ( this.filter ) {\n return this.applyFilter();\n }\n\n this.filter = this.getDefaultFilter();\n\n if ( ! this.canApply ) {\n return;\n }\n\n Arr.add(this.NTable.tempFilter, this.filter, {\n property: this.getFilterProp()\n });\n },\n\n resetFilter(uid)\n {\n if ( this.NTable.uid !== uid ) {\n return;\n }\n\n this.filter = this.getDefaultFilter();\n\n Arr.add(this.NTable.tempFilter, this.filter, {\n property: this.getFilterProp()\n });\n },\n\n onKeydown(event)\n {\n if ( ! this.visible ) {\n return;\n }\n\n if ( event.which === 13 && this.canApply ) {\n this.applyFilter();\n }\n\n if ( event.which === 13 && ! this.canApply ) {\n this.clearFilter();\n }\n\n let closeAnyway = event.which === 13 &&\n this.NTable.closeFilterOnEnter;\n\n if ( closeAnyway || event.which === 27 ) {\n this.$refs.popover.close();\n }\n },\n\n applyFilter()\n {\n let filter = Obj.clone(this.filter);\n\n Arr.add(this.NTable.tempFilterProps, \n this.getFilterProp());\n\n this.NTable.replaceFilter(filter, {\n property: this.getFilterProp()\n });\n },\n\n clearFilter()\n {\n let filter = this.getDefaultFilter();\n\n Arr.remove(this.NTable.tempFilterProps, \n this.getFilterProp());\n\n this.NTable.replaceFilter(filter, {\n property: this.getFilterProp()\n });\n\n this.filter = filter;\n }\n\n },\n\n renderForm()\n {\n return null;\n },\n\n renderApply()\n {\n let props = {\n type: 'primary',\n link: true,\n size: 'xs',\n disabled: ! this.canApply\n };\n\n return (\n <NButton {...props} onClick={this.applyFilter}>\n { this.trans('Apply') }\n </NButton>\n );\n },\n\n renderReset()\n {\n let props = {\n type: 'danger',\n link: true,\n size: 'xs',\n disabled: this.canReset,\n };\n\n return (\n <NButton {...props} onClick={this.clearFilter}>\n { this.trans('Reset') }\n </NButton>\n );\n },\n\n renderFooter()\n {\n return (\n <div class=\"n-table-filter__footer\">\n { this.ctor('renderReset')() }\n { this.ctor('renderApply')() }\n </div>\n )\n },\n\n render()\n {\n let props = {\n class: 'n-table-filter__popover',\n trigger: 'click',\n size: 'sm',\n width: 220,\n }\n\n return (\n <NPopover ref=\"popover\" vModel={this.visible} {...props}>\n {\n { default: this.ctor('renderForm'), footer: this.ctor('renderFooter') }\n }\n </NPopover>\n );\n }\n}\n","import TableFilter from \"../table-filter\";\nimport { Dom, Any, Locale } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NTableFilterString',\n\n extends: TableFilter,\n\n methods: {\n\n getDefaultFilter()\n {\n return {\n type: this.column.type, \n value: null, \n operator: 'li',\n property: this.getFilterProp(), \n };\n }\n\n },\n\n renderForm()\n {\n let options = {\n li: this.trans('Includes value'),\n nl: this.trans('Excludes value'),\n eq: this.trans('Equal value'),\n ne: this.trans('Except value'),\n };\n\n return (\n <NForm>\n <NFormItem>\n <NInput size=\"sm\" vModel={this.filter.value} />\n </NFormItem>\n <NFormItem>\n <NSelect size=\"sm\" vModel={this.filter.operator} options={options} />\n </NFormItem>\n </NForm>\n );\n }\n\n}\n","import TableFilter from \"../table-filter\";\nimport { Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NTableFilterBoolean',\n\n extends: TableFilter,\n\n methods: {\n\n getDefaultFilter()\n {\n return {\n type: this.column.type, \n value: null, \n operator: 'in',\n property: this.getFilterProp(), \n };\n }\n\n },\n\n renderForm()\n {\n let options = {\n 1: this.trans(this.column.trueText),\n 0: this.trans(this.column.falseText),\n };\n\n return (\n <NForm>\n <NFormItem>\n <NSelect size=\"sm\" vModel={this.filter.value} options={options} />\n </NFormItem>\n </NForm>\n );\n }\n\n}\n","import TableFilter from \"../table-filter\";\n\nexport default {\n\n name: 'NTableFilterDatetime',\n\n extends: TableFilter,\n\n methods: {\n\n getDefaultFilter()\n {\n return {\n type: this.column.type, \n value: null, \n operator: 'eq',\n property: this.getFilterProp(), \n };\n }\n\n },\n\n renderForm()\n {\n let options = {\n eq: this.trans('Exact date'),\n lt: this.trans('Before date'),\n gt: this.trans('After date'),\n };\n\n return (\n <NForm>\n <NFormItem>\n <NDatepicker size=\"sm\" vModel={this.filter.value} format={this.column.datetimeFormat} />\n </NFormItem>\n <NFormItem>\n <NSelect size=\"sm\" vModel={this.filter.operator} options={options} />\n </NFormItem>\n </NForm>\n );\n }\n\n}\n","import TableFilter from \"../table-filter\";\nimport { Arr, Obj, Any, Locale } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NTableFilterOption',\n\n extends: TableFilter,\n\n methods: {\n\n getDefaultFilter()\n {\n return {\n type: this.column.type,\n value: [],\n operator: 'in',\n property: this.getFilterProp(),\n };\n }\n\n },\n\n renderOption(value)\n {\n let props = {\n value: Obj.get(value, this.column.optionsValue)\n };\n\n return (\n <NCheckbox {...props}>{ Obj.get(value, this.column.optionsLabel) }</NCheckbox>\n );\n },\n\n renderForm()\n {\n let items = this.column.options;\n\n if ( Any.isFunction(items) ) {\n items = this.column.options(this);\n }\n\n items = Arr.each(items, (value, index) => {\n return { $value: value, $index: index };\n });\n\n let options = {\n in: this.trans('Includes value'),\n ni: this.trans('Excludes value'),\n };\n\n return (\n <NForm>\n <NFormItem>\n <NCheckboxGroup size=\"sm\" align=\"vertical\" vModel={this.filter.value}>\n { Arr.each(items, this.ctor('renderOption')) }\n </NCheckboxGroup>\n </NFormItem>\n <NFormItem>\n <NSelect size=\"sm\" vModel={this.filter.operator} options={options} />\n </NFormItem>\n </NForm>\n );\n }\n\n}\n","import Table from './src/table/table';\nimport TableColumn from './src/table-column/table-column';\nimport TableCellString from './src/table-cell/types/table-cell-string';\nimport TableCellBoolean from './src/table-cell/types/table-cell-boolean';\nimport TableCellDatetime from './src/table-cell/types/table-cell-datetime';\nimport TableCellOption from './src/table-cell/types/table-cell-option';\nimport TableCellImage from './src/table-cell/types/table-cell-image';\nimport TableCellMatrix from './src/table-cell/types/table-cell-matrix';\nimport TableCellSelect from './src/table-cell/types/table-cell-select';\nimport TableFilterString from './src/table-filter/types/table-filter-string';\nimport TableFilterBoolean from './src/table-filter/types/table-filter-boolean';\nimport TableFilterDatetime from './src/table-filter/types/table-filter-datetime';\nimport TableFilterOption from './src/table-filter/types/table-filter-option';\n\n\nexport default function (App) {\n App.component(Table.name, Table);\n App.component(TableColumn.name, TableColumn);\n App.component(TableCellString.name, TableCellString);\n App.component(TableCellBoolean.name, TableCellBoolean);\n App.component(TableCellDatetime.name, TableCellDatetime);\n App.component(TableCellOption.name, TableCellOption);\n App.component(TableCellImage.name, TableCellImage);\n App.component(TableCellMatrix.name, TableCellMatrix);\n App.component(TableCellSelect.name, TableCellSelect);\n App.component(TableFilterString.name, TableFilterString);\n App.component(TableFilterBoolean.name, TableFilterBoolean);\n App.component(TableFilterDatetime.name, TableFilterDatetime);\n App.component(TableFilterOption.name, TableFilterOption);\n}","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NTimepicker'] = Locale.trans('NTimepicker');\n\nglobal.NanoBuilderIndexies['NTimepicker'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NTimepicker']['props'] = {\n //\n};","import { Arr, Obj, Now, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NTimepickerPanel',\n\n props: {\n\n modelValue: {\n default()\n {\n return null;\n }\n },\n\n clearValue: {\n default()\n {\n return null;\n }\n },\n\n placeholder: {\n default()\n {\n return 'Select time';\n },\n type: [String]\n },\n\n size: {\n default()\n {\n return 'md';\n }\n },\n\n type: {\n default()\n {\n return 'primary';\n }\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n format: {\n default()\n {\n return 'YYYY-MM-DD HH:mm:ss';\n },\n type: [String]\n },\n\n displayFormat: {\n default()\n {\n return 'HH:mm:ss';\n },\n type: [String]\n },\n\n hoursInterval: {\n default()\n {\n return 1;\n },\n type: [Number]\n },\n\n minutesInterval: {\n default()\n {\n return 1;\n },\n type: [Number]\n },\n\n secondsInterval: {\n default()\n {\n return 1;\n },\n type: [Number]\n }\n\n },\n\n computed: {\n\n hoursGrid()\n {\n return this.tempValue.getHours(this.hoursInterval);\n },\n\n minutesGrid()\n {\n return this.tempValue.getMinutes(this.minutesInterval);\n },\n\n secondsGrid()\n {\n return this.tempValue.getSeconds(this.secondsInterval);\n }\n\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue.format(this.format) ) {\n this.tempValue = Now.make(value);\n }\n }\n\n },\n\n data()\n {\n let modelValue = Now.make(this.modelValue);\n\n if ( Any.isEmpty(this.modelValue) ) {\n modelValue = modelValue.resetTime();\n }\n\n return {\n tempValue: modelValue,\n }\n },\n\n mounted()\n {\n this.scrollTo();\n },\n\n methods: {\n\n eventSelect(now)\n {\n this.$emit('update:modelValue',\n (this.tempValue = now.clone()).format(this.format));\n },\n\n scrollTo()\n {\n let scrollbars = Obj.only(this.$refs, [\n 'hour', 'minute', 'second'\n ]);\n\n Arr.each(scrollbars, (ref, key) => {\n ref.scrollIntoView(`[data-index=\"${this.tempValue[key]()}\"]`);\n });\n }\n\n },\n\n renderToolbar()\n {\n return (\n <div class=\"n-timepicker-panel__toolbar\">\n <div class=\"n-timepicker-panel__display\">\n <span class=\"n-timepicker-panel__time\">\n {this.tempValue.format(this.displayFormat) || this.placeholder}\n </span>\n </div>\n </div>\n )\n },\n\n renderHourItem(now)\n {\n let classList = [\n 'n-timepicker-panel__item'\n ];\n\n if ( this.tempValue.valid() && now.hour() === this.tempValue.hour() ) {\n classList.push('n-selected');\n }\n\n let props = {\n onMousedown: () => this.eventSelect(now)\n };\n\n return (\n <div class={classList} {...props} data-index={now.hour()}>\n <span>{now.format('HH')}</span>\n </div>\n );\n },\n\n renderHourPanel()\n {\n if ( !this.displayFormat.match('HH') ) {\n return null;\n }\n\n return (\n <NScrollbar ref=\"hour\" class=\"n-timepicker-panel__panel\" wrapClass=\"n-timepicker-panel__wrap\">\n {Arr.each(this.hoursGrid, this.ctor('renderHourItem'))}\n </NScrollbar>\n );\n },\n\n renderMinuteItem(now)\n {\n let classList = [\n 'n-timepicker-panel__item'\n ];\n\n if ( this.tempValue.valid() && now.minute() === this.tempValue.minute() ) {\n classList.push('n-selected');\n }\n\n let props = {\n onMousedown: () => this.eventSelect(now)\n };\n\n return (\n <div class={classList} {...props} data-index={now.minute()}>\n <span>{now.format('mm')}</span>\n </div>\n );\n },\n\n renderMinutePanel()\n {\n if ( !this.displayFormat.match('mm') ) {\n return null;\n }\n\n return (\n <NScrollbar ref=\"minute\" class=\"n-timepicker-panel__panel\" wrapClass=\"n-timepicker-panel__wrap\">\n {Arr.each(this.minutesGrid, this.ctor('renderMinuteItem'))}\n </NScrollbar>\n );\n },\n\n renderSecondItem(now)\n {\n let classList = [\n 'n-timepicker-panel__item'\n ];\n\n if ( this.tempValue.valid() && now.second() === this.tempValue.second() ) {\n classList.push('n-selected');\n }\n\n let props = {\n onMousedown: () => this.eventSelect(now)\n };\n\n return (\n <div class={classList} {...props} data-index={now.second()}>\n <span>{now.format('ss')}</span>\n </div>\n );\n },\n\n renderSecondPanel()\n {\n if ( !this.displayFormat.match('ss') ) {\n return null;\n }\n\n return (\n <NScrollbar ref=\"second\" class=\"n-timepicker-panel__panel\" wrapClass=\"n-timepicker-panel__wrap\">\n {Arr.each(this.secondsGrid, this.ctor('renderSecondItem'))}\n </NScrollbar>\n );\n },\n\n render()\n {\n let classList = [\n 'n-timepicker-panel',\n 'n-timepicker-panel--' + this.size,\n 'n-timepicker-panel--' + this.type,\n ];\n\n if ( this.disabled ) {\n classList.push('n-disabled');\n }\n\n return (\n <div class={classList}>\n <div class=\"n-timepicker-panel__header\">\n {this.ctor('renderToolbar')()}\n </div>\n <div class=\"n-timepicker-panel__body\">\n {this.ctor('renderHourPanel')()}\n {this.ctor('renderMinutePanel')()}\n {this.ctor('renderSecondPanel')()}\n </div>\n </div>\n );\n }\n\n}","import { Arr, Obj, Now, Any, Locale } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NTimepicker',\n\n props: {\n\n modelValue: {\n default()\n {\n return null;\n }\n },\n\n clearValue: {\n default()\n {\n return null;\n }\n },\n\n placeholder: {\n default()\n {\n return 'Select time';\n },\n type: [String]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n position: {\n default()\n {\n return 'bottom-start';\n },\n type: [String]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n clearable: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n format: {\n default()\n {\n return 'YYYY-MM-DD HH:mm:ss';\n },\n type: [String]\n },\n\n displayFormat: {\n default()\n {\n return Locale.trans('HH:mm:ss');\n },\n type: [String]\n },\n\n hoursInterval: {\n default()\n {\n return 1;\n },\n type: [Number]\n },\n\n minutesInterval: {\n default()\n {\n return 1;\n },\n type: [Number]\n },\n\n secondsInterval: {\n default()\n {\n return 1;\n },\n type: [Number]\n }\n\n },\n\n computed: {\n\n hoursGrid()\n {\n return this.tempValue.getHours(this.hoursInterval);\n },\n\n minutesGrid()\n {\n return this.tempValue.getMinutes(this.minutesInterval);\n },\n\n secondsGrid()\n {\n return this.tempValue.getSeconds(this.secondsInterval);\n }\n\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue.format(this.format) ) {\n this.tempValue = Now.make(value);\n }\n }\n\n },\n\n data()\n {\n return {\n focus: false,\n tempValue: Now.make(this.modelValue),\n }\n },\n\n methods: {\n\n clearTimepicker()\n {\n this.tempValue = Now.make(this.clearValue, \n this.format);\n\n this.$emit('update:modelValue', this.clearValue);\n },\n\n onPopoverInput(value)\n {\n this.focus = value;\n },\n\n onValueInput(event)\n {\n let isNotSameLength = this.displayFormat.length !==\n event.target.value.length;\n\n if ( isNotSameLength ) {\n return;\n }\n\n let value = Now.make(event.target.value, \n this.displayFormat);\n\n if ( ! value.moment.isValid() ) {\n return;\n }\n\n let moment = this.tempValue.moment.set({\n hour: value.moment.hour(), \n minute: value.moment.minute(), \n second: value.moment.second(),\n });\n\n this.tempValue = Now.make(moment);\n\n this.$emit('update:modelValue', \n this.tempValue.format(this.format));\n },\n\n onTimepickerInput(value)\n {\n this.tempValue = Now.make(value, \n this.format);\n\n this.$emit('update:modelValue', value);\n },\n\n },\n\n renderLabelClear()\n {\n if ( ! this.clearable || ! this.tempValue.valid() ) {\n return null;\n }\n\n let props = {};\n\n if ( ! this.disabled ) {\n props.onMousedown = this.clearTimepicker;\n }\n\n return (\n <div class=\"n-timepicker__clear\" {...props}>\n <i class={ nano.Icons.times }></i>\n </div>\n );\n },\n\n renderLabelAngle()\n {\n return (\n <div class=\"n-timepicker__angle\">\n <i class={ nano.Icons.angleDown }></i>\n </div>\n );\n },\n\n renderSingle()\n {\n let props = {\n value: '',\n disabled: this.disabled,\n placeholder: this.trans(this.placeholder),\n onInput: this.onValueInput,\n };\n\n if ( this.tempValue.valid() ) {\n props.value = this.tempValue.format(\n this.displayFormat, true);\n }\n\n return (\n <div class=\"n-timepicker__input\">\n <input {...props}/>\n </div>\n );\n },\n\n renderDisplay()\n {\n let classList = [\n 'n-timepicker__display'\n ];\n\n return (\n <div class={classList}>\n { this.ctor('renderLabelClear')() }\n { this.ctor('renderSingle')() }\n { this.ctor('renderLabelAngle')() }\n </div>\n );\n },\n\n renderPanel()\n {\n \n let props = Obj.except(this.$props, ['modelValue'], {\n modelValue: this.tempValue.format(this.format) || null,\n });\n\n props['onUpdate:modelValue'] = this.onTimepickerInput;\n\n return (\n <NTimepickerPanel class=\"n-timepicker__body\" {...props}></NTimepickerPanel>\n );\n },\n\n renderPopover()\n {\n let props = {\n trigger: 'click',\n width: 0,\n size: this.size,\n position: this.position,\n scrollClose: true,\n disabled: this.disabled\n };\n\n return (\n <NPopover ref=\"popover\" vModel={this.focus} {...props}>\n { { raw: this.ctor('renderPanel') } }\n </NPopover>\n );\n },\n\n render()\n {\n let classList = [\n 'n-timepicker',\n 'n-timepicker--' + this.type,\n 'n-timepicker--' + this.size,\n ];\n\n if ( ! this.tempValue.valid() ) {\n classList.push('n-empty');\n }\n\n if ( this.clearable ) {\n classList.push('n-clearable');\n }\n\n if ( this.focus ) {\n classList.push('n-focus');\n }\n\n if ( this.disabled ) {\n classList.push('n-disabled');\n }\n\n return (\n <div class={classList}>\n { this.ctor('renderDisplay')() }\n { this.ctor('renderPopover')() }\n </div>\n );\n }\n\n}","import TimepickerPanel from \"./src/timepicker-panel/timepicker-panel\";\nimport Timepicker from \"./src/timepicker/timepicker\";\n\nexport default function (App) {\n App.component(TimepickerPanel.name, TimepickerPanel);\n App.component(Timepicker.name, Timepicker);\n}","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NTagsItem'] = Locale.trans('NTagsItem');\n\nglobal.NanoBuilderIndexies['NTagsItem'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NTagsItem']['props'] = {\n //\n};","import { h } from \"vue\";\nimport {Obj, Any, UUID} from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NTextarea',\n\n props: {\n\n modelValue: {\n default()\n {\n return null;\n }\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n placeholder: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n autoRows: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n maxRows: {\n default()\n {\n return 12;\n },\n type: [Number]\n },\n\n minRows: {\n default()\n {\n return 4;\n },\n type: [Number]\n },\n\n maxLength: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue ) {\n this.tempValue = value;\n }\n }\n\n },\n\n methods: {\n\n eventInput(event)\n {\n this.$emit('update:modelValue', \n this.tempValue = event.target.value);\n }\n\n },\n\n data()\n {\n return {\n tempValue: this.modelValue || ''\n };\n },\n\n renderInput()\n {\n let props = Obj.except(this.$attrs, ['class', 'style']);\n\n Obj.assign(props, {\n value: this.tempValue,\n rows: this.minRows,\n disabled: this.disabled,\n placeholder: this.placeholder,\n onInput: this.eventInput,\n });\n\n if ( this.maxLength !== 0 ) {\n props.maxLength = this.maxLength;\n }\n\n let currentRows = (this.tempValue.match(/\\n/g) || []).length + 1;\n\n if ( this.autoRows && props.rows < currentRows ) {\n props.rows = currentRows <= this.maxRows ? currentRows : this.maxRows;\n }\n\n return h('textarea', props);\n },\n\n render()\n {\n let classList = [\n 'n-textarea',\n 'n-textarea--' + this.size,\n 'n-textarea--' + this.type,\n ];\n\n if ( this.disabled ) {\n classList.push('n-disabled');\n }\n\n let props = Obj.only(this.$attrs, ['style'], {\n class: this.cmer(classList)\n });\n\n return h('div', props, [this.ctor('renderInput')()]);\n }\n\n}\n","import Textarea from './src/textarea/textarea';\n\nexport default function (App) {\n App.component(Textarea.name, Textarea);\n}","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NLoader'] = Locale.trans('NLoader');\n\nglobal.NanoBuilderIndexies['NLoader'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NLoader']['props'] = {\n //\n};","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NTabs'] = Locale.trans('NTabs');\n\nglobal.NanoBuilderIndexies['NTabs'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NTabs']['props'] = {\n //\n};","import { Obj, Arr, Any, Num, Dom, Event } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NSlider',\n\n props: {\n\n modelValue: {\n default()\n {\n return null;\n }\n },\n\n range: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n steps: {\n default()\n {\n return 1;\n }\n },\n\n labels: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n min: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n max: {\n default()\n {\n return 100;\n },\n type: [Number]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n },\n\n data()\n {\n return {\n index: 0, width: null, tempValue: [null, null]\n };\n },\n\n computed: {\n\n selector()\n {\n return `[data-index=\"${this.index}\"]`;\n },\n\n fixmin()\n {\n return Any.isArray(this.steps) ? Arr.first(this.steps) : this.min;\n },\n\n fixmax()\n {\n return Any.isArray(this.steps) ? Arr.last(this.steps) : this.max;\n },\n\n minmax()\n {\n return this.fixmax - this.fixmin;\n },\n\n touch() {\n return !! ('ontouchstart' in window ||\n navigator.msMaxTouchPoints);\n },\n\n mousedown() {\n return this.touch ? 'touchstart' :\n 'mousedown';\n },\n\n mousemove() {\n return this.touch ? 'touchmove' :\n 'mousemove';\n },\n\n mouseup() {\n return this.touch ? 'touchend' :\n 'mouseup';\n }\n },\n\n watch: {\n\n modelValue()\n {\n this.getPseudoValue();\n }\n\n },\n\n mounted()\n {\n Dom.find(window).on('resize',\n Any.debounce(this.onResize, 500), this._.uid);\n\n this.onResize();\n this.getPseudoValue();\n },\n\n unmounted()\n {\n Dom.find(window).off('resize',\n null, this._.uid);\n },\n\n methods: {\n\n onResize()\n {\n this.width = Dom.find(this.$el).width();\n },\n\n getPseudoValue()\n {\n let value = this.modelValue;\n\n if ( Any.isNull(value) ) {\n value = this.fixmax;\n }\n if ( ! Any.isArray(value) ) {\n value = [this.fixmin, value];\n }\n\n return this.tempValue = value;\n },\n\n setModelValue()\n {\n let value = this.tempValue;\n\n if ( ! this.range ) {\n value = this.tempValue[1];\n }\n\n this.$emit('update:modelValue', value);\n },\n\n getValPos(value)\n {\n return Num.fixed(this.width / this.minmax * (value - this.fixmin), 2) + 'px';\n },\n\n getValStyle(value)\n {\n return 'transform: translateX(' + this.getValPos(value) + ');';\n },\n\n getBarPos()\n {\n return Num.fixed(this.width / this.minmax * (this.tempValue[0] - this.fixmin), 2) + 'px';\n },\n\n getBarWidth()\n {\n return Num.fixed(this.width / this.minmax * (this.tempValue[1] - this.tempValue[0]), 2) + 'px';\n },\n\n getBarStyle()\n {\n return 'max-width: ' + this.getBarWidth() + '; ' +\n 'transform: translateX(' + this.getBarPos() + ');';\n },\n\n getClosestValue(width)\n {\n if ( Any.isNumber(this.steps) ) {\n return Num.round(width / this.steps) * this.steps;\n }\n\n let range = Arr.last(this.steps) -\n Arr.first(this.steps);\n\n let diff = Arr.each(this.steps, (step) => {\n return Math.abs((range / 100 * width) - step + this.fixmin);\n });\n\n let index = Arr.findIndex(diff, Math.min(...diff));\n\n return this.steps[index];\n },\n\n getTouchEvent(event)\n {\n if ( ! this.touch ) {\n return event;\n }\n\n return event.touches[0] || event.changedTouches[0];\n },\n\n onMousedown(event)\n {\n if ( ! Arr.has([0, 1], event.which) ) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n Dom.find(this.$el).find(this.selector).addClass('n-move');\n Dom.find(document.body).addClass('n-move');\n\n Dom.find(document).on(this.mouseup,\n Any.framerate(this.onMouseup, 60), this._.uid);\n\n Dom.find(document).on(this.mousemove,\n Any.framerate(this.onMousemove, 60), this._.uid);\n },\n\n onMousemove(event)\n {\n this.clientX = this.getTouchEvent(event).clientX;\n\n let offsetX = Dom.find(this.$el)\n .offset('left');\n\n let relativeWidth = (this.clientX - offsetX) / this.width * 100;\n\n let closestValue = this.getClosestValue(relativeWidth);\n\n if ( closestValue < this.fixmin ) {\n closestValue = this.fixmin;\n }\n\n if ( closestValue > this.fixmax ) {\n closestValue = this.fixmax;\n }\n\n let stepMin = this.tempValue[0] + this.steps;\n\n if ( this.index === 1 && closestValue < stepMin ) {\n closestValue = stepMin;\n }\n\n let stepMax = this.tempValue[1] - this.steps;\n\n if ( this.index === 0 && closestValue > stepMax ) {\n closestValue = stepMax;\n }\n\n this.tempValue[this.index] = closestValue;\n },\n\n onMouseup(event)\n {\n event.preventDefault();\n event.stopPropagation();\n\n Dom.find(document).off(this.mouseup, null, this._.uid);\n Dom.find(document).off(this.mousemove, null, this._.uid);\n\n Dom.find(this.$el).find(this.selector).removeClass('n-move');\n Dom.find(document.body).removeClass('n-move');\n\n this.setModelValue();\n },\n\n },\n\n renderHandle(value, index)\n {\n let handleProps = {\n 'data-value': value,\n 'data-index': index,\n style: this.getValStyle(value)\n };\n\n handleProps['onMousedown'] = (event) => {\n this.onMousedown(event, this.index = index);\n };\n\n let key = Arr.findIndex(this.steps, value);\n\n return (\n <div class=\"n-slider__handle\" {...handleProps}>\n <span>{ Obj.get(this.labels, key, value) }</span>\n </div>\n );\n },\n\n renderHandles()\n {\n let values = Arr.clone(this.tempValue);\n\n if ( ! this.range ) {\n delete values[0];\n }\n\n return Arr.each(values, (value, index) => {\n return this.ctor('renderHandle')(value, index);\n });\n },\n\n renderBar()\n {\n let barProps = {\n style: this.getBarStyle()\n };\n\n return (\n <div class=\"n-slider__bar\">\n <div class=\"n-slider__range\" {...barProps}></div>\n </div>\n );\n },\n\n render()\n {\n let classList = [\n 'n-slider',\n 'n-slider--' + this.size\n ];\n\n if ( this.range ) {\n classList.push('n-range');\n }\n\n if ( this.disabled ) {\n classList.push('n-disabled');\n }\n\n return (\n <div class={classList}>\n { this.ctor('renderBar')() }\n { this.ctor('renderHandles')() }\n </div>\n );\n }\n\n}\n","import Vue from \"vue\";\n\nimport Slider from './src/slider/slider';\n\nexport default function (App) {\n App.component(Slider.name, Slider);\n}","import { Str, Arr, Obj, Any, Locale, Dom, Num } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NSelect',\n\n inject: {\n\n NFormItem: {\n default: undefined\n }\n\n },\n\n props: {\n\n modelValue: {\n default()\n {\n return null;\n },\n },\n\n clearValue: {\n default()\n {\n return null;\n }\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n lazy: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n position: {\n default()\n {\n return 'bottom-center';\n },\n type: [String]\n },\n\n multiple: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n collapse: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n clearable: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n placeholder: {\n default()\n {\n return Locale.trans('Please select');\n },\n type: [String]\n },\n\n emptyText: {\n default()\n {\n return 'No items';\n },\n type: [String]\n },\n\n undefinedText: {\n default()\n {\n return 'Undefined item';\n },\n type: [String]\n },\n\n collapseText: {\n default()\n {\n return '+:count item|+:count items';\n },\n type: [String]\n },\n\n allowCreate: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n options: {\n default()\n {\n return [];\n },\n type: [Array, Object]\n },\n\n optionsValue: {\n default()\n {\n return '$index';\n },\n type: [String]\n },\n\n optionsLabel: {\n default()\n {\n return '$value';\n },\n type: [String]\n },\n\n optionsDisabled: {\n default()\n {\n return 'null';\n },\n type: [String]\n }\n\n },\n\n computed: {\n\n deepDisabled()\n {\n return this.NFormItem ? this.NFormItem.disabled(this.disabled) :\n this.disabled;\n },\n\n empty()\n {\n return Any.isEmpty(this.tempValue);\n },\n\n custom()\n {\n let result = Arr.filter(this.elements, (element) => {\n\n if ( Any.isArray(this.tempValue) ) {\n return Arr.has(this.tempValue, element.value);\n }\n\n return element.value === this.tempValue;\n });\n\n return result.length === 0;\n }\n\n },\n\n data()\n {\n return {\n tempValue: this.modelValue,\n tempClear: this.clearValue,\n focus: false,\n search: '',\n index: - 1,\n elements: [],\n searched: []\n };\n },\n\n\n beforeMount()\n {\n if ( this.lazy ) {\n this.generateOptions();\n }\n\n if ( this.multiple && !Any.isArray(this.tempValue) ) {\n this.tempValue = [];\n }\n\n if ( this.multiple && !Any.isArray(this.clearValue) ) {\n this.tempClear = [];\n }\n\n this.searchOptions();\n },\n\n provide()\n {\n return {\n NSelect: this\n };\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( !this.multiple && Any.isArray(value) ) {\n value = null;\n }\n\n if ( this.multiple && !Any.isArray(value) ) {\n value = [];\n }\n\n this.tempValue = value;\n },\n\n search()\n {\n this.searchOptions();\n },\n\n focus()\n {\n this.$nextTick(this.scrollToClosest);\n },\n\n },\n\n methods: {\n\n clear(event = null)\n {\n if ( event ) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n this.focusInput();\n\n this.$emit('update:modelValue',\n this.tempValue = Arr.clone(this.tempClear));\n },\n\n generateOptions()\n {\n this.elements = Arr.each(this.options, (value, index) => {\n\n let data = {\n $value: value, $index: index\n };\n\n let option = {\n label: Obj.get(data, this.optionsLabel),\n value: Obj.get(data, this.optionsValue)\n };\n\n return Obj.assign(option, {\n tempLabel: option.label, tempValue: option.value\n });\n });\n },\n\n addOption(option)\n {\n Arr.add(this.elements, option,\n { tempValue: option.tempValue });\n },\n\n removeOption(option)\n {\n Arr.remove(this.elements,\n { tempValue: option.tempValue });\n },\n\n resetInput()\n {\n this.index = - 1;\n this.search = '';\n },\n\n focusInput(event = null)\n {\n if ( event ) {\n event.preventDefault();\n }\n\n this.$refs.input.focus();\n },\n\n onFocusInput()\n {\n if ( !this.focus ) {\n this.$refs.popover.open();\n }\n\n clearInterval(this.refresh);\n },\n\n onInputInput(event)\n {\n this.search = event.target.value;\n },\n\n onKeydownInput(event)\n {\n if ( !this.focus ) {\n return this.onFocusInput();\n }\n\n if ( event.which === 13 ) {\n this.createOrToggle();\n }\n\n if ( event.which === 38 ) {\n this.selectPrev();\n }\n\n if ( event.which === 40 ) {\n this.selectNext();\n }\n },\n\n searchOptions()\n {\n this.index = - 1;\n\n if ( Any.isEmpty(this.search) ) {\n return this.searched = this.elements;\n }\n\n let searchRegex = new RegExp(this.search, 'i');\n\n let searched = Arr.filter(this.elements, (option) => {\n return option.label.match(searchRegex);\n });\n\n this.searched = searched;\n },\n\n toggleOption(value, event = null)\n {\n if ( Any.isEmpty(value) ) {\n return;\n }\n\n if ( event && event.which !== 1 ) {\n return;\n }\n\n if ( event ) {\n event.preventDefault();\n }\n\n let tempValue = this.tempValue;\n\n if ( this.multiple ) {\n this.focusInput();\n }\n\n if ( !this.multiple ) {\n tempValue = value;\n }\n\n if ( this.multiple ) {\n Arr.toggle(tempValue, value);\n }\n\n this.$refs.popover.close();\n\n let denyUpdate = this.tempValue === tempValue;\n\n if ( this.multiple && !Any.isArray(this.modelValue) ) {\n denyUpdate = false;\n }\n\n if ( !this.multiple && Any.isArray(this.modelValue) ) {\n denyUpdate = false;\n }\n\n if ( denyUpdate ) {\n return;\n }\n\n this.$emit('update:modelValue',\n this.tempValue = tempValue);\n },\n\n getOptionLabel(value)\n {\n let option = Arr.find(this.elements,\n { tempValue: value });\n\n if ( !option && this.allowCreate ) {\n return value;\n }\n\n if ( !option && !this.allowCreate ) {\n return this.trans(this.undefinedText);\n }\n\n return option.tempLabel;\n },\n\n selectPrev()\n {\n let newIndex = this.index - 1;\n\n if ( newIndex < 0 ) {\n newIndex = this.searched.length - 1;\n }\n\n this.index = newIndex;\n\n this.scrollToCurrent();\n },\n\n selectNext()\n {\n let newIndex = this.index + 1;\n\n if ( newIndex > this.searched.length - 1 ) {\n newIndex = 0;\n }\n\n this.index = newIndex;\n\n this.scrollToCurrent();\n },\n\n createOrToggle()\n {\n if ( this.allowCreate && this.search ) {\n return this.createOption();\n }\n\n let selected = Arr.get(this.searched,\n this.index);\n\n if ( this.searched.length === 1 ) {\n selected = Arr.first(this.searched);\n }\n\n if ( !selected || selected.disabled ) {\n return;\n }\n\n this.toggleOption(selected.tempValue);\n },\n\n createOption()\n {\n this.toggleOption(this.search);\n\n this.search = '';\n },\n\n scrollToCurrent()\n {\n if ( !this.focus ) {\n return;\n }\n\n let selected = Arr.get(this.searched,\n this.index);\n\n if ( !selected ) {\n return;\n }\n\n if ( this.$refs.scrollbar ) {\n this.$refs.scrollbar.scrollIntoView(`[data-option=\"${selected._.uid}\"]`);\n }\n\n if ( this.$refs.virtualbar ) {\n this.$refs.virtualbar.scrollToIndex(this.index);\n }\n },\n\n scrollToClosest()\n {\n if ( !this.focus ) {\n return;\n }\n\n let value = this.tempValue;\n\n if ( Any.isArray(this.tempValue) ) {\n value = Arr.first(this.tempValue);\n }\n\n if ( !value ) {\n return;\n }\n\n let index = Arr.findIndex(this.elements, {\n tempValue: value\n });\n\n if ( !index ) {\n return;\n }\n\n if ( this.$refs.virtualbar ) {\n this.$refs.virtualbar.scrollToIndex(index, 250);\n }\n\n let select = `[data-option=\"${Obj.get(this.elements[index], '_.uid', 0)}\"]`;\n\n if ( this.$refs.scrollbar ) {\n this.$refs.scrollbar.scrollIntoView(select, 250);\n }\n }\n\n },\n\n renderLabelClear()\n {\n if ( !this.clearable || Any.isEmpty(this.tempValue) ) {\n return null;\n }\n\n let props = {};\n\n if ( !this.deepDisabled ) {\n props.onMousedown = this.clear;\n }\n\n return (\n <div class=\"n-select__clear\" {...props}>\n <i class={nano.Icons.times}></i>\n </div>\n );\n },\n\n renderLabelAngle()\n {\n return (\n <div class=\"n-select__angle\">\n <i class={nano.Icons.angleDown}></i>\n </div>\n );\n },\n\n renderLabelItem(value)\n {\n let classList = [\n 'n-select__item'\n ];\n\n let props = {\n class: nano.Icons.times,\n };\n\n if ( !this.deepDisabled ) {\n props.onMousedown = (event) => this.toggleOption(value, event);\n }\n\n let labelHtml = (\n <span>{this.getOptionLabel(value)}</span>\n );\n\n return (\n <div class={classList}>\n {[labelHtml, <i {...props}></i>]}\n </div>\n );\n },\n\n renderLabelCollapse()\n {\n let first = Arr.first(this.tempValue);\n\n if ( !first ) {\n return null;\n }\n\n let firstHtml = this.ctor('renderLabelItem')(first);\n\n if ( this.tempValue.length === 1 ) {\n return firstHtml;\n }\n\n let count = this.tempValue.length - 1;\n\n let collapseHtml = (\n <div class=\"n-select__item\">\n <span>{this.choice(this.collapseText, count)}</span>\n </div>\n );\n\n return [\n firstHtml, collapseHtml\n ];\n },\n\n renderLabelItems()\n {\n if ( !Any.isArray(this.tempValue) ) {\n return null;\n }\n\n if ( this.collapse ) {\n return this.ctor('renderLabelCollapse')();\n }\n\n return Arr.each(this.tempValue, (value) => {\n return this.ctor('renderLabelItem')(value);\n });\n },\n\n renderMultiple()\n {\n let isEmptyValue = Any.isEmpty(this.tempValue) &&\n !Any.isNumber(this.tempValue);\n\n let props = {\n value: this.search,\n placeholder: this.placeholder,\n disabled: this.deepDisabled,\n onFocus: this.onFocusInput,\n onInput: this.onInputInput,\n onKeydown: this.onKeydownInput\n };\n\n if ( !this.focus ) {\n props.value = null;\n }\n\n if ( !isEmptyValue ) {\n props.placeholder = null;\n }\n\n let inputHtml = (\n <div class=\"n-select__input\">\n <input ref=\"input\" {...props} />\n </div>\n );\n\n return [\n this.ctor('renderLabelClear')(),\n (\n <div class=\"n-select__items\">\n {[this.ctor('renderLabelItems')(), inputHtml]}\n </div>\n ),\n this.ctor('renderLabelAngle')()\n ];\n },\n\n renderSingle()\n {\n let isEmptyValue = Any.isEmpty(this.tempValue) &&\n !Any.isNumber(this.tempValue);\n\n let modelLabel = this.getOptionLabel(\n this.tempValue);\n\n if ( isEmptyValue ) {\n modelLabel = null;\n }\n\n let props = {\n value: this.search,\n placeholder: this.placeholder,\n disabled: this.deepDisabled,\n onFocus: this.onFocusInput,\n onInput: this.onInputInput,\n onKeydown: this.onKeydownInput\n };\n\n if ( !this.search && this.custom ) {\n props.value = this.tempValue;\n }\n\n if ( !this.focus ) {\n props.value = modelLabel;\n }\n\n if ( !isEmptyValue ) {\n props.placeholder = modelLabel;\n }\n\n return [\n this.ctor('renderLabelClear')(),\n (\n <div class=\"n-select__input\">\n <input ref=\"input\" {...props} />\n </div>\n ),\n this.ctor('renderLabelAngle')()\n ];\n },\n\n renderDisplay()\n {\n let classList = [\n 'n-select__display'\n ];\n\n if ( this.multiple ) {\n classList.push('n-multiple');\n }\n\n let displayHtml = this.ctor('renderSingle');\n\n if ( this.multiple ) {\n displayHtml = this.ctor('renderMultiple');\n }\n\n return (\n <div class={classList}>{displayHtml()}</div>\n );\n },\n\n renderItems()\n {\n let emptyHtml = (\n <div class=\"n-select__empty\">\n <NEmptyIcon inline={true}>{this.trans(this.emptyText)}</NEmptyIcon>\n </div>\n );\n\n if ( !this.searched.length ) {\n return emptyHtml;\n }\n\n if ( this.lazy ) {\n return this.ctor('renderLazyItems')();\n }\n\n let options = Obj.each(this.searched, (option, index) => {\n return option.ctor('renderOption')(index);\n });\n\n let props = {\n relative: true, size: this.size\n }\n\n return (\n <NScrollbar ref=\"scrollbar\" class=\"n-select__body\" {...props}>\n {Obj.values(options)}\n </NScrollbar>\n );\n },\n\n renderLazyOption(value, index)\n {\n let classList = [];\n\n let isMultipleActive = this.multiple &&\n Arr.has(this.tempValue, value.value);\n\n if ( isMultipleActive ) {\n classList.push('n-active');\n }\n\n let isSingleActive = ! this.multiple &&\n this.tempValue === value.value;\n\n if ( isSingleActive ) {\n classList.push('n-active');\n }\n\n if ( this.index === Num.int(index) ) {\n classList.push('n-focus');\n }\n\n let props = {\n 'type': this.type,\n 'clickClose': ! this.multiple,\n };\n\n props['onMousedown'] = (e) => {\n this.toggleOption(value.value, e);\n };\n\n if ( isSingleActive || isMultipleActive ) {\n props.icon = nano.Icons.checked;\n }\n\n return (\n <NPopoverOption class={classList} {...props}>\n {value.label}\n </NPopoverOption>\n );\n },\n\n renderLazyItems()\n {\n let props = {\n items: this.searched\n };\n\n props.renderNode = ({ value, index }) => {\n return this.ctor('renderLazyOption')(value, index);\n };\n\n return (\n <NVirtualscroller ref=\"virtualbar\" class=\"n-select__body n-virtual\" {...props} />\n );\n },\n\n renderPopover()\n {\n let classList = [\n 'n-popover--select'\n ];\n\n if ( this.lazy ) {\n classList.push('n-virtual');\n }\n\n let props = {\n class: classList,\n trigger: 'click',\n width: - 1,\n listen: true,\n size: this.size,\n scrollClose: true,\n disabled: this.deepDisabled,\n onClose: this.resetInput\n };\n\n return (\n <NPopover ref=\"popover\" vModel={this.focus} {...props}>\n {{ raw: this.ctor('renderItems') }}\n </NPopover>\n );\n },\n\n renderOptions()\n {\n if ( this.lazy ) {\n return null;\n }\n\n if ( Any.isEmpty(this.options) ) {\n return this.$slots.default && this.$slots.default();\n }\n\n let optionRender = ($value, $index) => {\n\n let props = {\n label: Obj.get({ $value, $index }, this.optionsLabel, null),\n value: Obj.get({ $value, $index }, this.optionsValue, null),\n };\n\n return (<NSelectOption {...props}></NSelectOption>);\n };\n\n return Obj.values(Obj.each(this.options, optionRender));\n },\n\n render()\n {\n let classList = [\n 'n-select',\n 'n-select--' + this.type,\n 'n-select--' + this.size,\n ];\n\n let isEmptyValue = Any.isEmpty(this.tempValue) &&\n !Any.isNumber(this.tempValue);\n\n if ( isEmptyValue ) {\n classList.push('n-empty');\n }\n\n if ( this.clearable ) {\n classList.push('n-clearable');\n }\n\n if ( this.focus ) {\n classList.push('n-focus');\n }\n\n if ( this.deepDisabled ) {\n classList.push('n-disabled');\n }\n\n return (\n <div class={classList} onClick={this.focusInput}>\n {this.ctor('renderDisplay')()}\n {this.ctor('renderPopover')()}\n {this.ctor('renderOptions')()}\n </div>\n );\n }\n\n}\n","import { Num, Arr, Obj, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NSelectOption',\n\n inheritAttrs: false,\n\n inject: {\n\n NSelect: {\n default: undefined\n }\n\n },\n\n props: {\n\n value: {\n default()\n {\n return '';\n }\n },\n\n label: {\n default()\n {\n return null;\n }\n },\n\n valueProp: {\n default()\n {\n return null;\n }\n },\n\n labelProp: {\n default()\n {\n return null;\n }\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n }\n\n },\n\n computed: {\n\n tempValue()\n {\n if ( Any.isEmpty(this.valueProp) ) {\n return this.value;\n }\n\n return Obj.get(this.value, this.valueProp);\n },\n\n tempLabel()\n {\n if ( Any.isEmpty(this.labelProp) ) {\n return this.label;\n }\n\n return Obj.get(this.value, this.labelProp);\n }\n\n },\n\n mounted()\n {\n if ( ! this.NSelect.lazy ) {\n this.NSelect.addOption(this);\n }\n },\n\n beforeUnmount()\n {\n if ( ! this.NSelect.lazy ) {\n this.NSelect.removeOption(this);\n }\n },\n\n methods: {\n\n toggleItem(event) \n {\n event.preventDefault();\n\n if ( event.which !== 1 ) {\n return;\n }\n\n if ( this.disabled ) {\n return;\n }\n\n this.NSelect.toggleOption(this.tempValue, \n event);\n },\n\n },\n\n renderOption(index)\n {\n\n let classList = [];\n\n let isMultipleActive = this.NSelect.multiple && \n Arr.has(this.NSelect.tempValue, this.tempValue);\n\n if ( isMultipleActive ) {\n classList.push('n-active');\n }\n\n let isSingleActive = ! this.NSelect.multiple && \n this.NSelect.tempValue === this.tempValue;\n\n if ( isSingleActive ) {\n classList.push('n-active');\n }\n\n if ( this.NSelect.index === Num.int(index) ) {\n classList.push('n-focus');\n }\n\n let props = {\n 'disabled': this.disabled,\n 'onMousedown': this.toggleItem,\n 'type': this.NSelect.type,\n 'clickClose': ! this.NSelect.multiple,\n };\n\n if ( isSingleActive || isMultipleActive ) {\n props.icon = nano.Icons.checked;\n }\n\n // Required for scrolldown\n props['data-option'] = this._.uid;\n\n return (\n <NPopoverOption class={classList} {...props}>\n { this.$slots.default && this.$slots.default() || this.tempLabel }\n </NPopoverOption>\n );\n },\n\n render()\n {\n return null;\n }\n\n}\n","import Vue from \"vue\";\n\nimport Select from './src/select/select';\nimport SelectOption from './src/select-option/select-option';\n\nexport default function (App) {\n App.component(Select.name, Select);\n App.component(SelectOption.name, SelectOption);\n}\n","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NTableColumn'] = Locale.trans('NTableColumn');\n\nglobal.NanoBuilderIndexies['NTableColumn'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NTableColumn']['props'] = {\n //\n};","import { Arr, Any, Dom, Event, UUID } from \"@kizmann/pico-js\";\n\n\nexport default {\n\n name: 'NPopover',\n\n provide()\n {\n return {\n NPopover: this\n };\n },\n\n inject: {\n\n NPopover: {\n default: undefined\n }\n\n },\n\n props: {\n\n modelValue: {\n default()\n {\n return null;\n }\n },\n\n width: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n listen: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n window: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n trigger: {\n default()\n {\n return 'hover';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'default';\n },\n type: [String]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n position: {\n default()\n {\n return 'bottom-center';\n },\n type: [String]\n },\n\n scrollClose: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n multiClose: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n framerate: {\n default()\n {\n return 15;\n },\n type: [Number]\n }\n\n },\n\n computed: {\n\n touch() {\n return !! ('ontouchstart' in window || \n navigator.msMaxTouchPoints);\n },\n\n mousedown() {\n return this.touch ? 'touchstart' :\n 'mousedown';\n },\n\n mousemove() {\n return this.touch ? 'touchmove' :\n 'mousemove';\n },\n\n mouseup() {\n return this.touch ? 'touchend' :\n 'mouseup';\n }\n\n },\n\n data()\n {\n return {\n tempValue: false,\n clientX: 0,\n clientY: 0,\n target: null,\n prevent: false,\n };\n },\n\n watch: {\n\n modelValue()\n {\n this.tempValue = this.modelValue;\n },\n\n tempValue()\n {\n Any.delay(this.refreshVisible, 50);\n }\n\n },\n\n beforeMount()\n {\n this.tempValue = this.modelValue;\n },\n\n mounted()\n {\n this.target = Dom.find(this.$el).previous().get(0);\n\n if ( this.trigger === 'context' ) {\n this.target = Dom.find(this.$el).parent().get(0);\n }\n\n if ( this.window ) {\n Dom.find(document.body).append(this.$el);\n }\n\n if ( this.listen && this.trigger === 'hover' ) {\n Dom.find(document.body).on('mousemove', \n Any.framerate(this.onHover, 30), this._.uid);\n }\n\n if ( this.listen && this.trigger === 'click' ) {\n Dom.find(document.body).on(this.mousedown, \n Any.framerate(this.onClick, 30), this._.uid);\n }\n\n if ( this.listen && this.trigger === 'context' ) {\n Dom.find(document.body).on('contextmenu', \n Any.framerate(this.onContext, 30), this._.uid);\n }\n\n Dom.find(document.body).on(this.mousedown, \n Any.framerate(this.onExit, 30), this._.uid);\n\n Event.bind('NPopover:close', this.onCloseEvent, this._.uid);\n },\n\n beforeUnmount()\n {\n this.$el.remove();\n\n Dom.find(document).off('mousemove', null, this._.uid);\n Dom.find(document).off('mousedown', null, this._.uid);\n Dom.find(document).off('contextmenu', null, this._.uid);\n\n Event.unbind('NPopover:close', this._.uid);\n \n },\n\n methods: {\n\n active()\n {\n return this.tempValue;\n },\n\n open()\n {\n this.$emit('update:modelValue', \n this.tempValue = true);\n },\n\n close(type = null)\n {\n if ( this.prevent ) {\n return;\n }\n\n delete this.timer;\n\n if ( ! type ) {\n this.$emit('close');\n }\n\n if ( type === 'scroll' ) {\n this.$emit('scrollClose');\n }\n\n if ( type === 'multi' ) {\n this.$emit('multiClose');\n }\n\n this.$emit('update:modelValue', \n this.tempValue = false);\n },\n\n pause()\n {\n this.prevent = true;\n },\n\n unpause()\n {\n this.prevent = false;\n },\n\n onCloseEvent(uid)\n {\n if ( this.multiClose && this.tempValue && this._.uid !== uid ) {\n this.close('multi');\n }\n },\n\n refreshVisible()\n {\n Dom.find(this.$el).css(null);\n\n if ( ! this.tempValue ) {\n return this.stopRefreshInterval();\n }\n\n this.startRefreshInterval();\n\n delete this.passedOffset;\n },\n\n startRefreshInterval()\n {\n this.refresh = setInterval(this.updatePosition, \n 1000 / this.framerate);\n\n let onReady = () => {\n\n if ( this.listen ) {\n Dom.find(this.target).addClass('n-open');\n }\n\n Dom.find(this.$el).addClass('n-ready');\n\n if ( this.NPopover ) {\n this.NPopover.pause();\n }\n\n Event.fire('NPopover:close', this._.uid);\n }\n\n Any.delay(onReady, 100);\n },\n\n stopRefreshInterval()\n {\n clearInterval(this.refresh);\n\n if ( this.NPopover ) {\n this.NPopover.unpause();\n }\n\n if ( this.listen ) {\n Dom.find(this.target).removeClass('n-open');\n }\n\n Dom.find(this.$el).removeClass('n-ready');\n },\n\n isSameOffset(offset)\n {\n if ( ! this.passedOffset ) {\n return false;\n }\n\n let rainbow = Arr.each(['x', 'y'], (key) => {\n return offset[key] === this.passedOffset[key];\n });\n\n return ! Arr.has(rainbow, false);\n },\n\n isSameSize(size)\n {\n if ( ! this.passedSize ) {\n return false;\n }\n\n let rainbow = Arr.each(['width', 'height'], (key) => {\n return size[key] === this.passedSize[key];\n });\n\n return ! Arr.has(rainbow, false);\n },\n\n getTargetHorizontal(position, fallback = null)\n {\n let targetRect = this.target.getBoundingClientRect();\n\n if ( this.trigger === 'context' ) {\n targetRect = {\n top: this.clientY, left: this.clientX, width: 2, height: 2\n };\n }\n\n let windowRect = this.$el.getBoundingClientRect();\n\n if ( this.width === -1 ) {\n windowRect.width = targetRect.width;\n }\n\n let posY = {\n\n // Set above the tagret element\n start: targetRect.top - windowRect.height,\n \n // Set at bottom of target element\n end: targetRect.top + targetRect.height,\n\n };\n\n let posX = {\n\n // Set on the left of target element\n start: targetRect.left,\n\n // Set into the center of the target element\n center: targetRect.left + (targetRect.width * 0.5) - \n (windowRect.width * 0.5),\n\n // Set on the right of the target element\n end: targetRect.left + targetRect.width - \n windowRect.width,\n\n };\n\n let offset = { x: 0, y: 0 };\n\n if ( position === 'top-start' ) {\n offset = { x: posX.start, y: posY.start };\n }\n\n if ( position === 'top-center' ) {\n offset = { x: posX.center, y: posY.start };\n }\n\n if ( position === 'top-end' ) {\n offset = { x: posX.end, y: posY.start };\n }\n\n if ( position === 'bottom-start' ) {\n offset = { x: posX.start, y: posY.end };\n }\n\n if ( position === 'bottom-center' ) {\n offset = { x: posX.center, y: posY.end };\n }\n\n if ( position === 'bottom-end' ) {\n offset = { x: posX.end, y: posY.end };\n }\n\n let inverse = this.position;\n\n if ( position.match(/^(top)\\-/) ) {\n inverse = inverse.replace(/^(top)\\-/, 'bottom-');\n }\n\n if ( position.match(/^(bottom)\\-/) ) {\n inverse = inverse.replace(/^(bottom)\\-/, 'top-');\n }\n\n let broken = offset.y + windowRect.height > \n window.innerHeight || offset.y < 0;\n\n if ( this.scrollClose && broken && ! fallback ) {\n return this.getTargetHorizontal(inverse, offset);\n }\n\n if ( fallback && broken ) {\n offset = fallback;\n }\n\n if ( offset.y < 0 ) {\n offset.y = 0;\n }\n \n if ( offset.y + windowRect.height > window.innerHeight ) {\n offset.y = window.innerHeight - windowRect.height;\n }\n\n if ( offset.x < 0 ) {\n offset.x = 0;\n }\n \n if ( offset.x + windowRect.width > window.innerWidth ) {\n offset.x = window.innerWidth - windowRect.width -\n (window.innerWidth - document.body.clientWidth);\n }\n\n return offset;\n },\n\n getTargetVertical(position, fallback = null)\n {\n let targetRect = this.target.getBoundingClientRect();\n\n if ( this.trigger === 'context' ) {\n targetRect = {\n top: this.clientY, left: this.clientX, width: 2, height: 2\n };\n }\n\n let windowRect = this.$el.getBoundingClientRect();\n\n if ( this.width === -1 ) {\n windowRect.width = targetRect.width;\n }\n \n let posY = {\n\n // Set at top edge of the target element\n start: targetRect.top,\n\n // Set at the middle of the target element\n center: targetRect.top + (targetRect.height * 0.5) - \n (windowRect.height * 0.5),\n\n // Ste at the bottom of the target elemnent\n end: targetRect.top + targetRect.height - \n windowRect.height,\n\n };\n\n let posX = {\n\n // Set to the left of the target element\n start: targetRect.left - windowRect.width,\n\n // Set to the right of the target element\n end: targetRect.left + targetRect.width,\n\n };\n\n let offset = { x: 0, y: 0 };\n\n if ( position === 'left-start' ) {\n offset = { x: posX.start, y: posY.start };\n }\n\n if ( position === 'left-center' ) {\n offset = { x: posX.start, y: posY.center };\n }\n\n if ( position === 'left-end' ) {\n offset = { x: posX.start, y: posY.end };\n }\n\n if ( position === 'right-start' ) {\n offset = { x: posX.end, y: posY.start };\n }\n\n if ( position === 'right-center' ) {\n offset = { x: posX.end, y: posY.center };\n }\n\n if ( position === 'right-end' ) {\n offset = { x: posX.end, y: posY.end };\n }\n\n let inverse = this.position;\n\n if ( position.match(/^(left)\\-/) ) {\n inverse = inverse.replace(/^(left)\\-/, 'right-');\n }\n\n if ( position.match(/^(right)\\-/) ) {\n inverse = inverse.replace(/^(right)\\-/, 'left-');\n }\n\n let broken = offset.x + windowRect.width > \n window.innerWidth || offset.x < 0;\n\n if ( this.scrollClose && broken && ! fallback ) {\n return this.getTargetVertical(inverse, offset);\n }\n\n if ( fallback && broken ) {\n offset = fallback;\n }\n\n if ( offset.y < 0 ) {\n offset.y = 0;\n }\n \n if ( offset.y + windowRect.height > window.innerHeight ) {\n offset.y = window.innerHeight - windowRect.height;\n }\n\n if ( offset.x < 0 ) {\n offset.x = 0;\n }\n \n if ( offset.x + windowRect.width > window.innerWidth ) {\n offset.x = window.innerWidth - windowRect.width -\n (window.innerWidth - document.body.clientWidth);\n }\n\n return offset;\n },\n\n getTargetOffset()\n {\n let position = this.position;\n\n if ( position.match(/^(top|bottom)\\-/) ) {\n return this.getTargetHorizontal(position);\n }\n\n if ( position.match(/^(left|right)\\-/) ) {\n return this.getTargetVertical(position);\n }\n\n return targetRect;\n },\n\n updatePosition()\n {\n let size = this.$el.getBoundingClientRect(),\n rect = this.target.getBoundingClientRect();\n\n let isSameSize = this.isSameSize(size);\n\n if ( isSameSize && this.isSameOffset(rect) ) {\n return;\n }\n\n if ( ! this.timer ) {\n this.timer = Date.now();\n }\n\n this.passedSize = size;\n\n if ( this.width ) {\n Dom.find(this.$el).css({ width: this.width + 'px' });\n }\n\n let offset = this.getTargetOffset();\n\n let scroll = Dom.find(document.body)\n .scroll();\n\n let style = {\n 'z-index': window.zIndex++,\n 'top': Math.round(offset.y + scroll.top) + 'px', \n 'left': Math.round(offset.x + scroll.left) + 'px', \n };\n\n if ( this.width === -1 ) {\n style.width = rect.width + 'px';\n }\n\n Dom.find(this.$el).css(style);\n\n let isScrollClose = this.passedOffset && isSameSize &&\n (Date.now() - this.timer) > 500;\n\n if ( this.scrollClose && isScrollClose ) {\n this.close('scroll');\n }\n\n this.passedOffset = rect;\n },\n\n onHover(event, el)\n {\n if ( this.disabled ) {\n return;\n }\n\n let target = Dom.find(el).closest(this.target),\n source = Dom.find(el).closest(this.$el);\n\n let result = (!! target || !! source);\n\n if ( this.tempValue === result ) {\n return;\n }\n\n if ( ! result ) {\n return this.$nextTick(this.close);\n }\n\n this.$emit('update:modelValue', this.tempValue = result);\n },\n\n onClick(event, el)\n {\n let keyCode = event.which === 1 ||\n event.which === 0;\n\n if ( this.disabled || this.tempValue || ! keyCode ) {\n return;\n }\n\n let target = Dom.find(el).closest(this.target),\n source = Dom.find(el).closest(this.$el);\n\n let result = (!! target || !! source);\n\n if ( this.tempValue === result ) {\n return;\n }\n\n this.$emit('update:modelValue', this.tempValue = result);\n },\n\n onContext(event, el)\n {\n let keyCode = event.which === 3;\n\n if ( this.disabled || this.tempValue || ! keyCode ) {\n return;\n }\n\n let target = Dom.find(el).closest(this.target),\n source = Dom.find(el).closest(this.$el);\n\n this.clientX = event.clientX;\n this.clientY = event.clientY;\n\n let result = (!! target || !! source);\n\n if ( result ) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n if ( this.tempValue === result ) {\n return;\n }\n\n this.$emit('update:modelValue', this.tempValue = result);\n },\n\n onExit(event, el)\n {\n if ( this.disabled || ! this.tempValue ) {\n return;\n }\n\n if ( !! Dom.find(el).closest(this.$el) ) {\n return;\n }\n\n let target = Dom.find(el).closest(this.target);\n\n if ( this.trigger !== 'context' && !! target ) {\n return;\n }\n\n this.close();\n }\n\n },\n\n renderBody()\n {\n if ( this.$slots.raw ) {\n return this.$slots.raw();\n }\n\n return (\n <div class=\"n-popover__frame\">\n { this.$slots.header &&\n <div class=\"n-popover__header\">\n { this.$slots.header() }\n </div>\n }\n <div class=\"n-popover__body\">\n { this.$slots.default() }\n </div>\n { this.$slots.footer &&\n <div class=\"n-popover__footer\">\n { this.$slots.footer() }\n </div>\n }\n </div>\n );\n },\n\n render()\n {\n if ( ! window.zIndex ) {\n window.zIndex = 9000;\n }\n\n let classList = [\n 'n-popover',\n 'n-popover--' + this.type,\n 'n-popover--' + this.size,\n 'n-popover--' + this.position,\n ];\n\n if ( ! this.tempValue ) {\n classList.push('n-hidden');\n }\n\n let viewBody = this.modelValue;\n\n if ( Any.isNull(this.modelValue) ) {\n viewBody = this.tempValue;\n }\n\n return (\n <div class={classList}>\n { viewBody && this.ctor('renderBody')() }\n </div>\n );\n }\n\n}\n","export default {\n\n name: 'NPopoverGroup',\n\n inject: {\n NPopover: {\n default: undefined\n }\n },\n\n props: {\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n\n },\n\n computed: {\n\n tempSize()\n {\n if ( this.NPopover ) {\n return this.NPopover.size;\n }\n\n return this.size;\n }\n\n },\n\n render()\n {\n let classList = [\n 'n-popover-group',\n 'n-popover-group--' + this.tempSize,\n ];\n\n return (\n <label class={classList}>\n <span>{ this.$slots.default() }</span>\n </label>\n );\n }\n\n}\n","import { Obj, Arr, Any, Dom } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NPopoverOption',\n\n inject: {\n NPopover: {\n default: undefined\n }\n },\n\n props: {\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n focus: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n active: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n icon: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n iconPosition: {\n default()\n {\n return 'after';\n },\n type: [String]\n },\n\n image: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n imagePosition: {\n default()\n {\n return 'before';\n },\n type: [String]\n },\n\n clickClose: {\n default()\n {\n return true;\n },\n type: [Boolean]\n }\n\n\n },\n\n computed: {\n\n tempSize()\n {\n if ( this.NPopover ) {\n return this.NPopover.size;\n }\n\n return this.size;\n }\n\n },\n\n methods: {\n\n onClick(event)\n {\n if ( this.NPopover && this.clickClose ) {\n this.NPopover.close();\n }\n\n this.$emit('fakeclick', event);\n }\n\n },\n\n renderImage()\n {\n if ( ! this.image ) {\n return null;\n }\n\n let classList = [\n 'n-image',\n 'n-image--' + this.imagePosition,\n ];\n\n return (<img class={classList} src={this.image} />);\n },\n\n renderIcon()\n {\n if ( ! this.icon ) {\n return null;\n }\n\n let classList = [\n 'n-icon', \n 'n-icon--' + this.iconPosition,\n ];\n\n classList.push(this.icon);\n\n return (<i class={classList}></i>);\n },\n\n renderContent()\n {\n if ( this.$slots.raw ) {\n return this.$slots.raw();\n }\n\n return (\n <span>{ this.$slots.default() }</span>\n );\n },\n\n render()\n {\n let classList = [\n 'n-popover-option',\n 'n-popover-option--' + this.type,\n 'n-popover-option--' + this.tempSize,\n ];\n\n if ( this.active ) {\n classList.push('n-active');\n }\n\n if ( this.focus ) {\n classList.push('n-focus');\n }\n\n if ( this.disabled ) {\n classList.push('n-disabled');\n }\n\n let props = Obj.clone(this.$attrs);\n\n if ( ! this.disabled ) {\n props.onClick = this.onClick;\n }\n\n if ( this.disabled ) {\n props.disabled = true;\n }\n\n return (\n <a class={classList} href=\"javascript:void(0)\" {...props}>\n { this.ctor('renderImage')() }\n { this.ctor('renderContent')() }\n { this.ctor('renderIcon')() }\n </a>\n );\n }\n\n}\n","import Popover from './src/popover/popover';\nimport PopoverGroup from './src/popover-group/popover-group';\nimport PopoverOption from './src/popover-option/popover-option';\n\nexport default function (App) {\n App.component(Popover.name, Popover);\n App.component(PopoverGroup.name, PopoverGroup);\n App.component(PopoverOption.name, PopoverOption);\n}","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NDatetimepicker'] = Locale.trans('NDatetimepicker');\n\nglobal.NanoBuilderIndexies['NDatetimepicker'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NDatetimepicker']['props'] = {\n //\n};","import { UUID, Str, Obj, Dom } from \"@kizmann/pico-js\";\n\nclass Notification {\n\n el = null;\n\n text = '';\n\n icon = '';\n\n type = '';\n\n options = {\n duration: 4500,\n iconPrimary: nano.Icons.info,\n iconSecondary: nano.Icons.info,\n iconSuccess: nano.Icons.success,\n iconWarning: nano.Icons.warning,\n iconDanger: nano.Icons.danger,\n iconInfo: nano.Icons.info\n };\n\n constructor(text, type = 'primary', options = {})\n {\n this.text = text;\n this.type = type;\n\n this.options = Obj.assign(this.options, options);\n\n this.render();\n }\n\n getIcon()\n {\n return Obj.get(this.options,\n 'icon' + Str.ucfirst(this.type));\n }\n\n append(el = document.body)\n {\n this.el.appendTo(el);\n\n setTimeout(() => this.el.addClass('n-active'), 100);\n\n return this;\n }\n\n remove()\n {\n this.el.get(0).remove();\n\n return this;\n }\n\n render()\n {\n let classList = [\n 'n-notification',\n 'n-notification--' + this.type\n ];\n\n this.el = Dom.make('div', {\n classList: classList.join(' '), onclick: () => this.remove()\n });\n \n\n let icon = Dom.make('div', {\n classList: 'n-notification__icon'\n });\n\n icon.appendTo(this.el);\n\n let iconSpan = Dom.make('span', {\n classList: this.getIcon()\n });\n\n iconSpan.appendTo(icon);\n\n let text = Dom.make('div', {\n classList: 'n-notification__text'\n });\n\n text.html(this.text).appendTo(this.el);\n }\n\n}\n\nexport default class Notify {\n\n static alias = 'Notify';\n\n static size = nano.Settings.notifySize;\n\n static position = nano.Settings.notifyPosition;\n\n static notifications = {};\n\n static handle(...args)\n {\n let uid = Notify.create(undefined, ...args);\n\n let wrapper = Notify.getWrapper();\n\n // Append element to dom\n Notify.notifications[uid].append(wrapper);\n\n // Queue remove\n setTimeout(() => Notify.remove(uid),\n Notify.notifications[uid].options.duration);\n\n return uid;\n }\n\n static create(uid = UUID(), ...args)\n {\n Notify.notifications[uid] = new Notification(...args);\n\n return uid;\n }\n\n static remove(uid)\n {\n if ( Notify.notifications[uid] === undefined ) {\n return;\n }\n\n // Remove dom element\n Notify.notifications[uid].remove();\n\n // Remove from list\n delete Notify.notifications[uid];\n }\n\n static getWrapper()\n {\n if ( ! window.zIndex ) {\n window.zIndex = 9000;\n }\n\n let style = {\n 'z-index': window.zIndex + 100\n };\n\n let classList = [\n 'n-notification-frame',\n 'n-notification-frame--' + this.size,\n 'n-notification-frame--' + this.position\n ];\n\n if ( Dom.find('.n-notification-frame').empty() === true ) {\n Dom.make('div', { classList: classList.join(' ') }).appendTo(document.body);\n }\n\n Dom.find('.n-notification-frame').css(style);\n\n return Dom.find('.n-notification-frame');\n }\n\n}\n","import Notifcation from './src/notification/notification';\n\nexport default function (App) {\n App.config.globalProperties[Notifcation.alias] = window[Notifcation.alias] = Notifcation.handle;\n}\n","import { Arr, Dom, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NTabs',\n\n provide()\n {\n return {\n NTabs: this\n };\n },\n\n props: {\n\n modelValue: {\n default()\n {\n return 'default';\n },\n type: [String]\n },\n\n relative: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n float: {\n default()\n {\n return false;\n },\n type: [Boolean]\n }\n\n },\n\n data()\n {\n return {\n init: false,\n elements: [], \n width: 0, \n offset: 0, \n tempValue: this.modelValue\n };\n },\n\n methods: {\n\n addTab(tab)\n {\n Arr.add(this.elements, tab, \n { name: tab.name });\n\n if ( this.init) {\n this.$nextTick(this.$forceUpdate);\n }\n },\n\n removeTab(tab)\n {\n Arr.remove(this.elements, \n { name: tab.name });\n\n if ( this.init) {\n this.$nextTick(this.$forceUpdate);\n }\n },\n\n getTab(updateEvent = true)\n {\n let currentTab = Arr.find(this.elements, {\n name: this.modelValue\n });\n\n let sorted = Arr.sort(this.elements, 'sort');\n\n if ( ! currentTab ) {\n currentTab = Arr.first(sorted);\n }\n\n let repeatNext = () => this.getTab(updateEvent);\n\n if ( ! currentTab ) {\n return Any.delay(repeatNext, 250);\n }\n\n if ( currentTab.name === this.tempValue || ! updateEvent ) {\n return;\n }\n\n this.$emit('update:modelValue', \n this.tempValue = currentTab.name);\n },\n\n changeTab(value)\n {\n if ( this.tempValue === value ) {\n return;\n }\n\n this.$emit('update:modelValue', \n this.tempValue = value);\n }\n\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue ) {\n this.tempValue = value;\n }\n }\n\n },\n\n mounted()\n {\n this.init = true;\n this.getTab(false);\n },\n\n updated()\n {\n let width = Dom.find(this.$el).find('.n-active')\n .width();\n\n this.width = width < 0 ? 0 : width;\n\n let offset = Dom.find(this.$el).find('.n-active')\n .offset('left', this.$el);\n\n this.offset = offset < 0 ? 0 : offset;\n },\n\n renderHeaderIndicator()\n {\n let transform = `scaleX(${this.width / 100}) ` + \n `translateX(${this.offset / (this.width / 100)}px)`;\n\n return (\n <div class=\"n-tabs__indicator\" style={{ transform }}>\n { /* Indicator bar */ }\n </div>\n );\n },\n\n renderHeader()\n {\n if ( this.elements.length <= 1 ) {\n return null;\n }\n\n // FIXME: As soon vue doesnt bug\n let sorted = Arr.sort(this.elements, 'sort');\n \n let tabs = Arr.each(Arr.make(sorted.length), (tab, index) => {\n return sorted[index].ctor('renderHeader')();\n });\n\n return (\n <div class=\"n-tabs__header\">\n {[tabs, this.ctor('renderHeaderIndicator')()]}\n </div>\n );\n },\n\n renderBody()\n {\n return (\n <div class=\"n-tabs__body\">\n { this.$slots.default && this.$slots.default() }\n </div>\n );\n },\n\n render()\n {\n let classList = [\n 'n-tabs', \n 'n-tabs--' + this.size, \n 'n-tabs--' + this.type\n ];\n\n if ( this.float ) {\n classList.push('n-float');\n }\n\n return (\n <div class={classList}>\n { this.ctor('renderHeader')() }\n { this.ctor('renderBody')() }\n </div>\n );\n }\n}\n","import { h, resolveComponent } from \"vue\";\n\nexport default {\n\n name: 'NTabsItem',\n\n inject: {\n\n NTabs: {\n default: undefined\n }\n\n },\n\n provide()\n {\n return {\n NTabsItem: this\n };\n },\n\n props: {\n\n label: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n name: {\n default()\n {\n return 'default';\n },\n type: [String]\n },\n\n icon: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n sort: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n relative: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n preload: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n keep: {\n default()\n {\n return false;\n },\n type: [Boolean]\n }\n\n\n },\n\n methods: {\n\n changeTab()\n {\n this.NTabs.changeTab(this.name);\n }\n\n },\n\n data()\n {\n return {\n _key: null, init: false\n }\n },\n\n beforeMount()\n {\n this.NTabs.addTab(this);\n },\n\n beforeUnmount()\n {\n this.NTabs.removeTab(this);\n },\n\n renderHeaderIcon()\n {\n if ( ! this.$slots.icon && ! this.icon ) {\n return null;\n }\n\n return (\n <div class=\"n-tabs__tab-icon\">\n { this.$slots.icon && this.$slots.icon() || <i class={this.icon}></i> }\n </div>\n );\n },\n\n renderHeaderLabel()\n {\n return (\n <div class=\"n-tabs__tab-label\">\n { this.$slots.label && this.$slots.label () || <span>{this.label}</span> }\n </div>\n );\n },\n\n renderHeader()\n {\n let classList = [\n 'n-tabs__tab'\n ];\n\n if ( this.NTabs.tempValue === this.name ) {\n classList.push('n-active');\n }\n\n let props = {\n onClick: () => this.changeTab(this.name)\n };\n\n return (\n <div class={classList} {...props}>\n { this.ctor('renderHeaderIcon')() }\n { this.ctor('renderHeaderLabel')() }\n </div>\n );\n },\n\n render()\n {\n let renderBody = this.NTabs.tempValue === this.name;\n\n if ( this.NTabs.tempValue !== this.name && this.keep ) {\n renderBody = this.init;\n }\n\n if ( this.NTabs.tempValue !== this.name && this.preload ) {\n renderBody = true;\n }\n\n if ( ! renderBody ) {\n return null;\n }\n\n this.init = true;\n\n let classList = [\n 'n-tabs-item'\n ];\n\n let style = {};\n\n if ( this.NTabs.tempValue !== this.name ) {\n style.display = 'none';\n }\n\n if ( this.$slots.raw ) {\n return this.$slots.raw({ style });\n }\n\n let element = 'div';\n\n if ( ! this.relative && ! this.NTabs.relative ) {\n element = resolveComponent('NScrollbar');\n }\n\n return h(element, { class: classList, style }, this.$slots);\n }\n}\n","import Tabs from './src/tabs/tabs';\nimport TabsItem from './src/tabs-item/tabs-item';\n\nexport default function (App) {\n App.component(Tabs.name, Tabs);\n App.component(TabsItem.name, TabsItem);\n}","import { Obj, Arr, Any, Dom } from \"@kizmann/pico-js\";\n\nconst fileMap = {\n image: [\n 'jpg', 'jpeg', 'gif', 'svg', 'png'\n ],\n video: [\n 'mp4', 'webm', 'mov'\n ],\n font: [\n 'woff', 'ttf', 'otf'\n ],\n text: [\n 'csv', 'txt', 'html'\n ],\n application: [\n 'pdf', 'doc', 'xls'\n ]\n}\n\nexport default {\n\n name: 'NPreview',\n\n props: {\n\n file: {\n default()\n {\n return null;\n }\n },\n\n thumb: {\n default()\n {\n return null;\n }\n },\n\n fit: {\n default()\n {\n return 'cover';\n },\n type: [String]\n },\n\n mime: {\n default()\n {\n return null;\n },\n typre: [String]\n },\n\n preview: {\n default()\n {\n return true;\n },\n typre: [Boolean]\n },\n\n showSrc: {\n default()\n {\n return true;\n },\n typre: [Boolean]\n },\n\n map: {\n default()\n {\n return fileMap;\n },\n type: [Object]\n }\n\n },\n\n computed: {\n\n tempFile()\n {\n return this.file || this.thumb;\n },\n\n tempThumb()\n {\n return this.thumb || this.file;\n },\n\n fileMime()\n {\n return this.getFileMime();\n },\n\n thumbMime()\n {\n return this.getThumbMime();\n },\n\n },\n\n data()\n {\n return {\n lightbox: false, load: false\n };\n },\n\n methods: {\n\n getFileMime(fallback = null)\n {\n let file = Obj.get(this.tempFile, 'name',\n this.tempFile);\n\n if ( Any.isEmpty(file) ) {\n return fallback;\n }\n\n let extension = file.replace(/^.*?\\.([^.?]+)(\\?.*?)?$/,\n '$1');\n\n Obj.each(this.map, (exts, key) => {\n if ( Arr.has(exts, extension) ) fallback = key;\n });\n\n if ( global.resolveVimeo(file) ) {\n fallback = 'video';\n }\n\n if ( global.resolveYoutube(file) ) {\n fallback = 'video';\n }\n\n if ( Any.isString(this.mime) ) {\n fallback = this.mime;\n }\n\n return fallback;\n },\n\n getThumbMime(fallback = null)\n {\n if ( Any.isString(this.mime) ) {\n return this.mime;\n }\n\n let file = Obj.get(this.tempThumb, 'name',\n this.tempThumb);\n\n if ( Any.isEmpty(file) ) {\n return fallback;\n }\n\n let extension = file.replace(/^.*?\\.([^.?]+)(\\?.*?)?$/,\n '$1');\n\n Obj.each(this.map, (exts, key) => {\n if ( Arr.has(exts, extension) ) fallback = key;\n });\n\n return fallback;\n },\n\n showLightbox()\n {\n this.lightbox = true;\n },\n\n },\n\n renderPreview()\n {\n if ( ! this.preview ) {\n return this.ctor('renderFull')();\n }\n\n if ( this.thumbMime === 'image' ) {\n return (<NPreviewImage src={this.tempThumb} />);\n }\n\n let props = {\n type: this.thumbMime,\n showSrc: false,\n }\n\n return (<NPreviewPlain src={this.tempThumb} {...props} />);\n },\n\n renderFull()\n {\n let isObject = Any.isObject(this.tempFile);\n\n if ( this.fileMime === 'image' ) {\n return (<NPreviewImage src={this.tempFile} />);\n }\n\n if ( this.fileMime === 'video' && ! isObject ) {\n return (<NPreviewVideo src={this.tempFile} />);\n }\n\n let props = {\n type: this.thumbMime,\n showSrc: this.showSrc,\n }\n\n return (<NPreviewPlain src={this.tempFile} {...props} />);\n },\n\n renderLightbox()\n {\n if ( ! this.lightbox || ! this.preview ) {\n return null;\n }\n\n let slots = {\n raw: this.ctor('renderFull')\n }\n\n let props = {\n type: 'preview',\n width: '80%',\n height: '90%',\n }\n\n return (<NModal vModel={this.lightbox} {...props} v-slots={slots} />);\n },\n\n render()\n {\n let classList = [\n 'n-preview',\n 'n-preview--' + this.fit\n ];\n\n if ( this.preview ) {\n classList.push('n-clickable');\n }\n\n if ( this.fileMime ) {\n classList.push('n-mime-' + this.fileMime);\n }\n\n let props = {};\n\n if ( this.preview ) {\n props.onClick = this.showLightbox;\n }\n\n let key = btoa(this.tempThumb);\n\n return (\n <div key={key} class={classList} {...props}>\n { [this.ctor('renderPreview')(), this.ctor('renderLightbox')()] }\n </div>\n );\n }\n\n}","import { Any, Obj, Locale } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NPreviewPlain',\n\n props: {\n\n src: {\n default()\n {\n return null;\n }\n },\n\n type: {\n default()\n {\n return null;\n }\n },\n\n showSrc: {\n default()\n {\n return true;\n }\n }\n\n },\n\n computed: {\n\n tempSrc()\n {\n return Obj.get(this.src, 'name', this.src);\n },\n\n tempExt()\n {\n let regex = /^.*?\\.([^.?]+)(\\?.*?)?$/;\n\n if ( Any.isEmpty(this.tempSrc) ) {\n return null;\n }\n\n return this.tempSrc.replace(regex, '$1');\n }\n\n },\n\n render()\n {\n let classList = [\n 'n-preview-plain'\n ];\n\n let slots = [];\n\n slots[0] = (\n <li>{ this.type || Locale.trans('plain') }/{ this.tempExt || Locale.trans('none') }</li>\n );\n\n if ( this.showSrc ) {\n slots[1] = (<li>{ this.tempSrc }</li>);\n }\n\n return (\n <div class={classList}>\n <ul>{ slots }</ul>\n </div>\n );\n }\n\n}","import { Obj, Arr, Str, Any, Dom } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NPreviewImage',\n\n props: {\n\n src: {\n default()\n {\n return null;\n }\n },\n\n },\n\n data()\n {\n return {\n load: false, tempSrc: null\n };\n },\n\n beforeMount()\n {\n if ( ! window.ImageCache ) {\n window.ImageCache = [];\n }\n\n\n if ( ! Arr.has(window.ImageCache, this.src) ) {\n this.tempSrc = this.src;\n }\n\n },\n\n mounted()\n {\n this.resolveLoad();\n },\n\n watch: {\n\n 'src': function () {\n this.resolveLoad();\n }\n\n },\n\n methods: {\n\n resolveLoad()\n {\n if ( Arr.has(window.ImageCache, this.src) ) {\n return;\n }\n\n this.tempSrc = null;\n\n if ( Any.isObject(this.src) ) {\n return this.resolveData();\n }\n\n Dom.find(this.$refs.image).loaded(() => {\n\n /**\n * Add image to cache\n */\n Arr.add(window.ImageCache, this.src);\n\n /**\n * Mark image as loaded\n */\n Any.delay(() => this.load = false, 200);\n });\n\n this.laod = true;\n },\n\n resolveData()\n {\n let reader = new FileReader();\n\n reader.onload = () => {\n this.tempSrc = reader.result;\n };\n\n reader.readAsDataURL(this.src);\n }\n\n },\n\n render()\n {\n let classList = [\n 'n-preview-image'\n ];\n\n if ( Arr.has(window.ImageCache, this.src) ) {\n classList.push('n-cached');\n }\n\n if ( ! this.load ) {\n classList.push('n-ready');\n }\n\n return (\n <div class={classList}>\n <img ref=\"image\" src={this.tempSrc || this.src} />\n </div>\n );\n }\n\n}","import { Obj, Arr, Str, Any, Dom } from \"@kizmann/pico-js\";\n\nglobal.resolveYoutube = function(url, fallback = null) {\n\n if ( ! Any.isString(url) ) {\n return fallback;\n }\n\n let host = url.match(/^https?:\\/\\/(www\\.)?(youtube\\.com|youtu\\.be)/);\n\n if ( ! host ) {\n return fallback;\n }\n\n let id = url.match(/(\\?v=.*?)(?=&|$)/);\n\n if ( id && id.length === 2 ) {\n return id[0].replace(/^\\?v=/, '');\n }\n\n let path = url.match(/(\\.be\\/.*?)(?=\\?|$)/);\n\n if ( path && path.length === 2 ) {\n return path[0].replace(/^\\.be\\//, '');\n }\n\n let frame = url.match(/(\\/embed\\/)(.*?$)/);\n\n if ( frame && frame.length === 3 ) {\n return frame[0].replace(/^\\/embed\\//, '');\n }\n\n return fallback;\n}\n\nglobal.resolveVimeo = function(url, fallback = null) {\n\n if ( ! Any.isString(url) ) {\n return fallback;\n }\n\n let host = url.match(/^https?:\\/\\/(www\\.|player\\.)?vimeo\\.com/);\n\n if ( ! host ) {\n return fallback;\n }\n\n let path = url.match(/(\\/[0-9]+)(&|$)/);\n\n if ( path && path.length === 3 ) {\n return path[0].replace(/(^\\/|&$)/, '');\n }\n\n return fallback;\n}\n\nexport default {\n\n name: 'NPreviewVideo',\n\n props: {\n\n src: {\n default()\n {\n return null;\n }\n },\n\n },\n\n data()\n {\n return {\n provider: 'plain', unique: null, tempSrc: null\n };\n },\n\n mounted()\n {\n this.resolveType();\n },\n\n watch: {\n\n 'src': function () {\n this.resolveType();\n }\n\n },\n\n methods: {\n\n resolveType()\n {\n this.tempSrc = null;\n\n if ( this.resolveYoutube() ) {\n return;\n }\n\n if ( this.resolveVimeo() ) {\n return;\n }\n\n if ( Any.isObject(this.src) ) {\n this.resolveData();\n }\n\n this.provider = 'plain';\n },\n\n resolveData()\n {\n console.log('Coming at some point (blob stream)....');\n },\n\n resolveYoutube()\n {\n let youtube = global.resolveYoutube(this.src);\n\n if ( ! youtube ) {\n return false;\n }\n\n this.provider = 'youtube';\n\n this.$emit('resolve:youtube', this.unique = youtube);\n\n return true;\n },\n\n resolveVimeo()\n {\n let vimeo = global.resolveVimeo(this.src);\n\n if ( ! vimeo ) {\n return false;\n }\n\n this.provider = 'vimeo';\n\n this.$emit('resolve:vimeo', this.unique = vimeo);\n\n return true;\n }\n\n },\n\n renderYoutube()\n {\n let props = {\n src: `https://www.youtube.com/embed/${this.unique}`\n };\n\n return (\n <iframe {...props}></iframe>\n );\n },\n\n renderVimeo()\n {\n let props = {\n src: `https://player.vimeo.com/video/${this.unique}`\n };\n\n return (\n <iframe {...props}></iframe>\n );\n },\n\n renderPlain()\n {\n let src = Obj.get(this.src, 'name', this.src);\n\n let extension = src.replace(/^.*?\\.([^.?]+)(\\?.*?)?$/,\n '$1');\n\n return (\n <video width=\"320\" height=\"240\" controls>\n <source src={this.tempSrc || this.src} type={`video/${extension}`} />\n </video>\n );\n },\n\n render()\n {\n let classList = [\n 'n-preview-video'\n ];\n\n return (\n <div class={classList}>\n { this.ctor('render' + Str.ucfirst(this.provider))() }\n </div>\n );\n }\n\n}","import Preview from './src/preview/preview';\nimport PreviewPlain from './src/preview-plain/preview-plain';\nimport PreviewImage from './src/preview-image/preview-image';\nimport PreviewVideo from './src/preview-video/preview-video';\n\nexport default function (App) {\n App.component(Preview.name, Preview);\n App.component(PreviewPlain.name, PreviewPlain);\n App.component(PreviewImage.name, PreviewImage);\n App.component(PreviewVideo.name, PreviewVideo);\n}\n\n","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NSwitch'] = Locale.trans('NSwitch');\n\nglobal.NanoBuilderIndexies['NSwitch'] = {\n childs: true, props: {}\n};\n\nglobal.NanoBuilderIndexies['NSwitch']['props'] = {\n modelValue: {\n for: ['binds', 'props'], type: 'Any'\n },\n onValue: {\n for: ['binds', 'props'], type: 'Any'\n },\n offValue: {\n for: ['binds', 'props'], type: 'Any'\n },\n onType: {\n for: ['binds', 'props'], type: 'String', options: global.NanoPrototypeTypes\n },\n offType: {\n for: ['binds', 'props'], type: 'String', options: global.NanoPrototypeTypes\n },\n size: {\n for: ['binds', 'props'], type: 'String', options: global.NanoPrototypeSizes\n },\n disabled: {\n for: ['binds', 'props'], type: 'Boolean', options: global.NanoPrototypeBools\n },\n};","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NTable'] = Locale.trans('NTable');\n\nglobal.NanoBuilderIndexies['NTable'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NTable']['props'] = {\n //\n};","import { Num, Arr, Locale } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NRating',\n\n props: {\n\n modelValue: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n steps: {\n default()\n {\n return 0.5;\n },\n type: [Number]\n },\n\n fixed: {\n default()\n {\n return 1;\n },\n type: [Number]\n },\n\n max: {\n default()\n {\n return 5;\n },\n type: [Number]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n choice: {\n default()\n {\n return ':count';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'default';\n },\n type: [String]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n }\n\n },\n\n computed: {\n\n virtualValue()\n {\n return Num.fixed(1 / this.max * this.modelValue * 5, this.fixed);\n },\n\n },\n\n renderStars()\n {\n let stars = [\n 1, 2, 3, 4, 5\n ];\n\n return Arr.each (stars, (rate) => {\n\n let className = 'is-null';\n\n if ( this.virtualValue >= rate - 0.5 ) {\n className = 'is-half';\n }\n\n if ( this.virtualValue >= rate ) {\n className = 'is-full';\n }\n\n return (\n <span class={className}></span>\n );\n });\n },\n\n renderValue()\n {\n let vars = {\n value: Num.format(this.modelValue, '.', '', this.fixed)\n };\n\n if ( this.$slots.default ) {\n return this.$slots.default(vars);\n }\n\n return Locale.choice(this.choice, this.modelValue, vars);\n },\n\n render()\n {\n let classList = [\n 'n-rating',\n 'n-rating--' + this.size,\n 'n-rating--' + this.type\n ];\n\n if ( this.disabled ) {\n classList.push('n-disabled');\n }\n\n return (\n <div class={classList}>\n <div class=\"n-rating__stars\">\n {this.ctor('renderStars')()}\n </div>\n <div class=\"n-rating__value\">\n {this.ctor('renderValue')()}\n </div>\n </div>\n );\n }\n\n}\n","import Rating from './src/rating/rating';\n\nexport default function (App) {\n App.component(Rating.name, Rating);\n}\n","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NTags'] = Locale.trans('NTags');\n\nglobal.NanoBuilderIndexies['NTags'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NTags']['props'] = {\n //\n};","import { Arr, Obj, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NRadio',\n\n model: {\n prop: 'checked'\n },\n\n inject: {\n\n NRadioGroup: {\n default: undefined\n }\n\n },\n\n props: {\n\n value: {\n default()\n {\n return null;\n }\n },\n\n checked: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n },\n\n computed: {\n\n uid()\n {\n return this._.uid;\n }\n\n },\n\n data()\n {\n return {\n tempChecked: this.checked\n };\n },\n\n watch: {\n\n checked()\n {\n if ( this.checked !== this.tempChecked ) {\n this.tempChecked = this.checked;\n }\n }\n\n },\n\n beforeMount()\n {\n if ( this.NRadioGroup ) {\n this.tempChecked = this.NRadioGroup.isChecked(this.value);\n }\n },\n\n mounted()\n {\n if ( this.NRadioGroup ) {\n this.NRadioGroup.addRadio(this);\n }\n },\n\n beforeUnmount()\n {\n if ( this.NRadioGroup ) {\n this.NRadioGroup.removeRadio(this);\n }\n },\n\n methods: {\n\n check()\n {\n if ( this.NRadioGroup ) {\n this.NRadioGroup.checkRadio(this);\n }\n\n this.$emit('update:modelValue', this.tempChecked = true);\n },\n\n updateFromGroup()\n {\n let checked = this.NRadioGroup.isChecked(this.value);\n\n if ( this.tempChecked === checked ) {\n return;\n }\n \n this.$emit('update:modelValue', this.tempChecked = checked);\n }\n\n },\n\n renderRadio()\n {\n return (\n <div class=\"n-radio__radio\">\n <span></span>\n </div>\n );\n },\n\n renderLabel()\n {\n if ( ! this.$slots.default && ! this.$slots.label ) {\n return null;\n }\n\n return (\n <div class=\"n-radio__label\">\n { this.$slots.default() || this.$slots.label() }\n </div>\n );\n },\n\n render()\n {\n let classList = [\n 'n-radio',\n 'n-radio--' + this.size,\n 'n-radio--' + this.type,\n ];\n\n if ( this.tempChecked ) {\n classList.push('n-checked');\n }\n\n if ( this.disabled ) {\n classList.push('n-disabled');\n }\n\n let props = Obj.clone(this.$attrs);\n\n if ( ! this.disabled ) {\n props.onMousedown = this.check;\n }\n\n return (\n <div class={classList} {...props}>\n { this.ctor('renderRadio')() }\n { this.ctor('renderLabel')() }\n </div>\n );\n }\n\n}\n","import { Arr, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NRadioGroup',\n\n provide()\n {\n return {\n NRadioGroup: this\n };\n },\n\n props: {\n\n modelValue: {\n default()\n {\n return null;\n }\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n align: {\n default()\n {\n return 'horizontal';\n },\n type: [String]\n }\n\n },\n\n data()\n {\n return {\n tempValue: this.modelValue,\n elements: []\n }\n },\n\n watch: {\n\n modelValue()\n {\n if ( this.modelValue !== this.tempValue ) {\n this.tempValue = this.modelValue;\n }\n },\n\n },\n\n methods: {\n\n addRadio(radio)\n {\n Arr.add(this.elements, radio, {\n uid: radio.uid\n });\n },\n\n removeRadio(radio)\n {\n Arr.remove(this.elements, {\n uid: radio.uid\n });\n },\n\n checkRadio(radio)\n {\n this.tempValue = radio.value;\n \n Arr.each(this.elements, (radio) => {\n radio.updateFromGroup();\n });\n\n this.$emit('update:modelValue', this.tempValue);\n },\n\n isChecked(value)\n {\n return this.tempValue === value;\n }\n\n },\n\n render()\n {\n let classList = [\n 'n-radio-group',\n 'n-radio-group--' + this.size,\n 'n-radio-group--' + this.align,\n ];\n\n return (\n <div class={classList}>\n { this.$slots.default && this.$slots.default() }\n </div>\n );\n }\n\n}\n","import NRadio from './src/radio/radio';\nimport NRadioGroup from './src/radio-group/radio-group';\n\nexport default function (App) {\n App.component(NRadio.name, NRadio);\n App.component(NRadioGroup.name, NRadioGroup);\n}\n","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NFormGroup'] = Locale.trans('NFormGroup');\n\nglobal.NanoBuilderIndexies['NFormGroup'] = {\n childs: true, props: {}\n};\n\nglobal.NanoBuilderIndexies['NFormGroup']['props'] = {\n label: {\n for: ['binds', 'props'], type: 'String'\n }\n};","import { Arr, Obj, Num, Any, Dom, Event, Locale, UUID } from \"@kizmann/pico-js\";\n\nglobal.dragMods = [];\n\nclass NDragCounter\n{\n\n $el = null;\n\n constructor()\n {\n this.$el = Dom.make('div', {\n classList: ['n-draggable__counter']\n });\n\n this.$el.appendTo(document.body);\n }\n\n get(event, count)\n {\n // Update dragover color/type\n this.update();\n\n this.$el.html(\n `<span>${Locale.choice(':count Item|:count Items', count)}</span>`\n );\n\n // Fix data transfer\n event.dataTransfer.setData('text/plain', '');\n\n if ( typeof event.dataTransfer.setDragImage !== 'function' ) {\n return;\n }\n\n // Set finally the drop image\n event.dataTransfer.setDragImage(this.$el.get(0), 0, 0);\n }\n\n update()\n {\n global.dragMods = global.keyMods;\n\n let classList = [\n 'n-draggable__counter'\n ];\n\n if ( Arr.has(global.dragMods, 18) ) {\n classList.push('n-modify--alt');\n }\n\n if ( Arr.has(global.dragMods, 17) ) {\n classList.push('n-modify--ctrl');\n }\n\n if ( Arr.has(global.dragMods, 91) ) {\n classList.push('n-modify--meta');\n }\n\n this.$el.attr('class', classList.join(' '));\n }\n\n}\n\nglobal.DragCounter = new NDragCounter;\n\nclass NDragIndicator\n{\n\n $el = null;\n\n parent = null;\n\n constructor(parent)\n {\n this.$el = Dom.make('div', {\n classList: ['n-draggable__indicator']\n });\n\n this.$el.appendTo(this.parent = parent);\n }\n\n resolve(event, safezone, el, strategy = 'inner')\n {\n let rect = el.getBoundingClientRect();\n\n if ( event.clientY < rect.y + safezone ) {\n strategy = 'before';\n }\n\n if ( event.clientY > rect.y + rect.height - safezone ) {\n strategy = 'after';\n }\n\n if ( Dom.find(el).hasClass('n-expanded') ) {\n strategy = strategy === 'after' ? 'inner' : strategy;\n }\n\n Arr.has(['before', 'after'], strategy) ?\n this.show(el, strategy) : this.hide();\n\n\n return strategy;\n }\n\n show(el, strategy)\n {\n let offsetTop = Dom.find(el).offsetTop(this.parent);\n\n let style = {\n top: offsetTop || 1\n };\n\n if ( strategy === 'after' ) {\n style.top = offsetTop + Dom.find(el).height();\n }\n\n this.$el.css(Obj.map(style, (item) => item + 'px'));\n }\n\n hide()\n {\n this.$el.css(null);\n }\n\n destroy()\n {\n this.$el.get(0).remove();\n }\n\n}\n\nclass NDraghandler\n{\n\n uid = null;\n\n rootNode = null;\n childNodes = {};\n\n dropNodes = [];\n cacheNodes = [];\n\n strategy = 'nodrop';\n frames = 0;\n timeout = 0;\n dragcount = {};\n\n constructor(rootNode)\n {\n this.rootNode = rootNode;\n }\n\n bindRoot(frame = null)\n {\n this.DragIndicator = new NDragIndicator(frame || this.rootNode.$el);\n\n if ( global.DragCache ) {\n this.bindDragstart.call(this, ...global.DragCache);\n }\n\n Dom.find(this.rootNode.$el).on('dragenter', (event) => {\n this.onDragenterRoot(event);\n });\n\n Dom.find(this.rootNode.$el).on('dragover', (event) => {\n this.onDragoverRoot(event);\n });\n\n Dom.find(this.rootNode.$el).on('dragleave', (event) => {\n this.onDragleaveRoot(event);\n });\n\n Dom.find(this.rootNode.$el).on('dragend', (event) => {\n this.onDragendRoot(event);\n });\n\n Dom.find(this.rootNode.$el).on('drop', (event) => {\n this.onDragdropRoot(event);\n });\n\n Dom.find(this.rootNode.$el).on('dragdrop', (event) => {\n this.onDragdropRoot(event);\n });\n\n Event.bind('NDrag:start', this.bindDragstart.bind(this),\n this.rootNode.uid);\n\n Event.bind('NDrag:end', this.bindDragend.bind(this),\n this.rootNode.uid);\n\n Event.bind('NDrag:drop', this.bindDragdrop.bind(this),\n this.rootNode.uid);\n }\n\n unbindRoot()\n {\n let events = [\n 'dragstart',\n 'dragenter',\n 'dragover',\n 'dragleave',\n 'dragend',\n 'drop',\n 'dragdrop',\n ];\n\n Dom.find(this.rootNode.$el).off(events);\n\n Event.unbind('NDrag:start', this.rootNode.uid);\n Event.unbind('NDrag:end', this.rootNode.uid);\n Event.unbind('NDrag:drop', this.rootNode.uid);\n }\n\n onDragenterRoot(event)\n {\n event.preventDefault();\n }\n\n onDragoverRoot(event)\n {\n let isNode = Dom.find(event.target)\n .closest('.n-draglist-item');\n\n if ( isNode || !this.cacheNodes.length ) {\n return;\n }\n\n event.preventDefault();\n\n if ( this.frames && Date.now() - this.frames < 135 ) {\n return;\n }\n\n let allowDrop = this.rootNode.allowDrop;\n\n if ( !Any.isFunction(allowDrop) ) {\n allowDrop = () => this.rootNode.allowDrop;\n }\n\n let rainbow = Arr.each(this.cacheNodes, (node) => {\n return !!allowDrop(node, null, this.strategy);\n });\n\n this.strategy = 'root';\n\n if ( Arr.has(rainbow, false) ) {\n this.strategy = 'nodrop';\n }\n\n this.DragIndicator.hide();\n\n if ( this.strategy !== 'nodrop' ) {\n Dom.find(this.rootNode.$el).addClass('n-dragover');\n } else {\n Dom.find(this.rootNode.$el).removeClass('n-dragover');\n }\n\n if ( this.strategy === 'nodrop' ) {\n Dom.find(this.rootNode.$el).addClass('n-nodrop');\n } else {\n Dom.find(this.rootNode.$el).removeClass('n-nodrop');\n }\n\n this.frames = Date.now();\n }\n\n onDragleaveRoot(event)\n {\n Dom.find(this.rootNode.$el)\n .removeClass('n-dragover n-nodrop');\n }\n\n onDragendRoot(event)\n {\n if ( !this.cacheNodes.length ) {\n return;\n }\n\n Dom.find(this.rootNode.$el)\n .removeClass('n-dragover n-nodrop');\n\n if ( this.strategy !== 'root' ) {\n return;\n }\n\n Event.fire('NDrag:end');\n }\n\n onDragdropRoot(event)\n {\n if ( !this.cacheNodes.length ) {\n return;\n }\n\n Dom.find(this.rootNode.$el)\n .removeClass('n-dragover n-nodrop');\n\n if ( this.strategy !== 'root' ) {\n return;\n }\n\n event.preventDefault();\n\n this.moveNodes(null, this.strategy);\n\n Event.fire('NDrag:drop');\n }\n\n bindDragstart(group, cache)\n {\n if ( Arr.has(this.rootNode.allowGroups, group) ) {\n this.cacheNodes = JSON.parse(JSON.stringify(cache));\n }\n }\n\n bindDragend()\n {\n this.dragcount = {};\n\n this.cacheNodes = this.dropNodes = [];\n }\n\n bindDragdrop(...args)\n {\n if ( !this.dropNodes.length ) {\n return;\n }\n\n this.rootNode.tempSelected = [];\n\n this.rootNode.$emit('update:selected',\n this.rootNode.tempSelected);\n\n if ( !this.rootNode.removeNode ) {\n return;\n }\n\n let clone = {\n items: Obj.clone(this.rootNode.items)\n };\n\n this.unlinkNodes(clone);\n this.removeNodes(clone);\n\n this.rootNode.$emit('update:items', clone.items);\n }\n\n onDragstartNode(event, node)\n {\n if ( !this.rootNode.isSelected(node) ) {\n this.rootNode.$emit('update:selected',\n this.rootNode.tempSelected = [node.uid]);\n }\n\n let cache = Arr.each(this.rootNode.tempSelected, (id) => {\n return Arr.find(this.rootNode.virtuals, { [this.rootNode.uniqueProp]: id });\n });\n\n global.DragCounter.get(event, cache.length);\n\n Arr.map(cache, (value) => {\n return { value, item: Obj.get(this.rootNode, value.route) };\n });\n\n Event.fire('NDrag:start', this.rootNode.group,\n this.dropNodes = cache);\n\n global.DragCache = [\n this.rootNode.group, this.dropNodes\n ];\n\n this.dragcount[node.uid] = 0;\n }\n\n onDragenterNode(event, node)\n {\n event.preventDefault();\n\n if ( !this.dragcount[node.uid] ) {\n this.dragcount[node.uid] = 0;\n }\n\n this.dragcount[node.uid] ++;\n }\n\n onDragoverNode(event, node)\n {\n if ( !this.cacheNodes.length ) {\n return;\n }\n\n event.preventDefault();\n\n if ( this.frames && Date.now() - this.frames < 45 ) {\n return;\n }\n\n let safezone = this.rootNode\n .safezone(node.$el.clientHeight);\n\n this.strategy = this.DragIndicator\n .resolve(event, safezone, node.$el);\n\n let targetNode = {\n value: node.value, item: node.item\n };\n\n let allowDrop = this.rootNode.allowDrop;\n\n if ( !Any.isFunction(allowDrop) ) {\n allowDrop = () => this.rootNode.allowDrop;\n }\n\n let rainbow = Arr.each(this.cacheNodes, (node) => {\n return !!allowDrop(node, targetNode, this.strategy);\n });\n\n let isInSelf = Arr.has(node.value.cascade,\n this.rootNode.tempSelected);\n\n rainbow.push(!isInSelf);\n\n if ( Arr.has(rainbow, false) ) {\n this.strategy = 'nodrop';\n }\n\n if ( this.strategy === 'nodrop' ) {\n this.DragIndicator.hide();\n }\n\n if ( this.strategy !== 'nodrop' ) {\n Dom.find(node.$el).addClass('n-dragover');\n Dom.find(node.$el).removeClass('n-nodrop');\n }\n\n if ( this.strategy === 'nodrop' ) {\n Dom.find(node.$el).removeClass('n-dragover');\n Dom.find(node.$el).addClass('n-nodrop');\n }\n\n this.frames = Date.now();\n }\n\n onDragleaveNode(event, node)\n {\n this.dragcount[node.uid] --;\n\n if ( this.dragcount[node.uid] !== 0 ) {\n return;\n }\n\n Dom.find(node.$el).removeClass('n-dragover n-nodrop');\n\n this.DragIndicator.hide();\n }\n\n onDragendNode(event, node)\n {\n Dom.find(node.$el).removeClass('n-dragover n-nodrop');\n\n this.DragIndicator.hide();\n\n Event.fire('NDrag:end');\n\n global.DragCache = null;\n }\n\n onDragdropNode(event, node)\n {\n if ( !this.cacheNodes.length ) {\n return;\n }\n\n Dom.find(node.$el).removeClass('n-dragover n-nodrop');\n\n this.DragIndicator.hide();\n\n if ( this.strategy === 'nodrop' ) {\n return;\n }\n\n event.preventDefault();\n\n this.moveNodes(node, this.strategy);\n\n Event.fire('NDrag:drop');\n }\n\n bindNode(node)\n {\n if ( this.childNodes[node.uid] ) {\n this.unbindNode(node);\n }\n\n let $handle = Dom.find(node.$el);\n\n if ( this.rootNode.handle ) {\n $handle = $handle.find('[draggable]');\n }\n\n let $el = Dom.find(node.$el);\n\n $handle.on('dragstart', (event) => {\n this.onDragstartNode(event, node);\n });\n\n $el.on('dragenter', (event) => {\n this.onDragenterNode(event, node);\n });\n\n $el.on('dragover', (event) => {\n this.onDragoverNode(event, node);\n });\n\n $el.on('dragleave', (event) => {\n this.onDragleaveNode(event, node);\n });\n\n $el.on('dragend', (event) => {\n this.onDragendNode(event, node);\n });\n\n $el.on('drop', (event) => {\n this.onDragdropNode(event, node);\n });\n\n $el.on('dragdrop', (event) => {\n this.onDragdropNode(event, node);\n });\n\n this.childNodes[node.uid] = node;\n }\n\n unbindNode(node)\n {\n let $handle = Dom.find(node.$el);\n\n if ( this.rootNode.handle ) {\n $handle = $handle.find('[draggable]');\n }\n\n $handle.off('dragstart');\n\n let $el = Dom.find(node.$el);\n\n $el.off([\n 'dragenter',\n 'dragover',\n 'dragleave',\n 'dragend',\n 'drop',\n 'dragdrop',\n ]);\n\n $el.removeClass('n-dragover n-nodrop');\n\n this.DragIndicator.hide();\n\n delete this.childNodes[node.uid];\n }\n\n moveNodes(target, strategy) {\n\n if ( this.rootNode.items !== undefined ) {\n return this.moveNodesMany(target, strategy);\n }\n\n if ( this.rootNode.item !== undefined ) {\n return this.moveNodesOne(target, strategy);\n }\n\n return null;\n }\n\n moveNodesOne(target, strategy)\n {\n let clone = {\n items: [Obj.clone(this.rootNode.item)]\n };\n\n if ( this.rootNode.insertNode ) {\n clone = this.moveNodesRoot(clone, target);\n }\n\n if ( this.rootNode.removeNode ) {\n clone = this.removeNodes(clone);\n }\n\n let sources = Arr.each(this.cacheNodes, (node) => {\n return node.item[this.rootNode.uniqueProp];\n });\n\n let source = Arr.first(this.cacheNodes);\n\n this.rootNode.$emit('move', Obj.get(source, 'value.id'),\n Obj.get(target, 'uid'), strategy);\n\n this.rootNode.$emit('moveRaw',\n source, target, strategy);\n\n this.rootNode.$emit('update:item',\n Obj.get(source, 'item'));\n }\n\n moveNodesMany(target, strategy)\n {\n let clone = {\n items: Obj.clone(this.rootNode.items)\n };\n\n if ( this.rootNode.removeNode ) {\n this.unlinkNodes(clone);\n }\n\n if ( !this.dropNodes.length ) {\n Arr.each(this.cacheNodes, (value, key) => {\n this.cacheNodes[key]['item'] = this.rootNode.transformDrop(value.item);\n });\n }\n\n if ( this.rootNode.insertNode && strategy === 'root' ) {\n clone = this.moveNodesRoot(clone, target);\n }\n\n if ( this.rootNode.insertNode && strategy === 'inner' ) {\n clone = this.moveNodesInto(clone, target);\n }\n\n if ( this.rootNode.insertNode && strategy === 'before' ) {\n clone = this.moveNodesBefore(clone, target);\n }\n\n if ( this.rootNode.insertNode && strategy === 'after' ) {\n clone = this.moveNodesAfter(clone, target);\n }\n\n if ( this.rootNode.removeNode ) {\n clone = this.removeNodes(clone);\n }\n\n let sources = Arr.each(this.cacheNodes, (node) => {\n return node.item[this.rootNode.uniqueProp];\n });\n\n this.dropNodes = this.rootNode.tempSelected = [];\n\n let eventName = 'move';\n\n if ( Arr.has(global.dragMods, 18) ) {\n eventName = 'moveAlt';\n }\n\n if ( Arr.has(global.dragMods, 17) ) {\n eventName = 'moveCtrl';\n }\n\n if ( Arr.has(global.dragMods, 91) ) {\n eventName = 'moveMeta';\n }\n\n this.rootNode.$emit(eventName, sources,\n Obj.get(target, 'uid'), strategy);\n\n this.rootNode.$emit(eventName + 'Raw',\n this.cacheNodes, target, strategy);\n\n this.rootNode.$emit('update:selected',\n this.rootNode.tempSelected);\n\n this.rootNode.$emit('update:items', clone.items);\n }\n\n unlinkNodes(clone)\n {\n Arr.each(this.dropNodes, (node) => {\n Obj.set(clone, node.value.route, null);\n });\n }\n\n removeNodes(clone, prop = 'items')\n {\n clone[prop] = Arr.filter(clone[prop], (node) => {\n return !!node;\n });\n\n Arr.map(clone[prop], (node) => {\n\n if ( !node[this.rootNode.childProp] ) {\n return node;\n }\n\n return this.removeNodes(node,\n this.rootNode.childProp);\n });\n\n return clone;\n }\n\n moveNodesRoot(clone)\n {\n if ( this.rootNode.disableMove ) {\n return clone;\n }\n\n Arr.each(this.cacheNodes, (node) => {\n clone.items.push(node.item);\n });\n\n return clone;\n }\n\n moveNodesInto(clone, target)\n {\n if ( this.rootNode.disableMove ) {\n return clone;\n }\n\n let targetRoute = [\n target.value.route,\n this.rootNode.childProp\n ].join('.');\n\n let children = Obj.get(clone,\n targetRoute, []);\n\n Arr.each(this.cacheNodes, (node) => {\n children.push(node.item);\n });\n\n Obj.set(clone, targetRoute, children);\n\n return clone;\n }\n\n moveNodesBefore(clone, target)\n {\n if ( this.rootNode.disableMove ) {\n return clone;\n }\n\n let targetRoute = target.value.route\n .replace(/\\.[0-9]+$/, '');\n\n let items = Obj.get(clone, targetRoute);\n\n Arr.each(this.cacheNodes, (node, index) => {\n items.splice(target.value.index + index, 0, node.item);\n });\n\n Obj.set(clone, targetRoute, items);\n\n return clone;\n }\n\n moveNodesAfter(clone, target)\n {\n if ( this.rootNode.disableMove ) {\n return clone;\n }\n\n let targetRoute = target.value.route\n .replace(/\\.[0-9]+$/, '');\n\n let items = Obj.get(clone, targetRoute);\n\n Arr.each(this.cacheNodes, (node, index) => {\n items.splice(target.value.index + index + 1, 0, node.item);\n });\n\n Obj.set(clone, targetRoute, items);\n\n return clone;\n }\n\n copyNode(node)\n {\n let clone = {\n items: Obj.clone(this.rootNode.items)\n };\n\n let targetRoute = node.value.route\n .replace(/\\.[0-9]+$/, '');\n\n let items = Obj.get(clone, targetRoute);\n\n let target = Obj.except(node.item, [], {\n [this.rootNode.uniqueProp]: UUID()\n });\n\n items.splice(node.value.index + 1,\n 0, target);\n\n Obj.set(clone, targetRoute, items);\n\n this.rootNode.$emit('update:items', clone.items);\n }\n\n removeNode(node)\n {\n let clone = {\n items: Obj.clone(this.rootNode.items)\n };\n\n let targetRoute = node.value.route\n .replace(/\\.[0-9]+$/, '');\n\n let items = Obj.get(clone, targetRoute);\n\n items.splice(node.value.index, 1);\n\n Obj.set(clone, targetRoute, items);\n\n this.rootNode.$emit('update:items', clone.items);\n }\n\n reduce(items, ...props)\n {\n return Arr.reduce(items, (merge, item, index) =>\n this.reduceItem(merge, item, Num.int(index), ...props), []);\n }\n\n reduceItem(merge, item, index, depth = 0, route = 'items', cascades = [])\n {\n // Get a unique id\n let unique = Obj.get(item,\n this.rootNode.uniqueProp, UUID());\n\n // Add unique to cascader\n let tempCascade = Arr.merge(cascades,\n [unique]);\n\n let virtual = {\n index: index,\n depth: depth,\n route: [route, index].join('.'),\n parent: Arr.last(cascades),\n cascade: tempCascade,\n };\n\n virtual[this.rootNode.uniqueProp] = unique;\n\n let children = Obj.get(item,\n this.rootNode.childProp, []);\n\n if ( Any.isEmpty(children) ) {\n return Arr.merge(merge, [virtual]);\n }\n\n let childRoute = [\n route, index,\n this.rootNode.childProp\n ].join('.');\n\n let props = [\n depth + 1, childRoute, tempCascade\n ]\n\n return Arr.merge(merge, [virtual],\n this.reduce(children, ...props));\n }\n\n}\n\nexport default NDraghandler;","import { UUID, Num, Arr, Obj, Dom, Any, Event, Locale } from \"@kizmann/pico-js\";\nimport NDraghandler from \"../draghandler/draghandler\";\n\nglobal.DEBUG_NDLIST = false;\n\nexport default {\n\n name: 'NDraglist',\n\n model: {\n prop: 'items'\n },\n\n props: {\n\n items: {\n default()\n {\n return [];\n }\n },\n\n renderNode: {\n default()\n {\n return null;\n }\n },\n\n draggable: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n current: {\n default()\n {\n return null;\n }\n },\n\n selected: {\n default()\n {\n return [];\n }\n },\n\n expanded: {\n default()\n {\n return [];\n }\n },\n\n handle: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n group: {\n default()\n {\n return ['default'];\n },\n type: [Array]\n },\n\n allowGroups: {\n default()\n {\n return ['default'];\n },\n type: [Array]\n },\n\n safezone: {\n default()\n {\n return (height) => height * 0.265;\n }\n },\n\n lazyload: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n showEmptyIcon: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n itemHeight: {\n default()\n {\n return 34;\n },\n type: [Number]\n },\n\n itemOffset: {\n default()\n {\n return 30;\n },\n type: [Number]\n },\n\n threshold: {\n default()\n {\n return 1;\n },\n type: [Number]\n },\n\n useKeys: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n overflowY: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n overflowX: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n offsetY: {\n default()\n {\n return 10;\n },\n type: [Number]\n },\n\n offsetX: {\n default()\n {\n return 10;\n },\n type: [Number]\n },\n\n scrollTopOnChange: {\n default()\n {\n return false;\n }\n },\n\n uniqueProp: {\n default()\n {\n return 'id';\n },\n type: [String]\n },\n\n childProp: {\n default()\n {\n return 'children';\n },\n type: [String]\n },\n\n renderCurrent: {\n default()\n {\n return true;\n }\n },\n\n renderHandle: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n renderSelect: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n renderExpand: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n transformDrop: {\n default()\n {\n return (node) => node;\n }\n },\n\n disableMove: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n insertNode: {\n default()\n {\n return true;\n }\n },\n\n removeNode: {\n default()\n {\n return true;\n }\n },\n\n allowSelect: {\n default()\n {\n return () => true;\n }\n },\n\n allowDrag: {\n default()\n {\n return () => true;\n }\n },\n\n allowDrop: {\n default()\n {\n return () => true;\n }\n },\n\n keyEvents: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n highlightTimeout: {\n default()\n {\n return 7000;\n },\n type: [Number]\n }\n\n },\n\n provide()\n {\n return {\n NDraggable: this\n };\n },\n\n data()\n {\n return {\n uid: UUID(),\n modifier: [],\n virtuals: [], \n visible: [], \n childNodes: {}, \n highlight: [],\n firstSelected: null,\n lastSelected: null,\n tempCurrent: this.current, \n tempExpanded: this.expanded, \n tempSelected: this.selected\n };\n },\n\n beforeMount()\n {\n this.drag = new NDraghandler(this);\n\n Dom.find(window).on('keydown',\n this.watchModifierDown, this._.uid);\n\n Dom.find(window).on('keyup',\n this.watchModifierUp, this._.uid);\n },\n\n mounted()\n {\n let frame = this.$refs.virtualscroller.\n $refs.inner;\n\n this.drag.bindRoot(frame);\n\n this.$watch('tempSelected', this.watchSelected, \n { deep: true });\n\n this.refreshVirtuals();\n },\n\n beforeUnmount()\n {\n this.drag.unbindRoot();\n\n Dom.find(document).off('keydown', null, this.uid);\n Dom.find(document).off('keyup', null, this.uid);\n },\n\n watch: {\n \n items()\n {\n if ( this.scrollTopOnChange ) {\n this.scrollTo();\n }\n\n this.refreshVirtuals();\n },\n\n virtuals()\n {\n this.filterVirtuals();\n },\n\n expanded(value)\n {\n this.tempExpanded = value;\n\n this.filterVirtuals();\n },\n\n selected(value)\n {\n this.tempSelected = value;\n },\n\n current(value)\n {\n this.tempCurrent = value;\n }\n\n },\n\n methods: {\n\n watchModifierDown(e)\n {\n Arr.add(this.modifier, e.which);\n },\n\n watchModifierUp(e)\n {\n Arr.remove(this.modifier, e.which);\n },\n\n watchSelected()\n {\n if ( ! this.tempSelected.length ) {\n return this.firstSelected = null;\n }\n\n this.firstSelected = Arr.find(this.virtuals, {\n [this.uniqueProp]: this.tempSelected[0]\n });\n },\n\n updateNode(node)\n {\n Obj.set(this, node.value.route, node.item);\n\n this.$emit('update:items', this.items);\n },\n\n findVirtual(unique)\n {\n let value = Arr.find(this.virtuals, (item) => {\n return item[this.uniqueProp] === unique;\n });\n\n if ( ! value ) {\n return null;\n }\n\n return {\n value, item: Obj.get(this, value.route, null)\n };\n },\n\n refreshVirtuals()\n {\n this.virtuals = this.drag.reduce(this.items);\n\n if ( global.DEBUG_NDLIST ) {\n console.log('Total virtual items mounted: ' + this.virtuals.length);\n }\n },\n\n filterVirtuals()\n {\n this.visible = Arr.filter(this.virtuals, (node) => {\n return Arr.contains(this.tempExpanded, node.cascade.slice(0, -1));\n });\n },\n\n getIndex(unique)\n {\n return Arr.findIndex(this.visible, {\n [this.uniqueProp]: unique\n });\n },\n\n getCurrentIndex()\n {\n if ( ! this.tempCurrent ) {\n return -1;\n }\n\n return Arr.findIndex(this.visible, {\n [this.uniqueProp]: this.tempCurrent[this.uniqueProp]\n });\n },\n\n scrollTo(x = 0, y = 0)\n {\n if ( ! this.$refs.virtualscroller ) {\n return Any.delay(() => this.scrollTo(x, y));\n }\n\n this.$refs.virtualscroller.scrollTo(x, y);\n },\n\n scrollToIndex(index)\n {\n if ( ! this.$refs.virtualscroller ) {\n return Any.delay(() => this.scrollToIndex(index));\n }\n\n this.$refs.virtualscroller.scrollIntoView(index);\n },\n\n isDraggable(node)\n {\n let canDrag = this.allowDrag;\n\n if ( ! Any.isFunction(canDrag) ) {\n canDrag = () => this.allowDrag;\n }\n\n return canDrag(node);\n },\n\n isHighlight(node)\n {\n return Arr.has(this.highlight, node.value[this.uniqueProp]);\n },\n\n highlightNode(value, key = null)\n {\n clearTimeout(this.refresh);\n\n // Clear highlight items\n this.highlight = [];\n\n Arr.recursive(this.items, this.childProp, (node, cascade) => {\n\n let val = node;\n\n if ( !Any.isEmpty(key) ) {\n val = Obj.get(val, key);\n }\n\n if ( ! Any.isFunction(value) ) {\n value = (val) => val === value;\n }\n\n if ( ! value(val) ) {\n return;\n }\n\n Arr.each(cascade, (item) => {\n Arr.add(this.tempExpanded, item[this.uniqueProp]);\n });\n\n Arr.add(this.highlight, node[this.uniqueProp]);\n });\n\n if ( ! this.highlight.length ) {\n return;\n }\n\n this.$nextTick(this.scrollToHighlight);\n \n this.refresh = setTimeout(() =>\n this.highlight = [], this.highlightTimeout);\n \n this.filterVirtuals();\n },\n\n scrollToHighlight()\n {\n if ( ! this.highlight.length ) {\n return;\n }\n\n let index = Arr.findIndex(this.visible, {\n [this.uniqueProp]: Arr.first(this.highlight)\n });\n\n this.$refs.virtualscroller.scrollIntoView(index);\n },\n\n isCurrent(node)\n {\n return this.renderCurrent && this.tempCurrent && \n node.value[this.uniqueProp] === this.tempCurrent[this.uniqueProp] ;\n },\n\n setCurrent(node)\n {\n let isSameNode = this.tempCurrent && \n this.tempCurrent[this.uniqueProp] === node.value[this.uniqueProp];\n\n if ( isSameNode ) {\n return;\n }\n\n this.$emit('update:current', \n this.tempCurrent = node.item);\n \n Event.fire('NDraglist:syncCurrent', node.item, this.uid);\n },\n\n setRawCurrent(index)\n {\n let route = Obj.get(this.visible, \n [index, 'route']);\n\n if ( ! route ) {\n return this.setRawCurrent(0);\n }\n\n let item = Obj.get(this, route);\n\n this.$refs.virtualscroller\n .scrollIntoView(index);\n\n this.$emit('update:current', \n this.tempCurrent = item);\n \n Event.fire('NDraglist:syncCurrent', item, this.uid);\n },\n\n setNextCurrent()\n {\n if ( ! this.visible.length ) {\n return;\n }\n\n let reset = 0;\n\n if ( ! this.tempCurrent ) {\n return this.setRawCurrent(reset);\n }\n\n let index = Arr.findIndex(this.visible, {\n [this.uniqueProp]: this.tempCurrent[this.uniqueProp]\n });\n\n if ( index !== -1 ) {\n index++;\n }\n\n if ( index >= this.visible.length ) {\n index = reset;\n }\n\n this.setRawCurrent(index);\n },\n\n setPrevCurrent()\n {\n if ( ! this.visible.length ) {\n return;\n }\n\n let reset = this.visible.length - 1;\n\n if ( ! this.tempCurrent ) {\n return this.setRawCurrent(reset);\n }\n\n let index = Arr.findIndex(this.visible, {\n [this.uniqueProp]: this.tempCurrent[this.uniqueProp]\n });\n\n if ( index !== -1 ) {\n index--;\n }\n\n if ( index < 0 ) {\n index = reset;\n }\n \n this.setRawCurrent(index);\n },\n\n syncCurrent()\n {\n return ['NDraglist:syncCurrent', this.uid];\n },\n\n isDisabled(node)\n {\n let canSelect = this.allowSelect;\n\n if ( ! Any.isFunction(canSelect) ) {\n canSelect = () => this.allowSelect;\n }\n\n return ! canSelect(node) || (this.firstSelected &&\n node.value.depth !== this.firstSelected.depth);\n },\n\n hasChildren(node)\n {\n return !! this.getChildren(node).length;\n },\n\n getChildren(node)\n {\n return Obj.get(node.item, this.childProp, []);\n },\n\n isExpanded(node)\n {\n return Arr.has(this.tempExpanded, node.value[this.uniqueProp]);\n },\n\n expandItem(node)\n {\n if ( ! this.hasChildren(node) ) {\n return;\n }\n\n Arr.toggle(this.tempExpanded, node.value[this.uniqueProp]);\n\n this.filterVirtuals();\n },\n\n expandCurrent()\n {\n if ( ! this.tempCurrent ) {\n return;\n }\n\n let children = Obj.get(this.tempCurrent, \n this.childProp);\n\n if ( Any.isEmpty(children) ) {\n return;\n }\n\n Arr.toggle(this.tempExpanded, \n this.tempCurrent[this.uniqueProp]);\n\n this.filterVirtuals();\n },\n\n isSelected(node)\n {\n return Arr.has(this.tempSelected, node.value[this.uniqueProp]);\n },\n\n isTotalSelected()\n {\n let visible = Arr.filter(this.visible, (item) => {\n return ! item.depth;\n });\n\n return visible.length === this.tempSelected;\n },\n\n isInterSelected()\n {\n let visible = Arr.filter(this.visible, (item) => {\n return ! item.depth;\n });\n\n return visible.length !== this.tempSelected &&\n this.tempSelected;\n },\n\n toggleSingleNode(node)\n {\n Arr.toggle(this.tempSelected, this.lastSelected =\n node.value[this.uniqueProp]);\n },\n\n toggleRangeNode(node)\n {\n let indexies = [0, -1], reversed = false;\n\n if ( ! Any.isEmpty(this.lastSelected) ) {\n indexies[1] = this.getIndex(this.lastSelected);\n }\n\n indexies[0] = this.getIndex(node.value[this.uniqueProp]);\n\n if ( indexies[1] > indexies[0] ) {\n reversed = true;\n }\n\n if ( ! reversed ) {\n indexies = [indexies[1]+1, indexies[0]+1];\n }\n\n Arr.each(this.items.slice(indexies[0], indexies[1]), (item, index) => {\n Arr.toggle(this.tempSelected, item[this.uniqueProp]);\n });\n\n this.lastSelected = node.value[this.uniqueProp];\n },\n\n selectItem(node)\n {\n if ( this.isDisabled(node) ) {\n return;\n }\n\n ! Arr.has(this.modifier, 16) || this.renderExpand ?\n this.toggleSingleNode(node) : this.toggleRangeNode(node);\n\n this.$emit('update:selected', this.tempSelected);\n },\n\n selectAll()\n {\n let result = Arr.filter(this.visible, (item) => {\n\n let canSelect = this.allowSelect;\n\n if ( ! Any.isFunction(canSelect) ) {\n canSelect = () => this.allowSelect;\n }\n\n let row = {\n value: item, item: Obj.get(this, item.route)\n };\n\n return ! item.depth && canSelect(row);\n });\n\n let indexies = Arr.each(result, (item) => {\n return item[this.uniqueProp];\n });\n\n if ( indexies.length === this.tempSelected.length ) {\n return this.$emit('update:selected', this.tempSelected = []);\n }\n\n this.lastSelected = null;\n\n this.$emit('update:selected', this.tempSelected = indexies);\n },\n\n unselectAll()\n {\n if ( this.tempSelected.length ) {\n this.$emit('update:selected', this.tempSelected = []);\n }\n },\n\n bindKeydown()\n {\n if ( ! this.keyEvents ) {\n return;\n }\n\n Dom.find(document).on('keydown', \n this.onKeydown, this.uid)\n },\n\n unbindKeydown()\n {\n if ( ! this.keyEvents ) {\n return;\n }\n\n Dom.find(document).off('keydown', \n null, this.uid)\n },\n\n onKeydown(event, el)\n {\n if ( Dom.find(el).closest('input') ) {\n return;\n }\n\n if ( event.which === 32 ) {\n event.preventDefault();\n event.stopPropagation();\n this.expandCurrent();\n }\n\n if ( event.which === 38 ) {\n event.preventDefault();\n event.stopPropagation();\n this.setPrevCurrent();\n }\n\n if ( event.which === 40 ) {\n event.preventDefault();\n event.stopPropagation();\n this.setNextCurrent();\n }\n }\n\n },\n\n renderEmpty()\n {\n return (\n <NEmptyIcon disabled={! this.showEmptyIcon} class=\"n-draglist__empty\">\n { this.$slots.empty && this.$slots.empty() || this.trans('No entries') }\n </NEmptyIcon>\n );\n },\n\n renderItem(props)\n {\n return (\n <NDraglistItem {...Obj.except(props, ['index'])}>\n { { default: this.$slots.default } }\n </NDraglistItem>\n );\n },\n\n render()\n {\n let classList = [\n 'n-draglist',\n 'n-draglist--' + this.size,\n 'n-draglist--' + this.type\n ];\n\n if ( ! this.items.length ) {\n classList.push('n-empty');\n }\n\n let passed = [\n 'threshold', 'bufferItems', 'itemHeight', \n 'overflowX', 'overflowY', 'offsetX', 'offsetY', 'useKeys'\n ];\n\n let props = Obj.only(this.$props, passed, {\n items: this.visible,\n onMouseenter: this.bindKeydown,\n onMouseleave: this.unbindKeydown\n });\n\n return (\n <NVirtualscroller ref=\"virtualscroller\" class={classList} {...props}>\n { { default: this.ctor('renderItem'), empty: this.ctor('renderEmpty') } }\n </NVirtualscroller>\n );\n }\n\n}\n","import { Str, Obj, Arr, Dom } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NDraglistItem',\n\n inject: {\n\n NDraggable: {\n default: undefined\n }\n \n },\n\n provide()\n {\n return {\n NDraggableItem: this\n };\n },\n\n props: {\n\n value: {\n required: true\n },\n\n },\n\n computed: {\n\n uid()\n {\n return Obj.get(this.value, this.NDraggable.uniqueProp);\n },\n\n item()\n {\n return Obj.get(this.NDraggable, this.value.route);\n },\n\n touch() {\n return !! ('ontouchstart' in window ||\n navigator.msMaxTouchPoints);\n },\n\n mousedown() {\n return this.touch ? 'touchstart' :\n 'mousedown';\n },\n\n mousemove() {\n return this.touch ? 'touchmove' :\n 'mousemove';\n },\n\n mouseup() {\n return this.touch ? 'touchend' :\n 'mouseup';\n }\n\n },\n\n data()\n {\n return {\n init: ! this.NDraggable.lazyload\n };\n },\n\n mounted()\n {\n this.timer = setTimeout(() => {\n\n if ( this.NDraggable.draggable ) {\n this.timer = setTimeout(() => {\n this.NDraggable.drag.bindNode(this);\n }, 10);\n }\n\n this.init = true;\n }, 5);\n },\n\n beforeUnmount()\n {\n clearTimeout(this.timer);\n\n this.NDraggable.drag.unbindNode(this);\n },\n\n methods: {\n\n copy()\n {\n return this.NDraggable.drag.copyNode(this);\n },\n\n remove()\n {\n return this.NDraggable.drag.removeNode(this);\n },\n\n hasChildren()\n {\n return this.NDraggable.hasChildren(this);\n },\n\n isDisabled()\n {\n return this.NDraggable.isDisabled(this);\n },\n\n isHighlight()\n {\n return this.NDraggable.isHighlight(this);\n },\n\n isCurrent()\n {\n return this.NDraggable.isCurrent(this);\n },\n\n isDraggable()\n {\n return this.NDraggable.isDraggable(this);\n },\n\n isExpanded()\n {\n return this.NDraggable.isExpanded(this);\n },\n\n expandItem()\n {\n this.NDraggable.expandItem(this);\n },\n\n isSelected()\n {\n return this.NDraggable.isSelected(this);\n },\n\n selectItem()\n {\n this.NDraggable.selectItem(this);\n },\n\n onClick(event)\n {\n let isExpand = Dom.find(event.target)\n .closest('.n-draglist-item__expand');\n\n if ( isExpand ) {\n return;\n }\n\n this.NDraggable.setCurrent(this);\n\n if ( Arr.has(global.keyMods, 91) ) {\n this.NDraggable.selectItem(this);\n }\n\n this.NDraggable.$emit('row-click', this);\n },\n\n onDblclick()\n {\n this.NDraggable.setCurrent(this);\n\n this.NDraggable.$emit('row-dblclick', this);\n }\n\n },\n\n renderElement()\n {\n let classList = [\n 'n-draglist-item__element'\n ];\n\n if ( ! this.init ) {\n return (<div class={classList} />);\n }\n\n let props = {\n value: this.value,\n item: this.item,\n copy: this.copy,\n remove: this.remove,\n };\n\n let renderFunction = this.$slots.default;\n\n if ( this.NDraggable.renderNode ) {\n renderFunction = this.NDraggable.renderNode;\n }\n\n return (\n <div class={classList}>\n { renderFunction(props) }\n </div>\n );\n },\n\n renderSpacer()\n {\n let width = this.value.depth * \n this.NDraggable.itemOffset;\n\n if ( ! width ) {\n return null;\n }\n\n let style = {\n width: width + 'px'\n };\n\n return (\n <div class=\"n-draglist-item__spacer\" style={style}>\n { /* SPACER */ }\n </div>\n );\n },\n\n renderHandle()\n {\n if ( ! this.NDraggable.renderHandle ) {\n return null;\n }\n\n let props = {};\n\n if ( this.NDraggable.draggable && this.isDraggable() ) {\n props.draggable = true;\n }\n\n return (\n <div class=\"n-draglist-item__handle\" {...props}>\n <div class=\"n-draglist-item__ellipsis\">\n <i class={ nano.Icons.handle }></i>\n </div>\n </div>\n );\n },\n\n renderExpand()\n {\n if ( ! this.NDraggable.renderExpand ) {\n return null;\n }\n\n let props = {\n ['on' + Str.ucfirst(this.mousedown)]: this.expandItem\n };\n\n return (\n <div class=\"n-draglist-item__expand\" {...props}>\n <div class=\"n-draglist-item__angle\">\n <i class={ nano.Icons.angleRight }></i>\n </div>\n </div>\n );\n },\n\n renderSelect()\n {\n if ( ! this.NDraggable.renderSelect ) {\n return null;\n }\n\n let props = {\n ['on' + Str.ucfirst(this.mousedown)]: this.selectItem\n };\n\n return (\n <div class=\"n-draglist-item__select\" {...props}>\n <div class=\"n-draglist-item__checkbox\">\n <i class={ nano.Icons.checked }></i>\n </div>\n </div>\n );\n },\n\n render()\n {\n let classList = [\n 'n-draglist-item'\n ];\n\n if ( this.hasChildren() ) {\n classList.push('n-children');\n }\n\n if ( this.isDisabled() ) {\n classList.push('n-disabled');\n }\n\n if ( this.isSelected() ) {\n classList.push('n-selected');\n }\n\n if ( this.isExpanded() ) {\n classList.push('n-expanded');\n }\n\n if ( this.isCurrent() ) {\n classList.push('n-current');\n }\n\n if ( this.isHighlight() ) {\n classList.push('n-highlight');\n }\n\n let props = {\n onClick: this.onClick,\n onDblclick: this.onDblclick,\n };\n\n if ( this.NDraggable.draggable && ! this.NDraggable.handle && this.isDraggable() ) {\n props.draggable = true;\n }\n\n props['data-unique'] = this.value[this.NDraggable.uniqueProp];\n\n return (\n <div class={classList} {...props}>\n { this.ctor('renderHandle')() }\n { this.ctor('renderSpacer')() }\n { this.ctor('renderExpand')() }\n { this.ctor('renderSelect')() }\n { this.ctor('renderElement')() }\n </div>\n );\n }\n\n}\n","import { UUID, Num, Arr, Obj, Dom, Any, Event, Locale } from \"@kizmann/pico-js\";\nimport NDraghandler from \"../draghandler/draghandler\";\n\nglobal.DEBUG_NDLIST = false;\n\nexport default {\n\n name: 'NDraggrid',\n\n model: {\n prop: 'items'\n },\n\n props: {\n\n items: {\n default()\n {\n return [];\n }\n },\n\n renderNode: {\n default()\n {\n return null;\n }\n },\n\n draggable: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n current: {\n default()\n {\n return null;\n }\n },\n\n selected: {\n default()\n {\n return [];\n }\n },\n\n handle: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n group: {\n default()\n {\n return ['default'];\n },\n type: [Array]\n },\n\n allowGroups: {\n default()\n {\n return ['default'];\n },\n type: [Array]\n },\n\n safezone: {\n default()\n {\n return (height) => -1;\n }\n },\n\n lazyload: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n showEmptyIcon: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n itemHeight: {\n default()\n {\n return 200;\n },\n type: [Number]\n },\n\n itemWidth: {\n default()\n {\n return 150;\n },\n type: [Number]\n },\n\n threshold: {\n default()\n {\n return 1;\n },\n type: [Number]\n },\n\n useKeys: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n deathzone: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n overflowY: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n overflowX: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n offsetY: {\n default()\n {\n return 10;\n },\n type: [Number]\n },\n\n offsetX: {\n default()\n {\n return 10;\n },\n type: [Number]\n },\n\n scrollTopOnChange: {\n default()\n {\n return false;\n }\n },\n\n uniqueProp: {\n default()\n {\n return 'id';\n },\n type: [String]\n },\n\n childProp: {\n default()\n {\n return 'children';\n },\n type: [String]\n },\n\n renderCurrent: {\n default()\n {\n return true;\n }\n },\n\n renderHandle: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n renderSelect: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n transformDrop: {\n default()\n {\n return (node) => node;\n }\n },\n\n disableMove: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n insertNode: {\n default()\n {\n return true;\n }\n },\n\n removeNode: {\n default()\n {\n return true;\n }\n },\n\n allowSelect: {\n default()\n {\n return () => true;\n }\n },\n\n allowDrag: {\n default()\n {\n return () => true;\n }\n },\n\n allowDrop: {\n default()\n {\n return () => true;\n }\n },\n\n keyEvents: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n highlightTimeout: {\n default()\n {\n return 7000;\n },\n type: [Number]\n }\n\n },\n\n provide()\n {\n return {\n NDraggable: this\n };\n },\n\n data()\n {\n return {\n uid: UUID(),\n virtuals: [],\n visible: [],\n childNodes: {},\n highlight: [],\n firstSelected: null,\n tempCurrent: this.current,\n tempExpanded: this.expanded,\n tempSelected: this.selected\n };\n },\n\n beforeMount()\n {\n this.drag = new NDraghandler(this);\n },\n\n mounted()\n {\n let frame = this.$refs.virtualscroller.\n $refs.inner;\n\n this.drag.bindRoot(frame);\n\n this.$watch('tempSelected', this.watchSelected,\n { deep: true });\n\n this.refreshVirtuals();\n },\n\n beforeUnmount()\n {\n this.drag.unbindRoot();\n\n Dom.find(document).off('keydown', null, this.uid);\n },\n\n watch: {\n\n items()\n {\n if ( this.scrollTopOnChange ) {\n this.scrollTo();\n }\n\n this.refreshVirtuals();\n },\n\n virtuals()\n {\n this.filterVirtuals();\n },\n\n selected(value)\n {\n this.tempSelected = value;\n },\n\n current(value)\n {\n this.tempCurrent = value;\n }\n\n },\n\n methods: {\n\n watchSelected()\n {\n if ( ! this.tempSelected.length ) {\n return this.firstSelected = null;\n }\n\n this.firstSelected = Arr.find(this.virtuals, {\n [this.uniqueProp]: this.tempSelected[0]\n });\n },\n\n refreshVirtuals()\n {\n this.virtuals = this.drag.reduce(this.items);\n\n if ( global.DEBUG_NDLIST ) {\n console.log('Total virtual items mounted: ' + this.virtuals.length);\n }\n },\n\n filterVirtuals()\n {\n this.visible = Arr.filter(this.virtuals, (node) => {\n return node.depth === 0;\n });\n },\n\n getIndex(unique)\n {\n return Arr.findIndex(this.visible, {\n [this.uniqueProp]: unique\n });\n },\n\n getCurrentIndex()\n {\n if ( ! this.tempCurrent ) {\n return -1;\n }\n\n return Arr.findIndex(this.visible, {\n [this.uniqueProp]: this.tempCurrent[this.uniqueProp]\n });\n },\n\n scrollTo(x = 0, y = 0)\n {\n this.$refs.virtualscroller.scrollTo(x, y);\n },\n\n scrollToIndex(index)\n {\n this.$refs.virtualscroller.scrollIntoView(index);\n },\n\n isDraggable(node)\n {\n let canDrag = this.allowDrag;\n\n if ( ! Any.isFunction(canDrag) ) {\n canDrag = () => this.allowDrag;\n }\n\n return canDrag(node);\n },\n\n isHighlight(node)\n {\n return Arr.has(this.highlight, node.value[this.uniqueProp]);\n },\n\n highlightNode(value, key = null)\n {\n clearTimeout(this.refresh);\n\n // Clear highlight items\n this.highlight = [];\n\n Arr.recursive(this.items, this.childProp, (node, cascade) => {\n\n if ( Obj.get(node, key || this.uniqueProp) !== value ) {\n return;\n }\n\n Arr.each(cascade, (item) => {\n Arr.add(this.tempExpanded, item[this.uniqueProp]);\n });\n\n Arr.add(this.highlight, node[this.uniqueProp]);\n });\n\n if ( ! this.highlight.length ) {\n return;\n }\n\n this.$nextTick(this.scrollToHighlight);\n\n this.refresh = setTimeout(() =>\n this.highlight = [], this.highlightTimeout);\n\n this.filterVirtuals();\n },\n\n scrollToHighlight()\n {\n if ( ! this.highlight.length ) {\n return;\n }\n\n let index = Arr.findIndex(this.visible, {\n [this.uniqueProp]: Arr.first(this.highlight)\n });\n\n this.$refs.virtualscroller.scrollIntoView(index);\n },\n\n isCurrent(node)\n {\n return this.renderCurrent && this.tempCurrent &&\n node.value[this.uniqueProp] === this.tempCurrent[this.uniqueProp] ;\n },\n\n setCurrent(node)\n {\n let isSameNode = this.tempCurrent &&\n this.tempCurrent[this.uniqueProp] === node.value[this.uniqueProp];\n\n if ( isSameNode ) {\n return;\n }\n\n this.$emit('update:current',\n this.tempCurrent = node.item);\n\n Event.fire('NDraggrid:syncCurrent', node.item, this.uid);\n },\n\n setRawCurrent(index)\n {\n let route = Obj.get(this.visible,\n [index, 'route']);\n\n if ( ! route ) {\n return this.setRawCurrent(0);\n }\n\n let item = Obj.get(this, route);\n\n this.$refs.virtualscroller\n .scrollIntoView(index);\n\n this.$emit('update:current',\n this.tempCurrent = item);\n\n Event.fire('NDraggrid:syncCurrent', item, this.uid);\n },\n\n setNextCurrent()\n {\n if ( ! this.visible.length ) {\n return;\n }\n\n let reset = 0;\n\n if ( ! this.tempCurrent ) {\n return this.setRawCurrent(reset);\n }\n\n let index = Arr.findIndex(this.visible, {\n [this.uniqueProp]: this.tempCurrent[this.uniqueProp]\n });\n\n if ( index !== -1 ) {\n index++;\n }\n\n if ( index >= this.visible.length ) {\n index = reset;\n }\n\n this.setRawCurrent(index);\n },\n\n setPrevCurrent()\n {\n if ( ! this.visible.length ) {\n return;\n }\n\n let reset = this.visible.length - 1;\n\n if ( ! this.tempCurrent ) {\n return this.setRawCurrent(reset);\n }\n\n let index = Arr.findIndex(this.visible, {\n [this.uniqueProp]: this.tempCurrent[this.uniqueProp]\n });\n\n if ( index !== -1 ) {\n index--;\n }\n\n if ( index < 0 ) {\n index = reset;\n }\n\n this.setRawCurrent(index);\n },\n\n syncCurrent()\n {\n return ['NDraggrid:syncCurrent', this.uid];\n },\n\n isDisabled(node)\n {\n let canSelect = this.allowSelect;\n\n if ( ! Any.isFunction(canSelect) ) {\n canSelect = () => this.allowSelect;\n }\n\n return ! canSelect(node) || (this.firstSelected &&\n node.value.depth !== this.firstSelected.depth);\n },\n\n isSelected(node)\n {\n return Arr.has(this.tempSelected, node.value[this.uniqueProp]);\n },\n\n isTotalSelected()\n {\n let visible = Arr.filter(this.visible, (item) => {\n return ! item.depth;\n });\n\n return visible.length === this.tempSelected;\n },\n\n isInterSelected()\n {\n let visible = Arr.filter(this.visible, (item) => {\n return ! item.depth;\n });\n\n return visible.length !== this.tempSelected &&\n this.tempSelected;\n },\n\n selectItem(node)\n {\n if ( this.isDisabled(node) ) {\n return;\n }\n\n Arr.toggle(this.tempSelected, node.value[this.uniqueProp]);\n\n this.$emit('update:selected', this.tempSelected);\n },\n\n selectAll()\n {\n let visible = Arr.filter(this.visible, (item) => {\n return ! item.depth;\n });\n\n let indexies = Arr.each(visible, (item) => {\n return item[this.uniqueProp];\n });\n\n if ( indexies.length === this.tempSelected.length ) {\n return this.$emit('update:selected', this.tempSelected = []);\n }\n\n this.$emit('update:selected', this.tempSelected = indexies);\n },\n\n unselectAll()\n {\n if ( this.tempSelected.length ) {\n this.$emit('update:selected', this.tempSelected = []);\n }\n },\n\n bindKeydown()\n {\n if ( ! this.keyEvents ) {\n return;\n }\n\n Dom.find(document).on('keydown',\n this.onKeydown, this.uid)\n },\n\n unbindKeydown()\n {\n if ( ! this.keyEvents ) {\n return;\n }\n\n Dom.find(document).off('keydown',\n null, this.uid)\n },\n\n onKeydown(event, el)\n {\n if ( Dom.find(el).closest('input') ) {\n return;\n }\n\n if ( event.which === 38 ) {\n event.preventDefault();\n event.stopPropagation();\n // this.setPrevCurrent();\n }\n\n if ( event.which === 40 ) {\n event.preventDefault();\n event.stopPropagation();\n // this.setNextCurrent();\n }\n }\n\n },\n\n renderEmpty()\n {\n return (\n <NEmptyIcon disabled={! this.showEmptyIcon} class=\"n-draggrid__empty\">\n { this.$slots.empty && this.$slots.empty() || this.trans('No entries') }\n </NEmptyIcon>\n );\n },\n\n renderItem(props)\n {\n return (\n <NDraggridItem {...Obj.except(props, ['index'])}>\n { { default: this.$slots.default } }\n </NDraggridItem>\n );\n },\n\n render()\n {\n let classList = [\n 'n-draggrid',\n 'n-draggrid--' + this.size,\n 'n-draggrid--' + this.type\n ];\n\n if ( ! this.items.length ) {\n classList.push('n-empty');\n }\n\n let passed = [\n 'threshold', 'deathzone', 'itemHeight', 'itemWidth',\n 'overflowX', 'overflowY', 'offsetX', 'offsetY', 'useKeys'\n ];\n\n let props = Obj.only(this.$props, passed, {\n items: this.visible,\n onMouseenter: this.bindKeydown,\n onMouseleave: this.unbindKeydown\n });\n\n return (\n <NVirtualscroller ref=\"virtualscroller\" class={classList} {...props}>\n { { default: this.ctor('renderItem'), empty: this.ctor('renderEmpty') } }\n </NVirtualscroller>\n );\n }\n\n}\n","import { Str, Arr, Obj } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NDraggridItem',\n\n inject: {\n\n NDraggable: {\n default: undefined\n }\n\n },\n\n provide()\n {\n return {\n NDraggableItem: this\n };\n },\n\n props: {\n\n value: {\n required: true\n }\n\n },\n\n computed: {\n\n uid()\n {\n return Obj.get(this.value, this.NDraggable.uniqueProp);\n },\n\n item()\n {\n return Obj.get(this.NDraggable, this.value.route);\n },\n\n touch() {\n return !! ('ontouchstart' in window ||\n navigator.msMaxTouchPoints);\n },\n\n mousedown() {\n return this.touch ? 'touchstart' :\n 'mousedown';\n },\n\n mousemove() {\n return this.touch ? 'touchmove' :\n 'mousemove';\n },\n\n mouseup() {\n return this.touch ? 'touchend' :\n 'mouseup';\n }\n\n },\n\n data()\n {\n return {\n init: ! this.NDraggable.lazyload\n };\n },\n\n mounted()\n {\n this.timer = setTimeout(() => {\n\n if ( this.NDraggable.draggable ) {\n this.timer = setTimeout(() => {\n this.NDraggable.drag.bindNode(this);\n }, 50);\n }\n\n this.init = true;\n }, 40);\n },\n\n beforeUnmount()\n {\n if ( ! this.init ) {\n clearTimeout(this.timer);\n }\n\n this.NDraggable.drag.unbindNode(this);\n },\n\n methods: {\n\n copy()\n {\n return this.NDraggable.drag.copyNode(this);\n },\n\n remove()\n {\n return this.NDraggable.drag.removeNode(this);\n },\n\n isDisabled()\n {\n return this.NDraggable.isDisabled(this);\n },\n\n isHighlight()\n {\n return this.NDraggable.isHighlight(this);\n },\n\n isCurrent()\n {\n return this.NDraggable.isCurrent(this);\n },\n\n isDraggable()\n {\n return this.NDraggable.isDraggable(this);\n },\n\n isSelected()\n {\n return this.NDraggable.isSelected(this);\n },\n\n selectItem()\n {\n this.NDraggable.selectItem(this);\n },\n\n onClick()\n {\n this.NDraggable.setCurrent(this);\n\n if ( Arr.has(global.keyMods, 91) ) {\n this.NDraggable.selectItem(this);\n }\n\n this.NDraggable.$emit('row-click', this);\n },\n\n onDblclick()\n {\n this.NDraggable.setCurrent(this);\n\n this.NDraggable.$emit('row-dblclick', this);\n }\n\n },\n\n renderElement()\n {\n let classList = [\n 'n-draglist-item__element'\n ];\n\n if ( ! this.init ) {\n return (<div class={classList} />);\n }\n\n let props = {\n value: this.value,\n item: this.item,\n copy: this.copy,\n remove: this.remove,\n };\n\n let renderFunction = this.$slots.default;\n\n if ( this.NDraggable.renderNode ) {\n renderFunction = this.NDraggable.renderNode;\n }\n\n return (\n <div class={classList}>\n {renderFunction(props)}\n </div>\n );\n },\n\n renderHandle()\n {\n if ( ! this.NDraggable.renderHandle ) {\n return null;\n }\n\n let props = {};\n\n if ( this.NDraggable.draggable && this.isDraggable() ) {\n props.draggable = true;\n }\n\n return (\n <div class=\"n-draggrid-item__handle\" {...props}>\n <div class=\"n-draggrid-item__ellipsis\">\n <i class={ nano.Icons.handle }></i>\n </div>\n </div>\n );\n },\n\n renderSelect()\n {\n if ( ! this.NDraggable.renderSelect ) {\n return null;\n }\n\n let props = {\n ['on' + Str.ucfirst(this.mousedown)]: this.selectItem\n };\n\n return (\n <div class=\"n-draggrid-item__select\" {...props}>\n <div class=\"n-draggrid-item__checkbox\">\n <i class={ nano.Icons.checked }></i>\n </div>\n </div>\n );\n },\n\n render()\n {\n let classList = [\n 'n-draggrid-item'\n ];\n\n if ( this.isDisabled() ) {\n classList.push('n-disabled');\n }\n\n if ( this.isSelected() ) {\n classList.push('n-selected');\n }\n\n if ( this.isCurrent() ) {\n classList.push('n-current');\n }\n\n if ( this.isHighlight() ) {\n classList.push('n-highlight');\n }\n\n let props = {\n onClick: this.onClick,\n onDblclick: this.onDblclick,\n };\n\n if ( this.NDraggable.draggable && ! this.NDraggable.handle && this.isDraggable() ) {\n props.draggable = true;\n }\n\n props['data-unique'] = this.value[this.NDraggable.uniqueProp];\n\n return (\n <div class={classList} {...props}>\n { this.ctor('renderHandle')() }\n { this.ctor('renderSelect')() }\n { this.ctor('renderElement')() }\n </div>\n );\n }\n\n}\n","import { UUID, Num, Arr, Obj, Dom, Any, Event, Locale } from \"@kizmann/pico-js\";\nimport NDraghandler from \"../draghandler/draghandler\";\n\nglobal.DEBUG_NDLIST = false;\n\nexport default {\n\n name: 'NDropzone',\n\n model: {\n prop: 'item'\n },\n\n props: {\n\n item: {\n default()\n {\n return null;\n }\n },\n\n renderNode: {\n default()\n {\n return null;\n }\n },\n\n draggable: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n group: {\n default()\n {\n return ['default'];\n },\n type: [Array]\n },\n\n allowGroups: {\n default()\n {\n return ['default'];\n },\n type: [Array]\n },\n\n showEmptyIcon: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n uniqueProp: {\n default()\n {\n return 'id';\n },\n type: [String]\n },\n\n transformDrop: {\n default()\n {\n return (node) => node;\n }\n },\n\n disableMove: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n insertNode: {\n default()\n {\n return true;\n }\n },\n\n removeNode: {\n default()\n {\n return true;\n }\n },\n\n allowDrop: {\n default()\n {\n return () => true;\n }\n },\n\n },\n\n provide()\n {\n return {\n NDropzone: this\n };\n },\n\n data()\n {\n return {\n uid: UUID(),\n };\n },\n\n beforeMount()\n {\n this.drag = new NDraghandler(this);\n },\n\n mounted()\n {\n this.drag.bindRoot(this.$el);\n },\n\n beforeUnmount()\n {\n this.drag.unbindRoot();\n },\n\n renderItem()\n {\n if ( Any.isEmpty(this.item) ) {\n return null;\n }\n\n return this.$slots.default && this.$slots.default(this.item)\n },\n\n renderEmpty()\n {\n if ( ! Any.isEmpty(this.item) ) {\n return null;\n }\n\n return (\n <NEmptyIcon disabled={! this.showEmptyIcon} class=\"n-dropzone__empty\">\n { this.$slots.empty && this.$slots.empty() || this.trans('No entry') }\n </NEmptyIcon>\n );\n },\n\n render()\n {\n let classList = [\n 'n-dropzone',\n 'n-dropzone--' + this.size,\n 'n-dropzone--' + this.type\n ];\n\n if ( Any.isEmpty(this.item) ) {\n classList.push('n-empty');\n }\n\n return (\n <div class={classList}>\n {[this.ctor('renderItem')(), this.ctor('renderEmpty')()]}\n </div>\n );\n }\n\n}\n","import Draglist from './src/draglist/draglist';\nimport DraglistItem from './src/draglist-item/draglist-item';\nimport Draggrid from './src/draggrid/draggrid';\nimport DraggridItem from './src/draggrid-item/draggrid-item';\nimport Dropzone from './src/dropzone/dropzone';\n\nexport default function (App) {\n App.component(Draglist.name, Draglist);\n App.component(DraglistItem.name, DraglistItem);\n App.component(Draggrid.name, Draggrid);\n App.component(DraggridItem.name, DraggridItem);\n App.component(Dropzone.name, Dropzone);\n}","import { h } from \"vue\";\nimport { Obj } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NInput',\n\n inject: {\n\n NForm: {\n default: undefined\n },\n\n NFormItem: {\n default: undefined\n }\n\n },\n\n inheritAttrs: false,\n\n props: {\n\n modelValue: {\n default()\n {\n return null;\n }\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n icon: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n iconPosition: {\n default()\n {\n return 'after';\n },\n type: [String]\n },\n\n iconDisabled: {\n default()\n {\n return null;\n },\n type: [Boolean]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n nativeType: {\n default()\n {\n return 'text';\n },\n type: [String]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n placeholder: {\n default()\n {\n return '';\n },\n type: [String]\n }\n\n },\n\n computed: {\n\n deepDisabled() {\n return this.NFormItem ? this.NFormItem.disabled(this.disabled) :\n this.disabled;\n }\n\n },\n\n data()\n {\n return {\n focus: false, tempValue: this.modelValue || ''\n };\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue ) {\n this.tempValue = value;\n }\n }\n\n },\n\n methods: {\n\n onIconClick(event)\n {\n if ( event.clientX || event.clientY ) {\n this.$emit('icon-click', event);\n }\n },\n\n onInput(event)\n {\n this.$emit('update:modelValue',\n this.tempValue = event.target.value);\n },\n\n onKeydown(event)\n {\n this.$emit('keydown', event);\n\n if ( event.which !== 13 ) {\n return;\n }\n\n event.preventDefault();\n\n if ( ! this.NForm ) {\n return;\n }\n\n this.NForm.onSubmit(event);\n },\n\n onFocus(event)\n {\n this.focus = true;\n this.$emit('focus', event);\n },\n\n onBlur(event)\n {\n this.focus = false;\n this.$emit('blur', event);\n }\n\n },\n\n renderIcon()\n {\n if ( !this.icon ) {\n return null;\n }\n\n let disabled = this.deepDisabled;\n\n if ( this.iconDisabled !== null ) {\n disabled = this.iconDisabled;\n }\n\n let props = {\n type: 'input',\n icon: this.icon,\n size: this.size,\n square: true,\n disabled: disabled,\n };\n\n if ( !disabled ) {\n props.onClick = this.onIconClick;\n }\n\n return (<NButton {...props} />);\n },\n\n renderInput()\n {\n let props = Obj.except(this.$attrs, [\n 'class', 'style'\n ]);\n\n Obj.assign(props, {\n value: this.tempValue,\n type: this.nativeType,\n disabled: this.deepDisabled,\n placeholder: this.placeholder,\n onInput: this.onInput,\n onFocus: this.onFocus,\n onBlur: this.onBlur,\n onKeydown: this.onKeydown\n });\n\n return h('input', props);\n },\n\n render()\n {\n let classList = [\n 'n-input',\n 'n-input--' + this.size,\n 'n-input--' + this.type,\n ];\n\n if ( this.icon ) {\n classList.push('n-input--icon');\n classList.push('n-input--icon-' + this.iconPosition);\n }\n\n if ( this.deepDisabled ) {\n classList.push('n-disabled');\n }\n\n if ( this.focus ) {\n classList.push('n-focus');\n }\n\n let props = Obj.only(this.$attrs, ['style'], {\n class: this.cmer(classList)\n });\n\n let innerHtml = [];\n\n if ( this.iconPosition === 'before' ) {\n innerHtml.push(this.ctor('renderIcon')());\n }\n\n innerHtml.push(this.ctor('renderInput')());\n\n if ( this.iconPosition === 'after' ) {\n innerHtml.push(this.ctor('renderIcon')());\n }\n\n return h('div', props, innerHtml);\n }\n\n}\n","import Input from './src/input/input';\n\nexport default function (App) {\n App.component(Input.name, Input);\n}\n","import { UUID, Num, Obj, Any, Dom, Locale } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NLoader',\n\n inject: {\n\n NLoader: {\n default: undefined\n }\n\n },\n\n provide()\n {\n return {\n NLoader: this\n };\n },\n\n props: {\n\n visible: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n minimum: {\n default()\n {\n return 120;\n },\n type: [Number]\n },\n\n debounce: {\n default()\n {\n return 120;\n },\n type: [Number]\n }\n\n },\n\n data()\n {\n return {\n tempVisible: this.visible\n };\n },\n\n methods: {\n\n applyTimer()\n {\n this.timing = Date.now();\n\n if ( this.visible) {\n return this.tempVisible = this.visible;\n }\n\n this.startTimer();\n },\n\n startTimer()\n {\n let timing = Date.now() - this.timing;\n\n if ( timing < this.minimum ) {\n return this.restartTimer(timing);\n }\n\n this.timeout = setTimeout(() => this.tempVisible = false, \n this.debounce);\n },\n\n restartTimer(timing = 0) {\n Any.delay(this.startTimer, this.minimum - timing + 10);\n }\n\n },\n\n watch: {\n\n visible()\n {\n this.applyTimer();\n }\n\n },\n\n mounted()\n {\n this.applyTimer();\n },\n\n render()\n {\n let classList = [\n 'n-loader', \n 'n-loader--' + this.size, \n 'n-loader--' + this.type\n ];\n\n if ( this.tempVisible ) {\n classList.push('n-load');\n }\n\n return (\n <div class={classList}>\n { this.$slots.default && this.$slots.default() }\n </div>\n );\n }\n}\n","import Loader from './src/loader/loader';\n\nexport default function (App) {\n App.component(Loader.name, Loader);\n}\n","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NEmpty'] = Locale.trans('NEmpty');\n\nglobal.NanoBuilderIndexies['NEmpty'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NEmpty']['props'] = {\n //\n};","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NDurationpicker'] = Locale.trans('NDurationpicker');\n\nglobal.NanoBuilderIndexies['NDurationpicker'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NDurationpicker']['props'] = {\n //\n};","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NTransfer'] = Locale.trans('NTransfer');\n\nglobal.NanoBuilderIndexies['NTransfer'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NTransfer']['props'] = {\n //\n};","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NButtonGroup'] = Locale.trans('n-button-group');\n\nglobal.NanoBuilderIndexies['NButtonGroup'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NButtonGroup']['props'] = {\n //\n};","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NModal'] = Locale.trans('NModal');\n\nglobal.NanoBuilderIndexies['NModal'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NModal']['props'] = {\n //\n};","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { Arr, Obj, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n cmer(classList)\n {\n let attrsList = {};\n\n if ( Any.isString(classList) ) {\n attrsList[classList] = true;\n }\n\n if ( Any.isArray(classList) ) {\n Arr.each(classList, (value) => attrsList[value] = true);\n }\n\n if ( Any.isPlain(classList) ) {\n Obj.assign(attrsList, classList);\n }\n\n if ( Any.isString(this.$attrs.class) ) {\n attrsList[this.$attrs.class] = true;\n }\n\n if ( Any.isArray(this.$attrs.class) ) {\n Arr.each(this.$attrs.class, (value) => attrsList[value] = true);\n }\n\n if ( Any.isPlain(this.$attrs.class) ) {\n Obj.assign(attrsList, this.$attrs.class);\n }\n\n return attrsList;\n }\n\n}\n","import { Arr, Obj, Any } from \"@kizmann/pico-js\";\nimport { Comment } from 'vue';\n\nexport default {\n\n cslo(slot = 'default', props = {})\n {\n if ( ! this.$slots[slot] ) {\n return false;\n }\n\n return this.$slots[slot](props).findIndex((o) => {\n return o.type !== Comment;\n }) !== -1;\n }\n\n}\n","import { Arr, Obj, Dom, Locale } from \"@kizmann/pico-js\";\n\nimport CtorMixin from \"./mixins/src/ctor\";\nimport CmerMixin from \"./mixins/src/cmer\";\nimport CsloMixin from \"./mixins/src/cslo\";\n\nexport const Icons = {\n handle: 'fa fa-ellipsis-v',\n checked: 'fa fa-check',\n circle: 'fa fa-circle',\n intermediate: 'fa fa-minus',\n clock: 'fa fa-clock',\n calendar: 'fa fa-calendar',\n times: 'fa fa-times',\n primary: 'fa fa-info-circle',\n success: 'fa fa-check-circle',\n warning: 'fa fa-exclamation-circle',\n danger: 'fa fa-times-circle',\n info: 'fa fa-info-circle',\n angleUp: 'fa fa-angle-up',\n angleRight: 'fa fa-angle-right',\n angleDown: 'fa fa-angle-down',\n angleLeft: 'fa fa-angle-left',\n angleDoubleLeft: 'fa fa-angle-double-left',\n angleDoubleRight: 'fa fa-angle-double-right'\n};\n\nexport const Settings = {\n iconPosition: 'before',\n notifySize: 'md',\n notifyPosition: 'bottom-start'\n};\n\nexport function Install(App, Icons = {}, Styles = {})\n{\n /**\n * @const global.pi\n */\n\n if ( typeof global.pi === 'undefined' ) {\n return console.error('pico-js is not available.');\n }\n\n Obj.each(global.pi, (value, key) => {\n App.config.globalProperties[key] = value;\n });\n\n App.config.globalProperties.ctor = CtorMixin.ctor;\n App.config.globalProperties.cmer = CmerMixin.cmer;\n App.config.globalProperties.cslo = CsloMixin.cslo;\n\n App.config.globalProperties.trans = Locale.trans;\n App.config.globalProperties.choice = Locale.choice;\n\n global.nano.Icons = Obj.assign(Icons, global.nano.Icons);\n global.nano.Settings = Obj.assign(Settings, global.nano.Settings);\n\n require('./alert/index').default(App);\n require('./notification/index').default(App);\n require('./empty/index').default(App);\n require('./config/index').default(App); //!complex 17.1\n require('./scrollbar/index').default(App);\n require('./virtualscroller/index').default(App);\n require('./draggable/index').default(App);\n require('./loader/index').default(App);\n require('./resizer/index').default(App);\n require('./popover/index').default(App);\n require('./modal/index').default(App);\n require('./button/index').default(App);\n require('./input/index').default(App);\n require('./input-number/index').default(App);\n require('./textarea/index').default(App);\n require('./select/index').default(App);\n require('./checkbox/index').default(App);\n require('./radio/index').default(App);\n require('./slider/index').default(App);\n require('./switch/index').default(App);\n require('./confirm/index').default(App);\n require('./cascader/index').default(App);\n require('./datepicker/index').default(App);\n require('./timepicker/index').default(App);\n require('./datetimepicker/index').default(App);\n require('./durationpicker/index').default(App);\n require('./transfer/index').default(App);\n require('./form/index').default(App); // check\n require('./tabs/index').default(App);\n require('./tags/index').default(App);\n require('./collapse/index').default(App);\n require('./table/index').default(App); // 18.1 options\n require('./paginator/index').default(App);\n require('./info/index').default(App); //!complex 16.1\n require('./preview/index').default(App);\n require('./map/index').default(App);\n require('./file/index').default(App);\n require('./rating/index').default(App);\n require('./drawer/index').default(App);\n\n // require('./chart/index'); // Ignore\n // require('./wysiwyg/index'); // Ignore\n}\n\nexport const Nano = {\n Icons: Icons, Settings: Settings, Install: Install\n};\n\nglobal.keyMods = [];\n\nDom.find(document).on('keydown', (event) => {\n Arr.add(global.keyMods, event.which);\n});\n\nDom.find(document).on('keyup', (event) => {\n Arr.remove(global.keyMods, event.which);\n});\n\nDom.find(document).on('dragstart', (event) => {\n Arr.add(global.keyMods, event.which);\n});\n\nDom.find(document).on('dragend', (event) => {\n global.keyMods = [];\n});\n\nif ( typeof global.nano === 'undefined' ) {\n global.nano = Nano;\n}\n\nexport default Nano;\n"],"names":["root","factory","exports","module","require","define","amd","self","__WEBPACK_EXTERNAL_MODULE__6055__","__WEBPACK_EXTERNAL_MODULE__2122__","name","inject","NFormItem","default","undefined","props","modelValue","clearValue","minDate","maxDate","size","type","String","placeholder","Locale","trans","monthPanels","Number","boundary","position","disabled","Boolean","clearable","format","displayFormat","weekdays","Array","months","computed","deepDisabled","this","watch","value","tempValue","Now","make","data","focus","methods","clearDatetimepicker","$emit","onPopoverInput","onValueInput","event","length","target","moment","isValid","set","year","month","date","hour","minute","second","onDatepickerInput","onTimepickerInput","renderLabelClear","isEmpty","initialDate","onMousedown","_createVNode","_mergeProps","nano","Icons","times","renderLabelAngle","angleDown","renderSingle","onInput","valid","renderDisplay","ctor","renderPanels","renderDatePanel","Obj","only","$props","assign","_resolveComponent","renderTimePanel","renderPopover","_this","trigger","width","scrollClose","slots","raw","$event","render","classList","push","App","component","Datetimepicker","options","sourceLabel","targetLabel","labelProp","uniqueProp","sourceChecked","selectedSource","tempSource","sourceIntermediate","targetChecked","selectedTarget","tempTarget","targetIntermediate","source","Arr","filter","item","find","_defineProperty","Any","sourceSearch","clone","searchPattern","RegExp","match","_this2","targetSearch","uid","UUID","moveItemsTarget","_this3","each","add","moveItemsSource","_this4","remove","moveRowTarget","node","moveRowSource","moveToSource","_this5","moveToTarget","_this6","updateSelectedSource","selected","updateSelectedTarget","renderSourceSelect","_this7","intermediate","$refs","selectAll","renderSourceTitle","labelHtml","counterHtml","renderSourceHeader","renderSourceSearch","_this8","icon","iconDisabled","renderSourceBody","group","allowGroups","items","renderSelect","safezone","disableMove","renderNode","onMove","renderTargetSelect","_this9","renderTargetTitle","renderTargetHeader","renderTargetSearch","_this10","renderTargetBody","$slots","get","renderMoveSource","square","angleRight","onClick","renderMoveTarget","angleLeft","$render","Transfer","provide","NScrollbar","Object","relative","fixture","allowNative","overflowY","overflowX","offsetY","offsetX","framerate","wrapClass","touch","window","navigator","msMaxTouchPoints","mousedown","mousemove","mouseup","native","beforeMount","adaptScrollBehavior","mounted","bindAdaptHeight","bindAdaptWidth","passive","_","Event","bind","onResize","onUpdate","Dom","on","content","onScroll","updated","passedHeight","passedWidth","$el","addClass","beforeUnmount","unbindAdaptHeight","unbindAdaptWidth","unbind","off","scrollTo","x","arguments","y","delay","onScrollTo","scrollTop","scrollLeft","scrollIntoView","selector","onScrollIntoView","outerHeight","clientHeight","offsetTop","height","outerWidth","clientWidth","offsetLeft","$dom","appendTo","document","body","offsetWidth","offsetHeight","adaptScrollHeight","innerHeight","scrollHeight","virtualHeight","childs","el","barHeight","Math","max","maxHeight","ceil","heightRatio","vbar","css","hasVtrack","removeClass","adaptScrollPosition","adaptScrollWidth","innerWidth","scrollWidth","virtualWidth","barWidth","maxWidth","widthRatio","hbar","hasHtrack","scroll","top","left","vbarTop","transform","concat","hbarLeft","adaptHeight","cacheChildEl","child","cacheWindwoEl","windowCache","style","onSizechange","spacer","refreshHeight","setInterval","clearInterval","adaptWidth","resizeTimer","refreshWidth","$nextTick","clearTimeout","setTimeout","fire","$inner","actual","getTouchEvent","touches","changedTouches","onVbarMousedown","has","which","stopPropagation","onVbarMousemove","onVbarMouseup","clientY","offset","onHbarMousedown","onHbarMousemove","onHbarMouseup","clientX","WIN","vbarProps","Str","ucfirst","hbarProps","except","$attrs","Scrollbar","onValue","offValue","onType","offType","eventClick","renderSwitch","renderLabel","Switch","model","prop","syncEvent","showEmptyIcon","elements","bindSyncEvent","unbindSyncEvent","scrollbar","isFunction","setValue","addColumn","column","removeColumn","NInfo","renderEmpty","empty","renderBody","vals","_slot","s","infoHtml","prototype","toString","call","_isVNode","label","previewProp","Function","optionsValue","optionsLabel","emptyText","trueText","falseText","datetimeFormat","passed","resolveComponent","h","required","input","extends","InfoField","cslo","convertString","convertBoolean","convertDatetime","renderOption","index","$value","$index","option","undefinedText","isObject","preview","fit","Info","InfoColumn","InfoFieldString","InfoFieldBoolean","InfoFieldDatetime","InfoFieldOption","InfoFieldImage","global","NanoBuilderTypes","NanoBuilderIndexies","lat","lng","zoom","NMap","init","callbacks","tempMap","focusMarkers","Map","callback","getMap","onMount","drag","id","tempMarker","importMarkerPosition","marker","setPosition","updateMarkerPosition","getPosition","initializeMarker","Num","draggable","html","innerHTML","createMarker","addListener","debounce","setMarkerByAddress","address","then","Notify","MapMarker","key","fallback","$options","split","_len","args","_key","apply","for","NanoPrototypeSizes","NanoPrototypeTypes","NanoPrototypeBools","nativeType","iconPosition","iconClick","inline","EmptyIcon","minWidth","resizerWidth","sizeFixed","updateWidth","bindSizechange","forceWidth","unmounted","unbindSizechange","flex","updateHandle","handle","onLeftMousedown","preventDefault","onLeftMouseup","onLeftMousemove","scrollX","targetWidth","min","round","frameStyle","onRightMousedown","onRightMouseup","onRightMousemove","renderHandle","Resizer","AlertFrame","_createClass","text","_classCallCheck","iconPrimary","info","iconSecondary","iconSuccess","success","iconWarning","warning","iconDanger","danger","iconInfo","Alert","join","backdrop","onclick","frame","getIcon","alert","_construct","append","config","globalProperties","alias","Settings","notifySize","_isSlot","hover","valueProp","childProp","disabledProp","tempHover","clearCascader","onHover","cascade","hoverItem","onSelect","selectItem","clickTimer","lastclick","hoverTimer","fireSelectItem","clickClose","last","checked","tempCascade","merge","onMousemove","children","renderOptions","_slot2","renderCascade","renderList","current","onCascaderInput","onCascaderHover","renderLabelItems","itemLabel","renderItems","CascaderPanel","Cascader","NTags","tags","addTag","tab","$forceUpdate","removeTag","color","renderIcon","Tags","TagsItem","link","class","innerHtml","Button","ButtonGroup","minDuration","maxDuration","negativeText","days","hours","minutes","seconds","editValue","findPattern","pattern","replaceAll","humanizeValue","floor","choice","digitizeValue","dmatch","replace","hmatch","mmatch","smatch","clearDurationpicker","e","onValueChange","onDurationpickerInput","renderInput","onBlur","onChange","optionProps","scrollProps","Durationpicker","inheritAttrs","MAX_VALUE","stepSize","precision","decimals","getValue","clear","isNull","getDisplayValue","count","nextStep","isNaN","toFixed","onNextDown","nextTimeout","nextInterval","onNextUp","prevStep","onPrevDown","prevTimeout","prevInterval","onPrevUp","onKeydown","onFocus","regex","renderPrev","renderNext","renderClear","InputNumber","multiple","clearableIcon","buttonText","openContext","click","updateFile","_toConsumableArray","files","clearFile","renderButton","renderHidden","File","NCollapse","addTab","removeTab","showTab","hideTab","toggleTab","toggle","NCollapseItem","sort","preload","keep","dragger","renderHeaderIcon","renderHeaderLabel","renderHeaderAngle","angle","renderHeader","showDelay","order","display","element","Collapse","CollapseItem","listen","update","title","closable","renderClose","startRefreshTimeout","NDrawer","previous","eventKeydown","openModal","force","closeModal","stopRefreshTimeout","refresh","zIndex","attr","queueRefreshTimeout","result","closest","indexes","modal","header","renderFooter","footer","bodyHtml","renderFrame","renderBackdrop","Modal","NCheckboxGroup","allowUncheck","tempComputed","globalChecked","tempChecked","tempIntermediate","globalIntermediate","tempDisabled","globalDisabled","isChecked","$watch","addCheckbox","removeCheckbox","check","checkCheckbox","uncheck","uncheckCheckbox","eventShiftClick","shiftCheckbox","eventLocalClick","shiftKey","toggleCheckbox","eventGlobalClick","toggleAll","updateFromGroup","renderCheckbox","interHtml","checkHtml","align","checkbox","emit","findIndex","checkboxes","slice","uncheckAll","checkAll","Checkbox","CheckboxGroup","scope","solveAwait","isString","$$scope","$$value","solveValue","solveEvent","$configRefs","_len2","_key2","solveContent","_len3","_key3","prepareValue","veModel","path","deepSet","inputClosure","closure","obj","keys","val","shift","renderLayer","isPlain","setup","vIf","vShow","vAwait","$on","map","resolved","extraValue","sempValue","getString","final","propAwait","isArray","state","getState","propExists","exists","solveInput","sources","$scope","$model","$extra","$global","toPropKey","splits","lcfirst","toEventKey","cb","solveContext","console","error","getProp","getInput","setInput","renderSetup","defaultsBind","binds","events","updateKey","NanoBuilderPropType","NanoBuilderPropCode","NanoBuilderProps","renderDemo","renderExport","demo","collapse","safevar","normalizeModel","exportJson","JSON","stringify","matches","exportExecutable","normalizeChild","applyProps","_objectSpread","builder","buildProps","first","_typeof","getOriginalValue","safevalue","btoa","getSafeValue","string","getRealValue","realvalue","code","number","parse","atob","original","changeElement","newKey","unset","k","changeAlias","changeType","bindValue","sey","addProp","removeProp","collapseElement","addElement","removeElement","moveupElement","_ref","close","MIN_VALUE","sub","replacement","movedownElement","_ref2","renderTools","rootProps","collapseProps","href","addProps","removeProps","moveupProps","movedownProps","renderProp","$data","typeProps","keyProps","allowCreate","codeProps","valueInputProps","valueHtml","fallbackProps","minRows","autoRows","_createTextVNode","renderProps","elementProps","aliasProps","plainProps","renderElement","builderHtml","renderBuilder","v","renderHead","_slot3","addHtml","demoProps","demoHtml","renderOutput","_slot4","_this11","renderFunction","_ref3","configProps","expanded","modelTree","buildTree","scopeTree","ref","submitItem","expandItem","renderLeaf","renderTree","childItems","childHtml","renderItem","renderModel","modelHtml","renderScope","scopeHtml","updateValue","renderModal","modalProps","panelProps","inputProps","NConfig","NConfigNext","NBuilder","NRefrencePanel","NRefrencePicker","visible","confirmText","abortText","buttonSize","tempVisible","abort","confirm","eventInput","renderAction","Confirm","DEBUG_NVSCROLL","NDraggable","itemHeight","itemWidth","deathzone","threshold","useKeys","start","end","grid","buffer","load","updateRender","bindAdaptScroll","unbindAdaptScroll","refreshScroll","onScrollupdate","isIndexRendered","scrollToIndex","onScrollToIndex","total","targetTop","clearState","async","refreshDriver","inner","queue","timer","Date","now","to","bufferItems","isEqual","topOffset","renderRows","renderGridRows","counter","chunk","renderGrid","chunks","totalHeight","Virtualscroller","arrive","clearArrive","depart","clearDepart","range","yearsGrid","tempCache","getYears","monthsGrid","getMonths","tempArrive","tempDepart","tempView","tempRanger","cacheArrive","cacheDepart","gotoDate","gotoMonth","gotoYear","patchDate","resetTime","applyTime","patchMonth","printRange","patchYear","patchRange","renderToolbarPrev","renderToolbarNext","renderToolbarMonth","monthsHtml","addMonths","renderToolbarYear","yearsHtml","renderToolbar","prev","next","renderDateItem","equalDate","isNotBeforeMin","after","isNotAfterMax","before","renderRangeDateItem","viewMode","isTempValid","between","arriveFirst","onMouseenter","renderDate","legendHtml","day","getDatesGrid","panelHtml","prevMonth","nextMonth","renderMonthItem","equal","renderMonth","prevYear","nextYear","renderYearItem","renderYear","prevDecade","nextDecade","placeholderArrive","placeholderDepart","rangeSeparator","clearDatepicker","clearRangeDatepicker","clearSingleDatepicker","onArriveInput","onDepartInput","onDatepickerDepart","onDatepickerArrive","renderRange","arriveProps","departProps","displayHtml","DatepickerPanel","Datepicker","NModal","page","limit","limitOptions","maxPages","layout","pages","tempLimit","pageOptions","tempPage","forcePage","updatePaginate","paginate","onPrevPage","onPageInput","onNextPage","onFirstPage","onLastPage","onLimitInput","renderLimit","renderCount","renderSpacer","renderGoto","reduce","renderFirst","angleDoubleLeft","renderLast","angleDoubleRight","renderPage","abs","renderPages","renderSlot","view","className","Paginator","dom","form","errors","prevent","ignore","forceChange","forceErrors","groups","blocked","NForm","ready","emitChange","deep","resetChange","registerGroup","unregisterGroup","onSubmit","is","addItem","removeItem","timeout","prevState","nextState","attrs","cmer","kind","tooltip","tooltipPosition","collapseGroup","renderCollapse","renderText","textHtml","action","renderTooltip","NTabs","NTabsItem","tooltipWindow","conditional","conditionOn","conditionOff","enabled","toggleCondition","focusInput","$input","log","gotoInput","changeTab","renderCondition","renderError","loop","bindInviewEvent","menu","inview","inviewY","renderMenu","renderMenus","NFrame","resize","itemResize","itemScrollbar","renderContent","renderDiv","renderResizer","Form","FormGroup","FormItem","FormFrame","FormFrameItem","FormMenu","NTable","sortProp","sortDir","closeFilterOnEnter","itemOffset","scrollTopOnChange","renderExpand","renderCurrent","transformDrop","insertNode","removeNode","allowSelect","allowDrag","allowDrop","keyEvents","highlightTimeout","tempSelected","tempVisibleProps","tempSortProp","tempSortDir","tempFilter","tempFilterProps","makeVisibleProps","detectVisible","getColumnIndex","getColumnVisiblity","getColumnSorted","getColumnFilter","filterProp","property","getColumnFiltered","detectVisibity","intersect","extract","sortByColumn","dir","replaceFilter","search","filters","resetFilter","highlightNode","syncCurrent","refreshCurrent","columns","values","renderContext","defaultRender","draggableHtml","matrixDisabled","breakpoint","matrix","matrixProp","fluid","fixedWidth","matrixValues","NTableColumn","tempWidth","changedStates","sortDirection","flexBasis","renderHeadLabel","renderHeadSort","renderHeadFilter","angleHtml","depth","NDraggableItem","copy","setFirstState","firstState","TableCell","toggleMatrix","toggleSelect","itemList","currentMatrix","combine","finder","isDisabled","canReset","canApply","getFilterClone","mountFilter","getFilterProp","getDefaultFilter","applyFilter","clearFilter","popover","renderForm","renderApply","renderReset","TableFilter","operator","li","nl","eq","ne","lt","gt","in","ni","Table","TableColumn","TableCellString","TableCellBoolean","TableCellDatetime","TableCellOption","TableCellImage","TableCellMatrix","TableCellSelect","TableFilterString","TableFilterBoolean","TableFilterDatetime","TableFilterOption","hoursInterval","minutesInterval","secondsInterval","hoursGrid","getHours","minutesGrid","getMinutes","secondsGrid","getSeconds","eventSelect","scrollbars","renderHourItem","renderHourPanel","renderMinuteItem","renderMinutePanel","renderSecondItem","renderSecondPanel","clearTimepicker","renderPanel","TimepickerPanel","Timepicker","maxRows","maxLength","rows","currentRows","Textarea","steps","labels","fixmin","fixmax","minmax","getPseudoValue","setModelValue","getValPos","fixed","getValStyle","getBarPos","getBarWidth","getBarStyle","getClosestValue","isNumber","diff","step","onMouseup","relativeWidth","closestValue","stepMin","stepMax","handleProps","renderHandles","renderBar","barProps","Slider","lazy","collapseText","optionsDisabled","custom","tempClear","searched","generateOptions","searchOptions","NSelect","scrollToClosest","tempLabel","addOption","removeOption","resetInput","onFocusInput","open","onInputInput","onKeydownInput","createOrToggle","selectPrev","selectNext","searchRegex","toggleOption","denyUpdate","getOptionLabel","newIndex","scrollToCurrent","createOption","virtualbar","select","renderLabelItem","renderLabelCollapse","firstHtml","renderMultiple","isEmptyValue","inputHtml","modelLabel","emptyHtml","renderLazyOption","isMultipleActive","isSingleActive","renderLazyItems","onClose","toggleItem","Select","SelectOption","NPopover","multiClose","refreshVisible","parent","onContext","onExit","onCloseEvent","active","pause","unpause","stopRefreshInterval","startRefreshInterval","passedOffset","updatePosition","isSameOffset","rainbow","isSameSize","passedSize","getTargetHorizontal","targetRect","getBoundingClientRect","windowRect","posY","posX","center","inverse","broken","getTargetVertical","getTargetOffset","rect","isScrollClose","keyCode","viewBody","tempSize","image","imagePosition","renderImage","Popover","PopoverGroup","PopoverOption","Notification","duration","create","wrapper","getWrapper","notifications","Notifcation","notifyPosition","float","getTab","updateEvent","currentTab","sorted","renderHeaderIndicator","tabs","Tabs","TabsItem","fileMap","video","font","application","file","thumb","mime","typre","showSrc","tempFile","tempThumb","fileMime","getFileMime","thumbMime","getThumbMime","lightbox","extension","exts","resolveVimeo","resolveYoutube","showLightbox","renderPreview","renderFull","renderLightbox","src","tempSrc","tempExt","ImageCache","resolveLoad","resolveData","loaded","laod","reader","FileReader","onload","readAsDataURL","url","provider","unique","resolveType","youtube","vimeo","renderYoutube","renderVimeo","renderPlain","Preview","PreviewPlain","PreviewImage","PreviewVideo","virtualValue","renderStars","rate","renderValue","vars","Rating","NRadioGroup","addRadio","removeRadio","checkRadio","renderRadio","radio","NRadio","dragMods","NDragCounter","dataTransfer","setData","setDragImage","keyMods","DragCounter","NDragIndicator","strategy","hasClass","show","hide","NDraghandler","rootNode","_this$bindDragstart","DragIndicator","DragCache","bindDragstart","onDragenterRoot","onDragoverRoot","onDragleaveRoot","onDragendRoot","onDragdropRoot","bindDragend","bindDragdrop","cacheNodes","frames","moveNodes","cache","dragcount","dropNodes","unlinkNodes","removeNodes","isSelected","virtuals","route","resolve","targetNode","isInSelf","childNodes","unbindNode","$handle","onDragstartNode","onDragenterNode","onDragoverNode","onDragleaveNode","onDragendNode","onDragdropNode","moveNodesMany","moveNodesOne","moveNodesRoot","moveNodesInto","moveNodesBefore","moveNodesAfter","eventName","targetRoute","splice","reduceItem","cascades","virtual","DEBUG_NDLIST","lazyload","modifier","highlight","firstSelected","lastSelected","tempCurrent","tempExpanded","watchModifierDown","watchModifierUp","virtualscroller","bindRoot","watchSelected","refreshVirtuals","unbindRoot","filterVirtuals","updateNode","findVirtual","contains","getIndex","getCurrentIndex","isDraggable","canDrag","isHighlight","recursive","scrollToHighlight","isCurrent","setCurrent","setRawCurrent","setNextCurrent","setPrevCurrent","reset","canSelect","hasChildren","getChildren","isExpanded","expandCurrent","isTotalSelected","isInterSelected","toggleSingleNode","toggleRangeNode","indexies","reversed","row","unselectAll","bindKeydown","unbindKeydown","onMouseleave","bindNode","copyNode","onDblclick","NDropzone","Draglist","DraglistItem","Draggrid","DraggridItem","Dropzone","onIconClick","Input","NLoader","minimum","applyTimer","timing","startTimer","restartTimer","Loader","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","g","globalThis","hasOwnProperty","r","Symbol","toStringTag","attrsList","slot","Comment","circle","clock","calendar","primary","angleUp","Install","pi","CtorMixin","CmerMixin","CsloMixin","Nano"],"sourceRoot":""}
|
1
|
+
{"version":3,"file":"nano-ui.js","mappings":"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","sources":["webpack://Nano/webpack/universalModuleDefinition","webpack://Nano/./src/datetimepicker/src/datetimepicker/datetimepicker.js","webpack://Nano/./src/datetimepicker/index.js","webpack://Nano/./src/transfer/src/transfer/transfer.js","webpack://Nano/./src/transfer/index.js","webpack://Nano/./src/scrollbar/src/scrollbar/scrollbar.next.js","webpack://Nano/./src/scrollbar/index.js","webpack://Nano/./src/switch/src/switch/switch.js","webpack://Nano/./src/switch/index.js","webpack://Nano/./src/info/src/info/info.js","webpack://Nano/./src/info/src/info-column/info-column.js","webpack://Nano/./src/info/src/info-field/info-field.js","webpack://Nano/./src/info/src/info-field/types/info-field-string.js","webpack://Nano/./src/info/src/info-field/types/info-field-boolean.js","webpack://Nano/./src/info/src/info-field/types/info-field-datetime.js","webpack://Nano/./src/info/src/info-field/types/info-field-option.js","webpack://Nano/./src/info/src/info-field/types/info-field-image.js","webpack://Nano/./src/info/index.js","webpack://Nano/./src/config/src/builder/prototypes/checkbox/n-checkbox-group.js","webpack://Nano/./src/map/src/map/map.js","webpack://Nano/./src/map/src/map-marker/map-marker.js","webpack://Nano/./src/map/index.js","webpack://Nano/./src/mixins/src/ctor.js","webpack://Nano/./src/config/src/builder/prototypes/input/n-input.js","webpack://Nano/./src/config/src/builder/prototypes/confirm/n-confirm.js","webpack://Nano/./src/empty/src/empty-icon/empty-icon.js","webpack://Nano/./src/empty/index.js","webpack://Nano/./src/resizer/src/resizer/resizer.js","webpack://Nano/./src/resizer/index.js","webpack://Nano/./src/config/src/builder/prototypes/datepicker/n-datepicker.js","webpack://Nano/./src/config/src/builder/prototypes/cascader/n-cascader.js","webpack://Nano/./src/config/src/builder/prototypes/select/n-select.js","webpack://Nano/./src/alert/src/alert/alert.js","webpack://Nano/./src/alert/index.js","webpack://Nano/./src/config/src/builder/prototypes/radio/n-radio-group.js","webpack://Nano/external umd {\"root\":\"Vue\",\"commonjs2\":\"vue\",\"commonjs\":\"vue\",\"amd\":\"vue\"}","webpack://Nano/./src/cascader/src/cascader-panel/cascader-panel.js","webpack://Nano/./src/cascader/src/cascader/cascader.js","webpack://Nano/./src/cascader/index.js","webpack://Nano/./src/tags/src/tags/tags.js","webpack://Nano/./src/tags/src/tags-item/tags-item.js","webpack://Nano/./src/tags/index.js","webpack://Nano/./src/button/src/button/button.js","webpack://Nano/./src/button/src/button-group/button-group.js","webpack://Nano/./src/button/index.js","webpack://Nano/./src/durationpicker/src/durationpicker/durationpicker.js","webpack://Nano/./src/durationpicker/index.js","webpack://Nano/./src/config/src/builder/prototypes/form/n-form.js","webpack://Nano/./src/config/src/builder/prototypes/rating/n-rating.js","webpack://Nano/./src/input-number/src/input-number/input-number.js","webpack://Nano/./src/input-number/index.js","webpack://Nano/./src/file/src/file/file.js","webpack://Nano/./src/file/index.js","webpack://Nano/./src/config/src/builder/prototypes/form/n-form-item.js","webpack://Nano/./src/collapse/src/collapse/collapse.js","webpack://Nano/./src/collapse/src/collapse-item/collapse-item.js","webpack://Nano/./src/collapse/index.js","webpack://Nano/./src/drawer/src/drawer/drawer.js","webpack://Nano/./src/drawer/index.js","webpack://Nano/./src/config/src/builder/prototypes/button/n-button.js","webpack://Nano/./src/checkbox/src/checkbox/checkbox.js","webpack://Nano/./src/checkbox/src/checkbox-group/checkbox-group.js","webpack://Nano/./src/checkbox/index.js","webpack://Nano/./src/config/src/builder/prototypes/html/div.js","webpack://Nano/./src/config/src/config/config.js","webpack://Nano/./src/config/src/config/config-next.js","webpack://Nano/./src/config/src/builder/builder.js","webpack://Nano/./src/config/src/reference-panel/reference-panel.js","webpack://Nano/./src/config/src/reference-picker/reference-picker.js","webpack://Nano/./src/config/index.js","webpack://Nano/./src/confirm/src/confirm/confirm.js","webpack://Nano/./src/confirm/index.js","webpack://Nano/./src/virtualscroller/src/virtualscroller/virtualscroller.beta.js","webpack://Nano/./src/virtualscroller/index.js","webpack://Nano/./src/datepicker/src/datepicker-panel/datepicker-panel.js","webpack://Nano/./src/datepicker/src/datepicker/datepicker.js","webpack://Nano/./src/datepicker/index.js","webpack://Nano/./src/config/src/builder/prototypes/input-number/n-input-number.js","webpack://Nano/./src/config/src/builder/prototypes/checkbox/n-checkbox.js","webpack://Nano/./src/modal/src/modal/modal.js","webpack://Nano/./src/modal/index.js","webpack://Nano/./src/config/src/builder/prototypes/html/nano.js","webpack://Nano/./src/config/src/builder/prototypes/tabs/n-tabs-item.js","webpack://Nano/external umd {\"root\":\"pi\",\"commonjs2\":\"@kizmann/pico-js\",\"commonjs\":\"@kizmann/pico-js\",\"amd\":\"@kizmann/pico-js\"}","webpack://Nano/./src/config/src/builder/prototypes/html/span.js","webpack://Nano/./src/config/src/builder/prototypes/slider/n-slider.js","webpack://Nano/./src/paginator/src/paginator/paginator.js","webpack://Nano/./src/paginator/index.js","webpack://Nano/./src/form/src/form/form.js","webpack://Nano/./src/form/src/form-group/form-group.js","webpack://Nano/./src/form/src/form-item/form-item.js","webpack://Nano/./src/form/src/form-menu/form-menu.js","webpack://Nano/./src/form/src/form-frame/form-frame.js","webpack://Nano/./src/form/src/form-frame-item/form-frame-item.js","webpack://Nano/./src/form/index.js","webpack://Nano/./src/config/src/builder/prototypes/radio/n-radio.js","webpack://Nano/./src/table/src/table/table.js","webpack://Nano/./src/table/src/table-column/table-column.js","webpack://Nano/./src/table/src/table-cell/table-cell.js","webpack://Nano/./src/table/src/table-cell/types/table-cell-string.js","webpack://Nano/./src/table/src/table-cell/types/table-cell-boolean.js","webpack://Nano/./src/table/src/table-cell/types/table-cell-datetime.js","webpack://Nano/./src/table/src/table-cell/types/table-cell-option.js","webpack://Nano/./src/table/src/table-cell/types/table-cell-image.js","webpack://Nano/./src/table/src/table-cell/types/table-cell-matrix.js","webpack://Nano/./src/table/src/table-cell/types/table-cell-select.js","webpack://Nano/./src/table/src/table-filter/table-filter.js","webpack://Nano/./src/table/src/table-filter/types/table-filter-string.js","webpack://Nano/./src/table/src/table-filter/types/table-filter-boolean.js","webpack://Nano/./src/table/src/table-filter/types/table-filter-datetime.js","webpack://Nano/./src/table/src/table-filter/types/table-filter-option.js","webpack://Nano/./src/table/index.js","webpack://Nano/./src/config/src/builder/prototypes/timepicker/n-timepicker.js","webpack://Nano/./src/timepicker/src/timepicker-panel/timepicker-panel.js","webpack://Nano/./src/timepicker/src/timepicker/timepicker.js","webpack://Nano/./src/timepicker/index.js","webpack://Nano/./src/config/src/builder/prototypes/tags/n-tags-item.js","webpack://Nano/./src/textarea/src/textarea/textarea.js","webpack://Nano/./src/textarea/index.js","webpack://Nano/./src/config/src/builder/prototypes/loader/n-loader.js","webpack://Nano/./src/config/src/builder/prototypes/tabs/n-tabs.js","webpack://Nano/./src/slider/src/slider/slider.js","webpack://Nano/./src/slider/index.js","webpack://Nano/./src/select/src/select/select.js","webpack://Nano/./src/select/src/select-option/select-option.js","webpack://Nano/./src/select/index.js","webpack://Nano/./src/config/src/builder/prototypes/table/n-table-column.js","webpack://Nano/./src/popover/src/popover/popover.js","webpack://Nano/./src/popover/src/popover-group/popover-group.js","webpack://Nano/./src/popover/src/popover-option/popover-option.js","webpack://Nano/./src/popover/index.js","webpack://Nano/./src/config/src/builder/prototypes/datetimepicker/n-datetimepicker.js","webpack://Nano/./src/notification/src/notification/notification.js","webpack://Nano/./src/notification/index.js","webpack://Nano/./src/tabs/src/tabs/tabs.js","webpack://Nano/./src/tabs/src/tabs-item/tabs-item.js","webpack://Nano/./src/tabs/index.js","webpack://Nano/./src/preview/src/preview/preview.js","webpack://Nano/./src/preview/src/preview-plain/preview-plain.js","webpack://Nano/./src/preview/src/preview-image/preview-image.js","webpack://Nano/./src/preview/src/preview-video/preview-video.js","webpack://Nano/./src/preview/index.js","webpack://Nano/./src/config/src/builder/prototypes/switch/n-switch.js","webpack://Nano/./src/config/src/builder/prototypes/table/n-table.js","webpack://Nano/./src/rating/src/rating/rating.js","webpack://Nano/./src/rating/index.js","webpack://Nano/./src/config/src/builder/prototypes/tags/n-tags.js","webpack://Nano/./src/radio/src/radio/radio.js","webpack://Nano/./src/radio/src/radio-group/radio-group.js","webpack://Nano/./src/radio/index.js","webpack://Nano/./src/config/src/builder/prototypes/form/n-form-group.js","webpack://Nano/./src/draggable/src/draghandler/draghandler.js","webpack://Nano/./src/draggable/src/draglist/draglist.js","webpack://Nano/./src/draggable/src/draglist-item/draglist-item.js","webpack://Nano/./src/draggable/src/draggrid/draggrid.js","webpack://Nano/./src/draggable/src/draggrid-item/draggrid-item.js","webpack://Nano/./src/draggable/src/dropzone/dropzone.js","webpack://Nano/./src/draggable/index.js","webpack://Nano/./src/input/src/input/input.js","webpack://Nano/./src/input/index.js","webpack://Nano/./src/loader/src/loader/loader.js","webpack://Nano/./src/loader/index.js","webpack://Nano/./src/config/src/builder/prototypes/empty/n-empty.js","webpack://Nano/./src/config/src/builder/prototypes/durationpicker/n-durationpicker.js","webpack://Nano/./src/config/src/builder/prototypes/transfer/n-transfer.js","webpack://Nano/./src/config/src/builder/prototypes/button/n-button-group.js","webpack://Nano/./src/config/src/builder/prototypes/modal/n-modal.js","webpack://Nano/webpack/bootstrap","webpack://Nano/webpack/runtime/compat get default export","webpack://Nano/webpack/runtime/define property getters","webpack://Nano/webpack/runtime/global","webpack://Nano/webpack/runtime/hasOwnProperty shorthand","webpack://Nano/webpack/runtime/make namespace object","webpack://Nano/./src/mixins/src/cmer.js","webpack://Nano/./src/mixins/src/cslo.js","webpack://Nano/./src/index.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@kizmann/pico-js\"), require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"@kizmann/pico-js\", \"vue\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Nano\"] = factory(require(\"@kizmann/pico-js\"), require(\"vue\"));\n\telse\n\t\troot[\"Nano\"] = factory(root[\"pi\"], root[\"Vue\"]);\n})(self, (__WEBPACK_EXTERNAL_MODULE__6055__, __WEBPACK_EXTERNAL_MODULE__2122__) => {\nreturn ","import { Obj, Now, Any, Locale } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NDatetimepicker',\n\n inject: {\n\n NFormItem: {\n default: undefined\n }\n\n },\n\n props: {\n\n modelValue: {\n default()\n {\n return null;\n }\n },\n\n clearValue: {\n default()\n {\n return null;\n }\n },\n\n minDate: {\n default()\n {\n return null;\n }\n },\n\n maxDate: {\n default()\n {\n return null;\n }\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n placeholder: {\n default()\n {\n return Locale.trans('Select datetime');\n },\n type: [String]\n },\n\n monthPanels: {\n default()\n {\n return 1;\n },\n type: [Number]\n },\n\n boundary: {\n default()\n {\n return null;\n }\n },\n\n position: {\n default()\n {\n return 'bottom-start';\n },\n type: [String]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n clearable: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n format: {\n default()\n {\n return 'YYYY-MM-DD HH:mm:ss';\n },\n type: [String]\n },\n\n displayFormat: {\n default()\n {\n return Locale.trans('YYYY-MM-DD HH:mm:ss');\n },\n type: [String]\n },\n\n weekdays: {\n default()\n {\n return [\n Locale.trans('Mo'),\n Locale.trans('Tu'),\n Locale.trans('We'),\n Locale.trans('Th'),\n Locale.trans('Fr'),\n Locale.trans('Sa'),\n Locale.trans('Su'),\n ];\n },\n type: [Array]\n },\n\n months: {\n default()\n {\n return [\n Locale.trans('Jan'),\n Locale.trans('Feb'),\n Locale.trans('Mar'),\n Locale.trans('Apr'),\n Locale.trans('May'),\n Locale.trans('Jun'),\n Locale.trans('Jul'),\n Locale.trans('Aug'),\n Locale.trans('Sep'),\n Locale.trans('Oct'),\n Locale.trans('Nov'),\n Locale.trans('Dec'),\n ];\n },\n type: [Array]\n }\n\n },\n\n computed: {\n\n deepDisabled() {\n return this.NFormItem ? this.NFormItem.disabled(this.disabled) :\n this.disabled;\n }\n\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue.format(this.format) ) {\n this.tempValue = Now.make(value);\n }\n },\n\n },\n\n data()\n {\n return {\n focus: false, tempValue: Now.make(this.modelValue, this.format),\n };\n },\n\n methods: {\n\n clearDatetimepicker()\n {\n this.tempValue = Now.make(this.clearValue, \n this.format);\n\n this.$emit('update:modelValue', this.clearValue);\n },\n\n onPopoverInput(value)\n {\n this.focus = value;\n },\n\n onValueInput(event)\n {\n let isNotSameLength = this.displayFormat.length !==\n event.target.value.length;\n\n if ( isNotSameLength ) {\n return;\n }\n\n let value = Now.make(event.target.value, \n this.displayFormat);\n\n if ( ! value.moment.isValid() ) {\n return;\n }\n\n let moment = this.tempValue.moment.set({\n year: value.moment.year(),\n month: value.moment.month(),\n date: value.moment.date(),\n hour: value.moment.hour(),\n minute: value.moment.minute(),\n second: value.moment.second(),\n });\n\n this.tempValue = Now.make(moment);\n\n this.$emit('update:modelValue', \n this.tempValue.format(this.format));\n },\n\n onDatepickerInput(value)\n {\n this.tempValue = Now.make(value, \n this.format);\n\n this.$emit('update:modelValue', value);\n },\n\n onTimepickerInput(value)\n {\n this.tempValue = Now.make(value,\n this.format);\n\n this.$emit('update:modelValue', value);\n },\n\n },\n\n\n renderLabelClear()\n {\n let isEmpty = ! this.tempValue.initialDate;\n\n if ( ! this.clearable || isEmpty ) {\n return null;\n }\n\n let props = {};\n\n if ( ! this.deepDisabled ) {\n props.onMousedown = this.clearDatetimepicker;\n }\n\n return (\n <div class=\"n-datetimepicker__clear\" {...props}>\n <i class={ nano.Icons.times }></i>\n </div>\n );\n },\n\n renderLabelAngle()\n {\n return (\n <div class=\"n-datetimepicker__angle\">\n <i class={ nano.Icons.angleDown }></i>\n </div>\n );\n },\n\n renderSingle()\n {\n let props = {\n value: '',\n disabled: this.deepDisabled,\n placeholder: this.placeholder,\n onInput: this.onValueInput,\n };\n\n if ( this.tempValue.valid() ) {\n props.value = this.tempValue.format(\n this.displayFormat, true);\n }\n\n return (\n <div class=\"n-datetimepicker__input\">\n <input {...props}/>\n </div>\n );\n },\n\n renderDisplay()\n {\n let classList = [\n 'n-datetimepicker__display'\n ];\n\n return (\n <div class={classList}>\n { this.ctor('renderLabelClear')() }\n { this.ctor('renderSingle')() }\n { this.ctor('renderLabelAngle')() }\n </div>\n );\n },\n\n renderPanels()\n {\n return (\n <div class=\"n-datetimepicker__body\">\n {[this.ctor('renderDatePanel')(), this.ctor('renderTimePanel')()]}\n </div>\n );\n },\n\n renderDatePanel()\n {\n let props = Obj.only(this.$props, [\n 'minDate', 'maxDate', 'size', 'type', 'format', 'monthPanels', 'disabled', 'weekdays', 'months'\n ]);\n\n props = Obj.assign(props, {\n modelValue: this.tempValue.format(this.format) || null,\n });\n\n props['onUpdate:modelValue'] = this.onDatepickerInput;\n\n return (\n <NDatepickerPanel class=\"n-datetimepicker__date-panel\" {...props}></NDatepickerPanel>\n );\n },\n\n renderTimePanel()\n {\n let props = Obj.only(this.$props, [\n 'size', 'type', 'format', 'disabled', 'hoursInterval', 'minutesInterval', 'secondsInterval'\n ]);\n\n props = Obj.assign(props, {\n modelValue: this.tempValue.format(this.format) || null,\n });\n\n props['onUpdate:modelValue'] = this.onTimepickerInput;\n\n return (\n <NTimepickerPanel class=\"n-datetimepicker__time-panel\" {...props}></NTimepickerPanel>\n );\n },\n\n renderPopover()\n {\n let props = {\n trigger: 'click',\n width: 0,\n size: this.size,\n position: this.position,\n scrollClose: true,\n disabled: this.deepDisabled\n };\n\n let slots = {\n raw: this.ctor('renderPanels')\n };\n\n return (\n <NPopover ref=\"popover\" vModel={this.focus} {...props} v-slots={slots} />\n );\n },\n\n render()\n {\n let classList = [\n 'n-datetimepicker',\n 'n-datetimepicker--' + this.type,\n 'n-datetimepicker--' + this.size,\n ];\n\n let isEmpty = ! this.tempValue.initialDate;\n\n if ( isEmpty ) {\n classList.push('n-empty');\n }\n\n if ( this.clearable ) {\n classList.push('n-clearable');\n }\n\n if ( this.focus ) {\n classList.push('n-focus');\n }\n\n if ( this.deepDisabled ) {\n classList.push('n-disabled');\n }\n\n return (\n <div class={classList}>\n { this.ctor('renderDisplay')() }\n { this.ctor('renderPopover')() }\n </div>\n );\n }\n\n}","import Datetimepicker from \"./src/datetimepicker/datetimepicker\";\n\nexport default function (App) {\n App.component(Datetimepicker.name, Datetimepicker);\n}","import { Str, Arr, Obj, Any, UUID } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NTransfer',\n\n props: {\n\n modelValue: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n options: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n sourceLabel: {\n default()\n {\n return 'Source';\n },\n type: [String]\n },\n\n targetLabel: {\n default()\n {\n return 'Target';\n },\n type: [String]\n },\n\n labelProp: {\n default()\n {\n return 'label';\n },\n type: [String]\n },\n\n uniqueProp: {\n default()\n {\n return 'id';\n },\n type: [String]\n }\n\n },\n\n computed: {\n\n sourceChecked()\n {\n return !! this.selectedSource.length && \n this.selectedSource.length === this.tempSource.length;\n },\n\n sourceIntermediate()\n {\n return !! this.selectedSource.length && \n this.selectedSource.length !== this.tempSource.length;\n },\n\n targetChecked()\n {\n return !! this.selectedTarget.length && \n this.selectedTarget.length === this.tempTarget.length;\n },\n\n targetIntermediate()\n {\n return !! this.selectedTarget.length && \n this.selectedTarget.length !== this.tempTarget.length;\n },\n\n tempSource()\n {\n let source = Arr.filter(this.options, (item) => {\n return ! Arr.find(this.tempValue, { [this.uniqueProp]: item[this.uniqueProp] });\n });\n\n if ( Any.isEmpty(this.sourceSearch) ) {\n return Arr.clone(source);\n }\n\n let searchPattern = new RegExp(this.sourceSearch, 'i');\n\n source = Arr.filter(source, (item) => {\n return item[this.labelProp].match(searchPattern);\n });\n\n return Arr.clone(source);\n },\n\n tempTarget()\n {\n let target = Arr.filter(this.options, (item) => {\n return !! Arr.find(this.tempValue, { [this.uniqueProp]: item[this.uniqueProp] });\n });\n\n if ( Any.isEmpty(this.targetSearch) ) {\n return Arr.clone(target);\n }\n\n let searchPattern = new RegExp(this.targetSearch, 'i');\n\n target = Arr.filter(target, (item) => {\n return item[this.labelProp].match(searchPattern);\n });\n\n return Arr.clone(target);\n }\n\n },\n data()\n {\n return {\n uid: UUID(),\n tempValue: this.modelValue,\n sourceSearch: '',\n targetSearch: '',\n selectedSource: [],\n selectedTarget: []\n };\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue ) {\n this.tempValue = value;\n }\n }\n\n },\n\n methods: {\n\n moveItemsTarget(options)\n {\n Arr.each(options, (source) => {\n\n let item = Arr.find(this.options, {\n [this.uniqueProp]: source\n });\n\n Arr.add(this.tempValue, item, {\n [this.uniqueProp]: source\n });\n\n });\n\n this.$emit('input', this.tempValue);\n },\n\n moveItemsSource(options)\n {\n Arr.each(options, (source) => {\n\n Arr.remove(this.tempValue, {\n [this.uniqueProp]: source\n });\n\n });\n\n this.$emit('input', this.tempValue);\n },\n\n moveRowTarget(node)\n {\n // Get node unique\n let target = node.value[this.uniqueProp];\n\n // Remove item from selected list\n Arr.remove(this.selectedTarget, target);\n\n this.tempValue = Arr.remove(this.tempValue, {\n [this.uniqueProp]: target\n });\n\n this.$emit('update:modelValue', this.tempValue);\n },\n\n moveRowSource(node)\n {\n // Get node unique\n let source = node.value[this.uniqueProp];\n\n // Remove item from selected list\n Arr.remove(this.selectedSource, source);\n\n Arr.add(this.tempValue, node.item, source, {\n [this.uniqueProp]: source\n });\n\n this.$emit('update:modelValue', this.tempValue);\n },\n\n moveToSource()\n {\n Arr.each(this.selectedTarget, (target) => {\n\n Arr.remove(this.tempValue, {\n [this.uniqueProp]: target\n });\n\n });\n\n this.selectedTarget = [];\n\n this.$emit('update:modelValue', this.tempValue);\n },\n\n moveToTarget()\n {\n Arr.each(this.selectedSource, (source) => {\n\n let item = Arr.find(this.options, {\n [this.uniqueProp]: source\n });\n\n Arr.add(this.tempValue, item, {\n [this.uniqueProp]: source\n });\n\n });\n\n this.selectedSource = [];\n\n this.$emit('update:modelValue', this.tempValue);\n },\n\n updateSelectedSource(selected)\n {\n this.selectedSource = selected;\n },\n\n updateSelectedTarget(selected)\n {\n this.selectedTarget = selected;\n }\n\n },\n\n renderSourceSelect()\n {\n let props = {\n modelValue: this.sourceChecked,\n size: this.size,\n type: this.type,\n intermediate: this.sourceIntermediate,\n disabled: ! this.tempSource.length\n };\n\n props['onUpdate:modelValue'] = () => {\n this.$refs.source.selectAll();\n };\n\n return (\n <div class=\"n-transfer__select\">\n <NCheckbox {...props} />\n </div>\n );\n },\n\n renderSourceTitle()\n {\n let labelHtml = (\n <span class=\"n-transfer__item-title\">\n { this.sourceLabel }\n </span>\n );\n\n let counterHtml = (\n <span class=\"n-transfer__item-count\">\n { this.tempSource.length }\n </span>\n );\n\n return (\n <div class=\"n-transfer__title\">\n { [labelHtml, counterHtml] }\n </div>\n );\n },\n\n renderSourceHeader()\n {\n return (\n <div class=\"n-transfer__header\">\n { this.ctor('renderSourceSelect')() }\n { this.ctor('renderSourceTitle')() }\n </div>\n );\n },\n\n renderSourceSearch()\n {\n let props = {\n placeholder: this.trans('Search item'),\n size: this.size,\n type: this.type,\n icon: nano.Icons.times,\n iconDisabled: ! this.sourceSearch\n };\n\n props['onIconClick'] = () => {\n this.sourceSearch = '';\n };\n\n props['onUpdate:modelValue'] = () => {\n this.selectedSource = [];\n };\n\n return (\n <div class=\"n-transfer__search\">\n <NInput vModel={this.sourceSearch} {...props} />\n </div>\n )\n },\n\n renderSourceBody()\n {\n let props = {\n group: [this.uid + 'source'],\n allowGroups: [this.uid + 'target'],\n items: this.tempSource,\n size: this.size,\n type: this.type,\n renderSelect: true,\n selected: this.selectedSource,\n safezone: () => -10,\n disableMove: true,\n renderNode: this.ctor('renderNode'),\n onMove: this.moveItemsSource,\n 'onRowDblclick': this.moveRowSource,\n 'onUpdate:selected': this.updateSelectedSource\n };\n\n return (\n <NDraglist ref=\"source\" class=\"n-transfer__body\" {...props} />\n );\n },\n\n renderTargetSelect()\n {\n let props = {\n modelValue: this.targetChecked,\n size: this.size,\n type: this.type,\n intermediate: this.targetIntermediate,\n disabled: ! this.tempTarget.length\n };\n\n props['onUpdate:modelValue'] = () => {\n this.$refs.target.selectAll();\n };\n\n return (\n <div class=\"n-transfer__select\">\n <NCheckbox {...props} />\n </div>\n );\n },\n\n renderTargetTitle()\n {\n let labelHtml = (\n <span class=\"n-transfer__item-title\">\n { this.targetLabel }\n </span>\n );\n\n let counterHtml = (\n <span class=\"n-transfer__item-count\">\n { this.tempTarget.length }\n </span>\n );\n\n return (\n <div class=\"n-transfer__title\">\n { [labelHtml, counterHtml] }\n </div>\n );\n },\n\n renderTargetHeader()\n {\n return (\n <div class=\"n-transfer__header\">\n { this.ctor('renderTargetSelect')() }\n { this.ctor('renderTargetTitle')() }\n </div>\n );\n },\n\n renderTargetSearch()\n {\n let props = {\n placeholder: this.trans('Search item'),\n size: this.size,\n type: this.type,\n icon: nano.Icons.times,\n iconDisabled: ! this.targetSearch\n };\n\n props['onIconClick'] = () => {\n this.targetSearch = '';\n };\n\n props['onUpdate:modelValue'] = () => {\n this.selectedTarget = [];\n };\n\n return (\n <div class=\"n-transfer__search\">\n <NInput vModel={this.targetSearch} {...props} />\n </div>\n )\n },\n\n renderTargetBody()\n {\n let props = {\n group: [this.uid + 'target'],\n allowGroups: [this.uid + 'source'],\n items: this.tempTarget,\n size: this.size,\n type: this.type,\n renderSelect: true,\n selected: this.selectedTarget,\n safezone: () => -1,\n disableMove: true,\n renderNode: this.ctor('renderNode'),\n onMove: this.moveItemsTarget,\n 'onRowDblclick': this.moveRowTarget,\n 'onUpdate:selected': this.updateSelectedTarget\n };\n\n return (\n <NDraglist ref=\"target\" class=\"n-transfer__body\" {...props} />\n );\n },\n\n renderNode(props)\n {\n if ( this.$slots.default ) {\n return this.$slots.default(props);\n }\n\n return (\n <div class=\"n-transfer__item\">\n { Obj.get(props.item, this.labelProp) }\n </div>\n );\n },\n\n renderMoveSource()\n {\n let props = {\n disabled: ! this.selectedSource.length,\n size: this.size,\n type: this.type,\n square: true, \n icon: nano.Icons.angleRight,\n onClick: this.moveToTarget\n };\n\n return (\n <NButton {...props} />\n );\n },\n\n renderMoveTarget()\n {\n let props = {\n disabled: ! this.selectedTarget.length,\n size: this.size,\n type: this.type,\n square: true, \n icon: nano.Icons.angleLeft,\n onClick: this.moveToSource\n };\n return (\n <NButton {...props} />\n );\n },\n\n render($render)\n {\n let classList = [\n 'n-transfer',\n 'n-transfer--' + this.size,\n 'n-transfer--' + this.type,\n ]\n\n return (\n <div class={classList}>\n <div class=\"n-transfer__panel\">\n { this.ctor('renderSourceHeader')() }\n { this.ctor('renderSourceSearch')() }\n { this.ctor('renderSourceBody')() }\n </div>\n <div class=\"n-transfer__controls\">\n { this.ctor('renderMoveSource')() }\n { this.ctor('renderMoveTarget')() }\n </div>\n <div class=\"n-transfer__panel\">\n { this.ctor('renderTargetHeader')() }\n { this.ctor('renderTargetSearch')() }\n { this.ctor('renderTargetBody')() }\n </div>\n </div>\n );\n }\n\n}","import Transfer from \"./src/transfer/transfer\";\n\nexport default function (App) {\n App.component(Transfer.name, Transfer);\n}","import { Arr, Obj, Dom, Any, Str, Event } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NScrollbar',\n\n provide()\n {\n return {\n NScrollbar: this\n };\n },\n\n props: {\n\n options: {\n default()\n {\n return {};\n },\n type: [Object]\n },\n\n relative: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n fixture: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n allowNative: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n overflowY: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n overflowX: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n offsetY: {\n default()\n {\n return 10;\n },\n type: [Number]\n },\n\n offsetX: {\n default()\n {\n return 10;\n },\n type: [Number]\n },\n\n framerate: {\n default()\n {\n return 24;\n },\n type: [Number]\n },\n\n wrapClass: {\n default()\n {\n return 'n-scrollbar__wrap';\n }\n }\n\n },\n\n computed: {\n\n touch() {\n return !! ('ontouchstart' in window ||\n navigator.msMaxTouchPoints);\n },\n\n mousedown() {\n return this.touch ? 'touchstart' :\n 'mousedown';\n },\n\n mousemove() {\n return this.touch ? 'touchmove' :\n 'mousemove';\n },\n\n mouseup() {\n return this.touch ? 'touchend' :\n 'mouseup';\n }\n\n },\n\n data()\n {\n return {\n native: false\n };\n },\n\n beforeMount()\n {\n this.adaptScrollBehavior();\n },\n\n mounted()\n {\n this.bindAdaptHeight();\n this.bindAdaptWidth();\n\n let passive = {\n passive: true, uid: this._.uid\n };\n\n Event.bind('NScrollbar:resize',\n this.onResize, this._.uid);\n\n Event.bind('NResizer:moved',\n this.onUpdate, this._.uid);\n\n Dom.find(window).on('resize',\n this.onResize, passive);\n\n Dom.find(this.$refs.content).on('scroll',\n this.onScroll, passive);\n },\n\n updated()\n {\n if ( this.passedHeight || this.passedWidth ) {\n Dom.find(this.$el).addClass('n-ready');\n }\n },\n\n beforeUnmount()\n {\n this.unbindAdaptHeight();\n this.unbindAdaptWidth();\n\n let passive = {\n passive: true, uid: this._.uid\n };\n\n Event.unbind('NScrollbar:resize',\n this._.uid);\n\n Event.unbind('NResizer:moved',\n this._.uid);\n\n Dom.find(window).off('resize',\n null, passive);\n\n Dom.find(this.$el).off('scroll',\n null, passive);\n },\n\n methods: {\n\n scrollTo(x = 0, y = 0, delay = 0)\n {\n Any.delay(() => this.onScrollTo(x, y), delay);\n },\n\n onScrollTo(x = 0, y = 0)\n {\n if ( this.$refs.content ) {\n this.$refs.content.scrollTop = y;\n this.$refs.content.scrollLeft = x;\n }\n },\n\n scrollIntoView(selector, delay = 0)\n {\n Any.delay(() => this.onScrollIntoView(selector), delay);\n },\n\n onScrollIntoView(selector)\n {\n let $el = Dom.find(this.$el).find(selector);\n\n let scrollTop = this.$refs.content\n .scrollTop;\n\n let outerHeight = this.$refs.content.\n clientHeight;\n\n let offsetTop = $el.offsetTop(this.$el);\n\n if ( offsetTop < scrollTop ) {\n this.$refs.content.scrollTop = offsetTop;\n }\n\n if ( offsetTop + $el.height() >= scrollTop + outerHeight ) {\n this.$refs.content.scrollTop = offsetTop - outerHeight + $el.height();\n }\n\n let scrollLeft = this.$refs.content\n .scrollLeft;\n\n let outerWidth = this.$refs.content.\n clientWidth;\n\n let offsetLeft = $el.offsetLeft(this.$el);\n\n if ( offsetLeft < scrollLeft ) {\n this.$refs.content.scrollLeft = offsetLeft;\n }\n\n if ( offsetLeft + $el.width() >= scrollLeft + outerWidth ) {\n this.$refs.content.scrollLeft = offsetLeft - outerWidth + $el.width();\n }\n },\n\n adaptScrollBehavior()\n {\n let $dom = Dom.make('div', { classList: ['n-scrollbar-test'] })\n .appendTo(document.body).get(0);\n\n Dom.make('div').appendTo($dom);\n\n this.native = $dom.clientWidth === $dom.offsetWidth ||\n $dom.clientHeight === $dom.offsetHeight;\n\n $dom.remove();\n },\n\n adaptScrollHeight()\n {\n if ( this.native && this.allowNative ) {\n return;\n }\n\n // let offsetHeight = this.$refs.content.clientHeight -\n // this.$refs.content.offsetHeight;\n //\n // let offsetWidth = this.$refs.content.clientWidth -\n // this.$refs.content.offsetWidth;\n\n let outerHeight = this.$refs.content.\n clientHeight || 0;\n\n if ( this.native && ! this.allowNative ) {\n outerHeight -= 16;\n }\n\n // if ( offsetHeight === 0 && this.overflowX ) {\n // outerHeight -= 15;\n // }\n\n let innerHeight = this.$refs.content\n .scrollHeight || 0;\n\n let virtualHeight = 0;\n\n Dom.find(this.$refs.content).childs().each((el) => {\n virtualHeight += Dom.find(el).height() || 0;\n });\n\n if ( this.native && ! this.allowNative ) {\n innerHeight -= 16;\n }\n\n if ( virtualHeight > innerHeight ) {\n innerHeight = virtualHeight;\n }\n\n // if ( offsetHeight === 0 && this.overflowX ) {\n // innerHeight -= 15;\n // }\n\n let isSameOld = outerHeight === this.outerHeight &&\n innerHeight === this.innerHeight;\n\n if ( isSameOld ) {\n return;\n }\n\n this.outerHeight = outerHeight;\n this.innerHeight = innerHeight;\n\n let height = (outerHeight / innerHeight)\n * outerHeight;\n\n let barHeight = Math.max(height, 50);\n\n let maxHeight = Math.ceil((outerHeight / innerHeight) *\n (innerHeight - outerHeight));\n\n this.heightRatio = (maxHeight - (barHeight - height)\n - this.offsetY) / maxHeight;\n\n Dom.find(this.$refs.vbar).css({\n height: (this.barHeight = Math.ceil(barHeight)) + 'px'\n });\n\n // let hasNativeBar = offsetWidth !== 0 && this.overflowY;\n //\n // if ( hasNativeBar ) {\n // Dom.find(this.$el).addClass('has-native-vbar');\n // }\n //\n // if ( hasNativeBar && this.overflowX ) {\n // Dom.find(this.$el).addClass('has-native-hbar');\n // }\n\n let hasVtrack = outerHeight && outerHeight < innerHeight;\n\n if ( hasVtrack ) {\n Dom.find(this.$el).addClass('has-vtrack');\n }\n\n if ( ! hasVtrack ) {\n Dom.find(this.$el).removeClass('has-vtrack');\n }\n\n // if ( hasVtrack && ! hasNativeBar ) {\n // Event.fire('NScrollbar:native');\n // }\n\n this.adaptScrollPosition();\n },\n\n adaptScrollWidth()\n {\n if ( this.native && this.allowNative ) {\n return;\n }\n\n // let offsetWidth = this.$refs.content.clientWidth -\n // this.$refs.content.offsetWidth;\n //\n // let offsetHeight = this.$refs.content.clientHeight -\n // this.$refs.content.offsetHeight;\n\n let outerWidth = this.$refs.content.\n clientWidth || 0;\n\n if ( this.native && ! this.allowNative ) {\n outerWidth -= 16;\n }\n\n // if ( offsetWidth === 0 && this.overflowY ) {\n // outerWidth -= 15;\n // }\n\n let innerWidth = this.$refs.content\n .scrollWidth || 0;\n\n let virtualWidth = 0;\n\n Dom.find(this.$refs.content).childs().each((el) => {\n virtualWidth += Dom.find(el).width() || 0;\n });\n\n if ( this.native && ! this.allowNative ) {\n innerWidth -= 16;\n }\n\n if ( virtualWidth > innerWidth ) {\n innerWidth = virtualWidth;\n }\n\n // if ( offsetWidth === 0 && this.overflowY ) {\n // innerWidth -= 15;\n // }\n\n let isSameOld = outerWidth === this.outerWidth &&\n innerWidth === this.innerWidth;\n\n if ( isSameOld ) {\n return;\n }\n\n this.outerWidth = outerWidth;\n this.innerWidth = innerWidth;\n\n let width = (outerWidth / innerWidth)\n * outerWidth;\n\n let barWidth = Math.max(width, 50);\n\n let maxWidth = Math.ceil((outerWidth / innerWidth) *\n (innerWidth - outerWidth));\n\n this.widthRatio = (maxWidth - (barWidth - width)\n - this.offsetX) / maxWidth;\n\n Dom.find(this.$refs.hbar).css({\n width: (this.barWidth = Math.ceil(barWidth)) + 'px'\n });\n\n // let hasNativeBar = offsetHeight && this.overflowX;\n\n // if ( hasNativeBar ) {\n // Dom.find(this.$el).addClass('has-native-hbar');\n // }\n //\n // if ( hasNativeBar && this.overflowY ) {\n // Dom.find(this.$el).addClass('has-native-vbar');\n // }\n\n let hasHtrack = outerWidth && outerWidth < innerWidth;\n\n if ( hasHtrack ) {\n Dom.find(this.$el).addClass('has-htrack');\n }\n\n if ( ! hasHtrack ) {\n Dom.find(this.$el).removeClass('has-htrack');\n }\n\n // if ( hasHtrack && ! hasNativeBar ) {\n // Event.fire('NScrollbar:native');\n // }\n\n this.adaptScrollPosition();\n },\n\n adaptScrollPosition(scroll = {})\n {\n if ( this.native && this.allowNative ) {\n return;\n }\n\n if ( ! scroll.top ) {\n scroll.top = this.$refs.content.scrollTop;\n }\n\n if ( ! scroll.left ) {\n scroll.left = this.$refs.content.scrollLeft;\n }\n\n let vbarTop = Math.ceil((this.outerHeight / this.innerHeight) *\n scroll.top * this.heightRatio) || 0;\n\n if ( ! this.vbarTop || vbarTop !== this.vbarTop ) {\n\n Dom.find(this.$refs.vbar).css({\n transform: `translateY(${vbarTop}px) translateZ(0)`\n });\n\n this.vbarTop = vbarTop;\n }\n\n let hbarLeft = Math.ceil((this.outerWidth / this.innerWidth) *\n scroll.left * this.widthRatio) || 0;\n\n if ( ! this.hbarLeft || hbarLeft !== this.hbarLeft ) {\n\n Dom.find(this.$refs.hbar).css({\n transform: `translateX(${hbarLeft}px) translateZ(0)`\n });\n\n this.hbarLeft = hbarLeft;\n }\n },\n\n adaptHeight()\n {\n if ( ! this.cacheChildEl ) {\n this.cacheChildEl = Dom.find(this.$refs.content).child();\n }\n\n let height = this.cacheChildEl\n .height();\n\n if ( ! this.cacheWindwoEl ) {\n this.cacheWindwoEl = Dom.find(this.$el);\n }\n\n let window = this.cacheWindwoEl\n .innerHeight();\n\n if ( height === this.passedHeight && window === this.windowCache ) {\n return;\n }\n\n this.windowCache = window;\n\n if ( this.overflowY ) {\n this.adaptScrollHeight();\n }\n\n if ( window ) {\n this.passedHeight = height;\n }\n\n let style = {\n height: (height + 1) + 'px'\n };\n\n if ( ! this.relative ) {\n return Any.delay(this.onSizechange, 100);\n }\n\n Dom.find(this.$refs.spacer).child().css(style);\n },\n\n bindAdaptHeight()\n {\n this.refreshHeight = setInterval(this.adaptHeight,\n 1000 / this.framerate);\n },\n\n unbindAdaptHeight()\n {\n clearInterval(this.refreshHeight);\n },\n\n adaptWidth()\n {\n if ( this.resizeTimer ) {\n return;\n }\n\n let width = Dom.find(this.$refs.content)\n .child().width();\n\n let window = Dom.find(this.$el)\n .innerWidth();\n\n if ( width === this.passedWidth ) {\n return;\n }\n\n if ( this.overflowX ) {\n this.adaptScrollWidth();\n }\n\n if ( window ) {\n this.passedWidth = width;\n }\n\n let style = {\n width: width + 'px'\n };\n\n if ( this.fixture ) {\n this.onUpdate();\n }\n\n if ( ! this.relative ) {\n return Any.delay(this.onSizechange, 100);\n }\n\n Dom.find(this.$refs.spacer).child().css(style);\n },\n\n bindAdaptWidth()\n {\n this.refreshWidth = setInterval(this.adaptWidth,\n 1000 / this.framerate);\n },\n\n unbindAdaptWidth()\n {\n clearInterval(this.refreshWidth);\n },\n\n onScroll(event)\n {\n let scroll = {\n top: this.$refs.content.scrollTop,\n left: this.$refs.content.scrollLeft\n };\n\n let scrollUpdate = () => {\n this.$emit('scrollupdate', scroll.top, scroll.left);\n }\n\n this.$nextTick(scrollUpdate);\n this.adaptScrollPosition(scroll);\n },\n\n onSizechange(event)\n {\n let height = Dom.find(this.$el).height();\n let width = Dom.find(this.$el).width();\n\n if ( ! height || ! width ) {\n return;\n }\n\n if ( this.passedHeight || this.passedWidth ) {\n Dom.find(this.$el).addClass('is-ready');\n }\n\n this.$emit('sizechange', height, width, this.$el);\n },\n\n onResize()\n {\n if ( ! this.fixture ) {\n return;\n }\n\n Dom.find(this.$refs.content)\n .child().css(null);\n\n clearTimeout(this.resizeTimer);\n\n this.resizeTimer = setTimeout(\n this.onUpdate, 500);\n\n Dom.find(this.$el).fire('resized');\n },\n\n onUpdate()\n {\n if ( ! this.fixture || ! this.$refs.content ) {\n return;\n }\n\n let $inner = Dom.find(this.$refs.content)\n .child();\n\n let height = $inner.actual(() => {\n return $inner.scrollHeight();\n });\n\n if ( height !== this.passedHeight ) {\n $inner.css({ height: height + 'px' });\n }\n\n let width = $inner.actual(() => {\n return $inner.scrollWidth() - 1;\n });\n\n if ( width !== this.passedWidth ) {\n $inner.css({ width: width + 'px' });\n }\n\n delete this.resizeTimer;\n },\n\n getTouchEvent(event)\n {\n if ( ! this.touch ) {\n return event;\n }\n\n return event.touches[0] || event.changedTouches[0];\n },\n\n onVbarMousedown(event)\n {\n if ( ! Arr.has([0, 1], event.which) ) {\n return;\n }\n\n event.stopPropagation();\n\n Dom.find(document).on(this.mousemove,\n this.onVbarMousemove, this._.uid);\n\n Dom.find(document).on(this.mouseup,\n this.onVbarMouseup, this._.uid);\n\n this.scrollTop = this.$refs.content\n .scrollTop;\n\n this.clientY = this.getTouchEvent(event)\n .clientY;\n },\n\n onVbarMousemove(event)\n {\n let clientY = this.getTouchEvent(event)\n .clientY;\n\n let top = (this.outerHeight / this.innerHeight) *\n this.scrollTop * this.heightRatio;\n\n let offset = (clientY - this.clientY) + top;\n\n let height = (this.outerHeight -\n this.barHeight - this.offsetY);\n\n this.$refs.content.scrollTop = offset / height *\n (this.innerHeight - this.outerHeight);\n },\n\n onVbarMouseup(event)\n {\n Dom.find(document).off(this.mousemove,\n null, this._.uid);\n\n Dom.find(document).off(this.mouseup,\n null, this._.uid);\n },\n\n onHbarMousedown(event)\n {\n if ( ! Arr.has([0, 1], event.which) ) {\n return;\n }\n\n event.stopPropagation();\n\n Dom.find(document).on(this.mousemove,\n this.onHbarMousemove, this._.uid);\n\n Dom.find(document).on(this.mouseup,\n this.onHbarMouseup, this._.uid);\n\n this.scrollLeft = this.$refs.content\n .scrollLeft;\n\n this.clientX = event.clientX;\n },\n\n onHbarMousemove(event)\n {\n let top = (this.outerWidth / this.innerWidth) *\n this.scrollLeft * this.widthRatio;\n\n let offset = (event.clientX - this.clientX) + top;\n\n let width = (this.outerWidth -\n this.barWidth - this.offsetX);\n\n this.$refs.content.scrollLeft = offset / width *\n (this.innerWidth - this.outerWidth);\n },\n\n onHbarMouseup(event)\n {\n Dom.find(document).off(this.mousemove,\n null, this._.uid);\n\n Dom.find(document).off(this.mouseup,\n null, this._.uid);\n }\n\n },\n\n render()\n {\n let classList = [\n 'n-scrollbar'\n ];\n\n if ( this.native ) {\n classList.push('n-scrollbar--native');\n }\n\n if ( ! this.allowNative ) {\n classList.push('n-scrollbar--forced');\n }\n\n if ( this.touch ) {\n classList.push('n-scrollbar--touch');\n }\n\n if ( window.WIN ) {\n classList.push('n-windows');\n }\n\n if ( this.overflowY ) {\n classList.push('n-overflow-y');\n }\n\n if ( this.overflowX ) {\n classList.push('n-overflow-x');\n }\n\n let vbarProps = {\n ['on' + Str.ucfirst(this.mousedown)]: this.onVbarMousedown\n };\n\n let hbarProps = {\n ['on' + Str.ucfirst(this.mousedown)]: this.onHbarMousedown\n };\n\n return (\n <div class={classList} {...Obj.except(this.$attrs, ['class'])}>\n <div class=\"n-scrollbar-content\" ref=\"content\">\n <div class={this.wrapClass}>\n { this.$slots.default && this.$slots.default() }\n </div>\n </div>\n <div class=\"n-scrollbar-spacer\" ref=\"spacer\">\n <div class={this.wrapClass}>\n { /* Adapt inner height */ }\n </div>\n </div>\n <div ref=\"hbar\" class=\"n-scrollbar-h\" {...hbarProps}></div>\n <div ref=\"vbar\" class=\"n-scrollbar-v\" {...vbarProps}></div>\n </div>\n );\n }\n\n}\n","import Scrollbar from './src/scrollbar/scrollbar.next';\n\nexport default function (App) {\n App.component(Scrollbar.name, Scrollbar);\n}","import { Obj, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NSwitch',\n\n inject: {\n\n NFormItem: {\n default: undefined\n }\n\n },\n\n props: {\n\n modelValue: {\n default()\n {\n return false;\n }\n },\n\n onValue: {\n default()\n {\n return true;\n }\n },\n\n offValue: {\n default()\n {\n return false;\n }\n },\n\n onType: {\n default()\n {\n return 'primary';\n }\n },\n\n offType: {\n default()\n {\n return 'default';\n }\n },\n\n size: {\n default()\n {\n return 'md';\n }\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n },\n\n computed: {\n\n deepDisabled() {\n return this.NFormItem ? this.NFormItem.disabled(this.disabled) :\n this.disabled;\n }\n\n },\n\n data()\n {\n return {\n tempValue: this.modelValue\n };\n },\n\n methods: {\n\n eventClick()\n {\n let tempValue = this.onValue;\n\n if ( this.tempValue === this.onValue ) {\n tempValue = this.offValue;\n }\n\n this.$emit('update:modelValue', this.tempValue = tempValue);\n }\n\n },\n\n watch: {\n\n modelValue()\n {\n if ( this.modelValue !== this.tempValue ) {\n this.tempValue = this.modelValue;\n }\n }\n\n },\n\n renderSwitch()\n {\n let classList = [\n 'n-switch__switch'\n ];\n\n let props = {};\n\n if ( ! this.deepDisabled ) {\n props.onMousedown = this.eventClick;\n }\n\n return (\n <div class={classList} {...props}>\n <span></span>\n </div>\n )\n },\n\n renderLabel()\n {\n if ( ! this.$slots.default ) {\n return null;\n }\n\n let classList = [\n 'n-switch__label',\n ];\n\n let props = {};\n\n if ( ! this.deepDisabled ) {\n props.onMousedown = this.eventClick;\n }\n\n return (\n <div class={classList} {...props}>\n { this.$slots.default() }\n </div>\n )\n },\n\n render()\n {\n let classList = [\n 'n-switch',\n 'n-switch--' + this.size\n ];\n\n if ( this.tempValue === this.onValue ) {\n classList.push('n-switch--' + this.onType);\n }\n\n if ( this.tempValue === this.offValue) {\n classList.push('n-switch--' + this.offType);\n }\n\n if ( this.tempValue === this.onValue ) {\n classList.push('n-on');\n }\n\n if ( this.tempValue === this.offValue ) {\n classList.push('n-off');\n }\n\n if ( this.deepDisabled ) {\n classList.push('n-disabled');\n }\n\n return (\n <div class={classList}>\n { this.ctor('renderSwitch')() }\n { this.ctor('renderLabel')() }\n </div>\n );\n }\n\n}\n","import Vue from \"vue\";\n\nimport Switch from './src/switch/switch';\n\nexport default function (App) {\n App.component(Switch.name, Switch);\n}","import { Arr, Any, Obj, Event, UUID } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NInfo',\n\n model: {\n prop: 'item'\n },\n\n props: {\n\n item: {\n default()\n {\n return null;\n }\n },\n\n syncEvent: {\n default()\n {\n return null;\n }\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n relative: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n showEmptyIcon: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n },\n\n data()\n {\n return {\n uid: UUID(),\n elements: [],\n options: [],\n tempValue: this.item,\n };\n },\n\n watch: {\n\n item(value)\n {\n if ( value !== this.tempValue ) {\n this.tempValue = value;\n }\n }\n\n },\n\n mounted()\n {\n this.bindSyncEvent();\n },\n\n beforeUnmount()\n {\n this.unbindSyncEvent();\n },\n\n updated()\n {\n Any.delay(() => {\n if ( this.$refs.scrollbar ) {\n this.$refs.scrollbar.adaptHeight();\n }\n }, 500);\n },\n\n methods: {\n\n bindSyncEvent()\n {\n if ( !this.syncEvent ) {\n return;\n }\n\n this.options = this.syncEvent;\n\n if ( Any.isFunction(this.options) ) {\n this.options = this.options(this);\n }\n\n let syncFunction = (value, uid = null) => {\n if ( uid === this.options[1] ) {\n this.setValue(value);\n }\n };\n\n Event.bind(this.options[0], syncFunction,\n this.uid);\n },\n\n unbindSyncEvent()\n {\n Event.unbind(this.options[0], this.uid);\n },\n\n setValue(value)\n {\n this.$emit('update:modelValue',\n this.tempValue = value);\n },\n\n addColumn(column)\n {\n Arr.add(this.elements,\n column, { uid: column.uid });\n },\n\n removeColumn(column)\n {\n Arr.remove(this.elements,\n { uid: column.uid });\n },\n\n },\n\n provide()\n {\n return {\n NInfo: this\n };\n },\n\n renderEmpty()\n {\n return (\n <NEmptyIcon disabled={!this.showEmptyIcon} class=\"n-info__empty\">\n {this.$slots.empty && this.$slots.empty() || this.trans('No entry')}\n </NEmptyIcon>\n );\n },\n\n renderBody()\n {\n if ( Any.isEmpty(this.tempValue) ) {\n return this.ctor('renderEmpty')();\n }\n\n let elements = Obj.each(this.elements, (column) => {\n return (\n <div class=\"n-info__column\">\n {column.ctor('renderLabel')({ item: this.tempValue })}\n {column.ctor('renderBody')({ item: this.tempValue })}\n </div>\n );\n });\n\n return (\n <div class=\"n-info__body\">\n {Any.vals(elements)}\n </div>\n );\n },\n\n render()\n {\n let classList = [\n 'n-info',\n 'n-info--' + this.type,\n 'n-info--' + this.size,\n ];\n\n let infoHtml = (\n <NScrollbar ref=\"scrollbar\" relative={this.relative}>\n {this.ctor('renderBody')()}\n </NScrollbar>\n );\n\n return (\n <div class={classList}>\n {[infoHtml, this.$slots.default()]}\n </div>\n );\n }\n}\n","import { UUID, Obj, Locale, Str } from \"@kizmann/pico-js\";\nimport { h, resolveComponent } from \"vue\";\n\nexport default {\n\n name: 'NInfoColumn',\n\n inject: {\n\n NInfo: {\n default: undefined\n }\n\n },\n\n props: {\n\n modelValue: {\n default()\n {\n return null;\n }\n },\n\n prop: {\n default()\n {\n return 'id';\n },\n type: [String]\n },\n\n label: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'string';\n },\n type: [String]\n },\n\n previewProp: {\n default()\n {\n return 'preview';\n },\n type: [String]\n },\n\n options: {\n default()\n {\n return [];\n },\n type: [Object, Array, Function]\n },\n\n optionsValue: {\n default()\n {\n return '$value';\n },\n type: [String]\n },\n\n optionsLabel: {\n default()\n {\n return '$value';\n },\n type: [String]\n },\n\n emptyText: {\n default()\n {\n return Locale.trans('-');\n },\n type: [String]\n },\n\n trueText: {\n default()\n {\n return Locale.trans('Yes');\n },\n type: [String]\n },\n\n falseText: {\n default()\n {\n return Locale.trans('No');\n },\n type: [String]\n },\n\n datetimeFormat: {\n default()\n {\n return Locale.trans('YYYY-MM-DD HH:mm');\n },\n type: [String]\n }\n\n },\n\n data()\n {\n return {\n uid: UUID()\n };\n },\n\n beforeMount()\n {\n this.NInfo.addColumn(this);\n },\n\n beforeUnmount()\n {\n this.NInfo.removeColumn(this);\n },\n\n renderLabel()\n {\n if ( this.$slots.label ) {\n return this.$slots.label();\n }\n \n return (\n <div class=\"n-info-column\">\n <span>{this.label}</span>\n </div>\n );\n },\n\n renderBody(props)\n {\n let passed = Obj.except(props, [], {\n column: this\n });\n\n let component = resolveComponent('NInfoField' + \n Str.ucfirst(this.type));\n\n if ( ! component ) {\n return null;\n }\n\n passed.class = [\n 'n-info-field',\n 'n-info-field--' + this.type\n ];\n\n return h(component, passed);\n },\n\n render()\n {\n return null;\n }\n\n}\n","import { Obj } from \"@kizmann/pico-js\";\nimport CtorMixin from \"../../../mixins/src/ctor\";\n\nexport default {\n\n inject: {\n\n NInfo: {\n default: undefined\n }\n\n },\n\n props: {\n\n column: {\n required: true\n },\n\n item: {\n required: true\n },\n\n },\n\n computed: {\n\n input()\n {\n return Obj.get(this.item, this.column.prop);\n }\n\n },\n\n render()\n {\n return (\n <div>\n <span>{ this.input }</span>\n </div>\n );\n }\n\n}\n","import { Any } from \"@kizmann/pico-js\";\nimport InfoField from \"../info-field\";\n\nexport default {\n\n name: 'NInfoFieldString',\n\n extends: InfoField,\n\n render()\n {\n if ( this.column.cslo('default', this) ) {\n return (\n <div>{ this.column.$slots.default(this) }</div>\n );\n }\n\n return (\n <div>\n <span>{ Any.convertString(this.input, this.column.emptyText) }</span>\n </div>\n );\n }\n\n}\n","import { Any } from \"@kizmann/pico-js\";\nimport InfoField from \"../info-field\";\n\nexport default {\n\n name: 'NInfoFieldBoolean',\n\n extends: InfoField,\n\n render()\n {\n if ( this.column.cslo('default', this) ) {\n return (\n <div>{ this.column.$slots.default(this) }</div>\n );\n }\n\n return (\n <div>\n <span>{ Any.convertBoolean(this.input, this.column.trueText, this.column.falseText) }</span>\n </div>\n );\n }\n\n}\n","import { Any } from \"@kizmann/pico-js\";\nimport InfoField from \"../info-field\";\n\nexport default {\n\n name: 'NInfoFieldDatetime',\n\n extends: InfoField,\n\n render()\n {\n if ( this.column.cslo('default', this) ) {\n return (\n <div>{ this.column.$slots.default(this) }</div>\n );\n }\n\n return (\n <div>\n <span>{ Any.convertDatetime(this.input, this.column.datetimeFormat, this.column.emptyText) }</span>\n </div>\n );\n }\n\n}\n","import { Arr, Obj, Any } from \"@kizmann/pico-js\";\nimport InfoField from \"../info-field\";\n\nexport default {\n\n name: 'NInfoFieldOption',\n\n extends: InfoField,\n\n renderOption(value)\n {\n let options = this.column.options;\n\n if ( Any.isFunction(options) ) {\n options = this.column.options(this);\n }\n\n let prop = this.column.optionsValue;\n\n options = Arr.each(options, (value, index) => {\n return { $value: value, $index: index };\n });\n\n let option = Arr.find(options, (item) => {\n return Obj.get(item, prop) == value;\n });\n\n if ( ! option ) {\n return [this.column.emptyText];\n }\n\n return Obj.get(option, this.column.optionsLabel,\n this.column.undefinedText);\n },\n\n render()\n {\n if ( this.column.cslo('default', this) ) {\n return (\n <div>{ this.column.$slots.default(this) }</div>\n );\n }\n\n let input = ! Any.isObject(this.input) ?\n [this.input] : this.input;\n\n return (\n <div>\n <span>{ Arr.each(input, this.ctor('renderOption')) }</span>\n </div>\n );\n }\n\n}\n","import InfoField from \"../info-field\";\nimport { Obj } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NInfoFieldImage',\n\n extends: InfoField,\n\n computed: {\n\n preview()\n {\n return Obj.get(this.item, this.column.previewProp);\n }\n\n },\n\n render()\n {\n if ( this.column.cslo('default', this) ) {\n return (\n <div>{ this.column.$slots.default(this) }</div>\n );\n }\n\n let props = {\n fit: 'contain',\n };\n\n return (\n <div>\n <NPreview file={this.preview || this.input} thumb={this.input} {...props} />\n </div>\n );\n }\n\n}\n","import Info from './src/info/info';\nimport InfoColumn from './src/info-column/info-column';\nimport InfoFieldString from './src/info-field/types/info-field-string';\nimport InfoFieldBoolean from './src/info-field/types/info-field-boolean';\nimport InfoFieldDatetime from './src/info-field/types/info-field-datetime';\nimport InfoFieldOption from './src/info-field/types/info-field-option';\nimport InfoFieldImage from './src/info-field/types/info-field-image';\n\nexport default function (App) {\n App.component(Info.name, Info);\n App.component(InfoColumn.name, InfoColumn);\n App.component(InfoFieldString.name, InfoFieldString);\n App.component(InfoFieldBoolean.name, InfoFieldBoolean);\n App.component(InfoFieldDatetime.name, InfoFieldDatetime);\n App.component(InfoFieldOption.name, InfoFieldOption);\n App.component(InfoFieldImage.name, InfoFieldImage);\n}","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NCheckboxGroup'] = Locale.trans('NCheckboxGroup');\n\nglobal.NanoBuilderIndexies['NCheckboxGroup'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NCheckboxGroup']['props'] = {\n //\n};","import { Arr, Map, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NMap',\n\n props: {\n\n lat: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n lng: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n zoom: {\n default()\n {\n return 15;\n },\n type: [Number]\n }\n\n },\n\n provide()\n {\n return {\n NMap: this\n };\n },\n\n data()\n {\n return { init: false, callbacks: [], tempMap: null };\n },\n\n watch: {\n\n lat()\n {\n Any.delay(() => this.tempMap.focusMarkers(), 100);\n },\n\n lng()\n {\n Any.delay(() => this.tempMap.focusMarkers(), 100);\n }\n\n },\n\n mounted()\n {\n this.tempMap = new Map(this.$el, {\n lat: this.lat, lng: this.lng, zoom: this.zoom\n });\n\n this.init = true;\n\n Arr.each(this.callbacks, (callback) => callback())\n },\n\n methods: {\n\n getMap()\n {\n return this.tempMap;\n },\n\n onMount(callback)\n {\n this.init ? callback() : this.callbacks.push(callback);\n }\n\n },\n\n render()\n {\n let classList = [\n 'n-map'\n ];\n\n return (\n <div class={classList}>\n { this.$slots.default && this.$slots.default() }\n </div>\n );\n }\n}\n","import { UUID, Obj, Num, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NMapMarker',\n\n inject: {\n\n NMap: {\n default: undefined\n }\n\n },\n\n props: {\n\n lat: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n lng: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n drag: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n options: {\n default()\n {\n return { style: 'default' };\n },\n type: [Object]\n },\n\n },\n\n data()\n {\n return {\n id: UUID(), tempMarker: null\n };\n },\n\n methods: {\n\n importMarkerPosition()\n {\n this.tempMarker.marker.setPosition({\n lat: this.lat, lng: this.lng\n });\n },\n\n updateMarkerPosition()\n {\n this.$emit('update:lat', this.tempMarker.marker.getPosition().lat());\n this.$emit('update:lng', this.tempMarker.marker.getPosition().lng());\n },\n\n initializeMarker()\n {\n let options = Obj.assign({\n lat: Num.float(this.lat), lng: Num.float(this.lng), draggable: this.drag\n }, this.options);\n\n if ( ! Any.isEmpty(this.$slots.default) ) {\n options.html = this.$el.innerHTML;\n }\n\n this.tempMarker = this.NMap.getMap().createMarker(this.id, options);\n\n this.tempMarker.marker.addListener('position_changed',\n Any.debounce(this.updateMarkerPosition));\n\n this.tempMarker.marker.addListener('dragstart',\n () => this.$emit('dragstart', this.tempMarker));\n\n this.tempMarker.marker.addListener('dragend',\n () => this.$emit('dragend', this.tempMarker));\n\n this.tempMarker.marker.addListener('mouseover',\n () => this.$emit('mouseenter', this.tempMarker));\n\n this.tempMarker.marker.addListener('mouseout',\n () => this.$emit('mouseleave', this.tempMarker));\n },\n\n setMarkerByAddress(address)\n {\n let successClosure = () => {\n this.NMap.getMap().focusMarkers(null, this.NMap.zoom);\n };\n\n let errorClosure = () => {\n this.Notify(this.trans('Address not found.'), 'danger');\n };\n\n this.NMap.getMap().setMarkerByAddress(this.id, address)\n .then(successClosure, errorClosure);\n }\n\n },\n\n watch: {\n\n lat()\n {\n this.importMarkerPosition();\n },\n\n lng()\n {\n this.importMarkerPosition();\n }\n\n },\n\n beforeMount()\n {\n this.NMap.onMount(this.initializeMarker);\n },\n\n render()\n {\n return (\n <div style=\"display: none;\">\n { this.$slots.default && this.$slots.default() }\n </div>\n );\n }\n\n}\n","import Map from './src/map/map';\nimport MapMarker from './src/map-marker/map-marker';\n\nexport default function (App) {\n App.component(Map.name, Map);\n App.component(MapMarker.name, MapMarker);\n}\n\n","import { Arr, Obj } from \"@kizmann/pico-js\";\n\nexport default {\n\n ctor(key, fallback = null)\n {\n let ctor = Obj.get(this.$options, key.split('.'), -1);\n\n // if ( ctor === -1 ) {\n // ctor = Obj.get(this.$vnode.componentOptions.Ctor,\n // Arr.merge(['options'], key.split('.')), -1);\n // }\n\n if ( ctor === -1 ) {\n ctor = fallback;\n }\n\n if ( typeof ctor !== 'function' ) {\n return ctor;\n }\n\n return (...args) => ctor.apply(this, args);\n }\n\n}\n","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NInput'] = Locale.trans('NInput');\n\nglobal.NanoBuilderIndexies['NInput'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NInput']['props'] = {\n modelValue: {\n for: ['binds', 'props'], default: null, type: 'String'\n },\n size: {\n for: ['binds', 'props'], default: 'md', type: 'String', options: global.NanoPrototypeSizes\n },\n type: {\n for: ['binds', 'props'], default: 'primary', type: 'String', options: global.NanoPrototypeTypes\n },\n disabled: {\n for: ['binds', 'props'], default: false, type: 'Boolean', options: global.NanoPrototypeBools\n },\n placeholder: {\n for: ['binds', 'props'], default: '', type: 'String'\n },\n nativeType: {\n for: ['binds', 'props'], default: 'text', type: 'String', options: ['text', 'password', 'email']\n },\n icon: {\n for: ['binds', 'props'], default: '', type: 'String'\n },\n iconPosition: {\n for: ['binds', 'props'], default: 'before', type: 'String', options: ['before', 'after']\n },\n iconDisabled: {\n for: ['binds', 'props'], default: null, type: 'Boolean', options: global.NanoPrototypeBools\n },\n iconClick: {\n for: ['on'], type: 'String'\n },\n};","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NConfirm'] = Locale.trans('n-confirm');\n\nglobal.NanoBuilderIndexies['NConfirm'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NConfirm']['props'] = {\n //\n};","export default {\n\n name: 'NEmptyIcon',\n\n props: {\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'default';\n },\n type: [String]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n inline: {\n default()\n {\n return false;\n },\n type: [Boolean]\n }\n\n },\n\n render()\n {\n let classList = [\n 'n-empty-icon',\n 'n-empty-icon--' + this.size,\n 'n-empty-icon--' + this.type\n ];\n\n if ( this.disabled ) {\n classList.push('n-disabled');\n }\n\n if ( this.inline ) {\n classList.push('n-inline');\n }\n\n return (\n <div class={classList}>\n <div class=\"n-empty-icon__frame\">\n { /* Icon */ }\n </div>\n <div class=\"n-empty-icon__text\">\n { this.$slots.default && this.$slots.default() }\n </div>\n </div>\n );\n }\n\n}\n","import EmptyIcon from './src/empty-icon/empty-icon';\n\nexport default function (App) {\n App.component(EmptyIcon.name, EmptyIcon);\n}\n","import { UUID, Arr, Obj, Dom, Any, Str, Locale, Event, Num } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NResizer',\n\n inject: {\n\n NScrollbar: {\n default: undefined\n }\n\n },\n\n props: {\n\n modelValue: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n width: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n minWidth: {\n default()\n {\n return 60;\n },\n type: [Number]\n },\n\n maxWidth: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n group: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n position: {\n default()\n {\n return 'right';\n },\n type: [String]\n },\n\n resizerWidth: {\n default()\n {\n return 6;\n },\n type: [Number]\n }\n\n },\n\n computed: {\n\n touch() {\n return !! ('ontouchstart' in window || \n navigator.msMaxTouchPoints);\n },\n\n mousedown() {\n return this.touch ? 'touchstart' :\n 'mousedown';\n },\n\n mousemove() {\n return this.touch ? 'touchmove' :\n 'mousemove';\n },\n\n mouseup() {\n return this.touch ? 'touchend' :\n 'mouseup';\n }\n\n },\n\n data()\n {\n return {\n sizeFixed: false,\n tempValue: this.modelValue,\n };\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue ) {\n this.tempValue = value;\n }\n },\n\n },\n\n mounted()\n {\n if ( ! this.modelValue ) {\n this.updateWidth();\n }\n\n if ( this.NScrollbar ) {\n this.bindSizechange();\n }\n\n Event.bind('NResizer:move', (...args) => {\n this.forceWidth(...args)\n }, this._.uid);\n\n Dom.find(window).on('resize', Any.debounce((...args) => {\n this.onResize(...args)\n }, 500), this._.uid);\n },\n\n updated()\n {\n this.updateWidth();\n },\n\n unmounted()\n {\n if ( this.NScrollbar ) {\n this.unbindSizechange();\n }\n\n Event.unbind('NResizer:move', \n this._.uid);\n \n Dom.find(window).off('resize', \n null, this._.uid);\n },\n\n methods: {\n\n forceWidth(group)\n {\n if ( ! Arr.has(group, this.group) ) {\n return;\n }\n \n if ( ! this.tempValue || ! this.group.length ) {\n return;\n }\n\n this.sizeFixed = true;\n\n let style = {\n width: this.tempValue + 'px', flex: '0 0 auto'\n };\n\n Dom.find(this.$el).css(style);\n },\n\n updateWidth()\n {\n let width = Dom.find(this.$el)\n .width();\n\n if ( width === this.tempValue ) {\n return;\n }\n\n this.$emit('update:modelValue', \n this.tempValue = width);\n \n this.updateHandle();\n },\n\n updateHandle()\n {\n let style = {};\n\n if ( this.position === 'left' ) {\n style.transform =`translateX(-${this.tempValue - this.resizerWidth}px)`\n }\n \n if ( this.position === 'right' ) {\n style.transform = `translateX(${this.tempValue - this.resizerWidth}px)`\n }\n\n Dom.find(this.$refs.handle).css(style);\n },\n\n bindSizechange()\n {\n Dom.find(this.NScrollbar.$el).on('resized', \n Any.debounce(this.updateWidth, 50), this._.uid);\n },\n\n unbindSizechange()\n {\n Dom.find(this.NScrollbar.$el)\n .off('resized', null, this._.uid);\n },\n\n\n onResize()\n {\n if ( this.NScrollbar ) {\n return;\n }\n\n this.updateWidth();\n },\n\n getTouchEvent(event)\n {\n if ( ! this.touch ) {\n return event;\n }\n\n return event.touches[0] || event.changedTouches[0];\n },\n\n onLeftMousedown(event)\n {\n if ( ! Arr.has([0, 1], event.which) ) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n if ( this.group.length ) {\n Event.fire('NResizer:move', this.group);\n }\n\n Dom.find(this.$el).addClass('n-move');\n Dom.find(document.body).addClass('n-move');\n\n Dom.find(document).on(this.mouseup,\n Any.framerate(this.onLeftMouseup, 60), this._.uid);\n\n Dom.find(document).on(this.mousemove,\n Any.framerate(this.onLeftMousemove, 60), this._.uid);\n },\n\n onLeftMousemove(event)\n {\n this.clientX = (window.innerWidth - \n this.getTouchEvent(event).clientX);\n\n let offsetX = Dom.find(this.$el)\n .offset('right');\n\n let scrollX = Dom.find(this.$el)\n .scroll('right');\n\n let targetWidth = (this.clientX + scrollX - offsetX) -\n (this.resizerWidth / 2);\n\n if ( this.minWidth ) {\n targetWidth = Math.max(targetWidth,\n this.minWidth - this.resizerWidth);\n }\n\n if ( this.maxWidth ) {\n targetWidth = Math.min(targetWidth,\n this.maxWidth - this.resizerWidth);\n }\n\n let style = {\n transform: `translateX(-${targetWidth}px)`\n };\n\n Dom.find(this.$refs.handle).css(style);\n },\n\n onLeftMouseup(event)\n {\n event.preventDefault();\n event.stopPropagation();\n\n Dom.find(document).off(this.mouseup, null, this._.uid);\n Dom.find(document).off(this.mousemove, null, this._.uid);\n\n if ( ! this.clientX ) {\n return;\n }\n\n let offsetX = Dom.find(this.$el)\n .offset('right');\n\n let scrollX = Dom.find(this.$el)\n .scroll('right');\n\n let targetWidth = this.clientX + scrollX - offsetX;\n\n if ( this.minWidth ) {\n targetWidth = Math.max(targetWidth, this.minWidth);\n }\n\n if ( this.maxWidth ) {\n targetWidth = Math.min(targetWidth, this.maxWidth);\n }\n\n this.tempValue = Math.round(targetWidth);\n\n Dom.find(this.$el).removeClass('n-move');\n\n let style = {\n transform: `translateX(-${targetWidth - this.resizerWidth}px)`\n };\n\n Dom.find(this.$refs.handle).css(style);\n\n let frameStyle = {\n width: this.tempValue + 'px', flex: '0 0 auto'\n };\n\n Dom.find(this.$el).css(frameStyle);\n\n delete this.clientX;\n\n if ( this.group.length ) {\n Event.fire('NResizer:moved', this.group);\n }\n\n this.$emit('update:modelValue', this.tempValue);\n },\n\n onRightMousedown(event)\n {\n if ( ! Arr.has([0, 1], event.which) ) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n if ( this.group.length ) {\n Event.fire('NResizer:move', this.group);\n }\n\n Dom.find(this.$el).addClass('n-move');\n Dom.find(document.body).addClass('n-move');\n\n Dom.find(document).on(this.mouseup,\n Any.framerate(this.onRightMouseup, 60), this._.uid);\n\n Dom.find(document).on(this.mousemove,\n Any.framerate(this.onRightMousemove, 60), this._.uid);\n },\n\n onRightMousemove(event)\n {\n this.clientX = this.getTouchEvent(event).clientX;\n\n let offsetX = Dom.find(this.$el)\n .offset('left');\n\n let scrollX = Dom.find(this.$el)\n .scroll('left');\n\n let targetWidth = (this.clientX + scrollX - offsetX) -\n (this.resizerWidth / 2);\n\n if ( this.minWidth ) {\n targetWidth = Math.max(targetWidth,\n this.minWidth - this.resizerWidth);\n }\n\n if ( this.maxWidth ) {\n targetWidth = Math.min(targetWidth,\n this.maxWidth - this.resizerWidth);\n }\n\n let style = {\n transform: `translateX(${targetWidth}px)`\n };\n\n Dom.find(this.$refs.handle).css(style);\n },\n\n onRightMouseup(event)\n {\n event.preventDefault();\n event.stopPropagation();\n\n Dom.find(document).off(this.mousemove, null, this._.uid);\n Dom.find(document).off(this.mouseup, null, this._.uid);\n\n if ( ! this.clientX ) {\n return;\n }\n\n let offsetX = Dom.find(this.$el)\n .offset('left');\n\n let scrollX = Dom.find(this.$el)\n .scroll('left');\n\n let targetWidth = this.clientX + scrollX - offsetX;\n\n if ( this.minWidth ) {\n targetWidth = Math.max(targetWidth, this.minWidth);\n }\n\n if ( this.maxWidth ) {\n targetWidth = Math.min(targetWidth, this.maxWidth);\n }\n\n this.tempValue = Math.round(targetWidth);\n\n Dom.find(this.$el).removeClass('n-move');\n\n let style = {\n transform: `translateX(${targetWidth - this.resizerWidth}px)`\n };\n\n Dom.find(this.$refs.handle).css(style);\n\n let frameStyle = {\n width: this.tempValue + 'px', flex: '0 0 auto'\n };\n\n Dom.find(this.$el).css(frameStyle);\n\n delete this.clientX;\n\n if ( this.group.length ) {\n Event.fire('NResizer:moved', this.group);\n }\n\n this.$emit('update:modelValue', this.tempValue);\n }\n\n },\n\n renderHandle()\n {\n if ( this.disabled ) {\n return null;\n }\n \n let classList = [\n 'n-resizer__handle',\n ];\n\n let props = {};\n\n if ( this.position === 'right' ) {\n props['on' + Str.ucfirst(this.mousedown)] = this.onRightMousedown;\n }\n\n if ( this.position === 'left' ) {\n props['on' + Str.ucfirst(this.mousedown)] = this.onLeftMousedown;\n }\n\n if ( this.resizerWidth ) {\n props.width = this.resizerWidth + 'px';\n }\n\n return (\n <div ref=\"handle\" class={classList} {...props}/>\n );\n },\n\n render()\n {\n let classList = [\n 'n-resizer',\n 'n-resizer--' + this.position,\n ];\n\n let style = {};\n\n if ( this.width && ! this.tempValue ) {\n style['width'] = this.width + 'px';\n }\n\n if ( this.width ) {\n style['flex-basis'] = this.width + 'px';\n }\n\n if ( this.minWidth ) {\n style['min-width'] = this.minWidth + 'px';\n }\n\n if ( this.maxWidth ) {\n style['max-width'] = this.maxWidth + 'px';\n }\n\n return (\n <div class={classList} style={style}>\n { [this.$slots.default(), this.ctor('renderHandle')()] }\n </div>\n );\n }\n\n}\n","import Resizer from './src/resizer/resizer';\n\nexport default function (App) {\n App.component(Resizer.name, Resizer);\n}\n","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NDatepicker'] = Locale.trans('NDatepicker');\n\nglobal.NanoBuilderIndexies['NDatepicker'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NDatepicker']['props'] = {\n //\n};","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NCascader'] = Locale.trans('n-cascader');\n\nglobal.NanoBuilderIndexies['NCascader'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NCascader']['props'] = {\n //\n};","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NSelect'] = Locale.trans('NSelect');\n\nglobal.NanoBuilderIndexies['NSelect'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NSelect']['props'] = {\n //\n};","import { Any, Str, Obj, Dom } from \"@kizmann/pico-js\";\n\nclass AlertFrame {\n\n el = null;\n\n text = '';\n\n icon = '';\n\n type = '';\n\n options = {\n iconPrimary: nano.Icons.info,\n iconSecondary: nano.Icons.info,\n iconSuccess: nano.Icons.success,\n iconWarning: nano.Icons.warning,\n iconDanger: nano.Icons.danger,\n iconInfo: nano.Icons.info\n };\n\n constructor(text, type = 'primary', options = {})\n {\n this.text = text;\n this.type = type;\n\n this.options = Obj.assign(this.options, options);\n\n this.render();\n }\n\n getIcon()\n {\n return Obj.get(this.options,\n 'icon' + Str.ucfirst(this.type));\n }\n\n append(el = document.body)\n {\n this.el.appendTo(el);\n\n Dom.find(document.body).on('keydown', (event) => {\n if ( event.which === 27 ) {\n this.remove();\n }\n }, 'n-alert');\n\n setTimeout(() => this.el.addClass('n-active'), 100);\n }\n\n remove()\n {\n Dom.find(document.body).off('keydown', null, 'n-alert');\n\n this.el.get(0).remove();\n }\n\n render()\n {\n let classList = [\n 'n-alert-frame',\n 'n-alert-frame--' + this.type,\n 'n-alert-frame--' + Alert.size\n ];\n\n this.el = Dom.make('div', {\n classList: classList.join(' ')\n });\n\n let backdrop = Dom.make('div', {\n classList: 'n-alert-backdrop', onclick: () => this.remove()\n });\n\n backdrop.onClick = () => {\n this.remove();\n };\n\n backdrop.appendTo(this.el);\n\n let frame = Dom.make('div', {\n classList: 'n-alert'\n });\n\n frame.appendTo(this.el);\n\n let icon = Dom.make('div', {\n classList: 'n-alert__icon'\n });\n\n icon.appendTo(frame);\n\n let iconSpan = Dom.make('span', {\n classList: this.getIcon()\n });\n\n iconSpan.appendTo(icon);\n\n let text = Dom.make('div', {\n classList: 'n-alert__text'\n });\n\n text.html(this.text).appendTo(frame);\n }\n\n}\n\nexport default class Alert {\n\n static alias = 'Alert';\n\n static size = nano.Settings.notifySize;\n\n static alert = null;\n\n static handle(...args)\n {\n if ( ! Any.isEmpty(Alert.alert) ) {\n Alert.alert.remove();\n }\n\n Alert.alert = new AlertFrame(...args);\n\n Alert.alert.append();\n\n return Alert;\n }\n\n}\n","import Alert from './src/alert/alert';\n\nexport default function (App) {\n App.config.globalProperties[Alert.alias] = window[Alert.alias] = Alert.handle;\n}\n","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NRadioGroup'] = Locale.trans('NRadioGroup');\n\nglobal.NanoBuilderIndexies['NRadioGroup'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NRadioGroup']['props'] = {\n //\n};","module.exports = __WEBPACK_EXTERNAL_MODULE__2122__;","import { Arr, Obj, Any, Str } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NCascaderPanel',\n\n props: {\n\n modelValue: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n clearValue: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n hover: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n options: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n trigger: {\n default()\n {\n return 'hover';\n },\n type: [String]\n },\n\n labelProp: {\n default()\n {\n return 'label';\n },\n type: [String]\n },\n\n valueProp: {\n default()\n {\n return 'value';\n },\n type: [String]\n },\n\n childProp: {\n default()\n {\n return 'children';\n },\n type: [String]\n },\n\n disabledProp: {\n default()\n {\n return 'disabled';\n },\n type: [String]\n },\n\n },\n\n computed: {\n\n touch() {\n return !! ('ontouchstart' in window || \n navigator.msMaxTouchPoints);\n },\n\n mousedown() {\n return this.touch ? 'touchstart' :\n 'mousedown';\n },\n\n mousemove() {\n return this.touch ? 'touchmove' :\n 'mousemove';\n },\n\n mouseup() {\n return this.touch ? 'touchend' :\n 'mouseup';\n }\n\n },\n\n data()\n {\n return {\n tempValue: this.modelValue,\n tempHover: this.hover,\n };\n },\n\n watch: {\n\n modelValue(value) {\n if ( value !== this.tempValue ) {\n this.tempValue = value;\n }\n },\n\n hover(value) {\n if ( value !== this.tempHover ) {\n this.tempHover = value;\n }\n }\n\n },\n\n methods: {\n\n clearCascader()\n {\n this.$emit('update:modelValue', this.tempHover = \n this.tempValue = this.clearValue);\n },\n\n onHover(cascade)\n {\n return (event) => this.hoverItem(cascade, event)\n },\n\n onSelect(cascade)\n {\n return (event) => this.selectItem(cascade, event)\n },\n\n hoverItem(cascade, event = null)\n {\n // Hover intend emulation\n clearTimeout(this.delay);\n\n let updateHover = () => {\n this.$emit('update:hover', \n this.tempHover = cascade);\n };\n\n this.delay = setTimeout(updateHover, 130);\n },\n\n selectItem(cascade, event = null)\n {\n clearTimeout(this.clickTimer);\n\n if ( ! this.lastclick ) {\n this.lastclick = 0;\n }\n\n this.lastclick++;\n\n let trigger = this.touch ? 'click' : \n this.trigger ;\n \n this.clickTimer = setTimeout(() => \n this.lastclick = 0, 240);\n\n this.hoverTimer = setTimeout(() => \n this.hoverItem(cascade), 240);\n\n if ( this.lastclick === 1 && trigger === 'click' ) {\n return this.hoverItem(cascade, event);\n }\n\n if ( event ) {\n event.preventDefault();\n }\n\n this.clickTimer = setTimeout(() => \n this.fireSelectItem(cascade), 50);\n },\n\n fireSelectItem(cascade)\n {\n clearTimeout(this.hoverTimer);\n\n this.lastclick = 0;\n\n this.$emit('update:modelValue', \n this.tempValue = cascade);\n }\n\n },\n\n renderDisplay()\n {\n let classList = [\n 'n-cascader-panel',\n 'n-cascader-panel--' + this.size\n ];\n\n return (\n <div class={classList}>\n { this.ctor('renderLabelClear')() }\n { this.ctor('renderLabel')() }\n { this.ctor('renderLabelAngle')() }\n </div>\n )\n },\n\n renderOption(item, cascade = [])\n {\n let value = Obj.get(item, this.valueProp);\n\n let classList = [\n 'n-popover-option'\n ];\n\n if ( Arr.has(this.tempValue, item[this.valueProp]) ) {\n classList.push('n-active');\n }\n\n let disabled = Obj.get(item, this.disabledProp, false);\n\n if ( disabled ) {\n classList.push('n-disabled');\n }\n\n let props = {\n size: this.size,\n type: this.type,\n clickClose: false\n };\n\n if ( Arr.last(this.tempValue) === value ) {\n props.icon = nano.Icons.checked;\n }\n\n let tempCascade = Arr.merge(Arr.clone(cascade), [value]);\n\n if ( this.trigger === 'hover' ) {\n props.onMousemove = Any.framerate(this.onHover(tempCascade), 30);\n }\n\n if ( ! disabled ) {\n props['on' + Str.ucfirst(this.mousedown)] = this.onSelect(tempCascade);\n }\n\n let children = Obj.get(item, this.childProp);\n\n if ( ! props.icon && ! Any.isEmpty(children) ) {\n props.icon = nano.Icons.angleRight;\n }\n\n return (\n <NPopoverOption class={classList} {...props}>\n { Obj.get(item, this.labelProp) }\n </NPopoverOption>\n );\n },\n\n renderOptions(items, cascade = [])\n {\n if ( Any.isEmpty(items) ) {\n return null;\n }\n\n return (\n <div class=\"n-cascader-panel__items\">\n <NScrollbar relative={true}>\n {\n Arr.each(items, (item) => {\n return this.ctor('renderOption')(item, cascade);\n })\n }\n </NScrollbar>\n </div>\n )\n },\n\n renderCascade()\n {\n let renderList = [\n this.ctor('renderOptions')(this.options)\n ];\n\n let items = this.options, cascade = [];\n\n Arr.each(this.tempHover, (value) => {\n\n if ( ! items ) {\n return;\n }\n\n cascade.push(value);\n\n let item = Arr.find(items, {\n [this.valueProp]: value\n });\n\n items = Obj.get(item, this.childProp);\n\n let options = this.ctor('renderOptions')\n (items, cascade);\n\n renderList.push(options);\n });\n\n return renderList;\n },\n\n render()\n {\n let classList = [\n 'n-cascader-panel',\n 'n-cascader-panel--' + this.size\n ];\n\n if ( this.disabled ) {\n classList.push('n-disabled');\n }\n\n return (\n <div class={classList}>{ this.ctor('renderCascade')() }</div>\n );\n }\n\n}","import { Arr, Obj, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NCascader',\n\n props: {\n\n modelValue: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n clearValue: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n options: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n current: {\n default()\n {\n return null;\n }\n },\n\n placeholder: {\n default()\n {\n return 'Please select';\n },\n type: [String]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n clearable: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n position: {\n default()\n {\n return 'bottom-start';\n },\n type: [String]\n },\n\n trigger: {\n default()\n {\n return 'hover';\n },\n type: [String]\n },\n\n labelProp: {\n default()\n {\n return 'label';\n },\n type: [String]\n },\n\n valueProp: {\n default()\n {\n return 'value';\n },\n type: [String]\n },\n\n childProp: {\n default()\n {\n return 'children';\n },\n type: [String]\n },\n\n disabledProp: {\n default()\n {\n return 'disabled';\n },\n type: [String]\n },\n\n },\n\n data()\n {\n return {\n tempValue: this.modelValue,\n tempHover: this.modelValue,\n focus: false,\n };\n },\n\n methods: {\n\n clearCascader()\n {\n this.focus = true;\n\n this.$emit('update:modelValue', \n this.tempValue = this.tempHover = this.clearValue);\n },\n\n onCascaderInput(value)\n {\n this.focus = false;\n\n this.$emit('update:modelValue', \n this.tempValue = value);\n },\n\n onCascaderHover(value)\n {\n this.$emit('update:hover', \n this.tempHover = value);\n },\n\n onPopoverInput(value)\n {\n this.focus = value;\n },\n\n },\n\n watch: {\n\n modelValue(value) {\n if ( value !== this.tempValue ) {\n this.tempValue = value;\n }\n }\n\n },\n\n renderLabelClear()\n {\n if ( ! this.clearable || Any.isEmpty(this.tempValue) ) {\n return null;\n }\n\n let props = {};\n\n if ( ! this.disabled ) {\n props.onMousedown = this.clearCascader;\n }\n\n return (\n <div class=\"n-cascader__clear\" {...props}>\n <i class={ nano.Icons.times }></i>\n </div>\n );\n },\n\n renderLabelAngle()\n {\n return (\n <div class=\"n-cascader__angle\">\n <i class={ nano.Icons.angleDown }></i>\n </div>\n );\n },\n\n renderLabelItems()\n {\n let items = this.options, renderList = [];\n\n if ( Any.isEmpty(this.tempValue) ) {\n return (\n <div class=\"n-cascader__placeholder\">\n { this.trans(this.placeholder) }\n </div>\n );\n }\n\n Arr.each(this.tempValue, (value) => {\n\n if ( ! items ) {\n return;\n }\n\n let item = Arr.find(items, {\n [this.valueProp]: value\n });\n\n items = Obj.get(item, this.childProp);\n\n let itemLabel = (\n <div class=\"n-cascader__item\">\n <span>{ Obj.get(item, this.labelProp) }</span>\n </div>\n );\n\n renderList.push(itemLabel);\n });\n\n return (\n <div class=\"n-cascader__items\">\n { renderList }\n </div>\n );\n },\n\n renderDisplay()\n {\n let classList = [\n 'n-cascader__display'\n ];\n\n return (\n <div class={classList}>\n { this.ctor('renderLabelClear')() }\n { this.ctor('renderLabelItems')() }\n { this.ctor('renderLabelAngle')() }\n </div>\n );\n },\n\n renderItems()\n {\n let props = Obj.except(this.$props, ['modelValue'], {\n hover: this.tempHover,\n modelValue: this.tempValue,\n });\n\n props['onUpdate:hover'] = this.onCascaderHover;\n props['onUpdate:modelValue'] = this.onCascaderInput;\n\n return (\n <NCascaderPanel class=\"n-cascader__body\" {...props}></NCascaderPanel>\n );\n },\n\n renderPopover()\n {\n let props = {\n trigger: 'click',\n width: 0,\n size: this.size,\n position: this.position,\n scrollClose: true,\n disabled: this.disabled,\n };\n\n return (\n <NPopover ref=\"popover\" vModel={this.focus} {...props}>\n { { raw: this.ctor('renderItems') } }\n </NPopover>\n );\n },\n\n render()\n {\n let classList = [\n 'n-cascader',\n 'n-cascader--' + this.type,\n 'n-cascader--' + this.size,\n ];\n\n if ( Any.isEmpty(this.tempValue) ) {\n classList.push('n-empty');\n }\n\n if ( this.clearable ) {\n classList.push('n-clearable');\n }\n\n if ( this.focus ) {\n classList.push('n-focus');\n }\n\n if ( this.disabled ) {\n classList.push('n-disabled');\n }\n\n return (\n <div class={classList}>\n { this.ctor('renderDisplay')() }\n { this.ctor('renderPopover')() }\n </div>\n );\n }\n\n}","import CascaderPanel from './src/cascader-panel/cascader-panel';\nimport Cascader from './src/cascader/cascader';\n\nexport default function (App) {\n App.component(CascaderPanel.name, CascaderPanel);\n App.component(Cascader.name, Cascader);\n}","import { Arr, Dom, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NTags',\n\n provide()\n {\n return {\n NTags: this\n };\n },\n\n props: {\n\n modelValue: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n tags: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n }\n\n },\n\n data()\n {\n return {\n init: false, elements: [], tempValue: this.modelValue\n };\n },\n\n methods: {\n\n addTag(tab)\n {\n Arr.add(this.elements, tab,\n { label: tab.label });\n\n if ( this.init) {\n this.$nextTick(this.$forceUpdate);\n }\n },\n\n removeTag(tab)\n {\n Arr.remove(this.elements,\n { label: tab.label });\n\n if ( this.init) {\n this.$nextTick(this.$forceUpdate);\n }\n },\n\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue ) {\n this.tempValue = value;\n }\n }\n\n },\n\n mounted()\n {\n this.init = true;\n },\n\n render()\n {\n let classList = [\n 'n-tags',\n ];\n\n return (\n <div class={classList}>\n { this.$slots.default && this.$slots.default() }\n </div>\n );\n }\n}\n","import { Arr, Any, Dom } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NTagsItem',\n\n inject: {\n\n NTags: {\n default: undefined\n }\n\n },\n\n props: {\n\n label: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n icon: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return -1;\n },\n type: [String, Number]\n },\n\n color: {\n default()\n {\n return 0;\n },\n type: [String, Number]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n },\n\n beforeMount()\n {\n if ( this.NTags ) {\n this.NTags.addTag(this);\n }\n },\n\n beforeUnmount()\n {\n if ( this.NTags ) {\n this.NTags.removeTag(this);\n }\n },\n\n renderIcon()\n {\n if ( Any.isEmpty(this.icon) ) {\n return null;\n }\n\n return (\n <i class={this.icon}></i>\n );\n },\n\n renderLabel()\n {\n return (\n <span>{this.$slots.default ? this.$slots.default() : this.label}</span>\n );\n },\n\n render()\n {\n let size = this.size;\n\n if ( this.NTags ) {\n size = this.NTags.size;\n }\n\n let classList = [\n 'n-tags-item',\n 'n-tags-item--' + size,\n ,\n ];\n\n if ( this.type === -1 ) {\n classList.push('n-tags-item--color-' + this.color);\n }\n\n if ( this.type !== -1 ) {\n classList.push('n-tags-item--color-' + this.type);\n }\n\n return (\n <div class={classList}>\n {[this.ctor('renderIcon')(), this.ctor('renderLabel')()]}\n </div>\n );\n }\n\n}\n","import Tags from './src/tags/tags';\nimport TagsItem from './src/tags-item/tags-item';\n\nexport default function (App) {\n App.component(Tags.name, Tags);\n App.component(TagsItem.name, TagsItem);\n}","import { Obj } from \"@kizmann/pico-js\";\nimport { h } from \"vue\";\n\nexport default {\n\n name: 'NButton',\n\n props: {\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n link: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n square: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n icon: {\n default()\n {\n return null;\n }\n },\n\n iconPosition: {\n default()\n {\n return 'before';\n },\n type: [String]\n },\n\n nativeType: {\n default()\n {\n return 'button';\n },\n type: [String]\n }\n\n },\n\n renderIcon()\n {\n if ( ! this.icon ) {\n return null;\n }\n\n let classList = [\n 'n-icon', \n 'n-icon--' + this.iconPosition,\n ];\n\n classList.push(this.icon);\n\n return (<i class={classList}></i>);\n },\n\n render()\n {\n let classList = [\n 'n-button',\n 'n-button--' + this.size,\n 'n-button--' + this.type,\n ];\n\n if ( this.icon ) {\n classList.push('n-button--icon');\n }\n\n if ( this.link ) {\n classList.push('n-button--link');\n }\n\n if ( this.square ) {\n classList.push('n-button--square');\n }\n\n if ( this.disabled ) {\n classList.push('n-disabled');\n }\n\n let props = {\n class: classList\n };\n\n if ( this.disabled ) {\n props.disabled = true;\n }\n\n let innerHtml = [];\n\n if ( this.iconPosition === 'before' ) {\n innerHtml.push(this.ctor('renderIcon')());\n }\n\n if ( this.$slots.default && ! this.square ) {\n innerHtml.push(<span>{ this.$slots.default && this.$slots.default() }</span>);\n }\n\n if ( this.iconPosition === 'after' ) {\n innerHtml.push(this.ctor('renderIcon')());\n }\n\n return h(this.nativeType, props, innerHtml);\n }\n\n}\n","export default {\n\n name: 'NButtonGroup',\n\n props: {\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n }\n\n },\n\n render()\n {\n let classList = [\n 'n-button-group',\n 'n-button-group--' + this.size\n ]\n return (\n <div class={classList}>\n { this.$slots.default && this.$slots.default() }\n </div>\n );\n }\n\n}\n","import Button from './src/button/button';\nimport ButtonGroup from './src/button-group/button-group';\n\nexport default function (App) {\n App.component(Button.name, Button);\n App.component(ButtonGroup.name, ButtonGroup);\n}\n","import { Any, Obj, Arr, Locale } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NDurationpicker',\n\n props: {\n\n modelValue: {\n default()\n {\n return null;\n }\n },\n\n clearValue: {\n default()\n {\n return null;\n }\n },\n\n options: {\n default()\n {\n return [\n 60 * 5,\n 60 * 10,\n 60 * 15,\n 60 * 30,\n 60 * 45,\n 60 * 60,\n 60 * 90,\n 60 * 120,\n 60 * 150,\n 60 * 60 * 3,\n 60 * 60 * 4,\n 60 * 60 * 5,\n 60 * 60 * 6,\n 60 * 60 * 12,\n 60 * 60 * 24,\n 60 * 60 * 24 * 2,\n 60 * 60 * 24 * 3,\n 60 * 60 * 24 * 4,\n 60 * 60 * 24 * 5,\n 60 * 60 * 24 * 6,\n 60 * 60 * 24 * 7,\n ];\n },\n type: [Array]\n },\n\n minDuration: {\n default()\n {\n return null;\n }\n },\n\n maxDuration: {\n default()\n {\n return null;\n }\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n placeholder: {\n default()\n {\n return Locale.trans('Select duration');\n },\n type: [String]\n },\n\n negativeText: {\n default()\n {\n return Locale.trans('Negative duration');\n },\n type: [String]\n },\n\n boundary: {\n default()\n {\n return null;\n }\n },\n\n position: {\n default()\n {\n return 'bottom-start';\n },\n type: [String]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n clearable: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n days: {\n default()\n {\n return Locale.trans(':count Day|:count Days');\n },\n type: [String]\n },\n\n hours: {\n default()\n {\n return Locale.trans(':count Hour|:count Hours');\n },\n type: [String]\n },\n\n minutes: {\n default()\n {\n return Locale.trans(':count Minute|:count Minutes');\n },\n type: [String]\n },\n\n seconds: {\n default()\n {\n return Locale.trans(':count Second|:count Seconds');\n },\n type: [String]\n }\n\n },\n\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue ) {\n this.tempValue = value;\n }\n },\n\n },\n\n data()\n {\n return {\n focus: false, tempValue: this.modelValue, editValue: null\n };\n },\n\n methods: {\n\n findPattern(text, pattern)\n {\n pattern = pattern.replaceAll(':count', '([0-9\\.\\,]+)')\n .replaceAll(' ', '\\\\s*');\n\n return text.match(new RegExp(pattern, 'i'));\n },\n\n humanizeValue(value)\n {\n if ( Any.isEmpty(value) ) {\n return '';\n }\n\n if ( value < 0 ) {\n return this.negativeText;\n }\n\n let seconds = value;\n\n // Extract minutes\n let minutes = Math.floor(seconds/60);\n seconds -= minutes * 60;\n\n // Extract hours\n let hours = Math.floor(minutes/60);\n minutes -= hours * 60;\n\n\n // Extract days\n let days = Math.floor(hours/24);\n hours -= days * 24;\n\n let text = [];\n\n if ( days ) {\n text.push(Locale.choice(this.days, days));\n }\n\n if ( hours ) {\n text.push(Locale.choice(this.hours, hours));\n }\n\n if ( minutes ) {\n text.push(Locale.choice(this.minutes, minutes));\n }\n\n if ( seconds ) {\n text.push(Locale.choice(this.seconds, seconds));\n }\n\n return text.join(' ');\n },\n\n digitizeValue(text)\n {\n if ( Any.isEmpty(text) ) {\n return this.clearValue;\n }\n\n let value = 0;\n\n let dmatch = this.findPattern(text, this.days);\n\n if ( dmatch && dmatch.length === 3 ) {\n value += Any.float(dmatch[1].replace(',', '.')) * 24 * 60 * 60;\n }\n\n let hmatch = this.findPattern(text, this.hours);\n\n if ( hmatch && hmatch.length === 3 ) {\n value += Any.float(hmatch[1].replace(',', '.')) * 60 * 60;\n }\n\n let mmatch = this.findPattern(text, this.minutes);\n\n if ( mmatch && mmatch.length === 3 ) {\n value += Any.float(mmatch[1].replace(',', '.')) * 60;\n }\n\n let smatch = this.findPattern(text, this.seconds);\n\n if ( smatch && smatch.length === 3 ) {\n value += Any.float(smatch[1].replace(',', '.'));\n }\n\n return value;\n },\n\n clearDurationpicker()\n {\n this.$emit('update:modelValue', this.tempValue = this.clearValue);\n },\n\n onPopoverInput(value)\n {\n this.focus = value;\n },\n\n onValueInput(e)\n {\n let value = this.digitizeValue(e.target.value);\n\n if ( value === this.tempValue ) {\n return;\n }\n\n this.editValue = value;\n },\n\n onValueChange(e)\n {\n let value = this.editValue;\n\n // Clear edit value\n this.editValue = null;\n\n if ( ! value || value === this.tempValue ) {\n return;\n }\n\n this.$emit('update:modelValue', this.tempValue = value);\n },\n\n onDurationpickerInput(value)\n {\n this.focus = false;\n\n // Clear edit value\n this.editValue = null;\n\n this.$emit('update:modelValue', this.tempValue = value);\n },\n\n },\n\n renderLabelClear()\n {\n if ( ! this.clearable || ! this.tempValue ) {\n return null;\n }\n\n let props = {};\n\n if ( ! this.disabled ) {\n props.onMousedown = this.clearDurationpicker;\n }\n\n return (\n <div class=\"n-durationpicker__clear\" {...props}>\n <i class={ nano.Icons.times }></i>\n </div>\n );\n },\n\n renderLabelAngle()\n {\n return (\n <div class=\"n-durationpicker__angle\">\n <i class={ nano.Icons.angleDown }></i>\n </div>\n );\n },\n\n renderInput()\n {\n let props = {\n value: this.humanizeValue(this.tempValue),\n disabled: this.disabled,\n placeholder: this.placeholder,\n onInput: this.onValueInput,\n onBlur: this.onValueChange,\n onChange: this.onValueChange,\n };\n\n return (\n <div class=\"n-durationpicker__input\">\n <input {...props}/>\n </div>\n );\n },\n\n renderDisplay()\n {\n let classList = [\n 'n-durationpicker__display'\n ];\n\n return (\n <div class={classList}>\n { this.ctor('renderLabelClear')() }\n { this.ctor('renderInput')() }\n { this.ctor('renderLabelAngle')() }\n </div>\n );\n },\n\n renderItems()\n {\n return Arr.each(this.options, (value) => {\n\n let text = this.humanizeValue(value);\n\n let optionProps = {\n //\n };\n\n optionProps['onClick'] = () => {\n this.onDurationpickerInput(value);\n }\n\n return (<NPopoverOption {...optionProps}>{text}</NPopoverOption>)\n });\n },\n\n renderPopover()\n {\n let props = {\n trigger: 'click',\n width: -1,\n size: this.size,\n position: this.position,\n scrollClose: true,\n disabled: this.disabled\n };\n\n let slots = {};\n\n slots.raw = () => {\n\n let scrollProps = {\n relative: true, size: this.size\n }\n\n return (\n <NScrollbar ref=\"scrollbar\" class=\"n-durationpicker__body\" {...scrollProps}>\n {this.ctor('renderItems')()}\n </NScrollbar>\n )\n }\n\n return (\n <NPopover ref=\"popover\" vModel={this.focus} {...props} v-slots={slots} />\n );\n },\n\n render()\n {\n let classList = [\n 'n-durationpicker',\n 'n-durationpicker--' + this.type,\n 'n-durationpicker--' + this.size,\n ];\n\n if ( ! this.tempValue ) {\n classList.push('n-empty');\n }\n\n if ( this.clearable ) {\n classList.push('n-clearable');\n }\n\n if ( this.focus ) {\n classList.push('n-focus');\n }\n\n if ( this.disabled ) {\n classList.push('n-disabled');\n }\n\n return (\n <div class={classList}>\n { this.ctor('renderDisplay')() }\n { this.ctor('renderPopover')() }\n </div>\n );\n }\n\n}","import Durationpicker from \"./src/durationpicker/durationpicker\";\n\nexport default function (App) {\n App.component(Durationpicker.name, Durationpicker);\n}","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NForm'] = Locale.trans('NForm');\n\nglobal.NanoBuilderIndexies['NForm'] = {\n childs: true, props: {}\n};\n\nglobal.NanoBuilderIndexies['NForm']['props'] = {\n //\n};","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NRating'] = Locale.trans('NRating');\n\nglobal.NanoBuilderIndexies['NRating'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NRating']['props'] = {\n //\n};","import { Arr, Obj, Num, Now, Any, Dom, Locale } from \"@kizmann/pico-js\";\nimport { h } from \"vue\";\n\nexport default {\n\n name: 'NInputNumber',\n\n inheritAttrs: false,\n\n inject: {\n\n NFormItem: {\n default: undefined\n }\n \n },\n\n\n props: {\n\n modelValue: {\n default()\n {\n return null;\n }\n },\n\n clearValue: {\n default()\n {\n return null;\n }\n },\n\n min: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n max: {\n default()\n {\n return Number.MAX_VALUE;\n },\n type: [Number]\n },\n\n placeholder: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n clearable: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n stepSize: {\n default()\n {\n return 1;\n },\n type: [Number]\n },\n\n precision: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n format: {\n default()\n {\n return ':count';\n },\n type: [String]\n },\n\n decimals: {\n default()\n {\n return Locale.trans('.');\n },\n type: [String]\n },\n\n },\n\n computed: {\n\n deepDisabled() {\n return this.NFormItem ? this.NFormItem.disabled(this.disabled) :\n this.disabled;\n }\n\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue ) {\n this.tempValue = this.getValue(value);\n }\n }\n\n },\n\n data()\n {\n return {\n focus: false, tempValue: this.getValue(),\n }\n },\n\n methods: {\n\n clear()\n {\n this.$emit('update:modelValue', this.tempValue = this.clearValue);\n },\n\n getValue(value = null)\n {\n if ( Any.isNull(value) ) {\n value = this.modelValue;\n }\n\n if ( Any.isEmpty(value) ) {\n return this.min;\n }\n\n return Num.float(value);\n },\n\n getDisplayValue()\n {\n\n if ( Any.isEmpty(this.modelValue) ) {\n return null;\n }\n\n let value = Num.format(this.tempValue,\n this.decimals, ' ', this.precision);\n\n return Locale.trans(this.format, { count: value });\n },\n\n nextStep()\n {\n if ( isNaN(this.tempValue) ) {\n this.tempValue = 0;\n }\n\n let value = this.tempValue + this.stepSize;\n\n if ( this.max < value ) {\n return;\n }\n\n value = Num.float(value).toFixed(this.precision);\n\n this.$emit('update:modelValue',\n this.tempValue = Num.float(value));\n },\n\n onNextDown()\n {\n this.nextStep();\n\n this.nextTimeout = setTimeout(() => {\n this.nextInterval = setInterval(this.nextStep, 100);\n }, 400);\n\n Dom.find(document).on('mouseup', this.onNextUp,\n this._.uid);\n },\n\n onNextUp()\n {\n clearTimeout(this.nextTimeout);\n clearInterval(this.nextInterval);\n\n Dom.find(document).off('mouseup', null,\n this._.uid);\n },\n\n prevStep()\n {\n if ( isNaN(this.tempValue) ) {\n this.tempValue = 0;\n }\n\n let value = this.tempValue - this.stepSize;\n\n if ( this.min > value ) {\n return;\n }\n\n value = Num.float(value).toFixed(this.precision);\n\n this.$emit('update:modelValue',\n this.tempValue = Num.float(value));\n },\n\n onPrevDown()\n {\n this.prevStep();\n\n this.prevTimeout = setTimeout(() => {\n this.prevInterval = setInterval(this.prevStep, 100);\n }, 400);\n\n Dom.find(document).on('mouseup', this.onPrevUp,\n this._.uid);\n },\n\n onPrevUp()\n {\n clearTimeout(this.prevTimeout);\n clearInterval(this.prevInterval);\n\n Dom.find(document).off('mouseup', null,\n this._.uid);\n },\n\n onKeydown(event)\n {\n if ( event.which === 13 ) {\n this.onInput(event);\n }\n },\n\n onFocus(event)\n {\n this.focus = true;\n },\n\n onBlur(event)\n {\n this.onInput(event);\n\n this.focus = false;\n },\n\n onInput(event)\n {\n let value = event.target.value;\n\n if ( value.match(/^[0-9]+((.|,)[0-9]+)?$/) ) {\n value = this.format.replace(':count', value);\n }\n\n let format = this.format.replace(':count',\n `([0-9\\\\,\\\\.\\\\-\\\\s]+)`);\n\n let regex = new RegExp(`^${format}$`);\n\n let match = value.match(regex);\n\n if ( !match ) {\n return event.target.value = this.getDisplayValue();\n }\n\n value = match[1].replace(',', '.')\n .replace(/\\s/, '');\n\n value = Num.float(value).toFixed(this.precision);\n\n if ( value < this.min ) {\n value = this.min;\n }\n\n if ( value > this.max ) {\n value = this.max;\n }\n\n this.$emit('update:modelValue',\n this.tempValue = Num.float(value));\n\n event.target.value = this.getDisplayValue();\n }\n\n },\n\n renderPrev()\n {\n let disabled = this.deepDisabled ||\n this.tempValue <= this.min;\n\n let props = {\n type: 'input-number',\n size: this.size,\n icon: 'fa fa-minus',\n square: true,\n disabled: disabled,\n onMousedown: this.onPrevDown,\n };\n\n return (<NButton {...props} />);\n },\n\n renderNext()\n {\n let disabled = this.deepDisabled ||\n this.tempValue >= this.max;\n\n let props = {\n type: 'input-number',\n size: this.size,\n icon: 'fa fa-plus',\n square: true,\n disabled: disabled,\n onMousedown: this.onNextDown,\n };\n\n return (<NButton {...props} />);\n },\n\n renderInput()\n {\n let props = Obj.except(this.$attrs,\n ['class', 'style']);\n\n Obj.assign(props, {\n value: this.getDisplayValue(),\n disabled: this.deepDisabled,\n placeholder: this.placeholder,\n onKeydown: this.onKeydown,\n onFocus: this.onFocus,\n onBlur: this.onBlur,\n });\n\n return h('input', props);\n },\n\n renderClear()\n {\n if ( !this.clearable || Any.isEmpty(this.tempValue) ) {\n return null;\n }\n\n let props = {};\n\n if ( !this.deepDisabled ) {\n props.onMousedown = this.clear;\n }\n\n return (\n <div class=\"n-input-number__clear\" {...props}>\n <i class={nano.Icons.times}></i>\n </div>\n );\n },\n\n render()\n {\n let classList = [\n 'n-input-number',\n 'n-input-number--' + this.type,\n 'n-input-number--' + this.size,\n ];\n\n if ( Any.isEmpty(this.modelValue) ) {\n classList.push('n-empty');\n }\n\n if ( this.clearable ) {\n classList.push('n-clearable');\n }\n\n if ( this.focus ) {\n classList.push('n-focus');\n }\n\n if ( this.deepDisabled ) {\n classList.push('n-disabled');\n }\n\n return (\n <div class={classList}>\n {this.ctor('renderPrev')()}\n {this.ctor('renderInput')()}\n {this.ctor('renderClear')()}\n {this.ctor('renderNext')()}\n </div>\n );\n }\n\n}","import InputNumber from \"./src/input-number/input-number\";\n\nexport default function (App) {\n App.component(InputNumber.name, InputNumber);\n}","import { Arr, Obj, Any, Locale } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NFile',\n\n props: {\n\n modelValue: {\n default()\n {\n return null;\n }\n },\n\n multiple: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n icon: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n placeholder: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n clearable: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n clearableIcon: {\n default()\n {\n return nano.Icons.times;\n },\n type: [String]\n },\n\n buttonText: {\n default()\n {\n return Locale.trans('Select file');\n },\n type: [String]\n }\n\n },\n\n data()\n {\n return {\n tempValue: this.modelValue\n };\n },\n\n watch: {\n\n modelValue()\n {\n if ( this.modelValue !== this.tempValue ) {\n this.tempValue = this.modelValue;\n }\n },\n\n tempValue()\n {\n if ( Any.isEmpty(this.tempValue) ) {\n this.$refs.input.value = null;\n }\n }\n\n },\n\n methods: {\n\n openContext()\n {\n this.$refs.input.click();\n },\n\n updateFile()\n {\n let tempValue = [\n ...this.$refs.input.files\n ];\n\n if ( ! this.multiple ) {\n tempValue = tempValue[0];\n }\n\n this.$emit('update:modelValue', this.tempValue = tempValue);\n },\n\n clearFile()\n {\n this.$emit('update:modelValue', null);\n }\n\n },\n\n renderInput()\n {\n let props = {\n size: this.size,\n disabled: true,\n iconDisabled: false,\n };\n\n props['onIconClick'] = this.clearFile;\n\n if ( ! this.multiple ) {\n props.modelValue = Obj.get(this.tempValue, 'name');\n }\n\n if ( this.multiple ) {\n props.modelValue = Locale.choice(':count File|:count Files',\n this.tempValue.length);\n }\n\n if ( this.clearable && !Any.isEmpty(this.tempValue) ) {\n props.icon = this.clearableIcon;\n }\n\n return (\n <NInput {...props}>\n { /* Input field for text */ }\n </NInput>\n );\n },\n\n renderButton()\n {\n let props = {\n size: this.size,\n disabled: this.disabled,\n icon: this.icon,\n onClick: this.openContext\n };\n\n return (\n <NButton {...props}>{this.buttonText}</NButton>\n );\n },\n\n renderHidden()\n {\n let props = {\n 'onInput': this.updateFile\n };\n\n return (\n <div class=\"n-file__input\">\n <input ref=\"input\" type=\"file\" multiple={this.multiple} {...props}></input>\n </div>\n );\n },\n\n render()\n {\n let classList = [\n 'n-file'\n ];\n\n if ( this.disabled ) {\n classList.push('n-disabled');\n }\n\n return (\n <div class={classList}>\n { this.ctor('renderInput')() }\n { this.ctor('renderButton')() }\n { this.ctor('renderHidden')() }\n </div>\n )\n }\n\n}\n","import File from './src/file/file';\n\nexport default function (App) {\n App.component(File.name, File);\n}\n\n","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NFormItem'] = Locale.trans('NFormItem');\n\nglobal.NanoBuilderIndexies['NFormItem'] = {\n childs: true, props: {}\n};\n\nglobal.NanoBuilderIndexies['NFormItem']['props'] = {\n label: {\n for: ['binds', 'props'], type: 'String'\n }\n};","import { Arr, Dom, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NCollapse',\n\n provide()\n {\n return {\n NCollapse: this\n };\n },\n\n props: {\n\n modelValue: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n relative: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n }\n\n },\n\n data()\n {\n return {\n init: false, elements: [], tempValue: this.modelValue\n };\n },\n\n methods: {\n\n addTab(tab)\n {\n Arr.add(this.elements, tab,\n { name: tab.name });\n\n if ( this.init) {\n this.$nextTick(this.$forceUpdate);\n }\n },\n\n removeTab(tab)\n {\n Arr.remove(this.elements,\n { name: tab.name });\n\n if ( this.init) {\n this.$nextTick(this.$forceUpdate);\n }\n },\n\n showTab(value)\n {\n if ( Arr.has(this.tempValue, value) ) {\n return;\n }\n\n Arr.add(this.tempValue, value);\n\n this.$emit('update:modelValue', this.tempValue);\n },\n\n hideTab(value)\n {\n if ( ! Arr.has(this.tempValue, value) ) {\n return;\n }\n\n Arr.remove(this.tempValue, value);\n\n this.$emit('update:modelValue', this.tempValue);\n },\n\n toggleTab(value)\n {\n Arr.toggle(this.tempValue, value);\n\n this.$emit('update:modelValue', this.tempValue);\n }\n\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue ) {\n this.tempValue = value;\n }\n }\n\n },\n\n mounted()\n {\n this.init = true;\n },\n\n render()\n {\n let classList = [\n 'n-collapse',\n 'n-collapse--' + this.size,\n 'n-collapse--' + this.type\n ];\n\n return (\n <div class={classList}>\n { this.$slots.default && this.$slots.default() }\n </div>\n );\n }\n}\n","import { Arr, Any, Dom } from \"@kizmann/pico-js\";\nimport { h, resolveComponent } from \"vue\";\n\nexport default {\n\n name: 'NCollapseItem',\n\n inject: {\n\n NCollapse: {\n default: undefined\n }\n\n },\n\n provide()\n {\n return {\n NCollapseItem: this\n };\n },\n\n props: {\n\n label: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n name: {\n default()\n {\n return 'default';\n },\n type: [String]\n },\n\n icon: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n sort: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n relative: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n preload: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n keep: {\n default()\n {\n return false;\n },\n type: [Boolean]\n }\n\n },\n\n methods: {\n\n showTab()\n {\n this.NCollapse.showTab(this.name);\n },\n\n hideTab()\n {\n this.NCollapse.hideTab(this.name);\n },\n\n toggleTab()\n {\n this.NCollapse.toggleTab(this.name);\n }\n\n },\n\n data()\n {\n return {\n _key: null, init: false, dragger: 0\n }\n },\n\n beforeMount()\n {\n this.NCollapse.addTab(this);\n },\n\n beforeUnmount()\n {\n this.NCollapse.removeTab(this);\n },\n\n renderHeaderIcon()\n {\n if ( !this.$slots.icon && !this.icon ) {\n return null;\n }\n\n return (\n <div class=\"n-collapse__header-icon\">\n {this.$slots.icon && this.$slots.icon() || <i class={this.icon}></i>}\n </div>\n );\n },\n\n renderHeaderLabel()\n {\n return (\n <div class=\"n-collapse__header-label\">\n {this.$slots.label && this.$slots.label() || <span>{this.label}</span>}\n </div>\n );\n },\n\n renderHeaderAngle()\n {\n return (\n <div class=\"n-collapse__header-angle\">\n {this.$slots.angle && this.$slots.angle() || <i class={nano.Icons.angleRight}></i>}\n </div>\n );\n },\n\n renderHeader()\n {\n if ( !this.label && !this.$slots.label ) {\n return null;\n }\n\n let classList = [\n 'n-collapse__header'\n ];\n\n if ( Arr.has(this.NCollapse.tempValue, this.name) ) {\n classList.push('n-active');\n }\n\n let props = {\n onClick: () => this.toggleTab(this.name)\n };\n\n props['onDragenter'] = (event) => {\n\n this.dragger ++;\n\n if ( this.dragger !== 1 ) {\n return;\n }\n\n this.showDelay = setTimeout(() => {\n this.showTab(this.name);\n }, 350);\n };\n\n props['onDragleave'] = (event) => {\n\n this.dragger --;\n\n if ( this.dragger !== 0 ) {\n return;\n }\n\n clearTimeout(this.showDelay);\n };\n\n props.style = {\n order: this.sort + 1,\n };\n\n return (\n <div ref=\"header\" class={classList} {...props}>\n {this.ctor('renderHeaderIcon')()}\n {this.ctor('renderHeaderLabel')()}\n {this.ctor('renderHeaderAngle')()}\n </div>\n );\n },\n\n renderBody()\n {\n let classList = [\n 'n-collapse__body'\n ];\n\n let tempValue = Arr.clone(this.NCollapse.tempValue);\n\n if ( !this.label && !this.$slots.label ) {\n tempValue.push(this.name);\n }\n\n let renderBody = Arr.has(tempValue, this.name);\n\n if ( !Arr.has(tempValue, this.name) && this.keep ) {\n renderBody = this.init;\n }\n\n if ( !Arr.has(tempValue, this.name) && this.preload ) {\n renderBody = true;\n }\n\n if ( !renderBody && this.label ) {\n return null;\n }\n\n this.init = true;\n\n let style = {\n order: this.sort + 2\n };\n\n if ( !Arr.has(tempValue, this.name) ) {\n style.display = 'none';\n }\n\n let element = 'div';\n\n if ( !this.relative && !this.NCollapse.relative ) {\n element = resolveComponent('NScrollbar');\n }\n\n return h(element, { class: classList, style, }, this.$slots);\n },\n\n render()\n {\n return [\n this.ctor('renderHeader')(), this.ctor('renderBody')()\n ];\n }\n}\n","import Collapse from './src/collapse/collapse';\nimport CollapseItem from './src/collapse-item/collapse-item';\n\nexport default function (App) {\n App.component(Collapse.name, Collapse);\n App.component(CollapseItem.name, CollapseItem);\n}","import { UUID, Num, Arr, Obj, Any, Dom, Locale } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NDrawer',\n\n inject: {\n\n NScrollbar: {\n default: undefined\n }\n\n },\n\n props: {\n\n modelValue: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n listen: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n update: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n selector: {\n default()\n {\n return null;\n },\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n width: {\n default()\n {\n return '30%';\n },\n type: [String]\n },\n\n title: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'default';\n },\n type: [String]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n position: {\n default()\n {\n return 'right';\n },\n type: [String]\n },\n\n closable: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n renderClose: {\n default()\n {\n return true;\n },\n type: [Boolean]\n }\n\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue ) {\n this.tempValue = value;\n }\n },\n\n tempValue()\n {\n this.startRefreshTimeout();\n }\n\n },\n\n provide()\n {\n return {\n NDrawer: this\n };\n },\n\n data()\n {\n return {\n target: null, tempValue: false\n };\n },\n\n mounted()\n {\n this.target = Dom.find(this.selector || this.$el)\n .previous().get(0);\n\n Dom.find(document.body).on('mousedown',\n this.eventClick, this._.uid);\n\n Dom.find(document.body).on('keydown',\n this.eventKeydown, this._.uid);\n\n let showDrawer = () => {\n this.tempValue = true;\n };\n\n if ( this.modelValue ) {\n Any.delay(showDrawer, 100);\n }\n\n Dom.find(document.body).append(this.$el);\n },\n\n beforeUnmount()\n {\n this.$el.remove();\n },\n\n unmounted()\n {\n Dom.find(document.body).off('mousedown',\n null, this._.uid);\n\n Dom.find(document.body).off('keydown',\n null, this._.uid);\n },\n\n methods: {\n\n openModal(force = false, source = null)\n {\n if ( this.tempValue ) {\n return;\n }\n\n if ( this.closable || force ) {\n this.tempValue = true;\n }\n\n this.$emit('update:modelValue', true, source);\n },\n\n closeDrawer(force = false, source = null)\n {\n if ( ! this.tempValue ) {\n return;\n }\n\n if ( ! this.update ) {\n return this.$emit('close', source);\n }\n\n if ( this.closable || force ) {\n this.tempValue = false;\n }\n\n this.$emit('update:modelValue', false, source);\n },\n\n stopRefreshTimeout()\n {\n clearTimeout(this.refresh);\n\n Dom.find(this.$el).removeClass('n-ready');\n },\n\n startRefreshTimeout()\n {\n if ( ! this.tempValue ) {\n return this.stopRefreshTimeout();\n }\n\n window.zIndex += 1;\n\n Dom.find(this.$el).attr('data-drawer',\n window.zIndex);\n\n Dom.find(this.$el).css({\n 'z-index': window.zIndex\n });\n\n this.queueRefreshTimeout();\n },\n\n queueRefreshTimeout()\n {\n if ( ! this.tempValue ) {\n return this.stopRefreshTimeout();\n }\n\n this.refresh = setTimeout(() => {\n Dom.find(this.$el).addClass('n-ready');\n }, 100);\n },\n\n eventClick(event, el)\n {\n if ( this.disabled || event.which !== 1 ) {\n return;\n }\n\n let result = !! Dom.find(el).closest(this.target);\n\n if ( ! result && ! this.tempValue ) {\n return;\n }\n\n if ( this.tempValue && this.closable ) {\n result = ! Dom.find(el).closest(this.$refs.backdrop);\n }\n\n if ( result === this.tempValue ) {\n return;\n }\n\n if ( ! result ) {\n return this.closeDrawer(false, 'escape');\n }\n\n if ( this.listen ) {\n this.openModal(true, 'selector');\n }\n },\n\n eventKeydown(event, el)\n {\n if ( ! this.tempValue || event.which !== 27 ) {\n return;\n }\n\n let extractIndex = (modal) => {\n return Dom.find(modal).attr('data-drawer');\n };\n\n let indexes = Dom.find('.n-drawer:not(.n-hidden)')\n .each(extractIndex);\n\n let index = Dom.find(this.$el).attr('data-drawer');\n\n if ( Arr.last(indexes.sort()) !== index ) {\n return;\n }\n\n this.closeDrawer(false, 'escape');\n },\n\n },\n\n renderClose()\n {\n if ( ! this.renderClose || ! this.closable ) {\n return null;\n }\n\n let props = {\n onClick: () => this.closeDrawer(false, 'escape')\n };\n\n return (\n <div class=\"n-drawer__close\" {...props}>\n <span class={nano.Icons.times}></span>\n </div>\n );\n },\n\n renderHeader()\n {\n if ( ! this.$slots.header && ! this.title ) {\n return null;\n }\n\n return (\n <div class=\"n-drawer__header\">\n { [this.$slots.header && this.$slots.header({ closeDrawer: this.closeDrawer }) || this.title, this.ctor('renderClose')()] }\n </div>\n );\n },\n\n renderFooter()\n {\n if ( ! this.$slots.footer ) {\n return null;\n }\n\n return (\n <div class=\"n-drawer__footer\">\n { this.$slots.footer({ closeDrawer: this.closeDrawer }) }\n </div>\n );\n },\n\n renderBody()\n {\n let bodyHtml = (\n <NScrollbar ref=\"scrollbar\" relative={true} wrapClass=\"n-drawer__wrap\">\n { this.$slots.default && this.$slots.default({ closeDrawer: this.closeDrawer }) }\n </NScrollbar>\n );\n\n if ( this.$slots.body ) {\n bodyHtml = this.$slots.body({ closeDrawer: this.closeDrawer });\n }\n\n return (\n <div class=\"n-drawer__body\">\n { bodyHtml }\n </div>\n );\n },\n\n renderFrame()\n {\n if ( ! this.tempValue ) {\n return null;\n }\n\n let style = {\n width: this.width\n };\n\n let innerHtml = [\n this.ctor('renderHeader')(),\n this.ctor('renderBody')(),\n this.ctor('renderFooter')(),\n ]\n\n return (\n <div class=\"n-drawer__frame\" style={style}>\n { this.$slots.raw ? this.$slots.raw() : innerHtml }\n </div>\n );\n },\n\n renderBackdrop()\n {\n return (\n <div ref=\"backdrop\" class=\"n-drawer__backdrop\"></div>\n );\n },\n\n render()\n {\n if ( ! window.zIndex ) {\n window.zIndex = 9000;\n }\n\n let classList = [\n 'n-drawer',\n 'n-drawer--' + this.size,\n 'n-drawer--' + this.type,\n 'n-drawer--' + this.position\n ];\n\n if ( this.tempValue ) {\n this.queueRefreshTimeout();\n }\n\n if ( this.renderClose ) {\n classList.push('n-closable');\n }\n\n if ( ! this.tempValue ) {\n classList.push('n-hidden');\n }\n\n let innerHtml = null;\n\n if ( this.tempValue ) {\n innerHtml = this.ctor('renderFrame')();\n }\n\n return (\n <div class={classList}>\n { [innerHtml, this.ctor('renderBackdrop')()] }\n </div>\n );\n }\n\n}\n","import Modal from './src/drawer/drawer';\n\nexport default function (App) {\n App.component(Modal.name, Modal);\n}\n","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NButton'] = Locale.trans('NButton');\n\nglobal.NanoBuilderIndexies['NButton'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NButton']['props'] = {\n size: {\n for: ['binds', 'props'], type: 'String', options: global.NanoPrototypeSizes\n },\n type: {\n for: ['binds', 'props'], type: 'String', options: global.NanoPrototypeTypes\n },\n link: {\n for: ['binds', 'props'], type: 'Boolean', options: global.NanoPrototypeBools\n },\n square: {\n for: ['binds', 'props'], type: 'Boolean', options: global.NanoPrototypeBools\n },\n disabled: {\n for: ['binds', 'props'], type: 'Boolean', options: global.NanoPrototypeBools\n },\n icon: {\n for: ['binds', 'props'], type: 'String'\n },\n iconPosition: {\n for: ['binds', 'props'], type: 'String', options: ['before', 'after']\n },\n nativeType: {\n for: ['binds', 'props'], type: 'String', options: ['button', 'a', 'div']\n },\n click: {\n for: ['on'], type: 'String'\n }\n};","import { Arr, Obj, Any, UUID } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NCheckbox',\n\n inject: {\n\n NCheckboxGroup: {\n default: undefined\n }\n\n },\n\n props: {\n\n modelValue: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n value: {\n default()\n {\n return null;\n }\n },\n\n allowUncheck: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n intermediate: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n global: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n },\n\n computed: {\n\n tempComputed()\n {\n return ! this.global ? this.tempChecked :\n this.NCheckboxGroup.globalChecked;\n },\n\n tempIntermediate()\n {\n return ! this.global ? this.intermediate :\n this.NCheckboxGroup.globalIntermediate;\n },\n\n tempDisabled()\n {\n return ! this.global ? this.disabled :\n this.NCheckboxGroup.globalDisabled;\n }\n\n },\n\n data()\n {\n return {\n uid: UUID(), tempChecked: this.modelValue\n };\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempChecked ) {\n this.tempChecked = value;\n }\n }\n\n },\n\n beforeMount()\n {\n if ( this.NCheckboxGroup ) {\n this.tempChecked = this.NCheckboxGroup.isChecked(this.value);\n }\n },\n\n mounted()\n {\n if ( ! this.NCheckboxGroup || this.global ) {\n return;\n }\n\n this.$watch('NCheckboxGroup.tempValue', () => {\n this.tempChecked = this.NCheckboxGroup.isChecked(this.value);\n });\n\n this.NCheckboxGroup.addCheckbox(this);\n },\n\n beforeUnmount()\n {\n if ( this.NCheckboxGroup && ! this.global ) {\n this.NCheckboxGroup.removeCheckbox(this);\n }\n },\n\n methods: {\n\n toggle()\n {\n this.$emit('update:modelValue', this.tempChecked = ! this.tempChecked);\n },\n\n check()\n {\n if ( this.NCheckboxGroup ) {\n this.NCheckboxGroup.checkCheckbox(this);\n }\n\n this.$emit('update:modelValue', this.tempChecked = true);\n },\n\n uncheck()\n {\n if ( this.NCheckboxGroup ) {\n this.NCheckboxGroup.uncheckCheckbox(this);\n }\n\n this.$emit('update:modelValue', this.tempChecked = false);\n },\n\n eventShiftClick()\n {\n if ( this.NCheckboxGroup ) {\n this.NCheckboxGroup.shiftCheckbox(this);\n }\n\n this.$emit('update:modelValue', this.tempChecked = true);\n },\n\n eventLocalClick(event)\n {\n let canClick = ! this.tempDisabled || (this.allowUncheck &&\n this.tempChecked);\n\n if ( ! canClick ) {\n return;\n }\n\n event.preventDefault();\n\n if ( event.shiftKey ) {\n return this.eventShiftClick();\n }\n \n if ( this.NCheckboxGroup ) {\n this.NCheckboxGroup.toggleCheckbox(this);\n }\n\n this.$emit('update:modelValue', this.tempChecked = ! this.tempChecked);\n },\n\n eventGlobalClick()\n {\n let canClick = ! this.tempDisabled || (this.allowUncheck &&\n this.tempChecked);\n\n if ( ! canClick ) {\n return;\n }\n\n this.NCheckboxGroup.toggleAll();\n },\n\n updateFromGroup()\n {\n let checked = this.NCheckboxGroup.isChecked(this.value);\n\n if ( this.tempChecked === checked ) {\n return;\n }\n \n this.$emit('update:modelValue', this.tempChecked = checked);\n }\n\n },\n\n renderCheckbox()\n {\n let interHtml = this.$slots.intermediate &&\n this.$slots.intermediate();\n\n if ( ! interHtml ) {\n interHtml = (<i class={nano.Icons.intermediate}></i>);\n }\n\n let checkHtml = this.$slots.checked &&\n this.$slots.checked();\n\n if ( ! checkHtml ) {\n checkHtml = (<i class={nano.Icons.checked}></i>);\n }\n\n return (\n <div class=\"n-checkbox__checkbox\">\n { this.tempIntermediate ? interHtml : checkHtml }\n </div>\n );\n },\n\n renderLabel()\n {\n if ( ! this.cslo('default') && ! this.cslo('label') ) {\n return null;\n }\n\n return (\n <div class=\"n-checkbox__label\">\n { this.$slots.default() || this.$slots.label() }\n </div>\n );\n },\n\n render()\n {\n let size = this.size;\n\n if ( this.NCheckboxGroup ) {\n size = this.NCheckboxGroup.size;\n }\n\n let classList = [\n 'n-checkbox',\n 'n-checkbox--' + size,\n 'n-checkbox--' + this.type,\n ];\n\n if ( this.allowUncheck ) {\n classList.push('n-uncheck');\n }\n\n if ( this.tempComputed ) {\n classList.push('n-checked');\n }\n\n if ( this.tempIntermediate ) {\n classList.push('n-intermediate');\n }\n\n if ( this.tempDisabled ) {\n classList.push('n-disabled');\n }\n\n if ( this.tempComputed && this.allowUncheck ) {\n Arr.remove(classList, 'n-disabled');\n }\n\n let props = Obj.clone(this.$attrs);\n\n if ( this.global ) {\n props.onMousedown = this.eventGlobalClick;\n }\n\n if ( ! this.global ) {\n props.onMousedown = this.eventLocalClick;\n }\n\n return (\n <div class={classList} {...props}>\n { [this.ctor('renderCheckbox')(), this.ctor('renderLabel')()] }\n </div>\n );\n }\n\n}\n","import { Arr, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NCheckboxGroup',\n\n provide()\n {\n return {\n NCheckboxGroup: this\n };\n },\n\n props: {\n\n modelValue: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n align: {\n default()\n {\n return 'horizontal';\n },\n type: [String]\n }\n\n },\n\n computed: {\n\n globalChecked()\n {\n let checked = Arr.filter(this.elements, (checkbox) => {\n return checkbox.tempChecked;\n });\n\n return checked.length === this.elements.length &&\n this.elements.length !== 0;\n },\n\n globalIntermediate()\n {\n let checked = this.elements.filter((checkbox) => {\n return checkbox.tempChecked;\n });\n\n return checked.length !== this.elements.length &&\n checked.length !== 0 ;\n },\n\n globalDisabled()\n {\n return this.elements.length === 0;\n },\n\n },\n\n data()\n {\n return {\n tempValue: this.modelValue,\n index: -1,\n elements: []\n }\n },\n\n watch: {\n\n modelValue()\n {\n if ( this.tempValue = this.modelValue ) {\n this.tempValue = this.modelValue;\n }\n \n },\n\n },\n\n methods: {\n\n addCheckbox(checkbox)\n {\n this.index = -1;\n\n Arr.add(this.elements, checkbox, {\n uid: checkbox.uid\n });\n\n this.elements = Arr.sort(this.elements, 'sort');\n },\n\n removeCheckbox(checkbox)\n {\n this.index = -1;\n \n Arr.remove(this.elements, {\n uid: checkbox.uid\n });\n },\n\n toggleCheckbox(checkbox, emit = true)\n {\n let index = Arr.findIndex(this.elements, {\n uid: checkbox.uid\n });\n\n if ( ! checkbox.tempChecked ) {\n this.index = index;\n }\n\n Arr.toggle(this.tempValue, checkbox.value);\n\n if ( ! emit ) {\n return;\n }\n\n this.$emit('update:modelValue', this.tempValue);\n },\n\n checkCheckbox(checkbox, emit = true)\n {\n Arr.add(this.tempValue, checkbox.value);\n\n if ( ! emit ) {\n return;\n }\n\n this.$emit('update:modelValue', this.tempValue);\n },\n\n uncheckCheckbox(checkbox, emit = true)\n {\n Arr.remove(this.tempValue, checkbox.value);\n\n if ( ! emit ) {\n return;\n }\n\n this.$emit('update:modelValue', this.tempValue);\n },\n\n shiftCheckbox(checkbox)\n {\n if ( this.index === -1 ) {\n return this.toggleCheckbox(checkbox, false);\n }\n\n let index = Arr.findIndex(this.elements, {\n uid: checkbox.uid\n });\n\n let checkboxes = this.elements.slice(this.index, index + 1);\n\n if ( index < this.index ) {\n checkboxes = this.elements.slice(index, this.index + 1);\n }\n\n this.index = -1;\n\n Arr.each(checkboxes, (checkbox) => {\n this.checkCheckbox(checkbox, false);\n });\n\n Arr.each(checkboxes, (checkbox) => {\n checkbox.updateFromGroup();\n });\n\n this.$emit('update:modelValue', this.tempValue);\n },\n\n toggleAll()\n {\n this.globalChecked ? this.uncheckAll() : this.checkAll();\n },\n\n checkAll()\n {\n Arr.each(this.elements, (checkbox) => {\n this.checkCheckbox(checkbox, false);\n });\n\n Arr.each(this.elements, (checkbox) => {\n checkbox.updateFromGroup();\n });\n\n this.$emit('update:modelValue', this.tempValue);\n },\n\n uncheckAll()\n {\n Arr.each(this.elements, (checkbox) => {\n this.uncheckCheckbox(checkbox, false);\n });\n\n Arr.each(this.elements, (checkbox) => {\n checkbox.updateFromGroup();\n });\n\n this.$emit('update:modelValue', this.tempValue);\n },\n\n isChecked(value)\n {\n return Arr.has(this.tempValue, value);\n }\n\n },\n\n render()\n {\n let classList = [\n 'n-checkbox-group',\n 'n-checkbox-group--' + this.size,\n 'n-checkbox-group--' + this.align,\n ];\n\n return (\n <div class={classList}>\n {this.$slots.default()}\n </div>\n );\n }\n\n}\n","import Vue from \"vue\";\n\nimport Checkbox from './src/checkbox/checkbox';\nimport CheckboxGroup from './src/checkbox-group/checkbox-group';\n\nexport default function (App) {\n App.component(Checkbox.name, Checkbox);\n App.component(CheckboxGroup.name, CheckboxGroup);\n}","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['div'] = Locale.trans('div');\n\nglobal.NanoBuilderIndexies['div'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['div']['props'] = {\n classList: {\n type: 'String'\n },\n};","import { Arr, Obj, Any } from \"@kizmann/pico-js\";\nimport { h, resolveComponent } from \"vue\";\n\nexport default {\n\n name: 'NConfig',\n\n props: {\n\n modelValue: {\n default()\n {\n return {};\n },\n type: [Object]\n },\n\n config: {\n default()\n {\n return {};\n },\n type: [Object]\n },\n\n scope: {\n default()\n {\n return this;\n },\n type: [Object]\n }\n\n },\n\n data()\n {\n return {\n tempValue: this.modelValue\n };\n },\n\n methods: {\n\n solveAwait(value)\n {\n if ( Any.isEmpty(value) ) {\n return true;\n }\n\n if ( Any.isString(value) && value.match(/\\$\\$scope/) ) {\n return Obj.has({ $$scope: this.scope }, value);\n }\n\n if ( Any.isString(value) && value.match(/\\$\\$value/) ) {\n return Obj.has({ $$value: this.tempValue }, value);\n }\n\n return false;\n },\n\n solveValue(value, ...args)\n {\n if ( Any.isFunction(value) ) {\n return value.apply(this.scope, [this.tempValue, ...args]);\n }\n\n if ( Any.isString(value) && value.match(/^\\$\\$scope/) ) {\n return Obj.get({ $$scope: this.scope }, value);\n }\n\n if ( Any.isString(value) && value.match(/^\\$\\$value/) ) {\n return Obj.get({ $$value: this.tempValue }, value);\n }\n\n return value;\n },\n\n solveEvent(value)\n {\n let scope = Obj.assign(this.scope, {\n $configRefs: this.$refs\n });\n\n if ( Any.isFunction(value) ) {\n return (...args) => value.apply(scope, args);\n }\n\n return value;\n },\n\n solveContent(value, ...args)\n {\n if ( Any.isFunction(value) ) {\n return value.apply(this.scope, [this.$render, this.tempValue, ...args]);\n }\n\n return value;\n },\n\n prepareValue(veModel)\n {\n if ( ! veModel.path ) {\n return veModel.fallback;\n }\n\n if ( ! Obj.has(this.tempValue, veModel.path) ) {\n this.deepSet(this.tempValue, veModel.path, veModel.fallback);\n }\n\n return Obj.get(this.tempValue, veModel.path);\n },\n\n inputClosure(veModel, closure = null)\n {\n if ( ! veModel.path ) {\n return () => null;\n }\n\n return (value) => {\n\n if ( closure ) {\n closure(value, this.tempValue);\n }\n\n this.deepSet(this.tempValue, veModel.path, value);\n };\n },\n\n deepSet(obj, keys, val)\n {\n keys = (typeof keys === 'string') ?\n keys.split('.') : keys;\n\n let key = keys.shift();\n\n if ( obj[key] === undefined || obj[key] === null ) {\n Obj.set(obj, key, {});\n }\n\n if ( keys.length === 0 ) {\n return Obj.set(obj, key, val);\n }\n\n return this.deepSet(obj[key], keys, val);\n }\n\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue ) {\n this.tempValue = value;\n }\n }\n\n },\n\n renderLayer(source)\n {\n if ( ! Any.isPlain(source) ) {\n return source;\n }\n\n return Arr.each(source, (setup, component) => {\n\n component = component.replace(/:.*?$/, '');\n\n // Set setup defaults\n setup = Obj.assign({\n vIf: true, vShow: true, vAwait: null, class: null, $on: {}, $props: {}, $attrs: {}\n }, setup);\n\n if ( ! this.solveAwait(setup.vAwait) ) {\n return null;\n }\n\n if ( ! this.solveValue(setup.vIf) ) {\n return null;\n }\n\n if ( ! this.solveValue(setup.vShow) ) {\n setup.style = { display: 'none' };\n }\n\n // Build default model\n let veModel = Obj.assign({\n prop: 'modelValue', fallback: null\n }, setup.model);\n\n // Delete model from setup\n delete setup.model;\n\n // Normalize props\n setup.$props = this.solveValue(setup.$props);\n\n // Normalize class\n setup.class = this.solveValue(setup.class);\n\n // Solve props\n Obj.map(setup.$props, (value) => this.solveValue(value));\n\n // Normalize attrs\n setup.$attrs = this.solveValue(setup.$attrs);\n\n // Solve attrs\n Obj.map(setup.$attrs, (value) => this.solveValue(value));\n\n // Solve events\n Obj.map(setup.$on, (value) => this.solveEvent(value));\n\n if ( veModel.path ) {\n\n // Override input event\n setup['onUpdate:modelValue'] = this.inputClosure(veModel, setup.$on.input);\n\n // Set prop in value or get fallback\n setup.$props[veModel.prop] = this.prepareValue(veModel);\n }\n\n Obj.assign(setup, setup.$props);\n delete setup.$props;\n\n Obj.assign(setup, setup.$attrs);\n delete setup.$attrs;\n\n Obj.assign(setup, setup.$on);\n delete setup.$on;\n\n let content = setup.content;\n delete setup.content;\n\n delete setup.vIf;\n delete setup.vShow;\n delete setup.vAwait;\n\n // Solve content if is functional\n let slots = this.solveContent(content, setup);\n\n let domtypes = [\n 'div', 'span', 'a'\n ];\n\n let resolved = component;\n\n if ( ! Arr.has(domtypes, resolved) ) {\n resolved = resolveComponent(component);\n }\n\n return h(resolved, setup, this.ctor('renderLayer')(slots));\n });\n },\n\n render()\n {\n return this.ctor('renderLayer')(this.config)[0];\n }\n\n}","import { Arr, Obj, Str, Any } from \"@kizmann/pico-js\";\nimport { h, resolveComponent } from \"vue\";\n\nexport default {\n\n name: 'NConfigNext',\n\n props: {\n\n modelValue: {\n default()\n {\n return {};\n },\n type: [Object]\n },\n\n extraValue: {\n default()\n {\n return null;\n },\n type: [Object]\n },\n\n config: {\n default()\n {\n return {};\n },\n type: [Object]\n },\n\n scope: {\n default()\n {\n return {};\n },\n type: [Object]\n }\n\n },\n\n data()\n {\n return {\n tempValue: this.modelValue, sempValue: this.extraValue || this.modelValue\n };\n },\n\n watch: {\n\n modelValue: function (value) {\n if ( value !== this.tempValue ) {\n this.tempValue = value;\n }\n },\n\n extraValue: function (value) {\n if ( value !== this.sempValue ) {\n this.sempValue = value;\n }\n }\n\n },\n\n methods: {\n\n getString(value)\n {\n let final = value.replace(/^@/, '')\n .replace(/^\\\\@/, '@');\n\n\n\n if ( value.match(/^@/) ) {\n return this.trans(final);\n }\n\n return final;\n },\n\n propAwait(value)\n {\n if ( Any.isEmpty(value) ) {\n return true;\n }\n\n if ( ! Any.isArray(value) ) {\n value = [value];\n }\n\n let result = Arr.each(value, (state) => {\n return this.getState(state, true);\n });\n\n return ! Arr.has(result, false);\n },\n\n propExists(value)\n {\n if ( Any.isEmpty(value) ) {\n return true;\n }\n\n if ( ! Any.isArray(value) ) {\n value = [value];\n }\n\n let result = Arr.each(value, (state) => {\n return this.getState(state, false);\n });\n\n return ! Arr.has(result, false);\n },\n\n getState(value, exists = true)\n {\n if ( Any.isFunction(value) ) {\n return !! this.solveInput(value);\n }\n\n if ( ! Any.isString(value) ) {\n return !! value;\n }\n\n if ( ! value.match(/(\\$scope|\\$model|\\$global)/) ) {\n return !! value;\n }\n\n let sources = {\n $scope: this.scope, $model: this.tempValue, $extra: this.sempValue, $global: window\n };\n\n if ( exists ) {\n return Obj.get(sources, value, undefined) === undefined;\n }\n\n return !! Obj.get(sources, value);\n },\n\n toPropKey(value)\n {\n let splits = value.replace(/^!/, '').split('-');\n\n value = Arr.each(splits, (split) => {\n return Str.ucfirst(split);\n });\n\n return Str.lcfirst(value.join(''));\n },\n\n toEventKey(value)\n {\n if ( ! value.match(/^on/) ) {\n value = 'on-' + value;\n }\n\n let splits = value.split('-');\n\n value = Arr.each(splits, (split) => {\n return Str.ucfirst(split);\n });\n\n return Str.lcfirst(value.join(''));\n },\n\n solveInput(cb, fallback)\n {\n return cb.call(this.scope, this.tempValue, fallback);\n },\n\n solveContext(cb)\n {\n if ( ! Any.isFunction(cb) ) {\n return () => console.error('Raw suffix (!) only allowed on functions');\n }\n\n return (...args) => cb.call(this.scope, ...args);\n },\n\n getProp(key, value)\n {\n if ( key.match(/^!/) ) {\n return this.solveContext(value);\n }\n\n if ( Any.isFunction(value) ) {\n return this.solveInput(value);\n }\n\n if ( ! Any.isString(value) ) {\n return value;\n }\n\n if ( ! value.match(/(\\$scope|\\$model|\\$global)/) ) {\n return this.getString(value);\n }\n\n let sources = {\n $scope: this.scope, $model: this.tempValue, $extra: this.sempValue, $global: window\n };\n\n let result = Obj.get(sources, value.replace(/^!+/, ''));\n\n if ( value.match(/^!!\\$/) ) {\n result = Any.isEmpty(result);\n }\n\n if ( value.match(/^!\\$/) ) {\n result = Any.isEmpty(result);\n }\n\n return result;\n },\n\n getInput(prop, fallback)\n {\n if ( Any.isFunction(prop) ) {\n return this.solveInput(prop, fallback);\n }\n\n let sources = {\n $scope: this.scope, $model: this.tempValue, $extra: this.sempValue, $global: window\n };\n\n if ( ! Any.isNull(fallback) && Obj.get(sources, prop, -1337) === -1337 ) {\n Obj.set(sources, prop, fallback);\n }\n\n return Obj.get(sources, prop);\n },\n\n setInput(prop, value)\n {\n if ( Any.isFunction(prop) ) {\n return console.error('NConfigNew: Bind with function is not allowed!');\n }\n\n let sources = {\n $scope: this.scope, $model: this.tempValue, $extra: this.sempValue, $global: window\n };\n\n Obj.set(sources, prop, value);\n }\n\n },\n\n renderSetup(setup, alias)\n {\n if ( ! Any.isPlain(setup) ) {\n return setup;\n }\n\n if ( ! this.propExists(setup['vIf']) ) {\n return null;\n }\n\n if ( ! this.propAwait(setup['vAwait']) ) {\n return null;\n }\n\n let defaults = {\n binds: {}, props: {}, events: {}, content: {}\n };\n\n let defaultsBind = {\n value: '', fallback: null\n };\n\n setup = Obj.assign(defaults, setup);\n\n let binds = {};\n\n Obj.each(setup['binds'], (value, key) => {\n\n if ( Any.isString(value) ) {\n value = { value: value };\n }\n\n binds[key] = Obj.assign(defaultsBind, value);\n });\n\n let events = {};\n\n Obj.each(setup['events'], (value, key) => {\n events[this.toEventKey(key)] = this.solveContext(value);\n });\n\n let props = {};\n\n Obj.each(setup['props'], (value, key) => {\n props[this.toPropKey(key)] = this.getProp(key, value);\n });\n\n props = Obj.assign(props, events);\n\n Obj.each(binds, (value, key) => {\n\n let updateKey = 'onUpdate:' + key;\n\n props[this.toEventKey(updateKey)] = (input) => {\n this.setInput(value.value, input);\n };\n\n props[this.toPropKey(key)] = this.getInput(value.value,\n value.fallback);\n });\n\n let component = alias.replace(/:.*?$/, '');\n\n if ( !Arr.has(['div', 'p'], component) ) {\n component = resolveComponent(component);\n }\n\n if ( Any.isEmpty(component) ) {\n return null;\n }\n\n if ( !this.propExists(setup['vShow']) ) {\n props.style = \"display: none;\";\n }\n\n let render = () => Arr.each(setup.content, (value, key) => {\n return this.ctor('renderSetup')(value, key);\n });\n\n if ( Any.isFunction(setup.content) ) {\n render = () => setup.content.apply(this.scope);\n }\n\n if ( Any.isString(setup.content) ) {\n render = () => this.getString(setup.content);\n }\n\n return h(component, props, { default: render });\n },\n\n render()\n {\n return Arr.each(this.config, (value, key) => this.ctor('renderSetup')(value, key));\n }\n\n}","import { Arr, Dom, Any, Locale, Obj, UUID, Num } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderPropType = {\n 'root': Locale.trans('Root'),\n 'binds': Locale.trans('Bind'),\n 'props': Locale.trans('Property'),\n 'attrs': Locale.trans('Attribute'),\n 'on': Locale.trans('Event'),\n};\n\nglobal.NanoBuilderPropCode = {\n 'string': Locale.trans('String'),\n 'number': Locale.trans('Number'),\n 'boolean': Locale.trans('Boolean'),\n 'object': Locale.trans('Object'),\n 'function': Locale.trans('Function'),\n};\n\nglobal.NanoBuilderProps = {\n classList: {\n for: ['root', 'attrs', 'props'], type: 'String'\n },\n vIf: {\n for: ['root'], type: 'String'\n },\n vShow: {\n for: ['root'], type: 'String'\n },\n};\n\nglobal.NanoBuilderTypes = {\n //\n};\n\nglobal.NanoBuilderIndexies = {\n //\n};\n\n// DOM elements\nrequire('./prototypes/html/nano');\nrequire('./prototypes/html/div');\nrequire('./prototypes/html/span');\n\n// Nano elements\nrequire('./prototypes/button/n-button');\nrequire('./prototypes/button/n-button-group');\nrequire('./prototypes/cascader/n-cascader');\nrequire('./prototypes/checkbox/n-checkbox');\nrequire('./prototypes/checkbox/n-checkbox-group');\nrequire('./prototypes/confirm/n-confirm');\nrequire('./prototypes/datepicker/n-datepicker');\nrequire('./prototypes/datetimepicker/n-datetimepicker');\nrequire('./prototypes/durationpicker/n-durationpicker');\nrequire('./prototypes/empty/n-empty');\nrequire('./prototypes/form/n-form');\nrequire('./prototypes/form/n-form-group');\nrequire('./prototypes/form/n-form-item');\nrequire('./prototypes/input/n-input');\nrequire('./prototypes/input-number/n-input-number');\nrequire('./prototypes/loader/n-loader');\nrequire('./prototypes/modal/n-modal');\nrequire('./prototypes/radio/n-radio');\nrequire('./prototypes/radio/n-radio-group');\nrequire('./prototypes/rating/n-rating');\nrequire('./prototypes/select/n-select');\nrequire('./prototypes/slider/n-slider');\nrequire('./prototypes/switch/n-switch');\nrequire('./prototypes/table/n-table');\nrequire('./prototypes/table/n-table-column');\nrequire('./prototypes/tabs/n-tabs');\nrequire('./prototypes/tabs/n-tabs-item');\nrequire('./prototypes/tags/n-tags');\nrequire('./prototypes/tags/n-tags-item');\nrequire('./prototypes/timepicker/n-timepicker');\nrequire('./prototypes/transfer/n-transfer');\n\nexport default {\n\n name: 'NBuilder',\n\n props: {\n\n modelValue: {\n default()\n {\n return {};\n },\n type: [Object]\n },\n\n scope: {\n default()\n {\n return {};\n },\n type: [Object]\n },\n\n model: {\n default()\n {\n return {};\n },\n type: [Object]\n },\n\n renderDemo: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n renderExport: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n },\n\n data()\n {\n return {\n init: false, demo: false, collapse: [], safevar: this.normalizeModel(this.modelValue)\n };\n },\n\n watch: {\n modelValue: function () {\n this.safevar = this.normalizeModel(this.modelValue)\n }\n },\n\n mounted()\n {\n this.init = true;\n },\n\n methods: {\n\n exportJson(value)\n {\n return JSON.stringify(Obj.clone(value), null, 4).replace(/\"!FUNC:(.*?):FUNC!\"/g, (matches) => {\n return matches.replace(/^\"!FUNC:/, '').replace(/:FUNC!\"$/, '').replace(/\\\\\"/, '\"').replace(/\\\\n/g, \"\\n\");\n });\n },\n\n exportExecutable(value)\n {\n return new Function(`return ${this.exportJson(value)};`)();\n },\n\n normalizeModel(model)\n {\n let result = {};\n\n Obj.each(model, (value, key) => {\n result[key] = Obj.assign(this.normalizeChild(value), {\n order: (Any.vals(result).length + 1) * 100\n });\n });\n\n return result;\n },\n\n normalizeChild(child)\n {\n let result = this.applyProps(null, {\n ...Obj.except(child, ['content']), content: {}, builder: this.buildProps(child),\n });\n\n if ( Any.isArray(child.content) ) {\n child.content = Arr.first(child.content);\n }\n\n if ( ! Any.isPlain(child.content) && ! Any.isString(child.content) ) {\n child.content = {};\n }\n\n result.builder[\"null\"] = {\n type: typeof child.content\n }\n\n if (Any.isPlain(child.content)) {\n Obj.each(child.content || {}, (value, key) => {\n\n if ( ! key.match(':') ) {\n key += ':' + UUID();\n }\n\n result['content'][key] = Obj.assign(this.normalizeChild(value), {\n order: (Any.vals(result['content']).length + 1) * 100\n });\n });\n } else {\n result.content = child.content;\n }\n\n return result;\n },\n\n getOriginalValue(prop)\n {\n let safevalue = prop.value;\n\n if ( typeof prop.value === 'function' ) {\n safevalue = btoa(\"!FUNC:\" + prop.value.toString() + \":FUNC!\");\n }\n\n return safevalue;\n },\n\n getSafeValue(prop)\n {\n let safevalue = '';\n\n if ( typeof prop.value === 'string' ) {\n safevalue = Any.string(prop.value);\n }\n\n if ( typeof prop.value === 'boolean' ) {\n safevalue = Any.string(prop.value);\n }\n\n if ( typeof prop.value === 'number' ) {\n safevalue = Any.string(prop.value);\n }\n\n if ( typeof prop.value === 'object' ) {\n safevalue = JSON.stringify(prop.value);\n }\n\n if ( typeof prop.value === 'function' ) {\n safevalue = btoa(\"!FUNC:\" + prop.value.toString() + \":FUNC!\");\n }\n\n return safevalue;\n },\n\n getRealValue(prop)\n {\n let realvalue = '';\n\n if ( prop.code === 'string' ) {\n realvalue = Any.string(prop.value);\n }\n\n if ( prop.code === 'boolean' ) {\n realvalue = Any.boolean(prop.value);\n }\n\n if ( prop.code === 'number' ) {\n realvalue = Any.number(prop.value, 0);\n }\n\n if ( prop.code === 'object' ) {\n realvalue = JSON.parse(prop.value);\n }\n\n if ( prop.code === 'function' ) {\n realvalue = atob(prop.original);\n }\n\n return realvalue;\n },\n\n changeElement(key, update)\n {\n if ( Any.isEmpty(update) ) {\n return;\n }\n\n let newKey = key.replace(/^(.*?)([^\\.]+):([^\\.]+)$/, `$1${update}:$3`);\n\n let value = Obj.get(this, key, {});\n\n Obj.unset(this, key);\n Obj.set(this, newKey, value);\n\n this.collapse = Arr.each(this.collapse, (k) => {\n return k.replace(key, newKey);\n });\n },\n\n changeAlias(key, update)\n {\n if ( Any.isEmpty(update) ) {\n return;\n }\n\n let newKey = key.replace(/^(.*?)([^\\.]+):([^\\.]+)$/, `$1$2:${update}`);\n\n let value = Obj.get(this, key, {});\n\n Obj.unset(this, key);\n Obj.set(this, newKey, value);\n\n this.collapse = Arr.each(this.collapse, (k) => {\n return k.replace(key, newKey);\n });\n },\n\n changeType(key, type)\n {\n let value = Obj.get(this, key, {});\n\n let original = Obj.get(value, 'builder.null.type');\n\n if ( type === 'object' ) {\n value.content = {};\n }\n\n if ( type === 'string' ) {\n value.content = '';\n }\n\n Obj.set(value, 'builder.null.type', typeof value.content);\n },\n\n applyProps(key = null, value = {})\n {\n if ( ! Any.isEmpty(key) ) {\n value = Obj.get(this, key, {});\n }\n\n let reset = [\n 'vIf', 'vShow', 'classList', 'vLocale', 'binds', 'attrs', 'props', 'on',\n ];\n\n Obj.each(reset, (prop) => {\n Obj.unset(value, prop);\n });\n\n Obj.each(value.builder || {}, (val) => {\n\n if ( Any.isEmpty(val.key) ) {\n return;\n }\n\n let bindValue = {\n value: val.value, fallback: null\n };\n\n if ( val.code === 'string' ) {\n bindValue.fallback = Any.string(val.fallback || '');\n }\n\n if ( val.code === 'boolean' ) {\n bindValue.fallback = Any.boolean(val.fallback || 'false');\n }\n\n if ( val.code === 'object' ) {\n bindValue.fallback = JSON.parse(val.fallback || '{}');\n }\n\n if ( val.type === 'binds' ) {\n return Obj.set(value, [val.type, val.key], bindValue);\n }\n\n let realvalue = '';\n\n try {\n realvalue = this.getRealValue(val);\n } catch (e) {\n if ( ! Any.isEmpty(val.value) ) {\n console.error('Invalid JSON: ' + val.value);\n }\n }\n\n if ( val.type === 'root' ) {\n return Obj.set(value, val.key, realvalue);\n }\n\n if ( val.type === 'attrs' ) {\n return Obj.set(value, [val.type, val.key], realvalue);\n }\n\n if ( val.type === 'props' ) {\n return Obj.set(value, [val.type, val.key], realvalue);\n }\n\n if ( val.type === 'on' ) {\n return Obj.set(value, [val.type, val.key], realvalue);\n }\n\n });\n\n if ( Any.isEmpty(key) ) {\n return value;\n }\n\n return Obj.set(this, key, value);\n },\n\n buildProps(el, key = null)\n {\n let builder = {};\n\n Obj.each(Obj.only(el, ['vIf', 'vShow', 'classList']), (value, sey) => {\n builder[UUID()] = {\n type: 'root', code: typeof value, key: sey, value: this.getSafeValue({ value }), fallback: null, original: this.getOriginalValue({ value })\n };\n });\n\n Obj.each(Obj.get(el, `binds`, {}), (value, sey) => {\n\n let result = {\n type: 'binds', code: typeof value, key: sey, fallback: null, original: this.getOriginalValue({ value })\n }\n\n if ( Any.isString(value) ) {\n result.value = this.getSafeValue({ value });\n }\n\n if ( Any.isObject(value) ) {\n Obj.assign(result, { value: this.getSafeValue(value), fallback: Obj.get(value, 'fallback', null) })\n }\n\n builder[UUID()] = result;\n });\n\n Obj.each(Obj.get(el, `props`, {}), (value, sey) => {\n builder[UUID()] = { type: 'props', code: typeof value, key: sey, value: this.getSafeValue({ value }), fallback: null, original: this.getOriginalValue({ value }) };\n });\n\n Obj.each(Obj.get(el, `attrs`, {}), (value, sey) => {\n builder[UUID()] = { type: 'attrs', code: typeof value, key: sey, value: this.getSafeValue({ value }), fallback: null, original: this.getOriginalValue({ value }) };\n });\n\n Obj.each(Obj.get(el, `on`, {}), (value, sey) => {\n builder[UUID()] = { type: 'on', code: typeof value, key: sey, value: this.getSafeValue({ value }), fallback: null, original: this.getOriginalValue({ value }) };\n });\n\n if ( Any.isEmpty(key) ) {\n return builder;\n }\n\n this.$nextTick(() => {\n Obj.set(this, `${key}.builder`, builder);\n });\n\n return builder;\n },\n\n addProp(key)\n {\n let value = Obj.get(this, `${key}.builder`, {});\n\n Obj.set(value, UUID(), {\n type: 'props', code: 'string', key: '', value: '', fallback: null\n });\n\n Obj.set(this, `${key}.builder`, value);\n },\n\n removeProp(key, prop)\n {\n Obj.unset(this, `${key}.builder.${prop}`);\n\n this.applyProps(key);\n },\n\n collapseElement(key)\n {\n Arr.toggle(this.collapse, key);\n },\n\n addElement(key)\n {\n let value = Obj.get(this, key, {});\n\n Obj.set(value, 'div:' + UUID(), {\n order: (Any.vals(value).length + 1) * 100, props: { modelValue: '$scope.list' }, content: {}\n });\n\n Obj.assign(this, key, value);\n },\n\n removeElement(key)\n {\n Obj.unset(this, key);\n },\n\n moveupElement(key)\n {\n let [el, childs] = [\n Obj.get(this, key), Obj.get(this, key.replace(/\\.[^.]+$/, ''))\n ];\n\n let close = Number.MIN_VALUE;\n\n Arr.each(childs, (sub) => {\n if ( sub.order < el.order ) close = Math.max(close, sub.order);\n });\n\n if ( close === Number.MIN_VALUE ) {\n return;\n }\n\n let replacement = Arr.find(childs, {\n order: close\n });\n\n Obj.assign(replacement, {\n order: el.order\n });\n\n Obj.assign(el, { order: close });\n },\n\n movedownElement(key)\n {\n let [el, childs] = [\n Obj.get(this, key), Obj.get(this, key.replace(/\\.[^.]+$/, ''))\n ];\n\n let close = Number.MAX_VALUE;\n\n Arr.each(childs, (sub) => {\n if ( sub.order > el.order ) close = Math.min(close, sub.order);\n });\n\n if ( close === Number.MAX_VALUE ) {\n return;\n }\n\n let replacement = Arr.find(childs, {\n order: close\n });\n\n Obj.assign(replacement, {\n order: el.order\n });\n\n Obj.assign(el, { order: close });\n },\n\n },\n\n renderTools(el, value, key)\n {\n let rootProps = {\n //\n };\n\n rootProps['onDblclick'] = () => {\n this.collapseElement(key);\n };\n\n let collapseProps = {\n href: 'javascript:void(0)',\n };\n\n collapseProps['onClick'] = () => {\n this.collapseElement(key);\n };\n\n let addProps = {\n href: 'javascript:void(0)',\n };\n\n addProps['onClick'] = () => {\n this.addElement(`${key}.content`);\n };\n\n let removeProps = {\n href: 'javascript:void(0)',\n };\n\n removeProps['onClick'] = () => {\n this.removeElement(key);\n };\n\n let moveupProps = {\n href: 'javascript:void(0)',\n };\n\n moveupProps['onClick'] = () => {\n this.moveupElement(key);\n };\n\n let movedownProps = {\n href: 'javascript:void(0)',\n };\n\n movedownProps['onClick'] = () => {\n this.movedownElement(key);\n };\n\n\n return (\n <div class=\"n-builder__tools\" {...rootProps}>\n <div class=\"n-builder__collapse\">\n <a {...collapseProps}><i class=\"fa fa-bars\"></i></a>\n </div>\n <div class=\"n-builder__name\">\n {key.replace(/^.*?([^\\.:]+):([^\\.:]+)$/, '$1')}<span>{key.replace(/^.*?([^\\.:]+):([^\\.:]+)$/, '$2')}</span>\n </div>\n <div class=\"n-builder__move\">\n <a {...moveupProps}><i class=\"fa fa-angle-up\"></i></a>\n <a {...movedownProps}><i class=\"fa fa-angle-down\"></i></a>\n </div>\n <div class=\"n-builder__add\">\n <a {...addProps}><i class=\"fa fa-plus\"></i></a>\n </div>\n <div class=\"n-builder__remove\">\n <a {...removeProps}><i class=\"fa fa-trash\"></i></a>\n </div>\n </div>\n );\n },\n\n renderProp(el, sub, key)\n {\n if ( sub === \"null\" ) {\n return null;\n }\n\n let group = key.replace(/^.*?([^\\.]+):([^\\.]+)$/, '$1')\n let value = Obj.get(this.$data, `${key}.builder.${sub}`, {});\n\n let props = Obj.clone(Obj.get(global.NanoBuilderIndexies, `${group}.props`, {}));\n\n props = Obj.assign({}, global.NanoBuilderProps, props);\n\n Obj.each(props, (prop, index) => {\n if ( ! Any.isEmpty(prop.for) && ! Arr.has(prop.for, value.type) ) {\n props = Obj.unset(props, index);\n }\n });\n\n let typeProps = {\n size: 'sm', options: global.NanoBuilderPropType\n };\n\n typeProps['onUpdate:modelValue'] = () => {\n this.$nextTick(() => this.applyProps(key));\n };\n\n let keyProps = {\n size: 'sm', allowCreate: true, options: props, optionsLabel: '$index'\n };\n\n keyProps['onUpdate:modelValue'] = () => {\n this.$nextTick(() => this.applyProps(key));\n };\n\n let codeProps = {\n size: 'sm', options: global.NanoBuilderPropCode\n };\n\n codeProps['onUpdate:modelValue'] = () => {\n this.$nextTick(() => this.applyProps(key));\n };\n\n let values = Obj.get(props, `${value.key}.options`, []);\n\n let valueInputProps = {\n size: 'sm', model: this.model, scope: this.scope\n };\n\n valueInputProps['onUpdate:modelValue'] = () => {\n this.$nextTick(() => this.applyProps(key));\n };\n\n let valueHtml = (\n <NReferencePicker vModel={value.value} {...valueInputProps} />\n );\n\n let fallbackProps = {\n size: 'sm', minRows: 1, autoRows: true\n };\n\n fallbackProps['onUpdate:modelValue'] = () => {\n this.$nextTick(() => this.applyProps(key));\n };\n\n let tooltipHtml = (\n <div class=\"n-builder_prop-text\">\n <p>{Obj.get(props, `${value.key}.desc`, '')}</p>\n </div>\n );\n\n return (\n <div class=\"n-builder_prop\">\n <div class=\"n-builder_prop-type\">\n <NSelect vModel={value.type} {...typeProps} />\n </div>\n <div class=\"n-builder_prop-key\">\n <NSelect vModel={value.key} {...keyProps} />\n </div>\n <div class=\"n-builder_prop-func\">\n <NSelect vModel={value.code} {...codeProps} />\n </div>\n <div class=\"n-builder_prop-value\">\n {valueHtml}\n </div>\n <div class=\"n-builder_prop-fallback\">\n <NInput vModel={value.fallback} {...fallbackProps} />\n </div>\n <div class=\"n-builder_prop-button\">\n <NButton size=\"sm\" type=\"danger\" onClick={() => this.removeProp(key, sub)}>Remove</NButton>\n </div>\n </div>\n );\n },\n\n renderProps(el, value, key)\n {\n if ( !Arr.has(this.collapse, key) ) {\n return null;\n }\n\n let elementProps = {\n options: global.NanoBuilderTypes, allowCreate: true, modelValue: key.replace(/^.*?([^\\.]+):([^\\.]+)$/, '$1'),\n };\n\n elementProps['onUpdate:modelValue'] = (value) => {\n this.changeElement(key, value);\n };\n\n let aliasProps = {\n modelValue: key.replace(/^.*?([^\\.]+):([^\\.]+)$/, '$2'),\n };\n\n aliasProps['onUpdate:modelValue'] = (value) => {\n this.changeAlias(key, value);\n };\n\n let plainProps = {\n modelValue: Obj.get(value, 'builder.null.type'),\n options: {\n 'object': this.trans('Object'),\n 'string': this.trans('String'),\n }\n };\n\n plainProps['onUpdate:modelValue'] = (value) => {\n this.changeType(key, value);\n };\n\n let addProps = {\n type: 'primary', size: 'sm', link: true\n };\n\n addProps['onClick'] = () => {\n this.addProp(key, value);\n };\n\n let props = Obj.get(value, `builder`);\n\n if ( ! Obj.has(value, 'builder') ) {\n props = this.buildProps(el, key, value);\n }\n\n return (\n <NForm class=\"n-builder__props\">\n <NFormItem class=\"n-builder__element-type\" label={this.trans('Type')}>\n <NSelect {...elementProps} />\n </NFormItem>\n <NFormItem class=\"n-builder__element-alias\" label={this.trans('Alias')}>\n <NInput {...aliasProps} />\n </NFormItem>\n <NFormItem class=\"n-builder__element-plain\" label={this.trans('Content')}>\n <NSelect {...plainProps}>{this.trans('Enable plain')}</NSelect>\n </NFormItem>\n <div class=\"n-builder__element-prop\">\n <NButton {...addProps}>Add property</NButton>\n </div>\n <div class=\"n-builder__element-list\">\n {Arr.each(props, (prop, sub) => this.ctor('renderProp')(el, sub, key))}\n </div>\n </NForm>\n );\n },\n\n renderElement(el, value, key)\n {\n let classList = [\n 'n-builder__element'\n ];\n\n if ( Arr.has(this.collapse, key) ) {\n classList.push('is-open');\n }\n\n let builderHtml = () => {\n return this.ctor('renderBuilder')(value.content || {}, `${key}.content`);\n };\n\n if ( value.builder[\"null\"][\"type\"] === 'string' ) {\n builderHtml = () => {\n return (<div><NInput vModel={value.content} /></div>);\n };\n }\n\n return (\n <div class={classList}>\n {this.ctor('renderTools')(el, value, key)}\n {this.ctor('renderProps')(el, value, key)}\n {builderHtml()}\n </div>\n );\n },\n\n renderBuilder(el, key)\n {\n if ( Any.isEmpty(el) ) {\n return null;\n }\n\n let items = Arr.each(Obj.sort(Obj.clone(el), 'order'), (v) => {\n\n let args = [\n Obj.get(this.$data, key, {}),\n Obj.get(this.$data, [key, v._key], {}),\n `${key}.${v._key}`\n ];\n\n return this.ctor('renderElement')(...args);\n });\n\n return (\n <div class=\"n-builder__frame\">\n {items}\n </div>\n );\n },\n\n renderBody()\n {\n return (\n <div class=\"n-builder__body\">\n {this.ctor('renderBuilder')(this.safevar, 'safevar')}\n </div>\n );\n },\n\n renderHead()\n {\n let addProps = {\n type: 'primary'\n };\n\n addProps['onClick'] = () => {\n this.addElement('safevar');\n };\n\n let addHtml = (\n <div class=\"n-builder__head-add\">\n <NButton {...addProps}>{this.trans('Add root element')}</NButton>\n </div>\n );\n\n let demoProps = {\n type: 'primary'\n };\n\n demoProps['onClick'] = () => {\n this.demo = true;\n };\n\n let demoHtml = (\n <div class=\"n-builder__head-demo\">\n <NButton {...demoProps}>{this.trans('Render demo')}</NButton>\n </div>\n );\n\n return (\n <div class=\"n-builder__head\">\n {[addHtml, demoHtml]}\n </div>\n );\n },\n\n renderOutput()\n {\n return (\n <div class=\"n-builder__output\">\n <pre>{this.exportJson(this.safevar)}</pre>\n </div>\n );\n },\n\n renderDemo()\n {\n if ( ! this.renderDemo || ! this.demo ) {\n return null;\n }\n\n let renderFunction = this.$slots.default;\n\n if ( Any.isEmpty(renderFunction) ) {\n renderFunction = ({ render }) => render();\n }\n\n let modalProps = {\n width: '100%',\n height: '100%'\n };\n\n let configProps = {\n modelValue: this.model, scope: this.scope, config: this.exportExecutable(this.safevar)\n };\n\n let renderContent = () => {\n return ( <NConfigNext {...configProps} />);\n };\n\n return (\n <NModal vModel={this.demo} {...modalProps}>\n {renderFunction({ render: renderContent })}\n </NModal>\n );\n },\n\n render()\n {\n let classList = [\n 'n-builder',\n ];\n\n return (\n <div class={classList}>\n {[\n this.ctor('renderBody')(), this.ctor('renderHead')(), this.ctor('renderOutput')(), this.ctor('renderDemo')(),\n ]}\n </div>\n );\n }\n}\n","import { Arr, Obj, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NReferencePanel',\n\n props: {\n\n modelValue: {\n default()\n {\n return \"\";\n },\n type: [String]\n },\n\n model: {\n default()\n {\n return {};\n },\n type: [Object]\n },\n\n scope: {\n default()\n {\n return {};\n },\n type: [Object]\n },\n\n },\n\n data()\n {\n return {\n expanded: [], selected: null, modelTree: this.buildTree(this.model, '$model'), scopeTree: this.buildTree(this.scope, '$scope')\n };\n },\n\n methods: {\n\n buildTree(value, path = '')\n {\n let result = {};\n\n if ( ! Any.isPlain(value) && ! Obj.get(value, '__v_skip') ) {\n return result;\n }\n\n for(var key in value) {\n\n let [ref, val] = [\n `${path}.${key}`, value[key]\n ];\n\n if ( Any.isPlain(val) ) {\n val = this.buildTree(val, ref);\n }\n\n let type = typeof val;\n\n if ( Any.isArray(val) ) {\n type = 'array';\n }\n\n result[key] = {\n path: ref, value: val, type: type\n };\n\n }\n\n return result;\n },\n\n submitItem(value)\n {\n this.$emit('update:modelValue', value.path);\n },\n\n selectItem(value)\n {\n this.selected = value;\n },\n\n expandItem(value)\n {\n if ( value.type === 'object' ) {\n Arr.toggle(this.expanded, value.path);\n }\n }\n\n },\n\n renderLeaf(value, key)\n {\n let classList = [\n 'n-reference-panel__item',\n 'n-reference-panel__item--' + value.type,\n ];\n\n if ( Obj.get(this.selected, 'path') === value.path) {\n classList.push('is-selected');\n }\n\n if ( value.type === 'object' ) {\n classList.push('has-childs');\n }\n\n if ( Arr.has(this.expanded, value.path) ) {\n classList.push('is-expanded');\n }\n\n return (\n <div class={classList} onDblclick={() => this.submitItem(value)}>\n <div class=\"n-reference-panel__expand\" onClick={() => this.expandItem(value)}>\n <i class=\"fa fa-angle-right\"></i>\n </div>\n <div class=\"n-reference-panel__name\" onClick={() => this.selectItem(value)}>\n {key}\n </div>\n <div class=\"n-reference-panel__type\" onClick={() => this.selectItem(value)}>\n {value.type}\n </div>\n <div class=\"n-reference-panel__pick\" onClick={() => this.submitItem(value)}>\n <i class=\"fa fa-expand\"></i>\n </div>\n </div>\n );\n },\n\n renderTree(value, key)\n {\n let childItems = Arr.each(value.value, (value, key) => {\n return this.ctor('renderItem')(value, key);\n });\n\n let childHtml = (\n <div class=\"n-reference-panel__childs\">\n {childItems}\n </div>\n );\n\n if ( ! Arr.has(this.expanded, value.path) ) {\n childHtml = null;\n }\n\n return [this.ctor('renderLeaf')(value, key), childHtml];\n },\n\n renderItem(value, key)\n {\n if ( value.type === 'object' ) {\n return this.ctor('renderTree')(value, key);\n }\n\n return this.ctor('renderLeaf')(value, key);\n },\n\n renderModel()\n {\n let modelHtml = Arr.each(this.modelTree, (value, key) => {\n return this.ctor('renderItem')(value, key);\n });\n\n return (\n <div class=\"n-reference-panel__model\">\n {modelHtml}\n </div>\n );\n },\n\n renderScope()\n {\n let scopeHtml = Arr.each(this.scopeTree, (value, key) => {\n return this.ctor('renderItem')(value, key);\n });\n\n return (\n <div class=\"n-reference-panel__scope\">\n {scopeHtml}\n </div>\n );\n },\n\n render()\n {\n return (\n <div class=\"n-reference-panel\">\n {[this.ctor('renderModel')(), this.ctor('renderScope')()]}\n </div>\n );\n }\n\n}","import { Arr, Obj, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NReferencePicker',\n\n props: {\n\n modelValue: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n model: {\n default()\n {\n return {};\n },\n type: [Object]\n },\n\n scope: {\n default()\n {\n return {};\n },\n type: [Object]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n width: {\n default()\n {\n return '100%';\n },\n type: [String]\n },\n\n height: {\n default()\n {\n return '100%';\n },\n type: [String]\n },\n\n },\n\n data()\n {\n return {\n modal: false, tempValue: this.modelValue\n };\n },\n\n methods: {\n\n updateValue(value)\n {\n this.$emit('update:modelValue', this.tempValue = value);\n }\n\n },\n\n renderModal()\n {\n if ( ! this.modal ) {\n return null;\n }\n\n let modalProps = {\n modelValue: true,\n width: this.width,\n height: this.height,\n };\n\n modalProps['onClose'] = () => {\n this.modal = false;\n };\n\n let panelProps = {\n model: this.model, scope: this.scope,\n };\n\n panelProps['onUpdate:modelValue'] = (value) => {\n this.updateValue(value); this.modal = false;\n };\n\n let slots = {\n //\n };\n\n slots['body'] = () => (\n <NReferencePanel class=\"in-modal\" {...panelProps} />\n );\n\n return (\n <NModal {...modalProps} v-slots={slots} />\n );\n },\n\n renderInput()\n {\n let inputProps = {\n modelValue: this.tempValue,\n icon: 'fa fa-expand',\n size: this.size,\n };\n\n inputProps['onUpdate:modelValue'] = (value) => {\n this.updateValue(value);\n };\n\n inputProps['onBlur'] = (e) => {\n this.$emit('onBlur', e);\n };\n\n inputProps['onIconClick'] = () => {\n this.modal = true;\n };\n\n return (\n <NInput {...inputProps} />\n );\n },\n\n render()\n {\n return (\n <div class=\"n-reference-picker\">\n {[this.ctor('renderInput')(), this.ctor('renderModal')()]}\n </div>\n );\n }\n\n}","import NConfig from \"./src/config/config\";\nimport NConfigNext from \"./src/config/config-next\";\nimport NBuilder from \"./src/builder/builder\";\nimport NRefrencePanel from \"./src/reference-panel/reference-panel\";\nimport NRefrencePicker from \"./src/reference-picker/reference-picker\";\n\nexport default function(App) {\n App.component(NConfig.name, NConfig);\n App.component(NConfigNext.name, NConfigNext);\n App.component(NBuilder.name, NBuilder);\n App.component(NRefrencePanel.name, NRefrencePanel);\n App.component(NRefrencePicker.name, NRefrencePicker);\n}\n","import { Obj, Locale } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NConfirm',\n\n props: {\n\n visible: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n listen: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n update: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n selector: {\n default()\n {\n return null;\n },\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n width: {\n default()\n {\n return 'auto';\n },\n type: [String]\n },\n\n position: {\n default()\n {\n return 'center-center';\n },\n type: [String]\n },\n\n closable: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n confirmText: {\n default()\n {\n return Locale.trans('Confirm');\n },\n type: [String]\n },\n\n abortText: {\n default()\n {\n return Locale.trans('Abort');\n },\n type: [String]\n },\n\n buttonSize: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n },\n\n watch: {\n\n visible()\n {\n if ( this.visible !== this.tempVisible ) {\n this.tempVisible = this.visible;\n }\n }\n\n },\n\n data()\n {\n return {\n tempVisible: this.visible\n };\n },\n\n methods: {\n\n abort(event)\n {\n this.$refs.modal.closeModal(true, 'self');\n this.$emit('abort');\n },\n\n confirm(event)\n {\n this.$refs.modal.closeModal(true, 'self');\n this.$emit('confirm');\n },\n\n eventInput(value, source)\n {\n if ( ! value && source !== 'self' ) {\n this.$emit('abort');\n }\n\n this.$emit('update:visible', this.tempVisible = value);\n }\n\n },\n\n renderIcon()\n {\n return (\n <div class=\"n-confirm__icon\">\n <span class={nano.Icons[this.type]}></span>\n </div>\n );\n },\n\n renderBody()\n {\n return (\n <div class=\"n-confirm__body\">\n { this.$slots.default && this.$slots.default() || this.trans('Are you sure?') }\n </div>\n );\n },\n\n renderAction()\n {\n let classList = [\n 'n-confirm__action'\n ];\n\n if ( window.WIN ) {\n classList.push('n-reverse');\n }\n\n return (\n <div class={classList}>\n <NButton size={this.buttonSize} type={this.type} link={true} onClick={this.abort}>\n { this.abortText }\n </NButton>\n <NButton size={this.buttonSize} type={this.type} link={false} onClick={this.confirm}>\n { this.confirmText }\n </NButton>\n </div>\n );\n },\n\n render()\n {\n let classList = [\n 'n-confirm',\n 'n-confirm--' + this.type,\n 'n-confirm--' + this.size\n ];\n\n let props = {\n type: 'default',\n selector: this.selector,\n listen: this.listen,\n update: this.update,\n width: this.width,\n position: this.position,\n closable: this.closable,\n modelValue: this.tempVisible,\n };\n\n // Override input listener\n props['onUpdate:modelValue'] = this.eventInput;\n\n let innerHtml = {\n raw: () => (\n <div class={classList}>\n { this.ctor('renderIcon')() }\n { this.ctor('renderBody')() }\n { this.ctor('renderAction')() }\n </div>\n )\n };\n\n return (\n <NModal ref=\"modal\" {...props}>\n { innerHtml }\n </NModal>\n );\n }\n\n}\n","import Confirm from './src/confirm/confirm';\n\nexport default function (App) {\n App.component(Confirm.name, Confirm);\n}\n","import { Arr, Obj, Any, Dom } from \"@kizmann/pico-js\";\n\nglobal.DEBUG_NVSCROLL = false;\n\nexport default {\n\n name: 'NVirtualscroller',\n\n inject: {\n\n NDraggable: {\n default: undefined\n }\n\n },\n\n model: {\n prop: 'items'\n },\n\n props: {\n\n items: {\n default()\n {\n return [];\n }\n },\n\n itemHeight: {\n default()\n {\n return 34;\n }\n },\n\n itemWidth: {\n default()\n {\n return 0;\n }\n },\n\n renderNode: {\n default()\n {\n return null;\n }\n },\n\n deathzone: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n overflowY: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n overflowX: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n offsetY: {\n default()\n {\n return 10;\n },\n type: [Number]\n },\n\n offsetX: {\n default()\n {\n return 10;\n },\n type: [Number]\n },\n\n threshold: {\n default()\n {\n return 1;\n },\n type: [Number]\n },\n\n framerate: {\n default()\n {\n return 65;\n },\n type: [Number]\n },\n\n useKeys: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n },\n\n data()\n {\n let state = {\n start: 0, end: 0, grid: 1\n };\n\n return {\n state, buffer: [], width: 0, height: 0, load: true\n };\n },\n\n watch: {\n\n 'items': function () {\n this.updateRender();\n }\n\n },\n\n beforeMount()\n {\n this.scrollTop = 0;\n },\n\n mounted()\n {\n\n this.bindAdaptScroll()\n },\n\n\n beforeUnmount()\n {\n this.unbindAdaptScroll()\n },\n\n methods: {\n\n bindAdaptScroll()\n {\n this.refreshScroll = setInterval(this.onScrollupdate,\n 1000 / this.framerate);\n },\n\n unbindAdaptScroll()\n {\n clearInterval(this.refreshScroll);\n },\n\n isIndexRendered(index)\n {\n if ( ! this.itemHeight ) {\n return true;\n }\n\n return this.state.start < index &&\n this.state.end > index;\n },\n\n scrollIntoView(index)\n {\n if ( ! this.$refs.scrollbar ) {\n return;\n }\n\n if ( index === -1 || index >= this.items.length ) {\n index = this.items.length;\n }\n\n if ( ! this.isIndexRendered(index) ) {\n return this.scrollToIndex(index);\n }\n\n let selector = `[data-index=\"${index}\"]`;\n\n this.$refs.scrollbar.scrollIntoView(selector);\n },\n\n scrollToIndex(index, delay = 0)\n {\n Any.delay(() => this.onScrollToIndex(index), delay);\n },\n\n onScrollToIndex(index)\n {\n if ( ! this.$refs.scrollbar ) {\n return;\n }\n\n let total = Math.ceil(this.items.length /\n this.state.grid);\n\n index = Math.floor(index / this.state.grid);\n\n if ( index === -1 || index >= total ) {\n index = total;\n }\n\n let targetTop = index * this.itemHeight;\n\n if ( this.scrollTop > targetTop ) {\n return this.scrollTo(0, targetTop);\n }\n\n targetTop = targetTop - this.height +\n this.itemHeight;\n\n this.scrollTo(0, targetTop);\n },\n\n scrollTo(x = 0, y = 0, delay = 0)\n {\n Any.delay(() => this.onScrollTo(x, y), delay);\n },\n\n onScrollTo(x = 0, y = 0)\n {\n if ( ! this.$refs.scrollbar ) {\n return;\n }\n\n this.$refs.scrollbar.scrollTo(x, y);\n },\n\n clearState()\n {\n this.state = { start: 0, end: 0 };\n },\n\n updateRender()\n {\n if ( ! this.$refs.scrollbar ) {\n return Any.delay(this.updateRender);\n }\n\n this.scrollTop = this.$refs.scrollbar.\n $refs.content.scrollTop;\n\n Any.async(this.refreshDriver);\n },\n\n onScrollupdate()\n {\n if ( ! this.threshold ) {\n return;\n }\n\n let scrollTop = this.$refs.scrollbar.\n $refs.content.scrollTop;\n\n if ( scrollTop === this.scrollTop ) {\n return;\n }\n\n this.scrollTop = scrollTop;\n\n let offset = this.$refs.scrollbar.$el.offsetHeight -\n this.$refs.scrollbar.$el.clientHeight;\n\n let isOutOfRange = scrollTop < 0 || scrollTop + this.height\n > this.$refs.inner.scrollHeight + offset;\n\n if ( isOutOfRange ) {\n return;\n }\n\n Any.async(this.refreshDriver);\n },\n\n onSizechange(height, width, el)\n {\n this.width = width;\n this.height = height;\n\n Any.async(this.refreshDriver);\n },\n\n\n refreshDriver(queue = true)\n {\n if ( Any.isEmpty(this.timer) ) {\n this.timer = Date.now();\n }\n\n if ( Date.now() - this.timer > 20 ) {\n queue = false;\n }\n\n clearTimeout(this.to);\n\n this.to = setTimeout(() => {\n this.refreshDriver(false);\n }, 25);\n\n if ( queue ) {\n return;\n }\n\n clearTimeout(this.to);\n\n let grid = 1;\n\n if ( this.itemWidth ) {\n grid = Math.floor((this.width - this.deathzone) /\n this.itemWidth) || 1;\n }\n\n if ( ! this.threshold || this.threshold > this.items.length ) {\n return this.state = { start: 0, end: 0, grid };\n }\n\n let total = Math.ceil(this.items.length\n / grid);\n\n let bufferItems = Math.round((this.height /\n this.itemHeight) * 0.6);\n\n let startItem = Math.round(this.scrollTop /\n this.itemHeight);\n\n let endItem = Math.round((this.scrollTop +\n this.height) / this.itemHeight);\n\n let start = (startItem - bufferItems);\n\n if ( start < 0 ) {\n start = 0;\n }\n\n let end = endItem + bufferItems;\n\n if ( end > total ) {\n end = total;\n }\n\n let state = { start, end, grid };\n\n if ( Any.isEqual(this.state, state) ) {\n return;\n }\n\n this.state = state;\n },\n\n },\n\n renderItem(passed)\n {\n passed.index = (passed.index +\n this.state.start);\n\n let topOffset = Math.round(this.itemHeight *\n passed.index);\n\n let renderFunction = this.$slots.default;\n\n if ( this.renderNode ) {\n renderFunction = this.renderNode;\n }\n\n let props = {\n 'data-index': passed.index\n };\n\n if ( this.NDraggable && this.useKeys ) {\n props.key = passed.value[this.NDraggable.uniqueProp];\n }\n\n let style = {};\n\n let isLazy = this.threshold && this.threshold <=\n this.items.length;\n\n if ( isLazy && this.state.grid === 1 ) {\n style.top = topOffset + 'px';\n }\n\n if ( this.itemHeight ) {\n style.height = this.itemHeight + 'px';\n }\n\n if ( this.state.grid !== 1 ) {\n style.width = this.itemWidth + 'px';\n }\n\n return (\n <div class=\"n-virtualscroller__item\" style={style} {...props}>\n { renderFunction(passed) }\n </div>\n );\n },\n\n renderRows()\n {\n let items = Arr.slice(this.items, this.state.start,\n this.state.end);\n\n if ( ! this.threshold || this.threshold > this.items.length ) {\n items = this.items;\n }\n\n return Arr.each(items, (value, index) => {\n return this.ctor('renderItem')({ value, index });\n });\n },\n\n renderGridRows(passed)\n {\n let topOffset = Math.round(this.itemHeight *\n (passed.index + this.state.start));\n\n let style = {};\n\n if ( this.threshold && this.threshold <= this.items.length ) {\n style.top = topOffset + 'px';\n }\n\n let counter = passed.index * this.state.start;\n\n return (\n <div data-row={passed.index} class=\"n-virtualscroller__row\" style={style}>\n {\n Arr.each(passed.chunk, (value, index) => {\n return this.ctor('renderItem')({\n value, index: index + counter\n });\n })\n }\n </div>\n );\n },\n\n renderGrid()\n {\n let chunks = Arr.chunk(this.items,\n this.state.grid);\n\n let items = Arr.slice(chunks, this.state.start,\n this.state.end);\n\n if ( ! this.threshold || this.threshold > this.items.length ) {\n items = chunks;\n }\n\n return Arr.each(items, (chunk, index) => {\n return this.ctor('renderGridRows')({ chunk, index });\n });\n },\n\n renderItems()\n {\n if ( ! this.items.length ) {\n return this.$slots.empty && this.$slots.empty() || null;\n }\n\n if ( this.state.grid === 1 ) {\n return this.ctor('renderRows')();\n }\n\n return this.ctor('renderGrid')();\n },\n\n render()\n {\n let classList = [\n 'n-virtualscroller'\n ];\n\n if ( this.threshold && this.threshold <= this.items.length ) {\n classList.push('n-virtualscroller--absolute');\n }\n\n let props = {\n overflowY: this.overflowY,\n overflowX: this.overflowX,\n offsetY: this.offsetY,\n offsetX: this.offsetX,\n onSizechange: this.onSizechange,\n };\n\n let style = {\n 'overflow-y': 'hidden'\n };\n\n let totalHeight = Math.ceil(this.items.length / this.state.grid) *\n this.itemHeight;\n\n if ( this.threshold && this.items.length ) {\n style.height = Math.ceil(totalHeight + this.offsetY) + 'px';\n }\n\n return (\n <NScrollbar class={classList} ref=\"scrollbar\" {...props}>\n <div ref=\"inner\" class=\"n-virtualscroller__inner\" style={style}>\n { this.ctor('renderItems')() }\n </div>\n </NScrollbar>\n );\n }\n\n}\n","import Virtualscroller from './src/virtualscroller/virtualscroller.beta';\n\nexport default function (App) {\n App.component(Virtualscroller.name, Virtualscroller);\n}","import { Arr, Str, Now, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NDatepickerPanel',\n\n props: {\n\n modelValue: {\n default()\n {\n return null;\n }\n },\n\n clearValue: {\n default()\n {\n return null;\n }\n },\n\n arrive: {\n default()\n {\n return null;\n }\n },\n\n clearArrive: {\n default()\n {\n return null;\n }\n },\n\n depart: {\n default()\n {\n return null;\n }\n },\n\n clearDepart: {\n default()\n {\n return null;\n }\n },\n\n minDate: {\n default()\n {\n return null;\n }\n },\n\n maxDate: {\n default()\n {\n return null;\n }\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n range: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n monthPanels: {\n default()\n {\n return 1;\n },\n type: [Number]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n format: {\n default()\n {\n return 'YYYY-MM-DD HH:mm:ss';\n },\n type: [String]\n },\n\n weekdays: {\n default()\n {\n return [\n 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su',\n ];\n },\n type: [Array]\n },\n\n months: {\n default()\n {\n return [\n 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', \n 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec',\n ]\n },\n type: [Array]\n }\n\n },\n\n computed: {\n\n yearsGrid()\n {\n return this.tempCache.getYears();\n },\n\n monthsGrid()\n {\n return this.tempCache.getMonths();\n }\n\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue.format(this.format) ) {\n this.tempValue = Now.make(value);\n }\n },\n\n arrive(value)\n {\n if ( value !== this.tempArrive.format(this.format) ) {\n this.tempArrive = Now.make(value);\n }\n },\n\n depart(value)\n {\n if ( value !== this.tempDepart.format(this.format) ) {\n this.tempDepart = Now.make(value);\n }\n },\n\n },\n\n data()\n {\n return {\n tempView: 'date',\n tempRanger: null,\n cacheArrive: null,\n cacheDepart: null,\n tempValue: Now.make(this.modelValue, this.format),\n tempCache: Now.make(this.modelValue, this.format),\n tempArrive: Now.make(this.arrive),\n tempDepart: Now.make(this.depart),\n }\n },\n\n methods: {\n\n gotoDate()\n {\n this.tempView = 'date';\n },\n\n gotoMonth()\n {\n this.tempView = 'month';\n },\n\n gotoYear()\n {\n this.tempView = 'year';\n },\n\n patchDate(now)\n {\n if ( Any.isString(now) ) {\n now = Now.make(now);\n }\n\n if ( Any.isEmpty(this.modelValue) ) {\n now.resetTime();\n } else {\n now.applyTime(this.tempValue);\n }\n\n // Copy now to cache\n this.tempCache = now.clone();\n\n // Copy now to value\n this.tempValue = now.clone();\n\n this.$emit('update:modelValue', \n this.tempValue.format(this.format));\n },\n\n patchMonth(now)\n {\n if ( Any.isString(now) ) {\n now = Now.make(now);\n }\n\n this.tempCache = now.clone();\n\n this.gotoDate();\n },\n\n printRange(now)\n {\n this.tempRanger = now.clone();\n },\n\n patchYear(now)\n {\n if ( Any.isString(now) ) {\n now = Now.make(now);\n }\n\n this.tempCache = now.clone();\n\n this.gotoMonth();\n },\n\n patchRange(now)\n {\n if ( this.cacheArrive && ! this.cacheDepart ) {\n this.cacheDepart = now.clone();\n }\n\n if ( ! this.cacheArrive && ! this.cacheDepart ) {\n this.cacheArrive = now.clone();\n }\n\n if ( ! this.cacheArrive || ! this.cacheDepart ) {\n return;\n }\n\n this.tempArrive = this.cacheArrive.clone();\n this.tempDepart = this.cacheDepart.clone();\n\n this.$emit('update:arrive', \n this.tempArrive.format(this.format));\n\n this.$emit('update:depart', \n this.tempDepart.format(this.format));\n\n this.cacheArrive = null;\n this.cacheDepart = null;\n\n this.$emit('rangeSelected', [\n this.tempArrive.format(this.format),\n this.tempDepart.format(this.format)\n ]);\n },\n\n },\n\n renderToolbarPrev(closure)\n {\n let props = {\n type: this.type,\n link: true,\n icon: nano.Icons.angleLeft,\n onClick: closure\n };\n\n return (<NButton {...props}></NButton>);\n },\n\n renderToolbarNext(closure)\n {\n let props = {\n type: this.type,\n link: true,\n icon: nano.Icons.angleRight,\n onClick: closure\n };\n\n return (<NButton {...props}></NButton>);\n },\n\n renderToolbarMonth()\n {\n let props = {\n onClick: this.gotoMonth\n };\n\n let monthsHtml = [\n this.months[this.tempCache.month()]\n ];\n\n let month = this.tempCache.clone()\n .addMonths(this.monthPanels - 1);\n\n if ( month.month() !== this.tempCache.month() ) {\n monthsHtml.push(this.months[month.month()]);\n }\n\n return (\n <span class=\"n-datepicker-panel__month\" {...props}>\n { monthsHtml.join(' - ') }\n </span>\n );\n },\n\n renderToolbarYear()\n {\n let props = {\n onClick: this.gotoYear\n };\n\n let yearsHtml = [\n this.tempCache.year()\n ];\n\n let month = this.tempCache.clone()\n .addMonths(this.monthPanels - 1);\n\n if ( month.year() !== this.tempCache.year() ) {\n yearsHtml.push(month.year());\n }\n\n return (\n <span class=\"n-datepicker-panel__year\" {...props}>\n { yearsHtml.join(' - ') }\n </span>\n );\n },\n\n renderToolbar({ prev, next })\n {\n return (\n <div class=\"n-datepicker-panel__toolbar\">\n <div class=\"n-datepicker-panel__display\">\n { this.ctor('renderToolbarMonth')() }\n { this.ctor('renderToolbarYear')() }\n </div>\n <div class=\"n-datepicker-panel__prev\">\n { this.ctor('renderToolbarPrev')(prev) }\n </div>\n <div class=\"n-datepicker-panel__next\">\n { this.ctor('renderToolbarNext')(next) }\n </div>\n </div>\n );\n },\n\n renderDateItem(now, month)\n {\n let classList = [\n 'n-datepicker-panel__day'\n ];\n\n if ( now.equalDate() ) {\n classList.push('n-today');\n }\n\n let isSelected = this.tempValue.valid() && \n now.equalDate(this.tempValue);\n\n if ( isSelected ) {\n classList.push('n-selected');\n }\n\n if ( now.month() === month.month() ) {\n classList.push('n-current');\n }\n\n let isNotBeforeMin = ! this.minDate || \n now.after(this.minDate) || now.equalDate(this.minDate);\n\n let isNotAfterMax = ! this.maxDate || \n now.before(this.maxDate) || now.equalDate(this.maxDate);\n\n if ( ! isNotBeforeMin || ! isNotAfterMax ) {\n classList.push('n-disabled');\n }\n\n let props = {};\n\n if ( isNotBeforeMin && isNotAfterMax ) {\n props.onClick = () => this.patchDate(now);\n }\n\n return (\n <div class={classList} {...props}>\n <span>{ now.format('DD') }</span>\n </div>\n );\n },\n\n renderRangeDateItem(now, month)\n {\n let classList = [\n 'n-datepicker-panel__day'\n ];\n\n if ( now.equalDate('now') ) {\n classList.push('n-today');\n }\n\n if ( now.month() === month.month() ) {\n classList.push('n-current');\n }\n\n let viewMode = 0;\n\n if ( !! this.cacheArrive ) {\n viewMode++;\n }\n\n if ( !! this.cacheDepart ) {\n viewMode++;\n }\n\n let isTempValid = this.tempArrive.valid() && \n this.tempDepart.valid();\n\n if ( viewMode === 0 && isTempValid ) {\n\n if ( now.between(this.tempArrive, this.tempDepart) ) {\n classList.push('n-between');\n classList.push('n-selected');\n }\n\n let arriveFirst = this.tempArrive.before(this.tempDepart);\n\n if ( now.equalDate(this.tempArrive) ) {\n classList.push(arriveFirst ? 'n-arrive' : 'n-depart');\n classList.push('n-selected');\n }\n\n if ( now.equalDate(this.tempDepart) ) {\n classList.push(arriveFirst ? 'n-depart' : 'n-arrive');\n classList.push('n-selected');\n }\n\n }\n\n if ( viewMode === 1 && this.cacheArrive ) {\n\n if ( now.between(this.cacheArrive, this.tempRanger) ) {\n classList.push('n-between');\n }\n\n let arriveFirst = this.cacheArrive.before(this.tempRanger);\n\n if ( now.equalDate(this.cacheArrive) ) {\n classList.push(arriveFirst ? 'n-arrive' : 'n-depart');\n }\n\n if ( now.equalDate(this.tempRanger) ) {\n classList.push(arriveFirst ? 'n-depart' : 'n-arrive');\n }\n\n }\n\n let isNotBeforeMin = ! this.minDate || \n now.after(this.minDate) || now.equalDate(this.minDate);\n\n let isNotAfterMax = ! this.maxDate || \n now.before(this.maxDate) || now.equalDate(this.maxDate);\n\n if ( ! isNotBeforeMin || ! isNotAfterMax ) {\n classList.push('n-disabled');\n }\n\n let props = {\n onMouseenter: () => this.printRange(now)\n };\n\n if ( isNotBeforeMin && isNotAfterMax ) {\n props.onClick = () => this.patchRange(now);\n }\n\n return (\n <div class={classList} {...props}>\n <span>{ now.format('DD') }</span>\n </div>\n );\n },\n\n renderDate()\n {\n let prev = () => {\n this.tempCache = this.tempCache.prevMonth();\n };\n let next = () => {\n this.tempCache = this.tempCache.nextMonth();\n };\n\n let legendHtml = (\n Arr.each(this.weekdays, (day) => {\n return (\n <div class=\"n-datepicker-panel__day\">\n <span>{ this.trans(day) }</span>\n </div>\n );\n })\n );\n\n let renderItem = this.ctor('renderDateItem');\n\n if ( this.range ) {\n renderItem = this.ctor('renderRangeDateItem');\n }\n\n let bodyHtml = (month) => (\n Arr.each(Arr.chunk(month.getDatesGrid(), 7), (chunks) => {\n return (\n <div class=\"n-datepicker-panel__week\">\n { Arr.each(chunks, (chunk) => renderItem(chunk, month)) }\n </div>\n );\n })\n );\n\n let panelHtml = (\n Arr.each(Arr.make(this.monthPanels), (offset) => {\n\n let month = this.tempCache.clone()\n .addMonths(offset - 1);\n\n return (\n <div class=\"n-datepicker-panel__panel\">\n <div class=\"n-datepicker-panel__legend\">\n { legendHtml }\n </div>\n <div class=\"n-datepicker-panel__body\">\n { bodyHtml(month) }\n </div>\n </div>\n );\n })\n );\n\n return (\n <div class=\"n-datepicker-panel__dateview\">\n <div class=\"n-datepicker-panel__header\">\n { this.ctor('renderToolbar')({ prev, next }) }\n </div>\n <div class=\"n-datepicker-panel__panels\">\n { panelHtml }\n </div>\n </div>\n );\n },\n\n renderMonthItem(now)\n {\n let classList = [\n 'n-datepicker-panel__month'\n ];\n\n if ( now.equal(this.tempCache, 'YYYYMM') ) {\n classList.push('n-selected');\n }\n\n if ( now.month() === Now.make('now').month() ) {\n classList.push('n-current');\n }\n\n let props = {\n onClick: () => this.patchMonth(now)\n };\n\n return (\n <div class={classList} {...props}>\n <span>{ this.trans(this.months[now.month()]) }</span>\n </div>\n )\n },\n\n renderMonth()\n {\n let prev = () => {\n this.tempCache = this.tempCache.prevYear();\n };\n\n let next = () => {\n this.tempCache = this.tempCache.nextYear();\n };\n\n return (\n <div class=\"n-datepicker-panel__monthview\">\n <div class=\"n-datepicker-panel__header\">\n { this.ctor('renderToolbar')({ prev, next }) }\n </div>\n <div class=\"n-datepicker-panel__body\">\n <div class=\"n-datepicker-panel__year\">\n { Arr.each(this.monthsGrid, this.ctor('renderMonthItem')) }\n </div>\n </div>\n <div class=\"n-datepicker-panel__footer\">\n <NButton size={this.type} size={this.size} link={true} onClick={this.gotoDate}>\n { this.trans('Go back') }\n </NButton>\n </div>\n </div>\n );\n },\n\n renderYearItem(now)\n {\n let classList = [\n 'n-datepicker-panel__year'\n ];\n\n if ( now.equal(this.tempCache, 'YYYY') ) {\n classList.push('n-selected');\n }\n\n if ( now.year() === Now.make('now').year() ) {\n classList.push('n-current');\n }\n\n let props = {\n onClick: () => this.patchYear(now)\n };\n\n return (\n <div class={classList} {...props}>\n <span>{ now.year() }</span>\n </div>\n )\n },\n\n renderYear()\n {\n let prev = () => {\n this.tempCache = this.tempCache.prevDecade();\n };\n\n let next = () => {\n this.tempCache = this.tempCache.nextDecade();\n };\n\n return (\n <div class=\"n-datepicker-panel__yearview\">\n <div class=\"n-datepicker-panel__header\">\n { this.ctor('renderToolbar')({ prev, next }) }\n </div>\n <div class=\"n-datepicker-panel__body\">\n <div class=\"n-datepicker-panel__decade\">\n { Arr.each(this.yearsGrid, this.ctor('renderYearItem')) }\n </div>\n </div>\n <div class=\"n-datepicker-panel__footer\">\n <NButton size={this.type} size={this.size} link={true} onClick={this.gotoDate}>\n { this.trans('Go back') }\n </NButton>\n </div>\n </div>\n );\n },\n\n render()\n {\n let classList = [\n 'n-datepicker-panel',\n 'n-datepicker-panel--' + this.size,\n 'n-datepicker-panel--' + this.type\n ]\n\n return (\n <div class={classList}>\n { this.ctor('render' + Str.ucfirst(this.tempView))() }\n </div>\n );\n }\n\n}","import { Obj, Now, Locale } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NDatepicker',\n\n props: {\n\n modelValue: {\n default()\n {\n return null;\n }\n },\n\n clearValue: {\n default()\n {\n return null;\n }\n },\n\n arrive: {\n default()\n {\n return null;\n }\n },\n\n clearArrive: {\n default()\n {\n return null;\n }\n },\n\n depart: {\n default()\n {\n return null;\n }\n },\n\n clearDepart: {\n default()\n {\n return null;\n }\n },\n\n minDate: {\n default()\n {\n return null;\n }\n },\n\n maxDate: {\n default()\n {\n return null;\n }\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n placeholder: {\n default()\n {\n return Locale.trans('Select date');\n },\n type: [String]\n },\n\n placeholderArrive: {\n default()\n {\n return Locale.trans('Start date');\n },\n type: [String]\n },\n\n placeholderDepart: {\n default()\n {\n return Locale.trans('End date');\n },\n type: [String]\n },\n\n range: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n rangeSeparator: {\n default()\n {\n return '-';\n },\n type: [String]\n },\n\n monthPanels: {\n default()\n {\n return 1;\n },\n type: [Number]\n },\n\n boundary: {\n default()\n {\n return null;\n }\n },\n\n position: {\n default()\n {\n return 'bottom-start';\n },\n type: [String]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n clearable: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n format: {\n default()\n {\n return 'YYYY-MM-DD HH:mm:ss';\n },\n type: [String]\n },\n\n displayFormat: {\n default()\n {\n return Locale.trans('YYYY-MM-DD');\n },\n type: [String]\n },\n\n weekdays: {\n default()\n {\n return [\n Locale.trans('Mo'),\n Locale.trans('Tu'),\n Locale.trans('We'),\n Locale.trans('Th'),\n Locale.trans('Fr'),\n Locale.trans('Sa'),\n Locale.trans('Su'),\n ];\n },\n type: [Array]\n },\n\n months: {\n default()\n {\n return [\n Locale.trans('Jan'),\n Locale.trans('Feb'),\n Locale.trans('Mar'),\n Locale.trans('Apr'),\n Locale.trans('May'),\n Locale.trans('Jun'),\n Locale.trans('Jul'),\n Locale.trans('Aug'),\n Locale.trans('Sep'),\n Locale.trans('Oct'),\n Locale.trans('Nov'),\n Locale.trans('Dec'),\n ];\n },\n type: [Array]\n }\n\n },\n\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue.format(this.format) ) {\n this.tempValue = Now.make(value);\n }\n },\n\n arrive(value)\n {\n if ( value !== this.tempArrive.format(this.format) ) {\n this.tempArrive = Now.make(value);\n }\n },\n\n depart(value)\n {\n if ( value !== this.tempDepart.format(this.format) ) {\n this.tempDepart = Now.make(value);\n }\n },\n\n },\n\n data()\n {\n return {\n focus: false,\n tempValue: Now.make(this.modelValue, this.format),\n tempArrive: Now.make(this.arrive, this.format),\n tempDepart: Now.make(this.depart, this.format),\n };\n },\n\n methods: {\n\n clearDatepicker()\n {\n this.range ? this.clearRangeDatepicker() :\n this.clearSingleDatepicker();\n },\n\n clearSingleDatepicker()\n {\n this.tempValue = Now.make(this.clearValue, \n this.format);\n\n this.$emit('update:modelValue', this.clearValue);\n },\n\n\n clearRangeDatepicker()\n {\n this.tempArrive = Now.make(this.clearArrive, \n this.format);\n\n this.$emit('update:arrive', this.clearValue);\n\n this.tempDepart = Now.make(this.clearDepart, \n this.format);\n\n this.$emit('update:depart', this.clearDepart);\n },\n\n onPopoverInput(value)\n {\n this.focus = value;\n },\n\n onValueInput(event)\n {\n let isNotSameLength = this.displayFormat.length !==\n event.target.value.length;\n\n if ( isNotSameLength ) {\n return;\n }\n\n let value = Now.make(event.target.value, \n this.displayFormat);\n\n if ( ! value.moment.isValid() ) {\n return;\n }\n\n let moment = this.tempValue.moment.set({\n year: value.moment.year(),\n month: value.moment.month(),\n date: value.moment.date(),\n });\n\n this.tempValue = Now.make(moment);\n\n this.$emit('update:modelValue', \n this.tempValue.format(this.format));\n },\n\n onArriveInput(event)\n {\n let isNotSameLength = this.displayFormat.length !==\n event.target.value.length;\n\n if ( isNotSameLength ) {\n return;\n }\n\n let value = Now.make(event.target.value, \n this.displayFormat);\n\n if ( ! value.moment.isValid() ) {\n return;\n }\n\n let moment = this.tempValue.moment.set({\n year: value.moment.year(),\n month: value.moment.month(),\n date: value.moment.date(),\n });\n\n this.tempArrive = Now.make(moment);\n\n this.$emit('update:arrive', \n this.tempArrive.format(this.format));\n },\n\n onDepartInput(event)\n {\n let isNotSameLength = this.displayFormat.length !==\n event.target.value.length;\n\n if ( isNotSameLength ) {\n return;\n }\n\n let value = Now.make(event.target.value, \n this.displayFormat);\n\n if ( ! value.moment.isValid() ) {\n return;\n }\n\n let moment = this.tempValue.moment.set({\n year: value.moment.year(),\n month: value.moment.month(),\n date: value.moment.date(),\n });\n\n this.tempDepart = Now.make(moment);\n\n this.$emit('update:depart', \n this.tempDepart.format(this.format));\n },\n\n onDatepickerInput(value)\n {\n this.focus = false;\n\n this.tempValue = Now.make(value, \n this.format);\n\n this.$emit('update:modelValue', value);\n },\n\n onDatepickerDepart(value)\n {\n this.focus = false;\n\n this.tempDepart = Now.make(value, \n this.format);\n\n this.$emit('update:depart', value);\n },\n\n onDatepickerArrive(value)\n {\n this.focus = false;\n\n this.tempArrive = Now.make(value, \n this.format);\n\n this.$emit('update:arrive', value);\n },\n\n },\n\n\n renderLabelClear()\n {\n let isEmpty = ! this.tempArrive.initialDate &&\n ! this.tempDepart.initialDate;\n\n if ( ! this.range ) {\n isEmpty = ! this.tempValue.initialDate;\n }\n\n if ( ! this.clearable || isEmpty ) {\n return null;\n }\n\n let props = {};\n\n if ( ! this.disabled ) {\n props.onMousedown = this.clearDatepicker;\n }\n\n return (\n <div class=\"n-datepicker__clear\" {...props}>\n <i class={ nano.Icons.times }></i>\n </div>\n );\n },\n\n renderLabelAngle()\n {\n return (\n <div class=\"n-datepicker__angle\">\n <i class={ nano.Icons.angleDown }></i>\n </div>\n );\n },\n\n renderRange()\n {\n let arriveProps = {\n value: '',\n disabled: this.disabled,\n placeholder: this.placeholderArrive,\n onInput: this.onArriveInput,\n };\n\n if ( this.tempArrive.valid() ) {\n arriveProps.value = this.tempArrive.format(\n this.displayFormat, true);\n }\n\n let departProps = {\n value: '',\n disabled: this.disabled,\n placeholder: this.placeholderDepart,\n onInput: this.onDepartInput,\n };\n\n if ( this.tempDepart.valid() ) {\n departProps.value = this.tempDepart.format(\n this.displayFormat, true);\n }\n\n return [\n (\n <div class=\"n-datepicker__input\">\n <input {...arriveProps}/>\n </div>\n ),\n (\n <div class=\"n-datepicker__seperator\">\n <span>{ this.rangeSeparator }</span>\n </div>\n ),\n (\n <div class=\"n-datepicker__input\">\n <input {...departProps}/>\n </div>\n )\n ];\n },\n\n renderSingle()\n {\n let props = {\n value: '',\n disabled: this.disabled,\n placeholder: this.placeholder,\n onInput: this.onValueInput,\n };\n\n if ( this.tempValue.valid() ) {\n props.value = this.tempValue.format(\n this.displayFormat, true);\n }\n\n return (\n <div class=\"n-datepicker__input\">\n <input {...props}/>\n </div>\n );\n },\n\n renderDisplay()\n {\n let classList = [\n 'n-datepicker__display'\n ];\n\n if ( this.range ) {\n classList.push('n-range');\n }\n\n let displayHtml = this.ctor('renderSingle');\n\n if ( this.range ) {\n displayHtml = this.ctor('renderRange');\n }\n\n return (\n <div class={classList}>\n { this.ctor('renderLabelClear')() }\n { displayHtml() }\n { this.ctor('renderLabelAngle')() }\n </div>\n );\n },\n\n renderItems()\n {\n \n let props = Obj.except(this.$props, ['modelValue'], {\n arrive: this.tempArrive.format(this.format) || null,\n depart: this.tempDepart.format(this.format) || null,\n modelValue: this.tempValue.format(this.format) || null,\n });\n\n props['onUpdate:arrive'] = this.onDatepickerArrive;\n props['onUpdate:depart'] = this.onDatepickerDepart;\n props['onUpdate:modelValue'] = this.onDatepickerInput;\n\n return (\n <NDatepickerPanel class=\"n-datepicker__body\" {...props}></NDatepickerPanel>\n );\n },\n\n renderPopover()\n {\n let props = {\n trigger: 'click',\n width: 0,\n size: this.size,\n position: this.position,\n scrollClose: true,\n disabled: this.disabled\n };\n\n return (\n <NPopover ref=\"popover\" vModel={this.focus} {...props}>\n { { raw: this.ctor('renderItems') } }\n </NPopover>\n );\n },\n\n render()\n {\n let classList = [\n 'n-datepicker',\n 'n-datepicker--' + this.type,\n 'n-datepicker--' + this.size,\n ];\n\n let isEmpty = ! this.tempArrive.initialDate &&\n ! this.tempDepart.initialDate;\n\n if ( ! this.range ) {\n isEmpty = ! this.tempValue.initialDate;\n }\n\n if ( isEmpty ) {\n classList.push('n-empty');\n }\n\n if ( this.clearable ) {\n classList.push('n-clearable');\n }\n\n if ( this.focus ) {\n classList.push('n-focus');\n }\n\n if ( this.disabled ) {\n classList.push('n-disabled');\n }\n\n return (\n <div class={classList}>\n { this.ctor('renderDisplay')() }\n { this.ctor('renderPopover')() }\n </div>\n );\n }\n\n}","import DatepickerPanel from \"./src/datepicker-panel/datepicker-panel\";\nimport Datepicker from \"./src/datepicker/datepicker\";\n\nexport default function (App) {\n App.component(DatepickerPanel.name, DatepickerPanel);\n App.component(Datepicker.name, Datepicker);\n}","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NInputNumber'] = Locale.trans('NInputNumber');\n\nglobal.NanoBuilderIndexies['NInputNumber'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NInputNumber']['props'] = {\n modelValue: {\n for: ['binds', 'props'], default: null, type: 'Number'\n },\n clearValue: {\n for: ['binds', 'props'], default: null, type: 'Number'\n },\n clearable: {\n for: ['binds', 'props'], default: false, type: 'Boolean', options: global.NanoPrototypeBools\n },\n min: {\n for: ['binds', 'props'], default: 0, type: 'Number'\n },\n max: {\n for: ['binds', 'props'], default: Number.MAX_VALUE, type: 'Number'\n },\n stepSize: {\n for: ['binds', 'props'], default: 1, type: 'Number'\n },\n precision: {\n for: ['binds', 'props'], default: 0, type: 'Number'\n },\n size: {\n for: ['binds', 'props'], default: 'md', type: 'String', options: global.NanoPrototypeSizes\n },\n type: {\n for: ['binds', 'props'], default: 'primary', type: 'String', options: global.NanoPrototypeTypes\n },\n disabled: {\n for: ['binds', 'props'], default: false, type: 'Boolean', options: global.NanoPrototypeBools\n },\n placeholder: {\n for: ['binds', 'props'], default: '', type: 'String'\n },\n format: {\n for: ['binds', 'props'], default: ':count', type: 'String'\n },\n decimals: {\n for: ['binds', 'props'], default: '.', type: 'String'\n },\n};","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NCheckbox'] = Locale.trans('n-checkbox');\n\nglobal.NanoBuilderIndexies['NCheckbox'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NCheckbox']['props'] = {\n //\n};","import { UUID, Num, Arr, Obj, Any, Dom, Locale } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NModal',\n\n inject: {\n\n NScrollbar: {\n default: undefined\n }\n\n },\n\n props: {\n\n modelValue: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n listen: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n update: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n selector: {\n default()\n {\n return null;\n },\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n width: {\n default()\n {\n return '50%';\n },\n type: [String]\n },\n\n height: {\n default()\n {\n return 'auto';\n },\n type: [String]\n },\n\n title: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'default';\n },\n type: [String]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n position: {\n default()\n {\n return 'center-center';\n },\n type: [String]\n },\n\n closable: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n renderClose: {\n default()\n {\n return true;\n },\n type: [Boolean]\n }\n\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue ) {\n this.tempValue = value;\n }\n },\n\n tempValue()\n {\n this.startRefreshTimeout();\n }\n\n },\n\n provide()\n {\n return {\n NModal: this\n };\n },\n\n data()\n {\n return {\n target: null, tempValue: false\n };\n },\n\n mounted()\n {\n this.target = Dom.find(this.selector || this.$el)\n .previous().get(0);\n\n Dom.find(document.body).on('mousedown',\n this.eventClick, this._.uid);\n\n Dom.find(document.body).on('keydown',\n this.eventKeydown, this._.uid);\n\n let showModal = () => {\n this.tempValue = true;\n };\n\n if ( this.modelValue ) {\n Any.delay(showModal, 100);\n }\n\n Dom.find(document.body).append(this.$el);\n },\n\n beforeUnmount()\n {\n this.$el.remove();\n },\n\n unmounted()\n {\n Dom.find(document.body).off('mousedown',\n null, this._.uid);\n\n Dom.find(document.body).off('keydown',\n null, this._.uid);\n },\n\n methods: {\n\n openModal(force = false, source = null)\n {\n if ( this.tempValue ) {\n return;\n }\n\n if ( this.closable || force ) {\n this.tempValue = true;\n }\n\n this.$emit('update:modelValue', true, source);\n },\n\n closeModal(force = false, source = null)\n {\n if ( ! this.tempValue ) {\n return;\n }\n\n if ( ! this.update ) {\n return this.$emit('close', source);\n }\n\n if ( this.closable || force ) {\n this.tempValue = false;\n }\n\n this.$emit('update:modelValue', false, source);\n },\n\n stopRefreshTimeout()\n {\n clearTimeout(this.refresh);\n\n Dom.find(this.$el).removeClass('n-ready');\n },\n\n startRefreshTimeout()\n {\n if ( ! this.tempValue ) {\n return this.stopRefreshTimeout();\n }\n\n window.zIndex += 1;\n\n Dom.find(this.$el).attr('data-modal',\n window.zIndex);\n\n Dom.find(this.$el).css({\n 'z-index': window.zIndex\n });\n\n this.queueRefreshTimeout();\n },\n\n queueRefreshTimeout()\n {\n if ( ! this.tempValue ) {\n return this.stopRefreshTimeout();\n }\n\n this.refresh = setTimeout(() => {\n Dom.find(this.$el).addClass('n-ready');\n }, 100);\n },\n\n eventClick(event, el)\n {\n if ( this.disabled || event.which !== 1 ) {\n return;\n }\n\n let result = !! Dom.find(el).closest(this.target);\n\n if ( ! result && ! this.tempValue ) {\n return;\n }\n\n if ( this.tempValue && this.closable ) {\n result = ! Dom.find(el).closest(this.$refs.backdrop);\n }\n\n if ( result === this.tempValue ) {\n return;\n }\n\n if ( ! result ) {\n return this.closeModal(false, 'escape');\n }\n\n if ( this.listen ) {\n this.openModal(true, 'selector');\n }\n },\n\n eventKeydown(event, el)\n {\n if ( ! this.tempValue || event.which !== 27 ) {\n return;\n }\n\n let extractIndex = (modal) => {\n return Dom.find(modal).attr('data-modal');\n };\n\n let indexes = Dom.find('.n-modal:not(.n-hidden)')\n .each(extractIndex);\n\n let index = Dom.find(this.$el).attr('data-modal');\n\n if ( Arr.last(indexes.sort()) !== index ) {\n return;\n }\n\n this.closeModal(false, 'escape');\n },\n\n },\n\n renderClose()\n {\n if ( ! this.renderClose || ! this.closable ) {\n return null;\n }\n\n let props = {\n onClick: () => this.closeModal(false, 'escape')\n };\n\n return (\n <div class=\"n-modal__close\" {...props}>\n <span class={nano.Icons.times}></span>\n </div>\n );\n },\n\n renderHeader()\n {\n if ( ! this.$slots.header && ! this.title ) {\n return null;\n }\n\n return (\n <div class=\"n-modal__header\">\n { [this.$slots.header && this.$slots.header({ closeModal: this.closeModal }) || this.title, this.ctor('renderClose')()] }\n </div>\n );\n },\n\n renderFooter()\n {\n if ( ! this.$slots.footer ) {\n return null;\n }\n\n return (\n <div class=\"n-modal__footer\">\n { this.$slots.footer({ closeModal: this.closeModal }) }\n </div>\n );\n },\n\n renderBody()\n {\n let bodyHtml = (\n <NScrollbar ref=\"scrollbar\" relative={true} wrapClass=\"n-modal__wrap\">\n { this.$slots.default && this.$slots.default({ closeModal: this.closeModal }) }\n </NScrollbar>\n );\n\n if ( this.$slots.body ) {\n bodyHtml = this.$slots.body({ closeModal: this.closeModal });\n }\n\n return (\n <div class=\"n-modal__body\">\n { bodyHtml }\n </div>\n );\n },\n\n renderFrame()\n {\n if ( ! this.tempValue ) {\n return null;\n }\n\n let style = {\n width: this.width, height: this.height\n };\n\n let innerHtml = [\n this.ctor('renderHeader')(),\n this.ctor('renderBody')(),\n this.ctor('renderFooter')(),\n ]\n\n return (\n <div class=\"n-modal__frame\" style={style}>\n { this.$slots.raw ? this.$slots.raw() : innerHtml }\n </div>\n );\n },\n\n renderBackdrop()\n {\n return (\n <div ref=\"backdrop\" class=\"n-modal__backdrop\"></div>\n );\n },\n\n render()\n {\n if ( ! window.zIndex ) {\n window.zIndex = 9000;\n }\n\n let classList = [\n 'n-modal',\n 'n-modal--' + this.size,\n 'n-modal--' + this.type,\n 'n-modal--' + this.position\n ];\n\n if ( this.tempValue ) {\n this.queueRefreshTimeout();\n }\n\n if ( this.renderClose ) {\n classList.push('n-closable');\n }\n\n if ( ! this.tempValue ) {\n classList.push('n-hidden');\n }\n\n let innerHtml = null;\n\n if ( this.tempValue ) {\n innerHtml = this.ctor('renderFrame')();\n }\n\n return (\n <div class={classList}>\n { [innerHtml, this.ctor('renderBackdrop')()] }\n </div>\n );\n }\n\n}\n","import Modal from './src/modal/modal';\n\nexport default function (App) {\n App.component(Modal.name, Modal);\n}\n","global.NanoPrototypeSizes = [\n 'xs', 'sm', 'md', 'lg'\n];\n\nglobal.NanoPrototypeTypes = [\n 'primary', 'secondary', 'success', 'warning', 'danger', 'info'\n];\n\nglobal.NanoPrototypeBools = [\n 'true', 'false'\n];","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NTabsItem'] = Locale.trans('NTabsItem');\n\nglobal.NanoBuilderIndexies['NTabsItem'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NTabsItem']['props'] = {\n //\n};","module.exports = __WEBPACK_EXTERNAL_MODULE__6055__;","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['span'] = Locale.trans('span');\n\nglobal.NanoBuilderIndexies['span'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['span']['props'] = {\n //\n};","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NSlider'] = Locale.trans('NSlider');\n\nglobal.NanoBuilderIndexies['NSlider'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NSlider']['props'] = {\n //\n};","import { Str, Num, Arr, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NPaginator',\n\n props: {\n\n page: {\n default()\n {\n return 1;\n },\n type: [Number]\n },\n\n limit: {\n default()\n {\n return 100;\n },\n type: [Number]\n },\n\n limitOptions: {\n default()\n {\n return [25, 50, 100, 500, 1000, 2500];\n },\n },\n\n total: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n maxPages: {\n default()\n {\n return 5;\n },\n type: [Number]\n },\n\n layout: {\n default()\n {\n return [\n 'limit', 'count', 'spacer', 'goto', 'pages'\n ]\n },\n type: [Array]\n }\n\n },\n\n computed: {\n\n pages()\n {\n return Num.ceil(this.total / this.tempLimit);\n },\n\n pageOptions()\n {\n return Arr.make(this.pages || 1);\n }\n\n },\n\n data()\n {\n return {\n tempPage: this.page, tempLimit: this.limit,\n };\n },\n\n\n\n methods: {\n\n forcePage(page)\n {\n if ( page !== this.tempPage ) {\n this.tempPage = page;\n }\n },\n\n updatePaginate()\n {\n let paginate = {\n page: this.tempPage, limit: this.tempLimit\n };\n\n this.$emit('paginate', paginate);\n },\n\n onPrevPage()\n {\n this.onPageInput(this.tempPage - 1);\n },\n\n onNextPage()\n {\n this.onPageInput(this.tempPage + 1);\n },\n\n onFirstPage()\n {\n this.onPageInput(1);\n },\n\n onLastPage()\n {\n this.onPageInput(this.pages);\n },\n\n onPageInput(value)\n {\n this.$emit('update:page', this.tempPage = value);\n\n this.updatePaginate();\n },\n\n onLimitInput(value)\n {\n if ( this.tempLimit !== value ) {\n this.$emit('update:page', this.tempPage = 1);\n }\n\n this.$emit('update:limit', this.tempLimit = value);\n\n this.updatePaginate();\n },\n\n },\n\n watch: {\n\n page(value)\n {\n if ( value !== this.tempPage ) {\n this.tempPage = value;\n }\n },\n\n limit(value)\n {\n if ( value !== this.tempLimit ) {\n this.tempLimit = value;\n }\n }\n\n },\n\n renderLimit()\n {\n let props = {\n modelValue: this.tempLimit,\n size: this.size,\n type: this.type,\n optionsValue: '$value.value',\n optionsLabel: '$value.label',\n };\n\n props.options = Arr.each(this.limitOptions, (limit) => {\n return {\n value: limit, label: this.choice(':count items', limit)\n };\n });\n\n props['onUpdate:modelValue'] = this.onLimitInput;\n\n return (\n <div class=\"n-paginator__limit\">\n <NSelect {...props} />\n </div>\n );\n },\n\n renderCount()\n {\n return (\n <div class=\"n-paginator__count\">\n { this.choice('No items|Total :count item|Total :count items', this.total) }\n </div>\n );\n },\n\n renderSpacer()\n {\n return (\n <div class=\"n-paginator__spacer\">\n { /* Nothing :( */ }\n </div>\n );\n },\n\n renderGoto()\n {\n if ( this.pageOptions.length > 500 ) {\n return null;\n }\n\n let props = {\n modelValue: this.tempPage,\n size: this.size,\n type: this.type,\n undefinedText: '?',\n optionsValue: '$value.value',\n optionsLabel: '$value.label',\n };\n\n props.options = Arr.reduce(this.pageOptions, (merge, index) => {\n return Arr.push(merge, {\n value: index, label: index\n });\n }, []);\n\n props['onUpdate:modelValue'] = this.onPageInput;\n\n return (\n <div class=\"n-paginator__goto\">\n <NSelect {...props} />\n </div>\n );\n },\n\n renderPrev()\n {\n let props = {\n type: this.type,\n square: true,\n size: this.size,\n icon: nano.Icons.angleLeft,\n onClick: this.onPrevPage\n };\n\n if ( this.tempPage - 1 < 1 ) {\n props.disabled = true;\n }\n\n return (\n <NButton {...props} />\n );\n },\n\n renderNext()\n {\n let props = {\n type: this.type,\n square: true,\n size: this.size,\n icon: nano.Icons.angleRight,\n onClick: this.onNextPage\n };\n\n if ( this.tempPage + 1 > this.pages ) {\n props.disabled = true;\n }\n\n return (\n <NButton {...props} />\n );\n },\n\n renderFirst()\n {\n if ( this.pages < this.maxPages ) {\n return null;\n }\n\n let props = {\n type: this.type,\n square: true,\n size: this.size,\n icon: nano.Icons.angleDoubleLeft,\n onClick: this.onFirstPage\n };\n\n if ( this.tempPage - 1 < 1 ) {\n props.disabled = true;\n }\n\n return (\n <NButton {...props} />\n );\n },\n\n renderLast()\n {\n if ( this.pages < this.maxPages ) {\n return null;\n }\n\n let props = {\n type: this.type,\n square: true,\n size: this.size,\n icon: nano.Icons.angleDoubleRight,\n onClick: this.onLastPage\n };\n\n if ( this.tempPage + 1 > this.pages ) {\n props.disabled = true;\n }\n\n return (\n <NButton {...props} />\n );\n },\n\n renderPage(index)\n {\n let page = this.tempPage;\n\n let pages = Math.abs(this.maxPages / 2);\n\n if ( page < pages ) {\n page = pages;\n }\n\n let global = Array(this.pages).length;\n\n if ( page > global - pages ) {\n page = global - pages;\n }\n\n let current = Num.int(index);\n\n if ( current < page - pages ) {\n return null;\n }\n\n if ( current > Math.max(1, page + pages) ) {\n return null;\n }\n\n let props = {\n type: this.type,\n size: this.size,\n };\n\n if ( current === this.tempPage ) {\n props.disabled = true;\n }\n\n props.onClick = () => {\n this.onPageInput(current);\n };\n\n return (\n <NButton {...props}>{ current }</NButton>\n );\n },\n\n renderPages()\n {\n let pages = Arr.each(this.pageOptions, (index) => {\n return this.ctor('renderPage')(index);\n });\n\n return (\n <div class=\"n-paginator__pages\">\n { this.ctor('renderFirst')() }\n { this.ctor('renderPrev')() }\n { ...pages }\n { this.ctor('renderNext')() }\n { this.ctor('renderLast')() }\n </div>\n );\n },\n\n renderSlot(view)\n {\n let renderFunction = this.ctor('render' + \n Str.ucfirst(view));\n\n if ( Any.isFunction(renderFunction) ) {\n return renderFunction();\n }\n\n return this.$slots[view] && this.$slots[view]();\n },\n\n render()\n {\n let className = [\n 'n-paginator',\n 'n-paginator--' + this.size,\n 'n-paginator--' + this.type\n ];\n\n return <div class={className}>\n {\n Arr.each(this.layout, (view) => {\n return this.ctor('renderSlot')(view);\n })\n }\n </div>;\n }\n}\n","import Paginator from './src/paginator/paginator';\n\nexport default function (App) {\n App.component(Paginator.name, Paginator);\n}","import { UUID, Num, Arr, Obj, Any, Dom, Locale } from \"@kizmann/pico-js\";\nimport { h } from \"vue\";\n\nexport default {\n\n name: 'NForm',\n\n inheritAttrs: false,\n\n model: {\n prop: 'form'\n },\n\n props: {\n\n dom: {\n default()\n {\n return 'div';\n },\n type: [String]\n },\n\n form: {\n default()\n {\n return {};\n },\n type: [Object]\n },\n\n errors: {\n default()\n {\n return {};\n },\n type: [Object]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n align: {\n default()\n {\n return 'vertical';\n },\n type: [String]\n },\n\n prevent: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n ignore: {\n default()\n {\n return ['modified', 'dragid'];\n },\n type: [Array]\n },\n\n forceChange: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n forceErrors: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n },\n\n computed: {\n\n classList()\n {\n if ( ! this.$attrs.class ) {\n return [];\n }\n\n return Any.isArray(this.$attrs) ? this.$attrs.class :\n [this.$attrs.class];\n }\n\n },\n\n data()\n {\n return {\n uid: UUID(), elements: [], groups: {}, blocked: true,\n };\n },\n\n provide()\n {\n return {\n NForm: this\n };\n },\n\n mounted()\n {\n Any.delay(this.ctor('ready'), 500);\n },\n\n ready()\n {\n this.$watch('form', this.emitChange,\n { deep: true });\n\n this.resetChange();\n },\n\n methods: {\n\n registerGroup(group)\n {\n this.groups[group.key] = group;\n },\n\n unregisterGroup(group)\n {\n delete this.groups[group.key];\n },\n\n onSubmit(event)\n {\n if ( this.prevent ) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n if ( Dom.find(event.target).is('input') ) {\n this.$emit('submit', event);\n }\n\n return this.prevent;\n },\n\n addItem(item)\n {\n Arr.add(this.elements, item, {\n uid: item.uid\n });\n },\n\n removeItem(item)\n {\n Arr.remove(this.elements,{\n uid: item.uid\n });\n },\n\n resetChange(timeout = 500)\n {\n clearTimeout(this.timeout);\n\n this.timeout = setTimeout(() => {\n this.blocked = false;\n }, timeout);\n\n this.blocked = true;\n\n let value = Obj.except(this.form,\n this.ignore);\n\n this.prevState = JSON.stringify(value);\n },\n\n emitChange()\n {\n if ( this.blocked ) {\n return;\n }\n\n let value = Obj.except(this.form,\n this.ignore);\n\n let nextState = JSON.stringify(value);\n\n if ( this.prevState == nextState ) {\n return;\n }\n\n this.prevState = nextState;\n\n this.$emit('change');\n },\n\n },\n\n render()\n {\n let classList = [\n 'n-form',\n 'n-form--' + this.align,\n ];\n\n let attrs = Obj.except(this.$attrs, ['class', 'onChange', 'onSubmit'], {\n class: this.cmer(classList)\n });\n\n attrs['onSubmit'] = (e) => {\n return false;\n }\n\n return h(this.dom, { ...attrs }, [\n this.$slots.default && this.$slots.default()\n ]);\n }\n\n}\n","import { UUID } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NFormGroup',\n\n inject: {\n\n NForm: {\n default: undefined\n }\n\n },\n\n props: {\n\n modelValue: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n key: {\n default()\n {\n return UUID();\n },\n type: [String]\n },\n\n label: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n icon: {\n default()\n {\n return '';\n }\n },\n\n size: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n kind: {\n default()\n {\n return 'classic';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n align: {\n default()\n {\n return 'vertical';\n },\n type: [String]\n },\n\n collapse: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n tooltip: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n tooltipPosition: {\n default()\n {\n return 'bottom-start';\n },\n type: [String]\n }\n\n },\n\n mounted()\n {\n if ( this.NForm ) {\n this.NForm.registerGroup(this);\n }\n },\n\n unmounted()\n {\n if ( this.NForm ) {\n this.NForm.unregisterGroup(this);\n }\n },\n\n data()\n {\n return {\n tempValue: this.modelValue\n };\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue ) {\n this.tempValue = value;\n }\n }\n\n },\n\n methods: {\n\n collapseGroup()\n {\n this.$emit('update:modelValue', this.tempValue = ! this.tempValue);\n }\n\n },\n\n renderCollapse()\n {\n if ( ! this.collapse ) {\n return null;\n }\n\n return (\n <div class=\"n-form-group__collapse\">\n <i class={nano.Icons.angleDown}></i>\n </div>\n );\n },\n\n renderIcon()\n {\n if ( ! this.icon ) {\n return null;\n }\n\n return (\n <div class=\"n-form-group__icon\">\n <i class={['n-icon', this.icon]}></i>\n </div>\n );\n },\n\n renderText()\n {\n let textHtml = (\n <div class=\"n-form-group__text\">\n <span>{ this.label }</span>\n </div>\n );\n\n return (\n <div class=\"n-form-group__label\">\n { [this.ctor('renderIcon')(), textHtml] } \n </div>\n );\n },\n\n renderAction()\n {\n if ( ! this.$slots.action ) {\n return null;\n }\n\n return (\n <div class=\"n-form-group__action\">\n { this.$slots.action() }\n </div>\n );\n },\n\n renderLabel()\n {\n return (\n <div class=\"n-form-group__legend\" onClick={this.collapseGroup}>\n { this.ctor('renderCollapse')() }\n { this.ctor('renderText')() }\n { this.ctor('renderAction')() }\n </div>\n );\n },\n\n renderTooltip()\n {\n if ( ! this.tooltip ) {\n return null;\n }\n\n return (\n <NPopover type=\"tooltip\" size=\"sm\" position={this.tooltipPosition}>\n {this.tooltip}\n </NPopover>\n );\n },\n\n renderBody()\n {\n return (\n <div class=\"n-form-group__body\">\n { this.$slots.default && this.$slots.default() }\n </div>\n );\n },\n\n render()\n {\n let size = this.size ;\n\n if ( this.NForm ) {\n size = size || this.NForm.size;\n }\n\n let classList = [\n 'n-form-group', \n 'n-form-group--' + size,\n 'n-form-group--' + this.type,\n 'n-form-group--' + this.align, \n ];\n\n if ( this.collapse ) {\n classList.push('n-form-group--collapse');\n }\n\n if ( ! this.tempValue ) {\n classList.push('n-hidden');\n }\n\n if ( this.$slots.action ) {\n classList.push('n-action');\n }\n\n return (\n <fieldset id={this.key} class={classList} data-group-key={this.key}>\n { this.ctor('renderLabel')() }\n { this.ctor('renderTooltip')() }\n { this.ctor('renderBody')() }\n </fieldset>\n );\n }\n}\n","import { Arr, Obj, Any, Dom, UUID, Locale } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NFormItem',\n\n inject: {\n\n NForm: {\n default: undefined\n },\n\n NTabs: {\n default: undefined\n },\n\n NTabsItem: {\n default: undefined\n }\n\n },\n\n provide()\n {\n return { NFormItem: this };\n },\n\n props: {\n\n modelValue: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n prop: {\n default()\n {\n return 'id';\n },\n type: [String]\n },\n\n label: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n size: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n tooltip: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n tooltipPosition: {\n default()\n {\n return 'bottom-start';\n },\n type: [String]\n },\n\n tooltipWindow: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n conditional: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n conditionOn: {\n default()\n {\n return Locale.trans('Enable field');\n },\n type: [String]\n },\n\n conditionOff: {\n default()\n {\n return Locale.trans('Disable field');\n },\n type: [String]\n }\n\n },\n\n methods: {\n\n enabled(component = false)\n {\n return (! this.conditional || this.modelValue) && ! component;\n },\n\n disabled(component)\n {\n return (this.conditional && ! this.modelValue) || component;\n },\n\n toggleCondition()\n {\n this.$emit('update:modelValue', !this.modelValue);\n },\n\n focusInput()\n {\n let $input = Dom.find(this.$el).find('input');\n\n if ( !$input.empty() ) {\n return $input.get(0).focus();\n }\n\n $input = Dom.find(this.$refs.input).childs();\n\n if ( !$input.empty() ) {\n return $input.get(0).click();\n }\n\n console.log('I dont belong here :o');\n },\n\n gotoInput()\n {\n let errors = this.NForm.errors;\n\n if ( Any.isEmpty(errors) ) {\n return;\n }\n\n if ( !this.NTabs || !this.NTabsItem ) {\n return;\n }\n\n let keys = Any.keys(errors);\n\n if ( Arr.first(keys) !== this.prop ) {\n return;\n }\n\n this.NTabs.changeTab(this.NTabsItem.name);\n }\n\n },\n\n data()\n {\n return {\n uid: UUID()\n };\n },\n\n beforeMount()\n {\n if ( this.NForm ) {\n this.NForm.addItem(this);\n }\n },\n\n mounted()\n {\n if ( this.NForm ) {\n this.NForm.$watch('errors', this.gotoInput, { deep: true });\n }\n },\n\n beforeUnmount()\n {\n if ( this.NForm ) {\n this.NForm.removeItem(this);\n }\n },\n\n renderTooltip()\n {\n if ( !this.tooltip && !this.$slots.tooltip ) {\n return null;\n }\n\n let props = {\n size: 'sm',\n position: this.tooltipPosition,\n };\n\n return (\n <NPopover type=\"tooltip\" {...props}>\n {this.$slots.tooltip && this.$slots.tooltip() || this.tooltip}\n </NPopover>\n );\n },\n\n renderCondition()\n {\n if ( ! this.conditional ) {\n return null;\n }\n\n return (\n <div class=\"n-form-item__condition\" onClick={this.toggleCondition}>\n <span>{ this.modelValue ? this.conditionOff : this.conditionOn }</span>\n </div>\n );\n },\n\n renderLabel()\n {\n if ( !this.label && !this.$slots.label ) {\n return null;\n }\n\n let labelHtml = (\n <div class=\"n-form-item__label\">\n <label onClick={this.focusInput}>\n {this.$slots.label && this.$slots.label() || this.label}\n </label>\n </div>\n );\n\n return [\n labelHtml, this.ctor('renderTooltip')()\n ]\n },\n\n renderError()\n {\n if ( !this.NForm || !Obj.has(this.NForm.errors, this.prop) ) {\n return null;\n }\n\n return (\n <div class=\"n-form-item__error\">\n {Obj.get(this.NForm.errors, this.prop)}\n </div>\n );\n },\n\n renderInput()\n {\n return (\n <div ref=\"input\" class=\"n-form-item__input\">\n {this.$slots.default && this.$slots.default()}\n </div>\n );\n },\n\n render()\n {\n let size = this.size || Obj.get(this.NForm, 'size', 'md');\n\n\n let classList = [\n 'n-form-item',\n 'n-form-item--' + size,\n ];\n\n if ( this.disabled() ) {\n classList.push('is-disabled');\n }\n\n return <div class={classList}>\n {this.ctor('renderCondition')()}\n {this.ctor('renderLabel')()}\n {this.ctor('renderInput')()}\n {this.ctor('renderError')()}\n </div>;\n }\n}\n","import { Arr, Obj, Any, Dom, UUID, Locale } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NFormMenu',\n\n inject: {\n\n NForm: {\n default: undefined\n },\n\n },\n\n props: {\n\n size: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n },\n\n mounted()\n {\n\n Dom.find(document).on('scroll', Any.debounce(() => {\n\n let loop = true;\n\n Arr.each(this.NForm.groups, (item) => {\n loop = loop && ! this.bindInviewEvent(item);\n })\n }));\n },\n\n methods: {\n\n bindInviewEvent(item)\n {\n let [menu, group] = [\n `[data-menu-key=\"${item.key}\"]`,\n `[data-group-key=\"${item.key}\"]`\n ];\n\n let inview = Dom.find(group).inviewY(0.1);\n\n Dom.find('[data-menu-key]')\n .removeClass('is-visible');\n\n if ( inview ) {\n Dom.find(menu).addClass('is-visible');\n }\n\n return inview;\n }\n\n },\n\n renderMenu(item)\n {\n return (\n <div data-menu-key={item.key}>\n <a href={'#' + item.key}>{item.label}</a>\n </div>\n );\n },\n\n renderMenus()\n {\n return Arr.each(this.NForm.groups, (item) => {\n return this.ctor('renderMenu')(item);\n })\n },\n\n render()\n {\n let classList = [\n 'n-form-menu'\n ];\n\n return <div class={classList}>\n {this.ctor('renderMenus')()}\n </div>;\n }\n}\n","import { Arr, Obj, Any, Dom, UUID, Locale } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NFrame',\n\n provide()\n {\n return { NFrame: this };\n },\n\n props: {\n\n resize: {\n default() {\n return false;\n },\n type: [Boolean]\n },\n\n scrollbar: {\n default() {\n return false;\n },\n type: [Boolean]\n }\n\n },\n\n render()\n {\n let classList = [\n 'n-frame'\n ];\n\n return (\n <div class={classList}>\n {this.$slots.default && this.$slots.default()}\n </div>\n );\n }\n}\n","import { Arr, Obj, Any, Dom, UUID, Locale } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NFrameItem',\n\n inject: {\n\n NFrame: {\n default: undefined\n },\n\n },\n\n props: {\n\n width: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n resize: {\n default() {\n return null;\n },\n type: [Boolean]\n },\n\n scrollbar: {\n default() {\n return null;\n },\n type: [Boolean]\n }\n\n },\n\n computed: {\n\n itemResize() {\n return Any.isNull(this.resize) ? this.NFrame.resize : this.resize;\n },\n\n itemScrollbar() {\n return Any.isNull(this.scrollbar) ? this.NFrame.scrollbar : this.scrollbar;\n }\n\n },\n\n renderContent()\n {\n if ( ! this.itemScrollbar ) {\n return this.$slots.default && this.$slots.default();\n }\n\n return (\n <NScrollbar>{this.$slots.default && this.$slots.default()}</NScrollbar>\n );\n },\n\n renderDiv(classList)\n {\n let style = {\n //\n };\n\n if ( this.width ) {\n style.width = this.width + 'px';\n }\n\n return (\n <div class={classList} style={style}>\n {this.ctor('renderContent')()}\n </div>\n );\n },\n\n renderResizer(classList, style)\n {\n let props = {\n width: this.width\n };\n\n return (\n <NResizer class={classList} {...props}>\n {this.ctor('renderContent')()}\n </NResizer>\n );\n },\n\n render()\n {\n let classList = [\n 'n-frame-item'\n ];\n\n if ( this.itemResize ) {\n classList.push('is-resize');\n }\n\n if ( this.itemScrollbar ) {\n classList.push('is-scrollbar');\n }\n\n if ( this.itemResize ) {\n return this.ctor('renderResizer')(classList);\n }\n\n return this.ctor('renderDiv')(classList);\n }\n}\n","import Form from './src/form/form';\nimport FormGroup from './src/form-group/form-group';\nimport FormItem from './src/form-item/form-item';\nimport FormMenu from './src/form-menu/form-menu';\nimport FormFrame from './src/form-frame/form-frame';\nimport FormFrameItem from './src/form-frame-item/form-frame-item';\n\nexport default function (App) {\n App.component(Form.name, Form);\n App.component(FormGroup.name, FormGroup);\n App.component(FormItem.name, FormItem);\n App.component(FormFrame.name, FormFrame);\n App.component(FormFrameItem.name, FormFrameItem);\n App.component(FormMenu.name, FormMenu);\n}","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NRadio'] = Locale.trans('NRadio');\n\nglobal.NanoBuilderIndexies['NRadio'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NRadio']['props'] = {\n //\n};","import { Any, Arr, Obj, Dom, Event, UUID } from \"@kizmann/pico-js\";\nimport { h, resolveComponent } from \"vue\";\n\nexport default {\n\n name: 'NTable',\n\n provide()\n {\n return {\n NTable: this\n };\n },\n\n props: {\n\n items: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n draggable: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n visible: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n current: {\n default()\n {\n return null;\n }\n },\n\n selected: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n expanded: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n filter: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n sortProp: {\n default()\n {\n return 'id';\n },\n type: [String]\n },\n\n sortDir: {\n default()\n {\n return 'desc';\n },\n type: [String]\n },\n\n closeFilterOnEnter: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n group: {\n default()\n {\n return ['default'];\n },\n type: [Array]\n },\n\n allowGroups: {\n default()\n {\n return ['default'];\n },\n type: [Array]\n },\n\n handle: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n safezone: {\n default()\n {\n return (height) => height * 0.51;\n }\n },\n\n showEmptyIcon: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n itemHeight: {\n default()\n {\n return 38;\n },\n type: [Number]\n },\n\n itemOffset: {\n default()\n {\n return 30;\n },\n type: [Number]\n },\n\n scrollTopOnChange: {\n default()\n {\n return false;\n }\n },\n\n uniqueProp: {\n default()\n {\n return 'id';\n },\n type: [String]\n },\n\n childProp: {\n default()\n {\n return 'children';\n },\n type: [String]\n },\n\n renderSelect: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n renderHandle: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n renderExpand: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n renderCurrent: {\n default()\n {\n return true;\n }\n },\n\n transformDrop: {\n default()\n {\n return (node) => node;\n }\n },\n\n disableMove: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n insertNode: {\n default()\n {\n return () => true;\n }\n },\n\n removeNode: {\n default()\n {\n return () => true;\n }\n },\n\n allowSelect: {\n default()\n {\n return () => true;\n }\n },\n\n allowDrag: {\n default()\n {\n return () => true;\n }\n },\n\n allowDrop: {\n default()\n {\n return () => true;\n }\n },\n\n threshold: {\n default()\n {\n return 1;\n },\n type: [Number]\n },\n\n useKeys: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n keyEvents: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n highlightTimeout: {\n default()\n {\n return 7000;\n },\n type: [Number]\n },\n\n },\n\n computed: {\n\n checked()\n {\n return !!this.tempSelected.length &&\n this.tempSelected.length === this.items.length;\n },\n\n intermediate()\n {\n return !!this.tempSelected.length &&\n this.tempSelected.length !== this.items.length\n }\n\n },\n\n data()\n {\n return {\n uid: UUID(),\n elements: [],\n tempVisible: this.visible,\n tempVisibleProps: [],\n tempSelected: this.selected,\n tempSortProp: this.sortProp,\n tempSortDir: this.sortDir,\n tempFilter: this.filter,\n tempFilterProps: [],\n }\n },\n\n mounted()\n {\n this.$watch('tempVisible',\n this.makeVisibleProps, { deep: true });\n\n if ( !this.tempVisible.length ) {\n Arr.each(this.elements, this.detectVisible);\n }\n },\n\n watch: {\n\n selected(value)\n {\n this.tempSelected = value;\n },\n\n },\n\n methods: {\n\n addColumn(column)\n {\n Arr.add(this.elements, column,\n { uid: column.uid });\n },\n\n removeColumn(column)\n {\n Arr.remove(this.elements,\n { uid: column.uid });\n },\n\n getColumnIndex(column)\n {\n if ( !Any.isString(column) ) {\n column = column['prop'];\n }\n\n return Arr.findIndex(this.tempVisibleProps,\n column);\n },\n\n getColumnVisiblity(column)\n {\n if ( !Any.isString(column) ) {\n column = column.prop;\n }\n\n return Arr.has(this.tempVisible, column);\n },\n\n getColumnSorted(column)\n {\n let prop = column;\n\n if ( !Any.isString(prop) ) {\n prop = column.sortProp;\n }\n\n if ( Any.isEmpty(prop) ) {\n prop = column.prop;\n }\n\n if ( this.tempSortProp !== prop ) {\n return null;\n }\n\n return this.tempSortDir;\n },\n\n getColumnFilter(column)\n {\n let prop = column;\n\n if ( !Any.isString(prop) ) {\n prop = column.filterProp;\n }\n\n if ( Any.isEmpty(prop) ) {\n prop = column.prop;\n }\n\n return Arr.find(this.tempFilter, {\n property: prop\n });\n },\n\n getColumnFiltered(column)\n {\n let prop = column;\n\n if ( !Any.isString(prop) ) {\n prop = column.filterProp;\n }\n\n if ( Any.isEmpty(prop) ) {\n prop = column.prop;\n }\n\n return Arr.has(this.tempFilterProps, prop);\n },\n\n detectVisible(column)\n {\n if ( column.detectVisibity() ) {\n Arr.add(this.tempVisible, column.prop);\n }\n },\n\n makeVisibleProps()\n {\n this.tempVisibleProps = Arr.intersect(\n Arr.extract(this.elements, 'prop'), this.tempVisible);\n\n this.$nextTick(this.$refs.scrollbar.onResize);\n },\n\n sortByColumn(column)\n {\n let prop = column;\n\n if ( !Any.isString(prop) ) {\n prop = column.sortProp;\n }\n\n if ( Any.isEmpty(prop) ) {\n prop = column.prop;\n }\n\n\n let dir = this.tempSortDir;\n\n if ( prop === this.tempSortProp && this.tempSortDir === 'desc' ) {\n dir = 'asc';\n }\n\n if ( prop === this.tempSortProp && this.tempSortDir === 'asc' ) {\n dir = 'desc';\n }\n\n if ( this.tempSortDir !== dir ) {\n this.$emit('update:sortDir', this.tempSortDir = dir);\n }\n\n if ( this.tempSortProp !== prop ) {\n this.$emit('update:sortProp', this.tempSortProp = prop);\n }\n\n this.$emit('sort', this.tempSortProp, this.tempSortDir);\n },\n\n replaceFilter(filter, search)\n {\n Arr.replace(this.tempFilter, filter, search);\n\n let filters = Arr.filter(this.tempFilter, (filter) => {\n return Arr.has(this.tempFilterProps, filter.property);\n });\n\n this.$emit('update:filter', filters);\n\n this.$emit('filter', filters, this.tempFilterProps);\n },\n\n resetFilter()\n {\n this.tempFilter = this.tempFilterProps = [];\n\n Event.fire('NTable:reset', this.uid);\n\n this.$emit('update:filter', this.tempFilter);\n\n this.$emit('filter', this.tempFilter, this.tempFilterProps);\n },\n\n selectAll()\n {\n this.$refs.draggable.selectAll();\n },\n\n highlightNode(value, key = null)\n {\n this.$refs.draggable.highlightNode(value, key);\n },\n\n syncCurrent()\n {\n return this.$refs.draggable.syncCurrent();\n },\n\n refreshCurrent()\n {\n this.$refs.draggable.refreshCurrent();\n },\n\n },\n\n renderHandle()\n {\n if ( !this.renderHandle ) {\n return null;\n }\n\n return (\n <div class=\"n-draglist-item__handle\">\n { /* Only used in row */}\n </div>\n )\n },\n\n renderExpand()\n {\n if ( !this.renderExpand ) {\n return null;\n }\n\n return (\n <div class=\"n-draglist-item__expand\">\n { /* Only used in row */}\n </div>\n )\n },\n\n renderSelect()\n {\n if ( !this.renderSelect ) {\n return null;\n }\n\n let props = {\n modelValue: this.checked,\n intermediate: this.intermediate,\n disabled: !this.items.length,\n onClick: this.selectAll\n };\n\n return (\n <div class=\"n-draglist-item__select\">\n <NCheckbox {...props}></NCheckbox>\n </div>\n );\n },\n\n renderBody(props)\n {\n let columns = Obj.each(this.elements, (column) => {\n return column.disabled ? null : column.ctor('renderBody')(props);\n });\n\n return Obj.values(columns);\n },\n\n renderContext()\n {\n let columns = Obj.each(this.elements, (column) => {\n\n if ( column.disabled ) {\n return null;\n }\n\n return (\n <NCheckbox class=\"n-table__checkbox\" value={column.prop}>\n {column.label}\n </NCheckbox>\n );\n });\n\n return (\n <NPopover trigger=\"context\" width={220}>\n <NCheckboxGroup vModel={this.tempVisible} align=\"vertical\">\n {Obj.values(columns)}\n </NCheckboxGroup>\n </NPopover>\n );\n },\n\n renderHead()\n {\n let defaultRender = [\n this.ctor('renderHandle')(),\n this.ctor('renderExpand')(),\n this.ctor('renderSelect')(),\n this.ctor('renderContext')()\n ];\n\n let columns = Obj.each(this.elements, (column) => {\n return column.disabled ? null : column.ctor('renderHead')();\n });\n\n return (\n <div class=\"n-table__header\">\n {defaultRender} {Obj.values(columns)}\n </div>\n );\n },\n\n render()\n {\n let except = [\n 'visible', 'filter', 'sortProp',\n 'sortDir', 'closeFilterOnEnter'\n ];\n\n let props = Obj.except(this.$props, except, {\n items: this.items,\n selected: this.tempSelected,\n overflowX: false,\n useKeys: this.useKeys,\n // renderNode: this.ctor('renderBody')\n });\n\n props['onRowClick'] = (...args) => {\n this.$emit('row-click', ...args);\n }\n\n props['onRowDblclick'] = (...args) => {\n this.$emit('row-dblclick', ...args);\n }\n\n props['onUpdate:items'] = (value) => {\n this.$emit('update:items', value);\n }\n\n props['onUpdate:current'] = (value) => {\n this.$emit('update:current', value);\n }\n\n props['onUpdate:expanded'] = (value) => {\n this.$emit('update:expanded', value);\n }\n\n props['onUpdate:selected'] = (value) => {\n this.$emit('update:selected', this.tempSelected = value);\n }\n\n let draggableHtml = (\n <div class=\"n-table__body\">\n <NDraglist ref=\"draggable\" {...props} offsetX={25}>\n {{ default: this.ctor('renderBody') }}\n </NDraglist>\n </div>\n );\n\n return (\n <div class=\"n-table\">\n <NScrollbar ref=\"scrollbar\" class=\"n-table__wrap\" fixture={true} overflowY={false}>\n <div class=\"n-table__inner\">\n {[this.ctor('renderHead')(), draggableHtml]}\n </div>\n </NScrollbar>\n {this.$slots.default && this.$slots.default()}\n </div>\n );\n },\n\n}","import { Any, Arr, Obj, Str, Dom, UUID, Num, Locale } from \"@kizmann/pico-js\";\nimport { h, resolveComponent } from \"vue\";\n\nexport default {\n\n name: 'NTableColumn',\n\n inject: {\n\n NTable: {\n default: undefined\n }\n\n },\n\n props: {\n\n modelValue: {\n default()\n {\n return null;\n }\n },\n\n prop: {\n default()\n {\n return UUID();\n },\n type: [String]\n },\n\n label: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n tooltip: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'string';\n },\n type: [String]\n },\n\n align: {\n default()\n {\n return 'left';\n },\n type: [String]\n },\n\n sort: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n filter: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n visible: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean, Function]\n },\n\n matrixDisabled: {\n default()\n {\n return false;\n },\n type: [Boolean, Function]\n },\n\n breakpoint: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n previewProp: {\n default()\n {\n return 'preview';\n },\n type: [String]\n },\n\n matrix: {\n default()\n {\n return - 1;\n },\n type: [Number, String]\n },\n\n matrixProp: {\n default()\n {\n return 'matrix';\n },\n type: [String]\n },\n\n options: {\n default()\n {\n return [];\n },\n type: [Object, Array, Function]\n },\n\n optionsValue: {\n default()\n {\n return '$value';\n },\n type: [String]\n },\n\n optionsLabel: {\n default()\n {\n return '$value';\n },\n type: [String]\n },\n\n sortProp: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n filterProp: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n fluid: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n fixedWidth: {\n default()\n {\n return 0;\n }\n },\n\n width: {\n default()\n {\n return 0;\n }\n },\n\n minWidth: {\n default()\n {\n return 120;\n }\n },\n\n maxWidth: {\n default()\n {\n return 0;\n }\n },\n\n emptyText: {\n default()\n {\n return '-';\n },\n type: [String]\n },\n\n undefinedText: {\n default()\n {\n return Locale.trans('-');\n },\n type: [String]\n },\n\n trueText: {\n default()\n {\n return Locale.trans('Yes');\n },\n type: [String]\n },\n\n falseText: {\n default()\n {\n return Locale.trans('No');\n },\n type: [String]\n },\n\n datetimeFormat: {\n default()\n {\n return Locale.trans('YYYY-MM-DD HH:mm');\n },\n type: [String]\n },\n\n allowUncheck: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n },\n\n computed: {\n\n matrixValues()\n {\n if ( this.type !== 'matrix' ) {\n return;\n }\n\n let values = {};\n\n if ( Any.isEmpty(this.modelValue) ) {\n return values;\n }\n\n Arr.each(this.modelValue, (item) => {\n Obj.set(values, item[this.NTable.uniqueProp],\n Num.matrix(item[this.matrixProp]));\n });\n\n return values;\n }\n\n },\n\n provide()\n {\n return {\n NTableColumn: this\n };\n },\n\n data()\n {\n return {\n uid: UUID(), tempWidth: 0\n };\n },\n\n methods: {\n\n detectVisibity()\n {\n let visible = this.visible;\n\n if ( this.breakpoint ) {\n visible &= Dom.find(this.NTable.$el).width() > this.breakpoint;\n }\n\n return visible;\n },\n\n sortByColumn(event)\n {\n if ( !Arr.has([0, 1], event.which) ) {\n return;\n }\n\n if ( !Dom.find(event.target).closest('.n-table-column__filter') ) {\n this.NTable.sortByColumn(this);\n }\n },\n\n },\n\n beforeMount()\n {\n this.changedStates = {};\n this.NTable.addColumn(this);\n },\n\n beforeUnmount()\n {\n this.NTable.removeColumn(this);\n },\n\n renderHead()\n {\n if ( !this.NTable.getColumnVisiblity(this) ) {\n return null;\n }\n\n let classList = [\n 'n-table-column',\n 'n-table-column--' + this.align,\n 'n-table-column--' + this.type,\n ];\n\n let sortDirection = this.NTable.getColumnSorted(this);\n\n if ( sortDirection ) {\n classList.push('n-sorted', 'n-' + sortDirection);\n }\n\n if ( this.fluid || !this.width ) {\n classList.push('n-fluid');\n }\n\n if ( this.fixedWidth ) {\n classList.push('n-fixed');\n }\n\n if ( this.NTable.getColumnFiltered(this) ) {\n classList.push('n-filtered');\n }\n\n let style = {};\n\n if ( this.fixedWidth ) {\n style.width = this.fixedWidth + 'px';\n }\n\n if ( this.width ) {\n style.flexBasis = this.width + 'px';\n }\n\n let props = {\n modelValue: this.tempWidth,\n width: this.width,\n minWidth: this.minWidth,\n maxWidth: this.maxWidth,\n disabled: !!this.fixedWidth,\n group: [this.NTable.uid],\n };\n\n props['onUpdate:modelValue'] = (value) => {\n this.tempWidth = value;\n }\n\n if ( this.sort ) {\n props.onMousedown = this.sortByColumn;\n }\n\n return (\n <NResizer ref=\"column\" class={classList} style={style} {...props}>\n {this.ctor('renderHeadSort')()}\n {this.ctor('renderHeadLabel')()}\n {this.ctor('renderHeadFilter')()}\n </NResizer>\n );\n },\n\n renderHeadLabel()\n {\n let classList = [\n 'n-table-column__label'\n ];\n\n let labelHtml = (\n <div class={classList}>\n <span>{this.label}</span>\n </div>\n );\n\n if ( Any.isEmpty(this.tooltip) ) {\n return labelHtml;\n }\n\n let tooltipHtml = (\n <NPopover type=\"tooltip\">{this.tooltip}</NPopover>\n );\n\n return [labelHtml, tooltipHtml];\n },\n\n renderHeadSort()\n {\n if ( !this.sort ) {\n return null;\n }\n\n return (\n <div class=\"n-table-column__sort\">\n <i>{ /* Sorting angles */}</i>\n </div>\n )\n },\n\n renderHeadFilter()\n {\n if ( !this.filter ) {\n return null;\n }\n\n let angleHtml = (\n <div class=\"n-table-column__filter\">\n <i class={nano.Icons.angleDown}></i>\n </div>\n );\n\n let component = resolveComponent('NTableFilter' +\n Str.ucfirst(this.type));\n\n return [\n angleHtml, h(component, { column: this })\n ];\n },\n\n renderBody(props)\n {\n if ( !this.NTable.getColumnVisiblity(this) ) {\n return null;\n }\n\n let uid = props.value[this.NTable.uniqueProp]\n + this.uid;\n\n let classList = [\n 'n-table-cell',\n 'n-table-cell--' + this.align,\n 'n-table-cell--' + this.type,\n ];\n\n if ( this.fluid ) {\n classList.push('n-fluid');\n }\n\n if ( this.tempWidth ) {\n classList.push('n-fixed');\n }\n\n let index = this.NTable.getColumnIndex(this);\n\n let offset = 0;\n\n if ( index === 0 ) {\n offset = props.value.depth * this.NTable.itemOffset;\n }\n\n let style = {\n width: (this.tempWidth - offset) + 'px'\n };\n\n if ( this.minWidth ) {\n style.minWidth = (this.minWidth - offset) + 'px';\n }\n\n if ( this.maxWidth ) {\n style.maxWidth = (this.maxWidth - offset) + 'px';\n }\n\n let passed = Obj.except(this.$attrs, [], {\n ...props, uid: uid, class: classList, style: style, column: this\n });\n\n let component = resolveComponent('NTableCell' +\n Str.ucfirst(this.type));\n\n return h(component, passed);\n },\n\n render()\n {\n return null;\n }\n\n}","import { Obj } from \"@kizmann/pico-js\";\n\nexport default {\n\n inject: {\n\n NTable: {\n default: undefined\n },\n\n NDraggableItem: {\n default: undefined\n }\n\n },\n\n props: {\n\n uid: {\n required: true\n },\n\n column: {\n required: true\n },\n\n item: {\n required: true\n },\n\n value: {\n required: true\n },\n\n copy: {\n required: true\n },\n\n remove: {\n required: true\n },\n\n\n },\n\n computed: {\n\n input()\n {\n return Obj.get(this.item, this.column.prop);\n }\n\n },\n\n data()\n {\n return { init: false };\n },\n\n mounted()\n {\n this.timer = setTimeout(() => this.init = true, 20);\n },\n\n beforeUnmount()\n {\n clearTimeout(this.timer);\n },\n\n methods: {\n\n setFirstState(state)\n {\n Obj.set(this.column.changedStates,\n this.uid, this.firstState = state);\n }\n\n },\n\n render()\n {\n if ( this.column.$slots.default ) {\n return this.column.$slots.default(this);\n }\n \n return (\n <div>{ this.input }</div>\n );\n }\n\n}\n","import TableCell from \"../table-cell\";\nimport { Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NTableCellString',\n\n extends: TableCell,\n\n render()\n {\n if ( ! this.init ) {\n return null;\n }\n\n if ( this.column.cslo('default', this) ) {\n return (\n <div>{ this.column.$slots.default(this) }</div>\n );\n }\n\n return (\n <div>\n <span>{ Any.convertString(this.input, this.column.emptyText) }</span>\n </div>\n );\n }\n\n}\n","import TableCell from \"../table-cell\";\nimport { Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NTableCellBoolean',\n\n extends: TableCell,\n\n render()\n {\n if ( ! this.init ) {\n return null;\n }\n\n if ( this.column.cslo('default', this) ) {\n return (\n <div>{ this.column.$slots.default(this) }</div> \n );\n }\n\n return (\n <div>\n <span>{ Any.convertBoolean(this.input, this.column.trueText, this.column.falseText) }</span>\n </div>\n );\n }\n\n}\n","import TableCell from \"../table-cell\";\nimport { Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NTableCellDatetime',\n\n extends: TableCell,\n\n render()\n {\n if ( ! this.init ) {\n return null;\n }\n\n if ( this.column.cslo('default', this) ) {\n return (\n <div>{ this.column.$slots.default(this) }</div> \n );\n }\n\n return (\n <div>\n <span>{ Any.convertDatetime(this.input, this.column.datetimeFormat, this.column.emptyText) }</span>\n </div>\n );\n }\n\n}\n","import TableCell from \"../table-cell\";\nimport { Arr, Obj, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NTableCellOption',\n\n extends: TableCell,\n\n renderOption(value)\n {\n let options = this.column.options;\n\n if ( Any.isFunction(options) ) {\n options = this.column.options(this);\n }\n\n options = Arr.each(options, (value, index) => {\n return { $value: value, $index: index };\n });\n\n let prop = this.column.optionsValue;\n\n let option = Arr.find(options, (item) => {\n return Obj.get(item, prop) == value;\n });\n\n if ( ! option ) {\n return [this.column.emptyText];\n }\n\n return Obj.get(option, this.column.optionsLabel,\n this.column.undefinedText);\n },\n\n render()\n {\n if ( ! this.init ) {\n return null;\n }\n\n if ( this.column.cslo('default', this) ) {\n return (\n <div>{ this.column.$slots.default(this) }</div> \n );\n }\n\n let input = ! Any.isObject(this.input) ?\n [this.input] : this.input;\n\n return (\n <div>\n <span>{ Arr.each(input, this.ctor('renderOption')) }</span>\n </div>\n );\n }\n\n}\n","import TableCell from \"../table-cell\";\nimport { Obj, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NTableCellImage',\n\n extends: TableCell,\n\n computed: {\n\n preview()\n {\n return Obj.get(this.item, this.column.previewProp);\n }\n\n },\n\n render()\n {\n if ( ! this.init ) {\n return null;\n }\n\n if ( this.column.cslo('default', this) ) {\n return (\n <div>{ this.column.$slots.default(this) }</div> \n );\n }\n\n let classList = [\n 'n-table-cell',\n 'n-table-cell--' + this.column.type\n ];\n\n let props = {\n fit: 'contain',\n }\n\n return (\n <div class={classList}>\n <NPreview file={this.preview || this.input} thumb={this.input} {...props} />\n </div>\n );\n }\n\n}\n","import TableCell from \"../table-cell\";\nimport { Num, Any, Obj, Arr, UUID } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NTableCellMatrix',\n\n extends: TableCell,\n\n beforeMount()\n {\n this.firstState = Obj.get(this.column.changedStates,\n this.uid);\n },\n\n methods: {\n\n toggleMatrix()\n {\n if ( this.column.matrix === -1 ) {\n return this.toggleSelect();\n }\n\n let itemList = this.column.modelValue;\n\n if ( itemList === null ) {\n itemList = [];\n }\n\n let item = Arr.find(itemList, {\n [this.NTable.uniqueProp]: this.value[this.NTable.uniqueProp]\n });\n\n if ( ! item ) {\n item = Obj.assign({}, this.item, { [this.column.matrixProp]: 0 });\n }\n\n let currentMatrix = Num.int(item[this.column.matrixProp]);\n\n let matrix = Arr.toggle(Num.matrix(currentMatrix),\n Num.int(this.column.matrix));\n\n item[this.column.matrixProp] = Num.combine(matrix);\n\n Arr.replace(itemList, item, {\n [this.NTable.uniqueProp]: item[this.NTable.uniqueProp]\n });\n\n this.column.$emit('update:modelValue', itemList);\n },\n\n toggleSelect()\n {\n let itemList = this.column.modelValue;\n\n if ( itemList === null ) {\n itemList = [];\n }\n\n let fallback = Obj.assign({}, this.item, {\n [this.column.matrixProp]: this.column.matrix\n });\n\n let finder = {\n [this.NTable.uniqueProp]: this.value[this.NTable.uniqueProp],\n };\n\n let item = Arr.find(itemList, finder);\n\n if ( ! item ) {\n Arr.add(itemList, fallback);\n } else {\n Arr.remove(itemList, finder);\n }\n\n this.column.$emit('update:modelValue', itemList);\n },\n\n isChecked()\n {\n let matrix = Obj.get(this.column.matrixValues,\n this.item[this.NTable.uniqueProp]);\n\n if ( ! matrix ) {\n return false;\n }\n\n let value = Num.int(this.column.matrix);\n\n if ( value === -1 ) {\n return true;\n }\n\n return Arr.has(matrix, value);\n },\n\n isDisabled()\n {\n if ( ! Any.isFunction(this.column.matrixDisabled) ) {\n return this.column.matrixDisabled;\n }\n\n return this.column.matrixDisabled(this);\n }\n\n },\n\n render()\n {\n let checked = this.isChecked();\n\n if ( this.firstState === null ) {\n this.setFirstState(checked);\n }\n\n if ( ! this.init ) {\n return null;\n }\n\n let classList = [\n 'n-table-cell--checkbox'\n ];\n\n if ( this.firstState !== checked ) {\n classList.push('n-changed');\n }\n\n if ( checked ) {\n classList.push('n-checked');\n }\n\n let isDisabled = this.isDisabled();\n\n if ( this.column.allowUncheck ) {\n isDisabled = isDisabled && ! checked;\n }\n\n if ( isDisabled ) {\n classList.push('n-disabled');\n }\n\n let props = {};\n\n if ( ! isDisabled ) {\n props.onClick = this.toggleMatrix;\n }\n\n return (\n <div class={classList} {...props}>\n <i class={nano.Icons.checked}></i>\n </div>\n );\n }\n\n}\n","import TableCell from \"../table-cell\";\nimport { Num, Any, Obj, Arr } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NTableCellSelect',\n\n extends: TableCell,\n\n beforeMount()\n {\n this.firstState = Obj.get(this.column.changedStates,\n this.uid);\n },\n\n methods: {\n\n toggleSelect()\n {\n let item = null;\n\n if ( ! this.isChecked() ) {\n item = Obj.assign({}, this.item);\n }\n\n this.column.$emit('update:modelValue', item);\n },\n\n isChecked()\n {\n if ( Any.isEmpty(this.column.modelValue) ) {\n return false;\n }\n\n return Obj.get(this.column.modelValue, this.NTable.uniqueProp) ===\n this.value[this.NTable.uniqueProp];\n },\n\n isDisabled()\n {\n if ( ! Any.isEmpty(this.column.modelValue) ) {\n return true;\n }\n\n if ( ! Any.isFunction(this.column.disabled) ) {\n return this.column.disabled;\n }\n\n return this.column.disabled(this);\n },\n\n },\n\n render()\n {\n let checked = this.isChecked();\n\n if ( this.firstState === null ) {\n this.setFirstState(checked);\n }\n\n if ( ! this.init ) {\n return null;\n }\n\n let classList = [\n 'n-table-cell--checkbox'\n ];\n\n if ( this.firstState !== checked ) {\n classList.push('n-changed');\n }\n\n if ( checked ) {\n classList.push('n-checked');\n }\n\n let isDisabled = this.isDisabled();\n\n if ( this.column.allowUncheck ) {\n isDisabled = isDisabled && ! checked;\n }\n\n if ( isDisabled ) {\n classList.push('n-disabled');\n }\n\n let props = {};\n\n if ( ! isDisabled ) {\n props.onClick = this.toggleSelect;\n }\n\n return (\n <div class={classList} {...props}>\n <i class={nano.Icons.checked}></i>\n </div>\n );\n }\n\n}\n","import {Arr, Obj, Any, Dom, Event, UUID} from \"@kizmann/pico-js\";\n\nexport default {\n\n inject: {\n\n NTable: {\n default: undefined\n }\n\n },\n\n props: {\n\n column: {\n required: true\n }\n\n },\n\n computed: {\n\n tempFilter()\n {\n return this.NTable.getColumnFilter(this.column);\n },\n\n canReset()\n {\n return ! this.NTable.getColumnFiltered(this.column);\n },\n\n canApply()\n {\n return ! Any.isEmpty(this.filter.value);\n }\n\n },\n\n data()\n {\n return {\n filter: this.getFilterClone(), visible: false\n };\n },\n\n beforeMount()\n {\n this.mountFilter();\n },\n\n mounted()\n {\n Event.bind('NTable:reset', \n this.resetFilter, this._.uid);\n\n Dom.find(document).on('keydown', \n this.onKeydown, this._.uid);\n },\n\n beforeUnmount()\n {\n Event.unbind('NTable:reset', \n this._.uid);\n\n Dom.find(document).off('keydown', \n null, this._.uid);\n },\n\n methods: {\n\n getFilterClone()\n {\n let tempFilter = this.NTable.getColumnFilter(this.column);\n\n if ( Any.isEmpty(tempFilter) ) {\n return null;\n }\n\n return Obj.clone(tempFilter);\n },\n\n getFilterProp()\n {\n return this.column.filterProp || \n this.column.prop;\n },\n\n getDefaultFilter()\n {\n return {\n type: this.column.type, \n value: null,\n property: this.getFilterProp(), \n };\n },\n\n mountFilter()\n {\n if ( this.filter ) {\n return this.applyFilter();\n }\n\n this.filter = this.getDefaultFilter();\n\n if ( ! this.canApply ) {\n return;\n }\n\n Arr.add(this.NTable.tempFilter, this.filter, {\n property: this.getFilterProp()\n });\n },\n\n resetFilter(uid)\n {\n if ( this.NTable.uid !== uid ) {\n return;\n }\n\n this.filter = this.getDefaultFilter();\n\n Arr.add(this.NTable.tempFilter, this.filter, {\n property: this.getFilterProp()\n });\n },\n\n onKeydown(event)\n {\n if ( ! this.visible ) {\n return;\n }\n\n if ( event.which === 13 && this.canApply ) {\n this.applyFilter();\n }\n\n if ( event.which === 13 && ! this.canApply ) {\n this.clearFilter();\n }\n\n let closeAnyway = event.which === 13 &&\n this.NTable.closeFilterOnEnter;\n\n if ( closeAnyway || event.which === 27 ) {\n this.$refs.popover.close();\n }\n },\n\n applyFilter()\n {\n let filter = Obj.clone(this.filter);\n\n Arr.add(this.NTable.tempFilterProps, \n this.getFilterProp());\n\n this.NTable.replaceFilter(filter, {\n property: this.getFilterProp()\n });\n },\n\n clearFilter()\n {\n let filter = this.getDefaultFilter();\n\n Arr.remove(this.NTable.tempFilterProps, \n this.getFilterProp());\n\n this.NTable.replaceFilter(filter, {\n property: this.getFilterProp()\n });\n\n this.filter = filter;\n }\n\n },\n\n renderForm()\n {\n return null;\n },\n\n renderApply()\n {\n let props = {\n type: 'primary',\n link: true,\n size: 'xs',\n disabled: ! this.canApply\n };\n\n return (\n <NButton {...props} onClick={this.applyFilter}>\n { this.trans('Apply') }\n </NButton>\n );\n },\n\n renderReset()\n {\n let props = {\n type: 'danger',\n link: true,\n size: 'xs',\n disabled: this.canReset,\n };\n\n return (\n <NButton {...props} onClick={this.clearFilter}>\n { this.trans('Reset') }\n </NButton>\n );\n },\n\n renderFooter()\n {\n return (\n <div class=\"n-table-filter__footer\">\n { this.ctor('renderReset')() }\n { this.ctor('renderApply')() }\n </div>\n )\n },\n\n render()\n {\n let props = {\n class: 'n-table-filter__popover',\n trigger: 'click',\n size: 'sm',\n width: 220,\n }\n\n return (\n <NPopover ref=\"popover\" vModel={this.visible} {...props}>\n {\n { default: this.ctor('renderForm'), footer: this.ctor('renderFooter') }\n }\n </NPopover>\n );\n }\n}\n","import TableFilter from \"../table-filter\";\nimport { Dom, Any, Locale } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NTableFilterString',\n\n extends: TableFilter,\n\n methods: {\n\n getDefaultFilter()\n {\n return {\n type: this.column.type, \n value: null, \n operator: 'li',\n property: this.getFilterProp(), \n };\n }\n\n },\n\n renderForm()\n {\n let options = {\n li: this.trans('Includes value'),\n nl: this.trans('Excludes value'),\n eq: this.trans('Equal value'),\n ne: this.trans('Except value'),\n };\n\n return (\n <NForm>\n <NFormItem>\n <NInput size=\"sm\" vModel={this.filter.value} />\n </NFormItem>\n <NFormItem>\n <NSelect size=\"sm\" vModel={this.filter.operator} options={options} />\n </NFormItem>\n </NForm>\n );\n }\n\n}\n","import TableFilter from \"../table-filter\";\nimport { Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NTableFilterBoolean',\n\n extends: TableFilter,\n\n methods: {\n\n getDefaultFilter()\n {\n return {\n type: this.column.type, \n value: null, \n operator: 'in',\n property: this.getFilterProp(), \n };\n }\n\n },\n\n renderForm()\n {\n let options = {\n 1: this.trans(this.column.trueText),\n 0: this.trans(this.column.falseText),\n };\n\n return (\n <NForm>\n <NFormItem>\n <NSelect size=\"sm\" vModel={this.filter.value} options={options} />\n </NFormItem>\n </NForm>\n );\n }\n\n}\n","import TableFilter from \"../table-filter\";\n\nexport default {\n\n name: 'NTableFilterDatetime',\n\n extends: TableFilter,\n\n methods: {\n\n getDefaultFilter()\n {\n return {\n type: this.column.type, \n value: null, \n operator: 'eq',\n property: this.getFilterProp(), \n };\n }\n\n },\n\n renderForm()\n {\n let options = {\n eq: this.trans('Exact date'),\n lt: this.trans('Before date'),\n gt: this.trans('After date'),\n };\n\n return (\n <NForm>\n <NFormItem>\n <NDatepicker size=\"sm\" vModel={this.filter.value} format={this.column.datetimeFormat} />\n </NFormItem>\n <NFormItem>\n <NSelect size=\"sm\" vModel={this.filter.operator} options={options} />\n </NFormItem>\n </NForm>\n );\n }\n\n}\n","import TableFilter from \"../table-filter\";\nimport { Arr, Obj, Any, Locale } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NTableFilterOption',\n\n extends: TableFilter,\n\n methods: {\n\n getDefaultFilter()\n {\n return {\n type: this.column.type,\n value: [],\n operator: 'in',\n property: this.getFilterProp(),\n };\n }\n\n },\n\n renderOption(value)\n {\n let props = {\n value: Obj.get(value, this.column.optionsValue)\n };\n\n return (\n <NCheckbox {...props}>{ Obj.get(value, this.column.optionsLabel) }</NCheckbox>\n );\n },\n\n renderForm()\n {\n let items = this.column.options;\n\n if ( Any.isFunction(items) ) {\n items = this.column.options(this);\n }\n\n items = Arr.each(items, (value, index) => {\n return { $value: value, $index: index };\n });\n\n let options = {\n in: this.trans('Includes value'),\n ni: this.trans('Excludes value'),\n };\n\n return (\n <NForm>\n <NFormItem>\n <NCheckboxGroup size=\"sm\" align=\"vertical\" vModel={this.filter.value}>\n { Arr.each(items, this.ctor('renderOption')) }\n </NCheckboxGroup>\n </NFormItem>\n <NFormItem>\n <NSelect size=\"sm\" vModel={this.filter.operator} options={options} />\n </NFormItem>\n </NForm>\n );\n }\n\n}\n","import Table from './src/table/table';\nimport TableColumn from './src/table-column/table-column';\nimport TableCellString from './src/table-cell/types/table-cell-string';\nimport TableCellBoolean from './src/table-cell/types/table-cell-boolean';\nimport TableCellDatetime from './src/table-cell/types/table-cell-datetime';\nimport TableCellOption from './src/table-cell/types/table-cell-option';\nimport TableCellImage from './src/table-cell/types/table-cell-image';\nimport TableCellMatrix from './src/table-cell/types/table-cell-matrix';\nimport TableCellSelect from './src/table-cell/types/table-cell-select';\nimport TableFilterString from './src/table-filter/types/table-filter-string';\nimport TableFilterBoolean from './src/table-filter/types/table-filter-boolean';\nimport TableFilterDatetime from './src/table-filter/types/table-filter-datetime';\nimport TableFilterOption from './src/table-filter/types/table-filter-option';\n\n\nexport default function (App) {\n App.component(Table.name, Table);\n App.component(TableColumn.name, TableColumn);\n App.component(TableCellString.name, TableCellString);\n App.component(TableCellBoolean.name, TableCellBoolean);\n App.component(TableCellDatetime.name, TableCellDatetime);\n App.component(TableCellOption.name, TableCellOption);\n App.component(TableCellImage.name, TableCellImage);\n App.component(TableCellMatrix.name, TableCellMatrix);\n App.component(TableCellSelect.name, TableCellSelect);\n App.component(TableFilterString.name, TableFilterString);\n App.component(TableFilterBoolean.name, TableFilterBoolean);\n App.component(TableFilterDatetime.name, TableFilterDatetime);\n App.component(TableFilterOption.name, TableFilterOption);\n}","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NTimepicker'] = Locale.trans('NTimepicker');\n\nglobal.NanoBuilderIndexies['NTimepicker'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NTimepicker']['props'] = {\n //\n};","import { Arr, Obj, Now, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NTimepickerPanel',\n\n props: {\n\n modelValue: {\n default()\n {\n return null;\n }\n },\n\n clearValue: {\n default()\n {\n return null;\n }\n },\n\n placeholder: {\n default()\n {\n return 'Select time';\n },\n type: [String]\n },\n\n size: {\n default()\n {\n return 'md';\n }\n },\n\n type: {\n default()\n {\n return 'primary';\n }\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n format: {\n default()\n {\n return 'YYYY-MM-DD HH:mm:ss';\n },\n type: [String]\n },\n\n displayFormat: {\n default()\n {\n return 'HH:mm:ss';\n },\n type: [String]\n },\n\n hoursInterval: {\n default()\n {\n return 1;\n },\n type: [Number]\n },\n\n minutesInterval: {\n default()\n {\n return 1;\n },\n type: [Number]\n },\n\n secondsInterval: {\n default()\n {\n return 1;\n },\n type: [Number]\n }\n\n },\n\n computed: {\n\n hoursGrid()\n {\n return this.tempValue.getHours(this.hoursInterval);\n },\n\n minutesGrid()\n {\n return this.tempValue.getMinutes(this.minutesInterval);\n },\n\n secondsGrid()\n {\n return this.tempValue.getSeconds(this.secondsInterval);\n }\n\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue.format(this.format) ) {\n this.tempValue = Now.make(value);\n }\n }\n\n },\n\n data()\n {\n let modelValue = Now.make(this.modelValue);\n\n if ( Any.isEmpty(this.modelValue) ) {\n modelValue = modelValue.resetTime();\n }\n\n return {\n tempValue: modelValue,\n }\n },\n\n mounted()\n {\n this.scrollTo();\n },\n\n methods: {\n\n eventSelect(now)\n {\n this.$emit('update:modelValue',\n (this.tempValue = now.clone()).format(this.format));\n },\n\n scrollTo()\n {\n let scrollbars = Obj.only(this.$refs, [\n 'hour', 'minute', 'second'\n ]);\n\n Arr.each(scrollbars, (ref, key) => {\n ref.scrollIntoView(`[data-index=\"${this.tempValue[key]()}\"]`);\n });\n }\n\n },\n\n renderToolbar()\n {\n return (\n <div class=\"n-timepicker-panel__toolbar\">\n <div class=\"n-timepicker-panel__display\">\n <span class=\"n-timepicker-panel__time\">\n {this.tempValue.format(this.displayFormat) || this.placeholder}\n </span>\n </div>\n </div>\n )\n },\n\n renderHourItem(now)\n {\n let classList = [\n 'n-timepicker-panel__item'\n ];\n\n if ( this.tempValue.valid() && now.hour() === this.tempValue.hour() ) {\n classList.push('n-selected');\n }\n\n let props = {\n onMousedown: () => this.eventSelect(now)\n };\n\n return (\n <div class={classList} {...props} data-index={now.hour()}>\n <span>{now.format('HH')}</span>\n </div>\n );\n },\n\n renderHourPanel()\n {\n if ( !this.displayFormat.match('HH') ) {\n return null;\n }\n\n return (\n <NScrollbar ref=\"hour\" class=\"n-timepicker-panel__panel\" wrapClass=\"n-timepicker-panel__wrap\">\n {Arr.each(this.hoursGrid, this.ctor('renderHourItem'))}\n </NScrollbar>\n );\n },\n\n renderMinuteItem(now)\n {\n let classList = [\n 'n-timepicker-panel__item'\n ];\n\n if ( this.tempValue.valid() && now.minute() === this.tempValue.minute() ) {\n classList.push('n-selected');\n }\n\n let props = {\n onMousedown: () => this.eventSelect(now)\n };\n\n return (\n <div class={classList} {...props} data-index={now.minute()}>\n <span>{now.format('mm')}</span>\n </div>\n );\n },\n\n renderMinutePanel()\n {\n if ( !this.displayFormat.match('mm') ) {\n return null;\n }\n\n return (\n <NScrollbar ref=\"minute\" class=\"n-timepicker-panel__panel\" wrapClass=\"n-timepicker-panel__wrap\">\n {Arr.each(this.minutesGrid, this.ctor('renderMinuteItem'))}\n </NScrollbar>\n );\n },\n\n renderSecondItem(now)\n {\n let classList = [\n 'n-timepicker-panel__item'\n ];\n\n if ( this.tempValue.valid() && now.second() === this.tempValue.second() ) {\n classList.push('n-selected');\n }\n\n let props = {\n onMousedown: () => this.eventSelect(now)\n };\n\n return (\n <div class={classList} {...props} data-index={now.second()}>\n <span>{now.format('ss')}</span>\n </div>\n );\n },\n\n renderSecondPanel()\n {\n if ( !this.displayFormat.match('ss') ) {\n return null;\n }\n\n return (\n <NScrollbar ref=\"second\" class=\"n-timepicker-panel__panel\" wrapClass=\"n-timepicker-panel__wrap\">\n {Arr.each(this.secondsGrid, this.ctor('renderSecondItem'))}\n </NScrollbar>\n );\n },\n\n render()\n {\n let classList = [\n 'n-timepicker-panel',\n 'n-timepicker-panel--' + this.size,\n 'n-timepicker-panel--' + this.type,\n ];\n\n if ( this.disabled ) {\n classList.push('n-disabled');\n }\n\n return (\n <div class={classList}>\n <div class=\"n-timepicker-panel__header\">\n {this.ctor('renderToolbar')()}\n </div>\n <div class=\"n-timepicker-panel__body\">\n {this.ctor('renderHourPanel')()}\n {this.ctor('renderMinutePanel')()}\n {this.ctor('renderSecondPanel')()}\n </div>\n </div>\n );\n }\n\n}","import { Arr, Obj, Now, Any, Locale } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NTimepicker',\n\n props: {\n\n modelValue: {\n default()\n {\n return null;\n }\n },\n\n clearValue: {\n default()\n {\n return null;\n }\n },\n\n placeholder: {\n default()\n {\n return 'Select time';\n },\n type: [String]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n position: {\n default()\n {\n return 'bottom-start';\n },\n type: [String]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n clearable: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n format: {\n default()\n {\n return 'YYYY-MM-DD HH:mm:ss';\n },\n type: [String]\n },\n\n displayFormat: {\n default()\n {\n return Locale.trans('HH:mm:ss');\n },\n type: [String]\n },\n\n hoursInterval: {\n default()\n {\n return 1;\n },\n type: [Number]\n },\n\n minutesInterval: {\n default()\n {\n return 1;\n },\n type: [Number]\n },\n\n secondsInterval: {\n default()\n {\n return 1;\n },\n type: [Number]\n }\n\n },\n\n computed: {\n\n hoursGrid()\n {\n return this.tempValue.getHours(this.hoursInterval);\n },\n\n minutesGrid()\n {\n return this.tempValue.getMinutes(this.minutesInterval);\n },\n\n secondsGrid()\n {\n return this.tempValue.getSeconds(this.secondsInterval);\n }\n\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue.format(this.format) ) {\n this.tempValue = Now.make(value);\n }\n }\n\n },\n\n data()\n {\n return {\n focus: false,\n tempValue: Now.make(this.modelValue),\n }\n },\n\n methods: {\n\n clearTimepicker()\n {\n this.tempValue = Now.make(this.clearValue, \n this.format);\n\n this.$emit('update:modelValue', this.clearValue);\n },\n\n onPopoverInput(value)\n {\n this.focus = value;\n },\n\n onValueInput(event)\n {\n let isNotSameLength = this.displayFormat.length !==\n event.target.value.length;\n\n if ( isNotSameLength ) {\n return;\n }\n\n let value = Now.make(event.target.value, \n this.displayFormat);\n\n if ( ! value.moment.isValid() ) {\n return;\n }\n\n let moment = this.tempValue.moment.set({\n hour: value.moment.hour(), \n minute: value.moment.minute(), \n second: value.moment.second(),\n });\n\n this.tempValue = Now.make(moment);\n\n this.$emit('update:modelValue', \n this.tempValue.format(this.format));\n },\n\n onTimepickerInput(value)\n {\n this.tempValue = Now.make(value, \n this.format);\n\n this.$emit('update:modelValue', value);\n },\n\n },\n\n renderLabelClear()\n {\n if ( ! this.clearable || ! this.tempValue.valid() ) {\n return null;\n }\n\n let props = {};\n\n if ( ! this.disabled ) {\n props.onMousedown = this.clearTimepicker;\n }\n\n return (\n <div class=\"n-timepicker__clear\" {...props}>\n <i class={ nano.Icons.times }></i>\n </div>\n );\n },\n\n renderLabelAngle()\n {\n return (\n <div class=\"n-timepicker__angle\">\n <i class={ nano.Icons.angleDown }></i>\n </div>\n );\n },\n\n renderSingle()\n {\n let props = {\n value: '',\n disabled: this.disabled,\n placeholder: this.trans(this.placeholder),\n onInput: this.onValueInput,\n };\n\n if ( this.tempValue.valid() ) {\n props.value = this.tempValue.format(\n this.displayFormat, true);\n }\n\n return (\n <div class=\"n-timepicker__input\">\n <input {...props}/>\n </div>\n );\n },\n\n renderDisplay()\n {\n let classList = [\n 'n-timepicker__display'\n ];\n\n return (\n <div class={classList}>\n { this.ctor('renderLabelClear')() }\n { this.ctor('renderSingle')() }\n { this.ctor('renderLabelAngle')() }\n </div>\n );\n },\n\n renderPanel()\n {\n \n let props = Obj.except(this.$props, ['modelValue'], {\n modelValue: this.tempValue.format(this.format) || null,\n });\n\n props['onUpdate:modelValue'] = this.onTimepickerInput;\n\n return (\n <NTimepickerPanel class=\"n-timepicker__body\" {...props}></NTimepickerPanel>\n );\n },\n\n renderPopover()\n {\n let props = {\n trigger: 'click',\n width: 0,\n size: this.size,\n position: this.position,\n scrollClose: true,\n disabled: this.disabled\n };\n\n return (\n <NPopover ref=\"popover\" vModel={this.focus} {...props}>\n { { raw: this.ctor('renderPanel') } }\n </NPopover>\n );\n },\n\n render()\n {\n let classList = [\n 'n-timepicker',\n 'n-timepicker--' + this.type,\n 'n-timepicker--' + this.size,\n ];\n\n if ( ! this.tempValue.valid() ) {\n classList.push('n-empty');\n }\n\n if ( this.clearable ) {\n classList.push('n-clearable');\n }\n\n if ( this.focus ) {\n classList.push('n-focus');\n }\n\n if ( this.disabled ) {\n classList.push('n-disabled');\n }\n\n return (\n <div class={classList}>\n { this.ctor('renderDisplay')() }\n { this.ctor('renderPopover')() }\n </div>\n );\n }\n\n}","import TimepickerPanel from \"./src/timepicker-panel/timepicker-panel\";\nimport Timepicker from \"./src/timepicker/timepicker\";\n\nexport default function (App) {\n App.component(TimepickerPanel.name, TimepickerPanel);\n App.component(Timepicker.name, Timepicker);\n}","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NTagsItem'] = Locale.trans('NTagsItem');\n\nglobal.NanoBuilderIndexies['NTagsItem'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NTagsItem']['props'] = {\n //\n};","import { h } from \"vue\";\nimport {Obj, Any, UUID} from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NTextarea',\n\n props: {\n\n modelValue: {\n default()\n {\n return null;\n }\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n placeholder: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n autoRows: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n maxRows: {\n default()\n {\n return 12;\n },\n type: [Number]\n },\n\n minRows: {\n default()\n {\n return 4;\n },\n type: [Number]\n },\n\n maxLength: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue ) {\n this.tempValue = value;\n }\n }\n\n },\n\n methods: {\n\n eventInput(event)\n {\n this.$emit('update:modelValue', \n this.tempValue = event.target.value);\n }\n\n },\n\n data()\n {\n return {\n tempValue: this.modelValue || ''\n };\n },\n\n renderInput()\n {\n let props = Obj.except(this.$attrs, ['class', 'style']);\n\n Obj.assign(props, {\n value: this.tempValue,\n rows: this.minRows,\n disabled: this.disabled,\n placeholder: this.placeholder,\n onInput: this.eventInput,\n });\n\n if ( this.maxLength !== 0 ) {\n props.maxLength = this.maxLength;\n }\n\n let currentRows = (this.tempValue.match(/\\n/g) || []).length + 1;\n\n if ( this.autoRows && props.rows < currentRows ) {\n props.rows = currentRows <= this.maxRows ? currentRows : this.maxRows;\n }\n\n return h('textarea', props);\n },\n\n render()\n {\n let classList = [\n 'n-textarea',\n 'n-textarea--' + this.size,\n 'n-textarea--' + this.type,\n ];\n\n if ( this.disabled ) {\n classList.push('n-disabled');\n }\n\n let props = Obj.only(this.$attrs, ['style'], {\n class: this.cmer(classList)\n });\n\n return h('div', props, [this.ctor('renderInput')()]);\n }\n\n}\n","import Textarea from './src/textarea/textarea';\n\nexport default function (App) {\n App.component(Textarea.name, Textarea);\n}","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NLoader'] = Locale.trans('NLoader');\n\nglobal.NanoBuilderIndexies['NLoader'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NLoader']['props'] = {\n //\n};","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NTabs'] = Locale.trans('NTabs');\n\nglobal.NanoBuilderIndexies['NTabs'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NTabs']['props'] = {\n //\n};","import { Obj, Arr, Any, Num, Dom, Event } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NSlider',\n\n props: {\n\n modelValue: {\n default()\n {\n return null;\n }\n },\n\n range: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n steps: {\n default()\n {\n return 1;\n }\n },\n\n labels: {\n default()\n {\n return [];\n },\n type: [Array]\n },\n\n min: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n max: {\n default()\n {\n return 100;\n },\n type: [Number]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n },\n\n data()\n {\n return {\n index: 0, width: null, tempValue: [null, null]\n };\n },\n\n computed: {\n\n selector()\n {\n return `[data-index=\"${this.index}\"]`;\n },\n\n fixmin()\n {\n return Any.isArray(this.steps) ? Arr.first(this.steps) : this.min;\n },\n\n fixmax()\n {\n return Any.isArray(this.steps) ? Arr.last(this.steps) : this.max;\n },\n\n minmax()\n {\n return this.fixmax - this.fixmin;\n },\n\n touch() {\n return !! ('ontouchstart' in window ||\n navigator.msMaxTouchPoints);\n },\n\n mousedown() {\n return this.touch ? 'touchstart' :\n 'mousedown';\n },\n\n mousemove() {\n return this.touch ? 'touchmove' :\n 'mousemove';\n },\n\n mouseup() {\n return this.touch ? 'touchend' :\n 'mouseup';\n }\n },\n\n watch: {\n\n modelValue()\n {\n this.getPseudoValue();\n }\n\n },\n\n mounted()\n {\n Dom.find(window).on('resize',\n Any.debounce(this.onResize, 500), this._.uid);\n\n this.onResize();\n this.getPseudoValue();\n },\n\n unmounted()\n {\n Dom.find(window).off('resize',\n null, this._.uid);\n },\n\n methods: {\n\n onResize()\n {\n this.width = Dom.find(this.$el).width();\n },\n\n getPseudoValue()\n {\n let value = this.modelValue;\n\n if ( Any.isNull(value) ) {\n value = this.fixmax;\n }\n if ( ! Any.isArray(value) ) {\n value = [this.fixmin, value];\n }\n\n return this.tempValue = value;\n },\n\n setModelValue()\n {\n let value = this.tempValue;\n\n if ( ! this.range ) {\n value = this.tempValue[1];\n }\n\n this.$emit('update:modelValue', value);\n },\n\n getValPos(value)\n {\n return Num.fixed(this.width / this.minmax * (value - this.fixmin), 2) + 'px';\n },\n\n getValStyle(value)\n {\n return 'transform: translateX(' + this.getValPos(value) + ');';\n },\n\n getBarPos()\n {\n return Num.fixed(this.width / this.minmax * (this.tempValue[0] - this.fixmin), 2) + 'px';\n },\n\n getBarWidth()\n {\n return Num.fixed(this.width / this.minmax * (this.tempValue[1] - this.tempValue[0]), 2) + 'px';\n },\n\n getBarStyle()\n {\n return 'max-width: ' + this.getBarWidth() + '; ' +\n 'transform: translateX(' + this.getBarPos() + ');';\n },\n\n getClosestValue(width)\n {\n if ( Any.isNumber(this.steps) ) {\n return Num.round(width / this.steps) * this.steps;\n }\n\n let range = Arr.last(this.steps) -\n Arr.first(this.steps);\n\n let diff = Arr.each(this.steps, (step) => {\n return Math.abs((range / 100 * width) - step + this.fixmin);\n });\n\n let index = Arr.findIndex(diff, Math.min(...diff));\n\n return this.steps[index];\n },\n\n getTouchEvent(event)\n {\n if ( ! this.touch ) {\n return event;\n }\n\n return event.touches[0] || event.changedTouches[0];\n },\n\n onMousedown(event)\n {\n if ( this.disabled ) {\n return;\n }\n\n if ( ! Arr.has([0, 1], event.which) ) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n Dom.find(this.$el).find(this.selector).addClass('n-move');\n Dom.find(document.body).addClass('n-move');\n\n Dom.find(document).on(this.mouseup,\n Any.framerate(this.onMouseup, 60), this._.uid);\n\n Dom.find(document).on(this.mousemove,\n Any.framerate(this.onMousemove, 60), this._.uid);\n },\n\n onMousemove(event)\n {\n this.clientX = this.getTouchEvent(event).clientX;\n\n let offsetX = Dom.find(this.$el)\n .offset('left');\n\n let relativeWidth = (this.clientX - offsetX) / this.width * 100;\n\n let closestValue = this.getClosestValue(relativeWidth);\n\n if ( closestValue < this.fixmin ) {\n closestValue = this.fixmin;\n }\n\n if ( closestValue > this.fixmax ) {\n closestValue = this.fixmax;\n }\n\n let stepMin = this.tempValue[0] + this.steps;\n\n if ( this.index === 1 && closestValue < stepMin ) {\n closestValue = stepMin;\n }\n\n let stepMax = this.tempValue[1] - this.steps;\n\n if ( this.index === 0 && closestValue > stepMax ) {\n closestValue = stepMax;\n }\n\n this.tempValue[this.index] = closestValue;\n },\n\n onMouseup(event)\n {\n event.preventDefault();\n event.stopPropagation();\n\n Dom.find(document).off(this.mouseup, null, this._.uid);\n Dom.find(document).off(this.mousemove, null, this._.uid);\n\n Dom.find(this.$el).find(this.selector).removeClass('n-move');\n Dom.find(document.body).removeClass('n-move');\n\n this.setModelValue();\n },\n\n },\n\n renderHandle(value, index)\n {\n let handleProps = {\n 'data-value': value,\n 'data-index': index,\n style: this.getValStyle(value)\n };\n\n handleProps['onMousedown'] = (event) => {\n this.onMousedown(event, this.index = index);\n };\n\n let key = Arr.findIndex(this.steps, value);\n\n return (\n <div class=\"n-slider__handle\" {...handleProps}>\n <span>{ Obj.get(this.labels, key, value) }</span>\n </div>\n );\n },\n\n renderHandles()\n {\n let values = Arr.clone(this.tempValue);\n\n if ( ! this.range ) {\n delete values[0];\n }\n\n return Arr.each(values, (value, index) => {\n return this.ctor('renderHandle')(value, index);\n });\n },\n\n renderBar()\n {\n let barProps = {\n style: this.getBarStyle()\n };\n\n return (\n <div class=\"n-slider__bar\">\n <div class=\"n-slider__range\" {...barProps}></div>\n </div>\n );\n },\n\n render()\n {\n let classList = [\n 'n-slider',\n 'n-slider--' + this.type,\n 'n-slider--' + this.size\n ];\n\n if ( this.range ) {\n classList.push('n-range');\n }\n\n if ( this.disabled ) {\n classList.push('n-disabled');\n }\n\n return (\n <div class={classList}>\n { this.ctor('renderBar')() }\n { this.ctor('renderHandles')() }\n </div>\n );\n }\n\n}\n","import Vue from \"vue\";\n\nimport Slider from './src/slider/slider';\n\nexport default function (App) {\n App.component(Slider.name, Slider);\n}","import { Str, Arr, Obj, Any, Locale, Dom, Num } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NSelect',\n\n inject: {\n\n NFormItem: {\n default: undefined\n }\n\n },\n\n props: {\n\n modelValue: {\n default()\n {\n return null;\n },\n },\n\n clearValue: {\n default()\n {\n return null;\n }\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n lazy: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n position: {\n default()\n {\n return 'bottom-center';\n },\n type: [String]\n },\n\n multiple: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n collapse: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n clearable: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n placeholder: {\n default()\n {\n return Locale.trans('Please select');\n },\n type: [String]\n },\n\n emptyText: {\n default()\n {\n return 'No items';\n },\n type: [String]\n },\n\n undefinedText: {\n default()\n {\n return 'Undefined item';\n },\n type: [String]\n },\n\n collapseText: {\n default()\n {\n return '+:count item|+:count items';\n },\n type: [String]\n },\n\n allowCreate: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n options: {\n default()\n {\n return [];\n },\n type: [Array, Object]\n },\n\n optionsValue: {\n default()\n {\n return '$index';\n },\n type: [String]\n },\n\n optionsLabel: {\n default()\n {\n return '$value';\n },\n type: [String]\n },\n\n optionsDisabled: {\n default()\n {\n return 'null';\n },\n type: [String]\n }\n\n },\n\n computed: {\n\n deepDisabled()\n {\n return this.NFormItem ? this.NFormItem.disabled(this.disabled) :\n this.disabled;\n },\n\n empty()\n {\n return Any.isEmpty(this.tempValue);\n },\n\n custom()\n {\n let result = Arr.filter(this.elements, (element) => {\n\n if ( Any.isArray(this.tempValue) ) {\n return Arr.has(this.tempValue, element.value);\n }\n\n return element.value === this.tempValue;\n });\n\n return result.length === 0;\n }\n\n },\n\n data()\n {\n return {\n tempValue: this.modelValue,\n tempClear: this.clearValue,\n focus: false,\n search: '',\n index: - 1,\n elements: [],\n searched: []\n };\n },\n\n\n beforeMount()\n {\n if ( this.lazy ) {\n this.generateOptions();\n }\n\n if ( this.multiple && !Any.isArray(this.tempValue) ) {\n this.tempValue = [];\n }\n\n if ( this.multiple && !Any.isArray(this.clearValue) ) {\n this.tempClear = [];\n }\n\n this.searchOptions();\n },\n\n provide()\n {\n return {\n NSelect: this\n };\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( !this.multiple && Any.isArray(value) ) {\n value = null;\n }\n\n if ( this.multiple && !Any.isArray(value) ) {\n value = [];\n }\n\n this.tempValue = value;\n },\n\n search()\n {\n this.searchOptions();\n },\n\n focus()\n {\n this.$nextTick(this.scrollToClosest);\n },\n\n },\n\n methods: {\n\n clear(event = null)\n {\n if ( event ) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n this.focusInput();\n\n this.$emit('update:modelValue',\n this.tempValue = Arr.clone(this.tempClear));\n },\n\n generateOptions()\n {\n this.elements = Arr.each(this.options, (value, index) => {\n\n let data = {\n $value: value, $index: index\n };\n\n let option = {\n label: Obj.get(data, this.optionsLabel),\n value: Obj.get(data, this.optionsValue)\n };\n\n return Obj.assign(option, {\n tempLabel: option.label, tempValue: option.value\n });\n });\n },\n\n addOption(option)\n {\n Arr.add(this.elements, option,\n { tempValue: option.tempValue });\n },\n\n removeOption(option)\n {\n Arr.remove(this.elements,\n { tempValue: option.tempValue });\n },\n\n resetInput()\n {\n this.index = - 1;\n this.search = '';\n },\n\n focusInput(event = null)\n {\n if ( event ) {\n event.preventDefault();\n }\n\n this.$refs.input.focus();\n },\n\n onFocusInput()\n {\n if ( !this.focus ) {\n this.$refs.popover.open();\n }\n\n clearInterval(this.refresh);\n },\n\n onInputInput(event)\n {\n this.search = event.target.value;\n },\n\n onKeydownInput(event)\n {\n if ( !this.focus ) {\n return this.onFocusInput();\n }\n\n if ( event.which === 13 ) {\n this.createOrToggle();\n }\n\n if ( event.which === 38 ) {\n this.selectPrev();\n }\n\n if ( event.which === 40 ) {\n this.selectNext();\n }\n },\n\n searchOptions()\n {\n this.index = - 1;\n\n if ( Any.isEmpty(this.search) ) {\n return this.searched = this.elements;\n }\n\n let searchRegex = new RegExp(this.search, 'i');\n\n let searched = Arr.filter(this.elements, (option) => {\n return Any.isString(option.label) && option.label.match(searchRegex);\n });\n\n this.searched = searched;\n },\n\n toggleOption(value, event = null)\n {\n if ( Any.isEmpty(value) ) {\n return;\n }\n\n if ( event && event.which !== 1 ) {\n return;\n }\n\n if ( event ) {\n event.preventDefault();\n }\n\n let tempValue = this.tempValue;\n\n if ( this.multiple ) {\n this.focusInput();\n }\n\n if ( !this.multiple ) {\n tempValue = value;\n }\n\n if ( this.multiple ) {\n Arr.toggle(tempValue, value);\n }\n\n this.$refs.popover.close();\n\n let denyUpdate = this.tempValue === tempValue;\n\n if ( this.multiple && !Any.isArray(this.modelValue) ) {\n denyUpdate = false;\n }\n\n if ( !this.multiple && Any.isArray(this.modelValue) ) {\n denyUpdate = false;\n }\n\n if ( denyUpdate ) {\n return;\n }\n\n this.$emit('update:modelValue',\n this.tempValue = tempValue);\n },\n\n getOptionLabel(value)\n {\n let option = Arr.find(this.elements,\n { tempValue: value });\n\n if ( !option && this.allowCreate ) {\n return value;\n }\n\n if ( !option && !this.allowCreate ) {\n return this.trans(this.undefinedText);\n }\n\n return option.tempLabel;\n },\n\n selectPrev()\n {\n let newIndex = this.index - 1;\n\n if ( newIndex < 0 ) {\n newIndex = this.searched.length - 1;\n }\n\n this.index = newIndex;\n\n this.scrollToCurrent();\n },\n\n selectNext()\n {\n let newIndex = this.index + 1;\n\n if ( newIndex > this.searched.length - 1 ) {\n newIndex = 0;\n }\n\n this.index = newIndex;\n\n this.scrollToCurrent();\n },\n\n createOrToggle()\n {\n if ( this.allowCreate && this.search ) {\n return this.createOption();\n }\n\n let selected = Arr.get(this.searched,\n this.index);\n\n if ( this.searched.length === 1 ) {\n selected = Arr.first(this.searched);\n }\n\n if ( !selected || selected.disabled ) {\n return;\n }\n\n this.toggleOption(selected.tempValue);\n },\n\n createOption()\n {\n this.toggleOption(this.search);\n\n this.search = '';\n },\n\n scrollToCurrent()\n {\n if ( !this.focus ) {\n return;\n }\n\n let selected = Arr.get(this.searched,\n this.index);\n\n if ( !selected ) {\n return;\n }\n\n if ( this.$refs.scrollbar ) {\n this.$refs.scrollbar.scrollIntoView(`[data-option=\"${selected._.uid}\"]`);\n }\n\n if ( this.$refs.virtualbar ) {\n this.$refs.virtualbar.scrollToIndex(this.index);\n }\n },\n\n scrollToClosest()\n {\n if ( !this.focus ) {\n return;\n }\n\n let value = this.tempValue;\n\n if ( Any.isArray(this.tempValue) ) {\n value = Arr.first(this.tempValue);\n }\n\n if ( !value ) {\n return;\n }\n\n let index = Arr.findIndex(this.elements, {\n tempValue: value\n });\n\n if ( !index ) {\n return;\n }\n\n if ( this.$refs.virtualbar ) {\n this.$refs.virtualbar.scrollToIndex(index, 250);\n }\n\n let select = `[data-option=\"${Obj.get(this.elements[index], '_.uid', 0)}\"]`;\n\n if ( this.$refs.scrollbar ) {\n this.$refs.scrollbar.scrollIntoView(select, 250);\n }\n }\n\n },\n\n renderLabelClear()\n {\n if ( !this.clearable || Any.isEmpty(this.tempValue) ) {\n return null;\n }\n\n let props = {};\n\n if ( !this.deepDisabled ) {\n props.onMousedown = this.clear;\n }\n\n return (\n <div class=\"n-select__clear\" {...props}>\n <i class={nano.Icons.times}></i>\n </div>\n );\n },\n\n renderLabelAngle()\n {\n return (\n <div class=\"n-select__angle\">\n <i class={nano.Icons.angleDown}></i>\n </div>\n );\n },\n\n renderLabelItem(value)\n {\n let classList = [\n 'n-select__item'\n ];\n\n let props = {\n class: nano.Icons.times,\n };\n\n if ( !this.deepDisabled ) {\n props.onMousedown = (event) => this.toggleOption(value, event);\n }\n\n let labelHtml = (\n <span>{this.getOptionLabel(value)}</span>\n );\n\n return (\n <div class={classList}>\n {[labelHtml, <i {...props}></i>]}\n </div>\n );\n },\n\n renderLabelCollapse()\n {\n let first = Arr.first(this.tempValue);\n\n if ( !first ) {\n return null;\n }\n\n let firstHtml = this.ctor('renderLabelItem')(first);\n\n if ( this.tempValue.length === 1 ) {\n return firstHtml;\n }\n\n let count = this.tempValue.length - 1;\n\n let collapseHtml = (\n <div class=\"n-select__item\">\n <span>{this.choice(this.collapseText, count)}</span>\n </div>\n );\n\n return [\n firstHtml, collapseHtml\n ];\n },\n\n renderLabelItems()\n {\n if ( !Any.isArray(this.tempValue) ) {\n return null;\n }\n\n if ( this.collapse ) {\n return this.ctor('renderLabelCollapse')();\n }\n\n return Arr.each(this.tempValue, (value) => {\n return this.ctor('renderLabelItem')(value);\n });\n },\n\n renderMultiple()\n {\n let isEmptyValue = Any.isEmpty(this.tempValue) &&\n !Any.isNumber(this.tempValue);\n\n let props = {\n value: this.search,\n placeholder: this.placeholder,\n disabled: this.deepDisabled,\n onFocus: this.onFocusInput,\n onInput: this.onInputInput,\n onKeydown: this.onKeydownInput\n };\n\n if ( !this.focus ) {\n props.value = null;\n }\n\n if ( !isEmptyValue ) {\n props.placeholder = null;\n }\n\n let inputHtml = (\n <div class=\"n-select__input\">\n <input ref=\"input\" {...props} />\n </div>\n );\n\n return [\n this.ctor('renderLabelClear')(),\n (\n <div class=\"n-select__items\">\n {[this.ctor('renderLabelItems')(), inputHtml]}\n </div>\n ),\n this.ctor('renderLabelAngle')()\n ];\n },\n\n renderSingle()\n {\n let isEmptyValue = Any.isEmpty(this.tempValue) &&\n !Any.isNumber(this.tempValue);\n\n let modelLabel = this.getOptionLabel(\n this.tempValue);\n\n if ( isEmptyValue ) {\n modelLabel = null;\n }\n\n let props = {\n value: this.search,\n placeholder: this.placeholder,\n disabled: this.deepDisabled,\n onFocus: this.onFocusInput,\n onInput: this.onInputInput,\n onKeydown: this.onKeydownInput\n };\n\n if ( !this.search && this.custom ) {\n props.value = this.tempValue;\n }\n\n if ( !this.focus ) {\n props.value = modelLabel;\n }\n\n if ( !isEmptyValue ) {\n props.placeholder = modelLabel;\n }\n\n return [\n this.ctor('renderLabelClear')(),\n (\n <div class=\"n-select__input\">\n <input ref=\"input\" {...props} />\n </div>\n ),\n this.ctor('renderLabelAngle')()\n ];\n },\n\n renderDisplay()\n {\n let classList = [\n 'n-select__display'\n ];\n\n if ( this.multiple ) {\n classList.push('n-multiple');\n }\n\n let displayHtml = this.ctor('renderSingle');\n\n if ( this.multiple ) {\n displayHtml = this.ctor('renderMultiple');\n }\n\n return (\n <div class={classList}>{displayHtml()}</div>\n );\n },\n\n renderItems()\n {\n let emptyHtml = (\n <div class=\"n-select__empty\">\n <NEmptyIcon inline={true}>{this.trans(this.emptyText)}</NEmptyIcon>\n </div>\n );\n\n if ( !this.searched.length ) {\n return emptyHtml;\n }\n\n if ( this.lazy ) {\n return this.ctor('renderLazyItems')();\n }\n\n let options = Obj.each(this.searched, (option, index) => {\n return option.ctor('renderOption')(index);\n });\n\n let props = {\n relative: true, size: this.size\n }\n\n return (\n <NScrollbar ref=\"scrollbar\" class=\"n-select__body\" {...props}>\n {Obj.values(options)}\n </NScrollbar>\n );\n },\n\n renderLazyOption(value, index)\n {\n let classList = [];\n\n let isMultipleActive = this.multiple &&\n Arr.has(this.tempValue, value.value);\n\n if ( isMultipleActive ) {\n classList.push('n-active');\n }\n\n let isSingleActive = ! this.multiple &&\n this.tempValue === value.value;\n\n if ( isSingleActive ) {\n classList.push('n-active');\n }\n\n if ( this.index === Num.int(index) ) {\n classList.push('n-focus');\n }\n\n let props = {\n 'type': this.type,\n 'clickClose': ! this.multiple,\n };\n\n props['onMousedown'] = (e) => {\n this.toggleOption(value.value, e);\n };\n\n if ( isSingleActive || isMultipleActive ) {\n props.icon = nano.Icons.checked;\n }\n\n return (\n <NPopoverOption class={classList} {...props}>\n {value.label}\n </NPopoverOption>\n );\n },\n\n renderLazyItems()\n {\n let props = {\n items: this.searched\n };\n\n props.renderNode = ({ value, index }) => {\n return this.ctor('renderLazyOption')(value, index);\n };\n\n return (\n <NVirtualscroller ref=\"virtualbar\" class=\"n-select__body n-virtual\" {...props} />\n );\n },\n\n renderPopover()\n {\n let classList = [\n 'n-popover--select'\n ];\n\n if ( this.lazy ) {\n classList.push('n-virtual');\n }\n\n let props = {\n class: classList,\n trigger: 'click',\n width: - 1,\n listen: true,\n size: this.size,\n scrollClose: true,\n disabled: this.deepDisabled,\n onClose: this.resetInput\n };\n\n return (\n <NPopover ref=\"popover\" vModel={this.focus} {...props}>\n {{ raw: this.ctor('renderItems') }}\n </NPopover>\n );\n },\n\n renderOptions()\n {\n if ( this.lazy ) {\n return null;\n }\n\n if ( Any.isEmpty(this.options) ) {\n return this.$slots.default && this.$slots.default();\n }\n\n let optionRender = ($value, $index) => {\n\n let props = {\n label: Obj.get({ $value, $index }, this.optionsLabel, null),\n value: Obj.get({ $value, $index }, this.optionsValue, null),\n };\n\n return (<NSelectOption {...props}></NSelectOption>);\n };\n\n return Obj.values(Obj.each(this.options, optionRender));\n },\n\n render()\n {\n let classList = [\n 'n-select',\n 'n-select--' + this.type,\n 'n-select--' + this.size,\n ];\n\n let isEmptyValue = Any.isEmpty(this.tempValue) &&\n !Any.isNumber(this.tempValue);\n\n if ( isEmptyValue ) {\n classList.push('n-empty');\n }\n\n if ( this.clearable ) {\n classList.push('n-clearable');\n }\n\n if ( this.focus ) {\n classList.push('n-focus');\n }\n\n if ( this.deepDisabled ) {\n classList.push('n-disabled');\n }\n\n return (\n <div class={classList} onClick={this.focusInput}>\n {this.ctor('renderDisplay')()}\n {this.ctor('renderPopover')()}\n {this.ctor('renderOptions')()}\n </div>\n );\n }\n\n}\n","import { Num, Arr, Obj, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NSelectOption',\n\n inheritAttrs: false,\n\n inject: {\n\n NSelect: {\n default: undefined\n }\n\n },\n\n props: {\n\n value: {\n default()\n {\n return '';\n }\n },\n\n label: {\n default()\n {\n return null;\n }\n },\n\n valueProp: {\n default()\n {\n return null;\n }\n },\n\n labelProp: {\n default()\n {\n return null;\n }\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n }\n\n },\n\n computed: {\n\n tempValue()\n {\n if ( Any.isEmpty(this.valueProp) ) {\n return this.value;\n }\n\n return Obj.get(this.value, this.valueProp);\n },\n\n tempLabel()\n {\n if ( Any.isEmpty(this.labelProp) ) {\n return this.label;\n }\n\n return Obj.get(this.value, this.labelProp);\n }\n\n },\n\n mounted()\n {\n if ( ! this.NSelect.lazy ) {\n this.NSelect.addOption(this);\n }\n },\n\n beforeUnmount()\n {\n if ( ! this.NSelect.lazy ) {\n this.NSelect.removeOption(this);\n }\n },\n\n methods: {\n\n toggleItem(event) \n {\n event.preventDefault();\n\n if ( event.which !== 1 ) {\n return;\n }\n\n if ( this.disabled ) {\n return;\n }\n\n this.NSelect.toggleOption(this.tempValue, \n event);\n },\n\n },\n\n renderOption(index)\n {\n\n let classList = [];\n\n let isMultipleActive = this.NSelect.multiple && \n Arr.has(this.NSelect.tempValue, this.tempValue);\n\n if ( isMultipleActive ) {\n classList.push('n-active');\n }\n\n let isSingleActive = ! this.NSelect.multiple && \n this.NSelect.tempValue === this.tempValue;\n\n if ( isSingleActive ) {\n classList.push('n-active');\n }\n\n if ( this.NSelect.index === Num.int(index) ) {\n classList.push('n-focus');\n }\n\n let props = {\n 'disabled': this.disabled,\n 'onMousedown': this.toggleItem,\n 'type': this.NSelect.type,\n 'clickClose': ! this.NSelect.multiple,\n };\n\n if ( isSingleActive || isMultipleActive ) {\n props.icon = nano.Icons.checked;\n }\n\n // Required for scrolldown\n props['data-option'] = this._.uid;\n\n return (\n <NPopoverOption class={classList} {...props}>\n { this.$slots.default && this.$slots.default() || this.tempLabel }\n </NPopoverOption>\n );\n },\n\n render()\n {\n return null;\n }\n\n}\n","import Vue from \"vue\";\n\nimport Select from './src/select/select';\nimport SelectOption from './src/select-option/select-option';\n\nexport default function (App) {\n App.component(Select.name, Select);\n App.component(SelectOption.name, SelectOption);\n}\n","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NTableColumn'] = Locale.trans('NTableColumn');\n\nglobal.NanoBuilderIndexies['NTableColumn'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NTableColumn']['props'] = {\n //\n};","import { Arr, Any, Dom, Event, UUID } from \"@kizmann/pico-js\";\n\n\nexport default {\n\n name: 'NPopover',\n\n provide()\n {\n return {\n NPopover: this\n };\n },\n\n inject: {\n\n NPopover: {\n default: undefined\n }\n\n },\n\n props: {\n\n modelValue: {\n default()\n {\n return null;\n }\n },\n\n width: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n listen: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n window: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n trigger: {\n default()\n {\n return 'hover';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'default';\n },\n type: [String]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n position: {\n default()\n {\n return 'bottom-center';\n },\n type: [String]\n },\n\n scrollClose: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n multiClose: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n framerate: {\n default()\n {\n return 15;\n },\n type: [Number]\n }\n\n },\n\n computed: {\n\n touch() {\n return !! ('ontouchstart' in window || \n navigator.msMaxTouchPoints);\n },\n\n mousedown() {\n return this.touch ? 'touchstart' :\n 'mousedown';\n },\n\n mousemove() {\n return this.touch ? 'touchmove' :\n 'mousemove';\n },\n\n mouseup() {\n return this.touch ? 'touchend' :\n 'mouseup';\n }\n\n },\n\n data()\n {\n return {\n tempValue: false,\n clientX: 0,\n clientY: 0,\n target: null,\n prevent: false,\n };\n },\n\n watch: {\n\n modelValue()\n {\n this.tempValue = this.modelValue;\n },\n\n tempValue()\n {\n Any.delay(this.refreshVisible, 50);\n }\n\n },\n\n beforeMount()\n {\n this.tempValue = this.modelValue;\n },\n\n mounted()\n {\n this.target = Dom.find(this.$el).previous().get(0);\n\n if ( this.trigger === 'context' ) {\n this.target = Dom.find(this.$el).parent().get(0);\n }\n\n if ( this.window ) {\n Dom.find(document.body).append(this.$el);\n }\n\n if ( this.listen && this.trigger === 'hover' ) {\n Dom.find(document.body).on('mousemove', \n Any.framerate(this.onHover, 30), this._.uid);\n }\n\n if ( this.listen && this.trigger === 'click' ) {\n Dom.find(document.body).on(this.mousedown, \n Any.framerate(this.onClick, 30), this._.uid);\n }\n\n if ( this.listen && this.trigger === 'context' ) {\n Dom.find(document.body).on('contextmenu', \n Any.framerate(this.onContext, 30), this._.uid);\n }\n\n Dom.find(document.body).on(this.mousedown, \n Any.framerate(this.onExit, 30), this._.uid);\n\n Event.bind('NPopover:close', this.onCloseEvent, this._.uid);\n },\n\n beforeUnmount()\n {\n this.$el.remove();\n\n Dom.find(document).off('mousemove', null, this._.uid);\n Dom.find(document).off('mousedown', null, this._.uid);\n Dom.find(document).off('contextmenu', null, this._.uid);\n\n Event.unbind('NPopover:close', this._.uid);\n \n },\n\n methods: {\n\n active()\n {\n return this.tempValue;\n },\n\n open()\n {\n this.$emit('update:modelValue', \n this.tempValue = true);\n },\n\n close(type = null)\n {\n if ( this.prevent ) {\n return;\n }\n\n delete this.timer;\n\n if ( ! type ) {\n this.$emit('close');\n }\n\n if ( type === 'scroll' ) {\n this.$emit('scrollClose');\n }\n\n if ( type === 'multi' ) {\n this.$emit('multiClose');\n }\n\n this.$emit('update:modelValue', \n this.tempValue = false);\n },\n\n pause()\n {\n this.prevent = true;\n },\n\n unpause()\n {\n this.prevent = false;\n },\n\n onCloseEvent(uid)\n {\n if ( this.multiClose && this.tempValue && this._.uid !== uid ) {\n this.close('multi');\n }\n },\n\n refreshVisible()\n {\n Dom.find(this.$el).css(null);\n\n if ( ! this.tempValue ) {\n return this.stopRefreshInterval();\n }\n\n this.startRefreshInterval();\n\n delete this.passedOffset;\n },\n\n startRefreshInterval()\n {\n this.refresh = setInterval(this.updatePosition, \n 1000 / this.framerate);\n\n let onReady = () => {\n\n if ( this.listen ) {\n Dom.find(this.target).addClass('n-open');\n }\n\n Dom.find(this.$el).addClass('n-ready');\n\n if ( this.NPopover ) {\n this.NPopover.pause();\n }\n\n Event.fire('NPopover:close', this._.uid);\n }\n\n Any.delay(onReady, 100);\n },\n\n stopRefreshInterval()\n {\n clearInterval(this.refresh);\n\n if ( this.NPopover ) {\n this.NPopover.unpause();\n }\n\n if ( this.listen ) {\n Dom.find(this.target).removeClass('n-open');\n }\n\n Dom.find(this.$el).removeClass('n-ready');\n },\n\n isSameOffset(offset)\n {\n if ( ! this.passedOffset ) {\n return false;\n }\n\n let rainbow = Arr.each(['x', 'y'], (key) => {\n return offset[key] === this.passedOffset[key];\n });\n\n return ! Arr.has(rainbow, false);\n },\n\n isSameSize(size)\n {\n if ( ! this.passedSize ) {\n return false;\n }\n\n let rainbow = Arr.each(['width', 'height'], (key) => {\n return size[key] === this.passedSize[key];\n });\n\n return ! Arr.has(rainbow, false);\n },\n\n getTargetHorizontal(position, fallback = null)\n {\n let targetRect = this.target.getBoundingClientRect();\n\n if ( this.trigger === 'context' ) {\n targetRect = {\n top: this.clientY, left: this.clientX, width: 2, height: 2\n };\n }\n\n let windowRect = this.$el.getBoundingClientRect();\n\n if ( this.width === -1 ) {\n windowRect.width = targetRect.width;\n }\n\n let posY = {\n\n // Set above the tagret element\n start: targetRect.top - windowRect.height,\n \n // Set at bottom of target element\n end: targetRect.top + targetRect.height,\n\n };\n\n let posX = {\n\n // Set on the left of target element\n start: targetRect.left,\n\n // Set into the center of the target element\n center: targetRect.left + (targetRect.width * 0.5) - \n (windowRect.width * 0.5),\n\n // Set on the right of the target element\n end: targetRect.left + targetRect.width - \n windowRect.width,\n\n };\n\n let offset = { x: 0, y: 0 };\n\n if ( position === 'top-start' ) {\n offset = { x: posX.start, y: posY.start };\n }\n\n if ( position === 'top-center' ) {\n offset = { x: posX.center, y: posY.start };\n }\n\n if ( position === 'top-end' ) {\n offset = { x: posX.end, y: posY.start };\n }\n\n if ( position === 'bottom-start' ) {\n offset = { x: posX.start, y: posY.end };\n }\n\n if ( position === 'bottom-center' ) {\n offset = { x: posX.center, y: posY.end };\n }\n\n if ( position === 'bottom-end' ) {\n offset = { x: posX.end, y: posY.end };\n }\n\n let inverse = this.position;\n\n if ( position.match(/^(top)\\-/) ) {\n inverse = inverse.replace(/^(top)\\-/, 'bottom-');\n }\n\n if ( position.match(/^(bottom)\\-/) ) {\n inverse = inverse.replace(/^(bottom)\\-/, 'top-');\n }\n\n let broken = offset.y + windowRect.height > \n window.innerHeight || offset.y < 0;\n\n if ( this.scrollClose && broken && ! fallback ) {\n return this.getTargetHorizontal(inverse, offset);\n }\n\n if ( fallback && broken ) {\n offset = fallback;\n }\n\n if ( offset.y < 0 ) {\n offset.y = 0;\n }\n \n if ( offset.y + windowRect.height > window.innerHeight ) {\n offset.y = window.innerHeight - windowRect.height;\n }\n\n if ( offset.x < 0 ) {\n offset.x = 0;\n }\n \n if ( offset.x + windowRect.width > window.innerWidth ) {\n offset.x = window.innerWidth - windowRect.width -\n (window.innerWidth - document.body.clientWidth);\n }\n\n return offset;\n },\n\n getTargetVertical(position, fallback = null)\n {\n let targetRect = this.target.getBoundingClientRect();\n\n if ( this.trigger === 'context' ) {\n targetRect = {\n top: this.clientY, left: this.clientX, width: 2, height: 2\n };\n }\n\n let windowRect = this.$el.getBoundingClientRect();\n\n if ( this.width === -1 ) {\n windowRect.width = targetRect.width;\n }\n \n let posY = {\n\n // Set at top edge of the target element\n start: targetRect.top,\n\n // Set at the middle of the target element\n center: targetRect.top + (targetRect.height * 0.5) - \n (windowRect.height * 0.5),\n\n // Ste at the bottom of the target elemnent\n end: targetRect.top + targetRect.height - \n windowRect.height,\n\n };\n\n let posX = {\n\n // Set to the left of the target element\n start: targetRect.left - windowRect.width,\n\n // Set to the right of the target element\n end: targetRect.left + targetRect.width,\n\n };\n\n let offset = { x: 0, y: 0 };\n\n if ( position === 'left-start' ) {\n offset = { x: posX.start, y: posY.start };\n }\n\n if ( position === 'left-center' ) {\n offset = { x: posX.start, y: posY.center };\n }\n\n if ( position === 'left-end' ) {\n offset = { x: posX.start, y: posY.end };\n }\n\n if ( position === 'right-start' ) {\n offset = { x: posX.end, y: posY.start };\n }\n\n if ( position === 'right-center' ) {\n offset = { x: posX.end, y: posY.center };\n }\n\n if ( position === 'right-end' ) {\n offset = { x: posX.end, y: posY.end };\n }\n\n let inverse = this.position;\n\n if ( position.match(/^(left)\\-/) ) {\n inverse = inverse.replace(/^(left)\\-/, 'right-');\n }\n\n if ( position.match(/^(right)\\-/) ) {\n inverse = inverse.replace(/^(right)\\-/, 'left-');\n }\n\n let broken = offset.x + windowRect.width > \n window.innerWidth || offset.x < 0;\n\n if ( this.scrollClose && broken && ! fallback ) {\n return this.getTargetVertical(inverse, offset);\n }\n\n if ( fallback && broken ) {\n offset = fallback;\n }\n\n if ( offset.y < 0 ) {\n offset.y = 0;\n }\n \n if ( offset.y + windowRect.height > window.innerHeight ) {\n offset.y = window.innerHeight - windowRect.height;\n }\n\n if ( offset.x < 0 ) {\n offset.x = 0;\n }\n \n if ( offset.x + windowRect.width > window.innerWidth ) {\n offset.x = window.innerWidth - windowRect.width -\n (window.innerWidth - document.body.clientWidth);\n }\n\n return offset;\n },\n\n getTargetOffset()\n {\n let position = this.position;\n\n if ( position.match(/^(top|bottom)\\-/) ) {\n return this.getTargetHorizontal(position);\n }\n\n if ( position.match(/^(left|right)\\-/) ) {\n return this.getTargetVertical(position);\n }\n\n return targetRect;\n },\n\n updatePosition()\n {\n let size = this.$el.getBoundingClientRect(),\n rect = this.target.getBoundingClientRect();\n\n let isSameSize = this.isSameSize(size);\n\n if ( isSameSize && this.isSameOffset(rect) ) {\n return;\n }\n\n if ( ! this.timer ) {\n this.timer = Date.now();\n }\n\n this.passedSize = size;\n\n if ( this.width ) {\n Dom.find(this.$el).css({ width: this.width + 'px' });\n }\n\n let offset = this.getTargetOffset();\n\n let scroll = Dom.find(document.body)\n .scroll();\n\n let style = {\n 'z-index': window.zIndex++,\n 'top': Math.round(offset.y + scroll.top) + 'px', \n 'left': Math.round(offset.x + scroll.left) + 'px', \n };\n\n if ( this.width === -1 ) {\n style.width = rect.width + 'px';\n }\n\n Dom.find(this.$el).css(style);\n\n let isScrollClose = this.passedOffset && isSameSize &&\n (Date.now() - this.timer) > 500;\n\n if ( this.scrollClose && isScrollClose ) {\n this.close('scroll');\n }\n\n this.passedOffset = rect;\n },\n\n onHover(event, el)\n {\n if ( this.disabled ) {\n return;\n }\n\n let target = Dom.find(el).closest(this.target),\n source = Dom.find(el).closest(this.$el);\n\n let result = (!! target || !! source);\n\n if ( this.tempValue === result ) {\n return;\n }\n\n if ( ! result ) {\n return this.$nextTick(this.close);\n }\n\n this.$emit('update:modelValue', this.tempValue = result);\n },\n\n onClick(event, el)\n {\n let keyCode = event.which === 1 ||\n event.which === 0;\n\n if ( this.disabled || this.tempValue || ! keyCode ) {\n return;\n }\n\n let target = Dom.find(el).closest(this.target),\n source = Dom.find(el).closest(this.$el);\n\n let result = (!! target || !! source);\n\n if ( this.tempValue === result ) {\n return;\n }\n\n this.$emit('update:modelValue', this.tempValue = result);\n },\n\n onContext(event, el)\n {\n let keyCode = event.which === 3;\n\n if ( this.disabled || this.tempValue || ! keyCode ) {\n return;\n }\n\n let target = Dom.find(el).closest(this.target),\n source = Dom.find(el).closest(this.$el);\n\n this.clientX = event.clientX;\n this.clientY = event.clientY;\n\n let result = (!! target || !! source);\n\n if ( result ) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n if ( this.tempValue === result ) {\n return;\n }\n\n this.$emit('update:modelValue', this.tempValue = result);\n },\n\n onExit(event, el)\n {\n if ( this.disabled || ! this.tempValue ) {\n return;\n }\n\n if ( !! Dom.find(el).closest(this.$el) ) {\n return;\n }\n\n let target = Dom.find(el).closest(this.target);\n\n if ( this.trigger !== 'context' && !! target ) {\n return;\n }\n\n this.close();\n }\n\n },\n\n renderBody()\n {\n if ( this.$slots.raw ) {\n return this.$slots.raw();\n }\n\n return (\n <div class=\"n-popover__frame\">\n { this.$slots.header &&\n <div class=\"n-popover__header\">\n { this.$slots.header() }\n </div>\n }\n <div class=\"n-popover__body\">\n { this.$slots.default() }\n </div>\n { this.$slots.footer &&\n <div class=\"n-popover__footer\">\n { this.$slots.footer() }\n </div>\n }\n </div>\n );\n },\n\n render()\n {\n if ( ! window.zIndex ) {\n window.zIndex = 9000;\n }\n\n let classList = [\n 'n-popover',\n 'n-popover--' + this.type,\n 'n-popover--' + this.size,\n 'n-popover--' + this.position,\n ];\n\n if ( ! this.tempValue ) {\n classList.push('n-hidden');\n }\n\n let viewBody = this.modelValue;\n\n if ( Any.isNull(this.modelValue) ) {\n viewBody = this.tempValue;\n }\n\n return (\n <div class={classList}>\n { viewBody && this.ctor('renderBody')() }\n </div>\n );\n }\n\n}\n","export default {\n\n name: 'NPopoverGroup',\n\n inject: {\n NPopover: {\n default: undefined\n }\n },\n\n props: {\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n\n },\n\n computed: {\n\n tempSize()\n {\n if ( this.NPopover ) {\n return this.NPopover.size;\n }\n\n return this.size;\n }\n\n },\n\n render()\n {\n let classList = [\n 'n-popover-group',\n 'n-popover-group--' + this.tempSize,\n ];\n\n return (\n <label class={classList}>\n <span>{ this.$slots.default() }</span>\n </label>\n );\n }\n\n}\n","import { Obj, Arr, Any, Dom } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NPopoverOption',\n\n inject: {\n NPopover: {\n default: undefined\n }\n },\n\n props: {\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n focus: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n active: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n icon: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n iconPosition: {\n default()\n {\n return 'after';\n },\n type: [String]\n },\n\n image: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n imagePosition: {\n default()\n {\n return 'before';\n },\n type: [String]\n },\n\n clickClose: {\n default()\n {\n return true;\n },\n type: [Boolean]\n }\n\n\n },\n\n computed: {\n\n tempSize()\n {\n if ( this.NPopover ) {\n return this.NPopover.size;\n }\n\n return this.size;\n }\n\n },\n\n methods: {\n\n onClick(event)\n {\n if ( this.NPopover && this.clickClose ) {\n this.NPopover.close();\n }\n\n this.$emit('fakeclick', event);\n }\n\n },\n\n renderImage()\n {\n if ( ! this.image ) {\n return null;\n }\n\n let classList = [\n 'n-image',\n 'n-image--' + this.imagePosition,\n ];\n\n return (<img class={classList} src={this.image} />);\n },\n\n renderIcon()\n {\n if ( ! this.icon ) {\n return null;\n }\n\n let classList = [\n 'n-icon', \n 'n-icon--' + this.iconPosition,\n ];\n\n classList.push(this.icon);\n\n return (<i class={classList}></i>);\n },\n\n renderContent()\n {\n if ( this.$slots.raw ) {\n return this.$slots.raw();\n }\n\n return (\n <span>{ this.$slots.default() }</span>\n );\n },\n\n render()\n {\n let classList = [\n 'n-popover-option',\n 'n-popover-option--' + this.type,\n 'n-popover-option--' + this.tempSize,\n ];\n\n if ( this.active ) {\n classList.push('n-active');\n }\n\n if ( this.focus ) {\n classList.push('n-focus');\n }\n\n if ( this.disabled ) {\n classList.push('n-disabled');\n }\n\n let props = Obj.clone(this.$attrs);\n\n if ( ! this.disabled ) {\n props.onClick = this.onClick;\n }\n\n if ( this.disabled ) {\n props.disabled = true;\n }\n\n return (\n <a class={classList} href=\"javascript:void(0)\" {...props}>\n { this.ctor('renderImage')() }\n { this.ctor('renderContent')() }\n { this.ctor('renderIcon')() }\n </a>\n );\n }\n\n}\n","import Popover from './src/popover/popover';\nimport PopoverGroup from './src/popover-group/popover-group';\nimport PopoverOption from './src/popover-option/popover-option';\n\nexport default function (App) {\n App.component(Popover.name, Popover);\n App.component(PopoverGroup.name, PopoverGroup);\n App.component(PopoverOption.name, PopoverOption);\n}","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NDatetimepicker'] = Locale.trans('NDatetimepicker');\n\nglobal.NanoBuilderIndexies['NDatetimepicker'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NDatetimepicker']['props'] = {\n //\n};","import { UUID, Str, Obj, Dom } from \"@kizmann/pico-js\";\n\nclass Notification {\n\n el = null;\n\n text = '';\n\n icon = '';\n\n type = '';\n\n options = {\n duration: 4500,\n iconPrimary: nano.Icons.info,\n iconSecondary: nano.Icons.info,\n iconSuccess: nano.Icons.success,\n iconWarning: nano.Icons.warning,\n iconDanger: nano.Icons.danger,\n iconInfo: nano.Icons.info\n };\n\n constructor(text, type = 'primary', options = {})\n {\n this.text = text;\n this.type = type;\n\n this.options = Obj.assign(this.options, options);\n\n this.render();\n }\n\n getIcon()\n {\n return Obj.get(this.options,\n 'icon' + Str.ucfirst(this.type));\n }\n\n append(el = document.body)\n {\n this.el.appendTo(el);\n\n setTimeout(() => this.el.addClass('n-active'), 100);\n\n return this;\n }\n\n remove()\n {\n this.el.get(0).remove();\n\n return this;\n }\n\n render()\n {\n let classList = [\n 'n-notification',\n 'n-notification--' + this.type\n ];\n\n this.el = Dom.make('div', {\n classList: classList.join(' '), onclick: () => this.remove()\n });\n \n\n let icon = Dom.make('div', {\n classList: 'n-notification__icon'\n });\n\n icon.appendTo(this.el);\n\n let iconSpan = Dom.make('span', {\n classList: this.getIcon()\n });\n\n iconSpan.appendTo(icon);\n\n let text = Dom.make('div', {\n classList: 'n-notification__text'\n });\n\n text.html(this.text).appendTo(this.el);\n }\n\n}\n\nexport default class Notify {\n\n static alias = 'Notify';\n\n static size = nano.Settings.notifySize;\n\n static position = nano.Settings.notifyPosition;\n\n static notifications = {};\n\n static handle(...args)\n {\n let uid = Notify.create(undefined, ...args);\n\n let wrapper = Notify.getWrapper();\n\n // Append element to dom\n Notify.notifications[uid].append(wrapper);\n\n // Queue remove\n setTimeout(() => Notify.remove(uid),\n Notify.notifications[uid].options.duration);\n\n return uid;\n }\n\n static create(uid = UUID(), ...args)\n {\n Notify.notifications[uid] = new Notification(...args);\n\n return uid;\n }\n\n static remove(uid)\n {\n if ( Notify.notifications[uid] === undefined ) {\n return;\n }\n\n // Remove dom element\n Notify.notifications[uid].remove();\n\n // Remove from list\n delete Notify.notifications[uid];\n }\n\n static getWrapper()\n {\n if ( ! window.zIndex ) {\n window.zIndex = 9000;\n }\n\n let style = {\n 'z-index': window.zIndex + 100\n };\n\n let classList = [\n 'n-notification-frame',\n 'n-notification-frame--' + this.size,\n 'n-notification-frame--' + this.position\n ];\n\n if ( Dom.find('.n-notification-frame').empty() === true ) {\n Dom.make('div', { classList: classList.join(' ') }).appendTo(document.body);\n }\n\n Dom.find('.n-notification-frame').css(style);\n\n return Dom.find('.n-notification-frame');\n }\n\n}\n","import Notifcation from './src/notification/notification';\n\nexport default function (App) {\n App.config.globalProperties[Notifcation.alias] = window[Notifcation.alias] = Notifcation.handle;\n}\n","import { Arr, Dom, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NTabs',\n\n provide()\n {\n return {\n NTabs: this\n };\n },\n\n props: {\n\n modelValue: {\n default()\n {\n return 'default';\n },\n type: [String]\n },\n\n relative: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n float: {\n default()\n {\n return false;\n },\n type: [Boolean]\n }\n\n },\n\n data()\n {\n return {\n init: false,\n elements: [], \n width: 0, \n offset: 0, \n tempValue: this.modelValue\n };\n },\n\n methods: {\n\n addTab(tab)\n {\n Arr.add(this.elements, tab, \n { name: tab.name });\n\n if ( this.init) {\n this.$nextTick(this.$forceUpdate);\n }\n },\n\n removeTab(tab)\n {\n Arr.remove(this.elements, \n { name: tab.name });\n\n if ( this.init) {\n this.$nextTick(this.$forceUpdate);\n }\n },\n\n getTab(updateEvent = true)\n {\n let currentTab = Arr.find(this.elements, {\n name: this.modelValue\n });\n\n let sorted = Arr.sort(this.elements, 'sort');\n\n if ( ! currentTab ) {\n currentTab = Arr.first(sorted);\n }\n\n let repeatNext = () => this.getTab(updateEvent);\n\n if ( ! currentTab ) {\n return Any.delay(repeatNext, 250);\n }\n\n if ( currentTab.name === this.tempValue || ! updateEvent ) {\n return;\n }\n\n this.$emit('update:modelValue', \n this.tempValue = currentTab.name);\n },\n\n changeTab(value)\n {\n if ( this.tempValue === value ) {\n return;\n }\n\n this.$emit('update:modelValue', \n this.tempValue = value);\n }\n\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue ) {\n this.tempValue = value;\n }\n }\n\n },\n\n mounted()\n {\n this.init = true;\n this.getTab(false);\n },\n\n updated()\n {\n let width = Dom.find(this.$el).find('.n-active')\n .width();\n\n this.width = width < 0 ? 0 : width;\n\n let offset = Dom.find(this.$el).find('.n-active')\n .offset('left', this.$el);\n\n this.offset = offset < 0 ? 0 : offset;\n },\n\n renderHeaderIndicator()\n {\n let transform = `scaleX(${this.width / 100}) ` + \n `translateX(${this.offset / (this.width / 100)}px)`;\n\n return (\n <div class=\"n-tabs__indicator\" style={{ transform }}>\n { /* Indicator bar */ }\n </div>\n );\n },\n\n renderHeader()\n {\n if ( this.elements.length <= 1 ) {\n return null;\n }\n\n // FIXME: As soon vue doesnt bug\n let sorted = Arr.sort(this.elements, 'sort');\n \n let tabs = Arr.each(Arr.make(sorted.length), (tab, index) => {\n return sorted[index].ctor('renderHeader')();\n });\n\n return (\n <div class=\"n-tabs__header\">\n {[tabs, this.ctor('renderHeaderIndicator')()]}\n </div>\n );\n },\n\n renderBody()\n {\n return (\n <div class=\"n-tabs__body\">\n { this.$slots.default && this.$slots.default() }\n </div>\n );\n },\n\n render()\n {\n let classList = [\n 'n-tabs', \n 'n-tabs--' + this.size, \n 'n-tabs--' + this.type\n ];\n\n if ( this.float ) {\n classList.push('n-float');\n }\n\n return (\n <div class={classList}>\n { this.ctor('renderHeader')() }\n { this.ctor('renderBody')() }\n </div>\n );\n }\n}\n","import { h, resolveComponent } from \"vue\";\n\nexport default {\n\n name: 'NTabsItem',\n\n inject: {\n\n NTabs: {\n default: undefined\n }\n\n },\n\n provide()\n {\n return {\n NTabsItem: this\n };\n },\n\n props: {\n\n label: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n name: {\n default()\n {\n return 'default';\n },\n type: [String]\n },\n\n icon: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n sort: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n relative: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n preload: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n keep: {\n default()\n {\n return false;\n },\n type: [Boolean]\n }\n\n\n },\n\n methods: {\n\n changeTab()\n {\n this.NTabs.changeTab(this.name);\n }\n\n },\n\n data()\n {\n return {\n _key: null, init: false\n }\n },\n\n beforeMount()\n {\n this.NTabs.addTab(this);\n },\n\n beforeUnmount()\n {\n this.NTabs.removeTab(this);\n },\n\n renderHeaderIcon()\n {\n if ( ! this.$slots.icon && ! this.icon ) {\n return null;\n }\n\n return (\n <div class=\"n-tabs__tab-icon\">\n { this.$slots.icon && this.$slots.icon() || <i class={this.icon}></i> }\n </div>\n );\n },\n\n renderHeaderLabel()\n {\n return (\n <div class=\"n-tabs__tab-label\">\n { this.$slots.label && this.$slots.label () || <span>{this.label}</span> }\n </div>\n );\n },\n\n renderHeader()\n {\n let classList = [\n 'n-tabs__tab'\n ];\n\n if ( this.NTabs.tempValue === this.name ) {\n classList.push('n-active');\n }\n\n let props = {\n onClick: () => this.changeTab(this.name)\n };\n\n return (\n <div class={classList} {...props}>\n { this.ctor('renderHeaderIcon')() }\n { this.ctor('renderHeaderLabel')() }\n </div>\n );\n },\n\n render()\n {\n let renderBody = this.NTabs.tempValue === this.name;\n\n if ( this.NTabs.tempValue !== this.name && this.keep ) {\n renderBody = this.init;\n }\n\n if ( this.NTabs.tempValue !== this.name && this.preload ) {\n renderBody = true;\n }\n\n if ( ! renderBody ) {\n return null;\n }\n\n this.init = true;\n\n let classList = [\n 'n-tabs-item'\n ];\n\n let style = {};\n\n if ( this.NTabs.tempValue !== this.name ) {\n style.display = 'none';\n }\n\n if ( this.$slots.raw ) {\n return this.$slots.raw({ style });\n }\n\n let element = 'div';\n\n if ( ! this.relative && ! this.NTabs.relative ) {\n element = resolveComponent('NScrollbar');\n }\n\n return h(element, { class: classList, style }, this.$slots);\n }\n}\n","import Tabs from './src/tabs/tabs';\nimport TabsItem from './src/tabs-item/tabs-item';\n\nexport default function (App) {\n App.component(Tabs.name, Tabs);\n App.component(TabsItem.name, TabsItem);\n}","import { Obj, Arr, Any, Dom } from \"@kizmann/pico-js\";\n\nconst fileMap = {\n image: [\n 'jpg', 'jpeg', 'gif', 'svg', 'png'\n ],\n video: [\n 'mp4', 'webm', 'mov'\n ],\n font: [\n 'woff', 'ttf', 'otf'\n ],\n text: [\n 'csv', 'txt', 'html'\n ],\n application: [\n 'pdf', 'doc', 'xls'\n ]\n}\n\nexport default {\n\n name: 'NPreview',\n\n props: {\n\n file: {\n default()\n {\n return null;\n }\n },\n\n thumb: {\n default()\n {\n return null;\n }\n },\n\n fit: {\n default()\n {\n return 'cover';\n },\n type: [String]\n },\n\n mime: {\n default()\n {\n return null;\n },\n typre: [String]\n },\n\n preview: {\n default()\n {\n return true;\n },\n typre: [Boolean]\n },\n\n showSrc: {\n default()\n {\n return true;\n },\n typre: [Boolean]\n },\n\n map: {\n default()\n {\n return fileMap;\n },\n type: [Object]\n }\n\n },\n\n computed: {\n\n tempFile()\n {\n return this.file || this.thumb;\n },\n\n tempThumb()\n {\n return this.thumb || this.file;\n },\n\n fileMime()\n {\n return this.getFileMime();\n },\n\n thumbMime()\n {\n return this.getThumbMime();\n },\n\n },\n\n data()\n {\n return {\n lightbox: false, load: false\n };\n },\n\n methods: {\n\n getFileMime(fallback = null)\n {\n let file = Obj.get(this.tempFile, 'name',\n this.tempFile);\n\n if ( Any.isEmpty(file) ) {\n return fallback;\n }\n\n let extension = file.replace(/^.*?\\.([^.?]+)(\\?.*?)?$/,\n '$1');\n\n Obj.each(this.map, (exts, key) => {\n if ( Arr.has(exts, extension) ) fallback = key;\n });\n\n if ( global.resolveVimeo(file) ) {\n fallback = 'video';\n }\n\n if ( global.resolveYoutube(file) ) {\n fallback = 'video';\n }\n\n if ( Any.isString(this.mime) ) {\n fallback = this.mime;\n }\n\n return fallback;\n },\n\n getThumbMime(fallback = null)\n {\n if ( Any.isString(this.mime) ) {\n return this.mime;\n }\n\n let file = Obj.get(this.tempThumb, 'name',\n this.tempThumb);\n\n if ( Any.isEmpty(file) ) {\n return fallback;\n }\n\n let extension = file.replace(/^.*?\\.([^.?]+)(\\?.*?)?$/,\n '$1');\n\n Obj.each(this.map, (exts, key) => {\n if ( Arr.has(exts, extension) ) fallback = key;\n });\n\n return fallback;\n },\n\n showLightbox()\n {\n this.lightbox = true;\n },\n\n },\n\n renderPreview()\n {\n if ( ! this.preview ) {\n return this.ctor('renderFull')();\n }\n\n if ( this.thumbMime === 'image' ) {\n return (<NPreviewImage src={this.tempThumb} />);\n }\n\n let props = {\n type: this.thumbMime,\n showSrc: false,\n }\n\n return (<NPreviewPlain src={this.tempThumb} {...props} />);\n },\n\n renderFull()\n {\n let isObject = Any.isObject(this.tempFile);\n\n if ( this.fileMime === 'image' ) {\n return (<NPreviewImage src={this.tempFile} />);\n }\n\n if ( this.fileMime === 'video' && ! isObject ) {\n return (<NPreviewVideo src={this.tempFile} />);\n }\n\n let props = {\n type: this.thumbMime,\n showSrc: this.showSrc,\n }\n\n return (<NPreviewPlain src={this.tempFile} {...props} />);\n },\n\n renderLightbox()\n {\n if ( ! this.lightbox || ! this.preview ) {\n return null;\n }\n\n let slots = {\n raw: this.ctor('renderFull')\n }\n\n let props = {\n type: 'preview',\n width: '80%',\n height: '90%',\n }\n\n return (<NModal vModel={this.lightbox} {...props} v-slots={slots} />);\n },\n\n render()\n {\n let classList = [\n 'n-preview',\n 'n-preview--' + this.fit\n ];\n\n if ( this.preview ) {\n classList.push('n-clickable');\n }\n\n if ( this.fileMime ) {\n classList.push('n-mime-' + this.fileMime);\n }\n\n let props = {};\n\n if ( this.preview ) {\n props.onClick = this.showLightbox;\n }\n\n let key = btoa(this.tempThumb);\n\n return (\n <div key={key} class={classList} {...props}>\n { [this.ctor('renderPreview')(), this.ctor('renderLightbox')()] }\n </div>\n );\n }\n\n}","import { Any, Obj, Locale } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NPreviewPlain',\n\n props: {\n\n src: {\n default()\n {\n return null;\n }\n },\n\n type: {\n default()\n {\n return null;\n }\n },\n\n showSrc: {\n default()\n {\n return true;\n }\n }\n\n },\n\n computed: {\n\n tempSrc()\n {\n return Obj.get(this.src, 'name', this.src);\n },\n\n tempExt()\n {\n let regex = /^.*?\\.([^.?]+)(\\?.*?)?$/;\n\n if ( Any.isEmpty(this.tempSrc) ) {\n return null;\n }\n\n return this.tempSrc.replace(regex, '$1');\n }\n\n },\n\n render()\n {\n let classList = [\n 'n-preview-plain'\n ];\n\n let slots = [];\n\n slots[0] = (\n <li>{ this.type || Locale.trans('plain') }/{ this.tempExt || Locale.trans('none') }</li>\n );\n\n if ( this.showSrc ) {\n slots[1] = (<li>{ this.tempSrc }</li>);\n }\n\n return (\n <div class={classList}>\n <ul>{ slots }</ul>\n </div>\n );\n }\n\n}","import { Obj, Arr, Str, Any, Dom } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NPreviewImage',\n\n props: {\n\n src: {\n default()\n {\n return null;\n }\n },\n\n },\n\n data()\n {\n return {\n load: false, tempSrc: null\n };\n },\n\n beforeMount()\n {\n if ( ! window.ImageCache ) {\n window.ImageCache = [];\n }\n\n\n if ( ! Arr.has(window.ImageCache, this.src) ) {\n this.tempSrc = this.src;\n }\n\n },\n\n mounted()\n {\n this.resolveLoad();\n },\n\n watch: {\n\n 'src': function () {\n this.resolveLoad();\n }\n\n },\n\n methods: {\n\n resolveLoad()\n {\n if ( Arr.has(window.ImageCache, this.src) ) {\n return;\n }\n\n this.tempSrc = null;\n\n if ( Any.isObject(this.src) ) {\n return this.resolveData();\n }\n\n Dom.find(this.$refs.image).loaded(() => {\n\n /**\n * Add image to cache\n */\n Arr.add(window.ImageCache, this.src);\n\n /**\n * Mark image as loaded\n */\n Any.delay(() => this.load = false, 200);\n });\n\n this.laod = true;\n },\n\n resolveData()\n {\n let reader = new FileReader();\n\n reader.onload = () => {\n this.tempSrc = reader.result;\n };\n\n reader.readAsDataURL(this.src);\n }\n\n },\n\n render()\n {\n let classList = [\n 'n-preview-image'\n ];\n\n if ( Arr.has(window.ImageCache, this.src) ) {\n classList.push('n-cached');\n }\n\n if ( ! this.load ) {\n classList.push('n-ready');\n }\n\n return (\n <div class={classList}>\n <img ref=\"image\" src={this.tempSrc || this.src} />\n </div>\n );\n }\n\n}","import { Obj, Arr, Str, Any, Dom } from \"@kizmann/pico-js\";\n\nglobal.resolveYoutube = function(url, fallback = null) {\n\n if ( ! Any.isString(url) ) {\n return fallback;\n }\n\n let host = url.match(/^https?:\\/\\/(www\\.)?(youtube\\.com|youtu\\.be)/);\n\n if ( ! host ) {\n return fallback;\n }\n\n let id = url.match(/(\\?v=.*?)(?=&|$)/);\n\n if ( id && id.length === 2 ) {\n return id[0].replace(/^\\?v=/, '');\n }\n\n let path = url.match(/(\\.be\\/.*?)(?=\\?|$)/);\n\n if ( path && path.length === 2 ) {\n return path[0].replace(/^\\.be\\//, '');\n }\n\n let frame = url.match(/(\\/embed\\/)(.*?$)/);\n\n if ( frame && frame.length === 3 ) {\n return frame[0].replace(/^\\/embed\\//, '');\n }\n\n return fallback;\n}\n\nglobal.resolveVimeo = function(url, fallback = null) {\n\n if ( ! Any.isString(url) ) {\n return fallback;\n }\n\n let host = url.match(/^https?:\\/\\/(www\\.|player\\.)?vimeo\\.com/);\n\n if ( ! host ) {\n return fallback;\n }\n\n let path = url.match(/(\\/[0-9]+)(&|$)/);\n\n if ( path && path.length === 3 ) {\n return path[0].replace(/(^\\/|&$)/, '');\n }\n\n return fallback;\n}\n\nexport default {\n\n name: 'NPreviewVideo',\n\n props: {\n\n src: {\n default()\n {\n return null;\n }\n },\n\n },\n\n data()\n {\n return {\n provider: 'plain', unique: null, tempSrc: null\n };\n },\n\n mounted()\n {\n this.resolveType();\n },\n\n watch: {\n\n 'src': function () {\n this.resolveType();\n }\n\n },\n\n methods: {\n\n resolveType()\n {\n this.tempSrc = null;\n\n if ( this.resolveYoutube() ) {\n return;\n }\n\n if ( this.resolveVimeo() ) {\n return;\n }\n\n if ( Any.isObject(this.src) ) {\n this.resolveData();\n }\n\n this.provider = 'plain';\n },\n\n resolveData()\n {\n console.log('Coming at some point (blob stream)....');\n },\n\n resolveYoutube()\n {\n let youtube = global.resolveYoutube(this.src);\n\n if ( ! youtube ) {\n return false;\n }\n\n this.provider = 'youtube';\n\n this.$emit('resolve:youtube', this.unique = youtube);\n\n return true;\n },\n\n resolveVimeo()\n {\n let vimeo = global.resolveVimeo(this.src);\n\n if ( ! vimeo ) {\n return false;\n }\n\n this.provider = 'vimeo';\n\n this.$emit('resolve:vimeo', this.unique = vimeo);\n\n return true;\n }\n\n },\n\n renderYoutube()\n {\n let props = {\n src: `https://www.youtube.com/embed/${this.unique}`\n };\n\n return (\n <iframe {...props}></iframe>\n );\n },\n\n renderVimeo()\n {\n let props = {\n src: `https://player.vimeo.com/video/${this.unique}`\n };\n\n return (\n <iframe {...props}></iframe>\n );\n },\n\n renderPlain()\n {\n let src = Obj.get(this.src, 'name', this.src);\n\n let extension = src.replace(/^.*?\\.([^.?]+)(\\?.*?)?$/,\n '$1');\n\n return (\n <video width=\"320\" height=\"240\" controls>\n <source src={this.tempSrc || this.src} type={`video/${extension}`} />\n </video>\n );\n },\n\n render()\n {\n let classList = [\n 'n-preview-video'\n ];\n\n return (\n <div class={classList}>\n { this.ctor('render' + Str.ucfirst(this.provider))() }\n </div>\n );\n }\n\n}","import Preview from './src/preview/preview';\nimport PreviewPlain from './src/preview-plain/preview-plain';\nimport PreviewImage from './src/preview-image/preview-image';\nimport PreviewVideo from './src/preview-video/preview-video';\n\nexport default function (App) {\n App.component(Preview.name, Preview);\n App.component(PreviewPlain.name, PreviewPlain);\n App.component(PreviewImage.name, PreviewImage);\n App.component(PreviewVideo.name, PreviewVideo);\n}\n\n","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NSwitch'] = Locale.trans('NSwitch');\n\nglobal.NanoBuilderIndexies['NSwitch'] = {\n childs: true, props: {}\n};\n\nglobal.NanoBuilderIndexies['NSwitch']['props'] = {\n modelValue: {\n for: ['binds', 'props'], type: 'Any'\n },\n onValue: {\n for: ['binds', 'props'], type: 'Any'\n },\n offValue: {\n for: ['binds', 'props'], type: 'Any'\n },\n onType: {\n for: ['binds', 'props'], type: 'String', options: global.NanoPrototypeTypes\n },\n offType: {\n for: ['binds', 'props'], type: 'String', options: global.NanoPrototypeTypes\n },\n size: {\n for: ['binds', 'props'], type: 'String', options: global.NanoPrototypeSizes\n },\n disabled: {\n for: ['binds', 'props'], type: 'Boolean', options: global.NanoPrototypeBools\n },\n};","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NTable'] = Locale.trans('NTable');\n\nglobal.NanoBuilderIndexies['NTable'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NTable']['props'] = {\n //\n};","import { Num, Arr, Locale } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NRating',\n\n props: {\n\n modelValue: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n steps: {\n default()\n {\n return 0.5;\n },\n type: [Number]\n },\n\n fixed: {\n default()\n {\n return 1;\n },\n type: [Number]\n },\n\n max: {\n default()\n {\n return 5;\n },\n type: [Number]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n choice: {\n default()\n {\n return ':count';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'default';\n },\n type: [String]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n }\n\n },\n\n computed: {\n\n virtualValue()\n {\n return Num.fixed(1 / this.max * this.modelValue * 5, this.fixed);\n },\n\n },\n\n renderStars()\n {\n let stars = [\n 1, 2, 3, 4, 5\n ];\n\n return Arr.each (stars, (rate) => {\n\n let className = 'is-null';\n\n if ( this.virtualValue >= rate - 0.5 ) {\n className = 'is-half';\n }\n\n if ( this.virtualValue >= rate ) {\n className = 'is-full';\n }\n\n return (\n <span class={className}></span>\n );\n });\n },\n\n renderValue()\n {\n let vars = {\n value: Num.format(this.modelValue, '.', '', this.fixed)\n };\n\n if ( this.$slots.default ) {\n return this.$slots.default(vars);\n }\n\n return Locale.choice(this.choice, this.modelValue, vars);\n },\n\n render()\n {\n let classList = [\n 'n-rating',\n 'n-rating--' + this.size,\n 'n-rating--' + this.type\n ];\n\n if ( this.disabled ) {\n classList.push('n-disabled');\n }\n\n return (\n <div class={classList}>\n <div class=\"n-rating__stars\">\n {this.ctor('renderStars')()}\n </div>\n <div class=\"n-rating__value\">\n {this.ctor('renderValue')()}\n </div>\n </div>\n );\n }\n\n}\n","import Rating from './src/rating/rating';\n\nexport default function (App) {\n App.component(Rating.name, Rating);\n}\n","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NTags'] = Locale.trans('NTags');\n\nglobal.NanoBuilderIndexies['NTags'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NTags']['props'] = {\n //\n};","import { Arr, Obj, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NRadio',\n\n model: {\n prop: 'checked'\n },\n\n inject: {\n\n NRadioGroup: {\n default: undefined\n }\n\n },\n\n props: {\n\n value: {\n default()\n {\n return null;\n }\n },\n\n checked: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n },\n\n computed: {\n\n uid()\n {\n return this._.uid;\n }\n\n },\n\n data()\n {\n return {\n tempChecked: this.checked\n };\n },\n\n watch: {\n\n checked()\n {\n if ( this.checked !== this.tempChecked ) {\n this.tempChecked = this.checked;\n }\n }\n\n },\n\n beforeMount()\n {\n if ( this.NRadioGroup ) {\n this.tempChecked = this.NRadioGroup.isChecked(this.value);\n }\n },\n\n mounted()\n {\n if ( this.NRadioGroup ) {\n this.NRadioGroup.addRadio(this);\n }\n },\n\n beforeUnmount()\n {\n if ( this.NRadioGroup ) {\n this.NRadioGroup.removeRadio(this);\n }\n },\n\n methods: {\n\n check()\n {\n if ( this.NRadioGroup ) {\n this.NRadioGroup.checkRadio(this);\n }\n\n this.$emit('update:modelValue', this.tempChecked = true);\n },\n\n updateFromGroup()\n {\n let checked = this.NRadioGroup.isChecked(this.value);\n\n if ( this.tempChecked === checked ) {\n return;\n }\n \n this.$emit('update:modelValue', this.tempChecked = checked);\n }\n\n },\n\n renderRadio()\n {\n return (\n <div class=\"n-radio__radio\">\n <span></span>\n </div>\n );\n },\n\n renderLabel()\n {\n if ( ! this.$slots.default && ! this.$slots.label ) {\n return null;\n }\n\n return (\n <div class=\"n-radio__label\">\n { this.$slots.default() || this.$slots.label() }\n </div>\n );\n },\n\n render()\n {\n let classList = [\n 'n-radio',\n 'n-radio--' + this.size,\n 'n-radio--' + this.type,\n ];\n\n if ( this.tempChecked ) {\n classList.push('n-checked');\n }\n\n if ( this.disabled ) {\n classList.push('n-disabled');\n }\n\n let props = Obj.clone(this.$attrs);\n\n if ( ! this.disabled ) {\n props.onMousedown = this.check;\n }\n\n return (\n <div class={classList} {...props}>\n { this.ctor('renderRadio')() }\n { this.ctor('renderLabel')() }\n </div>\n );\n }\n\n}\n","import { Arr, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NRadioGroup',\n\n provide()\n {\n return {\n NRadioGroup: this\n };\n },\n\n props: {\n\n modelValue: {\n default()\n {\n return null;\n }\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n align: {\n default()\n {\n return 'horizontal';\n },\n type: [String]\n }\n\n },\n\n data()\n {\n return {\n tempValue: this.modelValue,\n elements: []\n }\n },\n\n watch: {\n\n modelValue()\n {\n if ( this.modelValue !== this.tempValue ) {\n this.tempValue = this.modelValue;\n }\n },\n\n },\n\n methods: {\n\n addRadio(radio)\n {\n Arr.add(this.elements, radio, {\n uid: radio.uid\n });\n },\n\n removeRadio(radio)\n {\n Arr.remove(this.elements, {\n uid: radio.uid\n });\n },\n\n checkRadio(radio)\n {\n this.tempValue = radio.value;\n \n Arr.each(this.elements, (radio) => {\n radio.updateFromGroup();\n });\n\n this.$emit('update:modelValue', this.tempValue);\n },\n\n isChecked(value)\n {\n return this.tempValue === value;\n }\n\n },\n\n render()\n {\n let classList = [\n 'n-radio-group',\n 'n-radio-group--' + this.size,\n 'n-radio-group--' + this.align,\n ];\n\n return (\n <div class={classList}>\n { this.$slots.default && this.$slots.default() }\n </div>\n );\n }\n\n}\n","import NRadio from './src/radio/radio';\nimport NRadioGroup from './src/radio-group/radio-group';\n\nexport default function (App) {\n App.component(NRadio.name, NRadio);\n App.component(NRadioGroup.name, NRadioGroup);\n}\n","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NFormGroup'] = Locale.trans('NFormGroup');\n\nglobal.NanoBuilderIndexies['NFormGroup'] = {\n childs: true, props: {}\n};\n\nglobal.NanoBuilderIndexies['NFormGroup']['props'] = {\n label: {\n for: ['binds', 'props'], type: 'String'\n }\n};","import { Arr, Obj, Num, Any, Dom, Event, Locale, UUID } from \"@kizmann/pico-js\";\n\nglobal.dragMods = [];\n\nclass NDragCounter\n{\n\n $el = null;\n\n constructor()\n {\n this.$el = Dom.make('div', {\n classList: ['n-draggable__counter']\n });\n\n this.$el.appendTo(document.body);\n }\n\n get(event, count)\n {\n // Update dragover color/type\n this.update();\n\n this.$el.html(\n `<span>${Locale.choice(':count Item|:count Items', count)}</span>`\n );\n\n // Fix data transfer\n event.dataTransfer.setData('text/plain', '');\n\n if ( typeof event.dataTransfer.setDragImage !== 'function' ) {\n return;\n }\n\n // Set finally the drop image\n event.dataTransfer.setDragImage(this.$el.get(0), 0, 0);\n }\n\n update()\n {\n global.dragMods = global.keyMods;\n\n let classList = [\n 'n-draggable__counter'\n ];\n\n if ( Arr.has(global.dragMods, 18) ) {\n classList.push('n-modify--alt');\n }\n\n if ( Arr.has(global.dragMods, 17) ) {\n classList.push('n-modify--ctrl');\n }\n\n if ( Arr.has(global.dragMods, 91) ) {\n classList.push('n-modify--meta');\n }\n\n this.$el.attr('class', classList.join(' '));\n }\n\n}\n\nglobal.DragCounter = new NDragCounter;\n\nclass NDragIndicator\n{\n\n $el = null;\n\n parent = null;\n\n constructor(parent)\n {\n this.$el = Dom.make('div', {\n classList: ['n-draggable__indicator']\n });\n\n this.$el.appendTo(this.parent = parent);\n }\n\n resolve(event, safezone, el, strategy = 'inner')\n {\n let rect = el.getBoundingClientRect();\n\n if ( event.clientY < rect.y + safezone ) {\n strategy = 'before';\n }\n\n if ( event.clientY > rect.y + rect.height - safezone ) {\n strategy = 'after';\n }\n\n if ( Dom.find(el).hasClass('n-expanded') ) {\n strategy = strategy === 'after' ? 'inner' : strategy;\n }\n\n Arr.has(['before', 'after'], strategy) ?\n this.show(el, strategy) : this.hide();\n\n\n return strategy;\n }\n\n show(el, strategy)\n {\n let offsetTop = Dom.find(el).offsetTop(this.parent);\n\n let style = {\n top: offsetTop || 1\n };\n\n if ( strategy === 'after' ) {\n style.top = offsetTop + Dom.find(el).height();\n }\n\n this.$el.css(Obj.map(style, (item) => item + 'px'));\n }\n\n hide()\n {\n this.$el.css(null);\n }\n\n destroy()\n {\n this.$el.get(0).remove();\n }\n\n}\n\nclass NDraghandler\n{\n\n uid = null;\n\n rootNode = null;\n childNodes = {};\n\n dropNodes = [];\n cacheNodes = [];\n\n strategy = 'nodrop';\n frames = 0;\n timeout = 0;\n dragcount = {};\n\n constructor(rootNode)\n {\n this.rootNode = rootNode;\n }\n\n bindRoot(frame = null)\n {\n this.DragIndicator = new NDragIndicator(frame || this.rootNode.$el);\n\n if ( global.DragCache ) {\n this.bindDragstart.call(this, ...global.DragCache);\n }\n\n Dom.find(this.rootNode.$el).on('dragenter', (event) => {\n this.onDragenterRoot(event);\n });\n\n Dom.find(this.rootNode.$el).on('dragover', (event) => {\n this.onDragoverRoot(event);\n });\n\n Dom.find(this.rootNode.$el).on('dragleave', (event) => {\n this.onDragleaveRoot(event);\n });\n\n Dom.find(this.rootNode.$el).on('dragend', (event) => {\n this.onDragendRoot(event);\n });\n\n Dom.find(this.rootNode.$el).on('drop', (event) => {\n this.onDragdropRoot(event);\n });\n\n Dom.find(this.rootNode.$el).on('dragdrop', (event) => {\n this.onDragdropRoot(event);\n });\n\n Event.bind('NDrag:start', this.bindDragstart.bind(this),\n this.rootNode.uid);\n\n Event.bind('NDrag:end', this.bindDragend.bind(this),\n this.rootNode.uid);\n\n Event.bind('NDrag:drop', this.bindDragdrop.bind(this),\n this.rootNode.uid);\n }\n\n unbindRoot()\n {\n let events = [\n 'dragstart',\n 'dragenter',\n 'dragover',\n 'dragleave',\n 'dragend',\n 'drop',\n 'dragdrop',\n ];\n\n Dom.find(this.rootNode.$el).off(events);\n\n Event.unbind('NDrag:start', this.rootNode.uid);\n Event.unbind('NDrag:end', this.rootNode.uid);\n Event.unbind('NDrag:drop', this.rootNode.uid);\n }\n\n onDragenterRoot(event)\n {\n event.preventDefault();\n }\n\n onDragoverRoot(event)\n {\n let isNode = Dom.find(event.target)\n .closest('.n-draglist-item');\n\n if ( isNode || !this.cacheNodes.length ) {\n return;\n }\n\n event.preventDefault();\n\n if ( this.frames && Date.now() - this.frames < 135 ) {\n return;\n }\n\n let allowDrop = this.rootNode.allowDrop;\n\n if ( !Any.isFunction(allowDrop) ) {\n allowDrop = () => this.rootNode.allowDrop;\n }\n\n let rainbow = Arr.each(this.cacheNodes, (node) => {\n return !!allowDrop(node, null, this.strategy);\n });\n\n this.strategy = 'root';\n\n if ( Arr.has(rainbow, false) ) {\n this.strategy = 'nodrop';\n }\n\n this.DragIndicator.hide();\n\n if ( this.strategy !== 'nodrop' ) {\n Dom.find(this.rootNode.$el).addClass('n-dragover');\n } else {\n Dom.find(this.rootNode.$el).removeClass('n-dragover');\n }\n\n if ( this.strategy === 'nodrop' ) {\n Dom.find(this.rootNode.$el).addClass('n-nodrop');\n } else {\n Dom.find(this.rootNode.$el).removeClass('n-nodrop');\n }\n\n this.frames = Date.now();\n }\n\n onDragleaveRoot(event)\n {\n Dom.find(this.rootNode.$el)\n .removeClass('n-dragover n-nodrop');\n }\n\n onDragendRoot(event)\n {\n if ( !this.cacheNodes.length ) {\n return;\n }\n\n Dom.find(this.rootNode.$el)\n .removeClass('n-dragover n-nodrop');\n\n if ( this.strategy !== 'root' ) {\n return;\n }\n\n Event.fire('NDrag:end');\n }\n\n onDragdropRoot(event)\n {\n if ( !this.cacheNodes.length ) {\n return;\n }\n\n Dom.find(this.rootNode.$el)\n .removeClass('n-dragover n-nodrop');\n\n if ( this.strategy !== 'root' ) {\n return;\n }\n\n event.preventDefault();\n\n this.moveNodes(null, this.strategy);\n\n Event.fire('NDrag:drop');\n }\n\n bindDragstart(group, cache)\n {\n if ( Arr.has(this.rootNode.allowGroups, group) ) {\n this.cacheNodes = JSON.parse(JSON.stringify(cache));\n }\n }\n\n bindDragend()\n {\n this.dragcount = {};\n\n this.cacheNodes = this.dropNodes = [];\n }\n\n bindDragdrop(...args)\n {\n if ( !this.dropNodes.length ) {\n return;\n }\n\n this.rootNode.tempSelected = [];\n\n this.rootNode.$emit('update:selected',\n this.rootNode.tempSelected);\n\n if ( !this.rootNode.removeNode ) {\n return;\n }\n\n let clone = {\n items: Obj.clone(this.rootNode.items)\n };\n\n this.unlinkNodes(clone);\n this.removeNodes(clone);\n\n this.rootNode.$emit('update:items', clone.items);\n }\n\n onDragstartNode(event, node)\n {\n if ( !this.rootNode.isSelected(node) ) {\n this.rootNode.$emit('update:selected',\n this.rootNode.tempSelected = [node.uid]);\n }\n\n let cache = Arr.each(this.rootNode.tempSelected, (id) => {\n return Arr.find(this.rootNode.virtuals, { [this.rootNode.uniqueProp]: id });\n });\n\n global.DragCounter.get(event, cache.length);\n\n Arr.map(cache, (value) => {\n return { value, item: Obj.get(this.rootNode, value.route) };\n });\n\n Event.fire('NDrag:start', this.rootNode.group,\n this.dropNodes = cache);\n\n global.DragCache = [\n this.rootNode.group, this.dropNodes\n ];\n\n this.dragcount[node.uid] = 0;\n }\n\n onDragenterNode(event, node)\n {\n event.preventDefault();\n\n if ( !this.dragcount[node.uid] ) {\n this.dragcount[node.uid] = 0;\n }\n\n this.dragcount[node.uid] ++;\n }\n\n onDragoverNode(event, node)\n {\n if ( !this.cacheNodes.length ) {\n return;\n }\n\n event.preventDefault();\n\n if ( this.frames && Date.now() - this.frames < 45 ) {\n return;\n }\n\n let safezone = this.rootNode\n .safezone(node.$el.clientHeight);\n\n this.strategy = this.DragIndicator\n .resolve(event, safezone, node.$el);\n\n let targetNode = {\n value: node.value, item: node.item\n };\n\n let allowDrop = this.rootNode.allowDrop;\n\n if ( !Any.isFunction(allowDrop) ) {\n allowDrop = () => this.rootNode.allowDrop;\n }\n\n let rainbow = Arr.each(this.cacheNodes, (node) => {\n return !!allowDrop(node, targetNode, this.strategy);\n });\n\n let isInSelf = Arr.has(node.value.cascade,\n this.rootNode.tempSelected);\n\n rainbow.push(!isInSelf);\n\n if ( Arr.has(rainbow, false) ) {\n this.strategy = 'nodrop';\n }\n\n if ( this.strategy === 'nodrop' ) {\n this.DragIndicator.hide();\n }\n\n if ( this.strategy !== 'nodrop' ) {\n Dom.find(node.$el).addClass('n-dragover');\n Dom.find(node.$el).removeClass('n-nodrop');\n }\n\n if ( this.strategy === 'nodrop' ) {\n Dom.find(node.$el).removeClass('n-dragover');\n Dom.find(node.$el).addClass('n-nodrop');\n }\n\n this.frames = Date.now();\n }\n\n onDragleaveNode(event, node)\n {\n this.dragcount[node.uid] --;\n\n if ( this.dragcount[node.uid] !== 0 ) {\n return;\n }\n\n Dom.find(node.$el).removeClass('n-dragover n-nodrop');\n\n this.DragIndicator.hide();\n }\n\n onDragendNode(event, node)\n {\n Dom.find(node.$el).removeClass('n-dragover n-nodrop');\n\n this.DragIndicator.hide();\n\n Event.fire('NDrag:end');\n\n global.DragCache = null;\n }\n\n onDragdropNode(event, node)\n {\n if ( !this.cacheNodes.length ) {\n return;\n }\n\n Dom.find(node.$el).removeClass('n-dragover n-nodrop');\n\n this.DragIndicator.hide();\n\n if ( this.strategy === 'nodrop' ) {\n return;\n }\n\n event.preventDefault();\n\n this.moveNodes(node, this.strategy);\n\n Event.fire('NDrag:drop');\n }\n\n bindNode(node)\n {\n if ( this.childNodes[node.uid] ) {\n this.unbindNode(node);\n }\n\n let $handle = Dom.find(node.$el);\n\n if ( this.rootNode.handle ) {\n $handle = $handle.find('[draggable]');\n }\n\n let $el = Dom.find(node.$el);\n\n $handle.on('dragstart', (event) => {\n this.onDragstartNode(event, node);\n });\n\n $el.on('dragenter', (event) => {\n this.onDragenterNode(event, node);\n });\n\n $el.on('dragover', (event) => {\n this.onDragoverNode(event, node);\n });\n\n $el.on('dragleave', (event) => {\n this.onDragleaveNode(event, node);\n });\n\n $el.on('dragend', (event) => {\n this.onDragendNode(event, node);\n });\n\n $el.on('drop', (event) => {\n this.onDragdropNode(event, node);\n });\n\n $el.on('dragdrop', (event) => {\n this.onDragdropNode(event, node);\n });\n\n this.childNodes[node.uid] = node;\n }\n\n unbindNode(node)\n {\n let $handle = Dom.find(node.$el);\n\n if ( this.rootNode.handle ) {\n $handle = $handle.find('[draggable]');\n }\n\n $handle.off('dragstart');\n\n let $el = Dom.find(node.$el);\n\n $el.off([\n 'dragenter',\n 'dragover',\n 'dragleave',\n 'dragend',\n 'drop',\n 'dragdrop',\n ]);\n\n $el.removeClass('n-dragover n-nodrop');\n\n this.DragIndicator.hide();\n\n delete this.childNodes[node.uid];\n }\n\n moveNodes(target, strategy) {\n\n if ( this.rootNode.items !== undefined ) {\n return this.moveNodesMany(target, strategy);\n }\n\n if ( this.rootNode.item !== undefined ) {\n return this.moveNodesOne(target, strategy);\n }\n\n return null;\n }\n\n moveNodesOne(target, strategy)\n {\n let clone = {\n items: [Obj.clone(this.rootNode.item)]\n };\n\n if ( this.rootNode.insertNode ) {\n clone = this.moveNodesRoot(clone, target);\n }\n\n if ( this.rootNode.removeNode ) {\n clone = this.removeNodes(clone);\n }\n\n let sources = Arr.each(this.cacheNodes, (node) => {\n return node.item[this.rootNode.uniqueProp];\n });\n\n let source = Arr.first(this.cacheNodes);\n\n this.rootNode.$emit('move', Obj.get(source, 'value.id'),\n Obj.get(target, 'uid'), strategy);\n\n this.rootNode.$emit('moveRaw',\n source, target, strategy);\n\n this.rootNode.$emit('update:item',\n Obj.get(source, 'item'));\n }\n\n moveNodesMany(target, strategy)\n {\n let clone = {\n items: Obj.clone(this.rootNode.items)\n };\n\n if ( this.rootNode.removeNode ) {\n this.unlinkNodes(clone);\n }\n\n if ( !this.dropNodes.length ) {\n Arr.each(this.cacheNodes, (value, key) => {\n this.cacheNodes[key]['item'] = this.rootNode.transformDrop(value.item);\n });\n }\n\n if ( this.rootNode.insertNode && strategy === 'root' ) {\n clone = this.moveNodesRoot(clone, target);\n }\n\n if ( this.rootNode.insertNode && strategy === 'inner' ) {\n clone = this.moveNodesInto(clone, target);\n }\n\n if ( this.rootNode.insertNode && strategy === 'before' ) {\n clone = this.moveNodesBefore(clone, target);\n }\n\n if ( this.rootNode.insertNode && strategy === 'after' ) {\n clone = this.moveNodesAfter(clone, target);\n }\n\n if ( this.rootNode.removeNode ) {\n clone = this.removeNodes(clone);\n }\n\n let sources = Arr.each(this.cacheNodes, (node) => {\n return node.item[this.rootNode.uniqueProp];\n });\n\n this.dropNodes = this.rootNode.tempSelected = [];\n\n let eventName = 'move';\n\n if ( Arr.has(global.dragMods, 18) ) {\n eventName = 'moveAlt';\n }\n\n if ( Arr.has(global.dragMods, 17) ) {\n eventName = 'moveCtrl';\n }\n\n if ( Arr.has(global.dragMods, 91) ) {\n eventName = 'moveMeta';\n }\n\n this.rootNode.$emit(eventName, sources,\n Obj.get(target, 'uid'), strategy);\n\n this.rootNode.$emit(eventName + 'Raw',\n this.cacheNodes, target, strategy);\n\n this.rootNode.$emit('update:selected',\n this.rootNode.tempSelected);\n\n this.rootNode.$emit('update:items', clone.items);\n }\n\n unlinkNodes(clone)\n {\n Arr.each(this.dropNodes, (node) => {\n Obj.set(clone, node.value.route, null);\n });\n }\n\n removeNodes(clone, prop = 'items')\n {\n clone[prop] = Arr.filter(clone[prop], (node) => {\n return !!node;\n });\n\n Arr.map(clone[prop], (node) => {\n\n if ( !node[this.rootNode.childProp] ) {\n return node;\n }\n\n return this.removeNodes(node,\n this.rootNode.childProp);\n });\n\n return clone;\n }\n\n moveNodesRoot(clone)\n {\n if ( this.rootNode.disableMove ) {\n return clone;\n }\n\n Arr.each(this.cacheNodes, (node) => {\n clone.items.push(node.item);\n });\n\n return clone;\n }\n\n moveNodesInto(clone, target)\n {\n if ( this.rootNode.disableMove ) {\n return clone;\n }\n\n let targetRoute = [\n target.value.route,\n this.rootNode.childProp\n ].join('.');\n\n let children = Obj.get(clone,\n targetRoute, []);\n\n Arr.each(this.cacheNodes, (node) => {\n children.push(node.item);\n });\n\n Obj.set(clone, targetRoute, children);\n\n return clone;\n }\n\n moveNodesBefore(clone, target)\n {\n if ( this.rootNode.disableMove ) {\n return clone;\n }\n\n let targetRoute = target.value.route\n .replace(/\\.[0-9]+$/, '');\n\n let items = Obj.get(clone, targetRoute);\n\n Arr.each(this.cacheNodes, (node, index) => {\n items.splice(target.value.index + index, 0, node.item);\n });\n\n Obj.set(clone, targetRoute, items);\n\n return clone;\n }\n\n moveNodesAfter(clone, target)\n {\n if ( this.rootNode.disableMove ) {\n return clone;\n }\n\n let targetRoute = target.value.route\n .replace(/\\.[0-9]+$/, '');\n\n let items = Obj.get(clone, targetRoute);\n\n Arr.each(this.cacheNodes, (node, index) => {\n items.splice(target.value.index + index + 1, 0, node.item);\n });\n\n Obj.set(clone, targetRoute, items);\n\n return clone;\n }\n\n copyNode(node)\n {\n let clone = {\n items: Obj.clone(this.rootNode.items)\n };\n\n let targetRoute = node.value.route\n .replace(/\\.[0-9]+$/, '');\n\n let items = Obj.get(clone, targetRoute);\n\n let target = Obj.except(node.item, [], {\n [this.rootNode.uniqueProp]: UUID()\n });\n\n items.splice(node.value.index + 1,\n 0, target);\n\n Obj.set(clone, targetRoute, items);\n\n this.rootNode.$emit('update:items', clone.items);\n }\n\n removeNode(node)\n {\n let clone = {\n items: Obj.clone(this.rootNode.items)\n };\n\n let targetRoute = node.value.route\n .replace(/\\.[0-9]+$/, '');\n\n let items = Obj.get(clone, targetRoute);\n\n items.splice(node.value.index, 1);\n\n Obj.set(clone, targetRoute, items);\n\n this.rootNode.$emit('update:items', clone.items);\n }\n\n reduce(items, ...props)\n {\n return Arr.reduce(items, (merge, item, index) =>\n this.reduceItem(merge, item, Num.int(index), ...props), []);\n }\n\n reduceItem(merge, item, index, depth = 0, route = 'items', cascades = [])\n {\n // Get a unique id\n let unique = Obj.get(item,\n this.rootNode.uniqueProp, UUID());\n\n // Add unique to cascader\n let tempCascade = Arr.merge(cascades,\n [unique]);\n\n let virtual = {\n index: index,\n depth: depth,\n route: [route, index].join('.'),\n parent: Arr.last(cascades),\n cascade: tempCascade,\n };\n\n virtual[this.rootNode.uniqueProp] = unique;\n\n let children = Obj.get(item,\n this.rootNode.childProp, []);\n\n if ( Any.isEmpty(children) ) {\n return Arr.merge(merge, [virtual]);\n }\n\n let childRoute = [\n route, index,\n this.rootNode.childProp\n ].join('.');\n\n let props = [\n depth + 1, childRoute, tempCascade\n ]\n\n return Arr.merge(merge, [virtual],\n this.reduce(children, ...props));\n }\n\n}\n\nexport default NDraghandler;","import { UUID, Num, Arr, Obj, Dom, Any, Event, Locale } from \"@kizmann/pico-js\";\nimport NDraghandler from \"../draghandler/draghandler\";\n\nglobal.DEBUG_NDLIST = false;\n\nexport default {\n\n name: 'NDraglist',\n\n model: {\n prop: 'items'\n },\n\n props: {\n\n items: {\n default()\n {\n return [];\n }\n },\n\n renderNode: {\n default()\n {\n return null;\n }\n },\n\n draggable: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n current: {\n default()\n {\n return null;\n }\n },\n\n selected: {\n default()\n {\n return [];\n }\n },\n\n expanded: {\n default()\n {\n return [];\n }\n },\n\n handle: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n group: {\n default()\n {\n return ['default'];\n },\n type: [Array]\n },\n\n allowGroups: {\n default()\n {\n return ['default'];\n },\n type: [Array]\n },\n\n safezone: {\n default()\n {\n return (height) => height * 0.265;\n }\n },\n\n lazyload: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n showEmptyIcon: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n itemHeight: {\n default()\n {\n return 34;\n },\n type: [Number]\n },\n\n itemOffset: {\n default()\n {\n return 30;\n },\n type: [Number]\n },\n\n threshold: {\n default()\n {\n return 1;\n },\n type: [Number]\n },\n\n useKeys: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n overflowY: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n overflowX: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n offsetY: {\n default()\n {\n return 10;\n },\n type: [Number]\n },\n\n offsetX: {\n default()\n {\n return 10;\n },\n type: [Number]\n },\n\n scrollTopOnChange: {\n default()\n {\n return false;\n }\n },\n\n uniqueProp: {\n default()\n {\n return 'id';\n },\n type: [String]\n },\n\n childProp: {\n default()\n {\n return 'children';\n },\n type: [String]\n },\n\n renderCurrent: {\n default()\n {\n return true;\n }\n },\n\n renderHandle: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n renderSelect: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n renderExpand: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n transformDrop: {\n default()\n {\n return (node) => node;\n }\n },\n\n disableMove: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n insertNode: {\n default()\n {\n return true;\n }\n },\n\n removeNode: {\n default()\n {\n return true;\n }\n },\n\n allowSelect: {\n default()\n {\n return () => true;\n }\n },\n\n allowDrag: {\n default()\n {\n return () => true;\n }\n },\n\n allowDrop: {\n default()\n {\n return () => true;\n }\n },\n\n keyEvents: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n highlightTimeout: {\n default()\n {\n return 7000;\n },\n type: [Number]\n }\n\n },\n\n provide()\n {\n return {\n NDraggable: this\n };\n },\n\n data()\n {\n return {\n uid: UUID(),\n modifier: [],\n virtuals: [], \n visible: [], \n childNodes: {}, \n highlight: [],\n firstSelected: null,\n lastSelected: null,\n tempCurrent: this.current, \n tempExpanded: this.expanded, \n tempSelected: this.selected\n };\n },\n\n beforeMount()\n {\n this.drag = new NDraghandler(this);\n\n Dom.find(window).on('keydown',\n this.watchModifierDown, this._.uid);\n\n Dom.find(window).on('keyup',\n this.watchModifierUp, this._.uid);\n },\n\n mounted()\n {\n let frame = this.$refs.virtualscroller.\n $refs.inner;\n\n this.drag.bindRoot(frame);\n\n this.$watch('tempSelected', this.watchSelected, \n { deep: true });\n\n this.refreshVirtuals();\n },\n\n beforeUnmount()\n {\n this.drag.unbindRoot();\n\n Dom.find(document).off('keydown', null, this.uid);\n Dom.find(document).off('keyup', null, this.uid);\n },\n\n watch: {\n \n items()\n {\n if ( this.scrollTopOnChange ) {\n this.scrollTo();\n }\n\n this.refreshVirtuals();\n },\n\n virtuals()\n {\n this.filterVirtuals();\n },\n\n expanded(value)\n {\n this.tempExpanded = value;\n\n this.filterVirtuals();\n },\n\n selected(value)\n {\n this.tempSelected = value;\n },\n\n current(value)\n {\n this.tempCurrent = value;\n }\n\n },\n\n methods: {\n\n watchModifierDown(e)\n {\n Arr.add(this.modifier, e.which);\n },\n\n watchModifierUp(e)\n {\n Arr.remove(this.modifier, e.which);\n },\n\n watchSelected()\n {\n if ( ! this.tempSelected.length ) {\n return this.firstSelected = null;\n }\n\n this.firstSelected = Arr.find(this.virtuals, {\n [this.uniqueProp]: this.tempSelected[0]\n });\n },\n\n updateNode(node)\n {\n Obj.set(this, node.value.route, node.item);\n\n this.$emit('update:items', this.items);\n },\n\n findVirtual(unique)\n {\n let value = Arr.find(this.virtuals, (item) => {\n return item[this.uniqueProp] === unique;\n });\n\n if ( ! value ) {\n return null;\n }\n\n return {\n value, item: Obj.get(this, value.route, null)\n };\n },\n\n refreshVirtuals()\n {\n this.virtuals = this.drag.reduce(this.items);\n\n if ( global.DEBUG_NDLIST ) {\n console.log('Total virtual items mounted: ' + this.virtuals.length);\n }\n },\n\n filterVirtuals()\n {\n this.visible = Arr.filter(this.virtuals, (node) => {\n return Arr.contains(this.tempExpanded, node.cascade.slice(0, -1));\n });\n },\n\n getIndex(unique)\n {\n return Arr.findIndex(this.visible, {\n [this.uniqueProp]: unique\n });\n },\n\n getCurrentIndex()\n {\n if ( ! this.tempCurrent ) {\n return -1;\n }\n\n return Arr.findIndex(this.visible, {\n [this.uniqueProp]: this.tempCurrent[this.uniqueProp]\n });\n },\n\n scrollTo(x = 0, y = 0)\n {\n if ( ! this.$refs.virtualscroller ) {\n return Any.delay(() => this.scrollTo(x, y));\n }\n\n this.$refs.virtualscroller.scrollTo(x, y);\n },\n\n scrollToIndex(index)\n {\n if ( ! this.$refs.virtualscroller ) {\n return Any.delay(() => this.scrollToIndex(index));\n }\n\n this.$refs.virtualscroller.scrollIntoView(index);\n },\n\n isDraggable(node)\n {\n let canDrag = this.allowDrag;\n\n if ( ! Any.isFunction(canDrag) ) {\n canDrag = () => this.allowDrag;\n }\n\n return canDrag(node);\n },\n\n isHighlight(node)\n {\n return Arr.has(this.highlight, node.value[this.uniqueProp]);\n },\n\n highlightNode(value, key = null)\n {\n clearTimeout(this.refresh);\n\n // Clear highlight items\n this.highlight = [];\n\n Arr.recursive(this.items, this.childProp, (node, cascade) => {\n\n let val = node;\n\n if ( !Any.isEmpty(key) ) {\n val = Obj.get(val, key);\n }\n\n if ( ! Any.isFunction(value) ) {\n value = (val) => val === value;\n }\n\n if ( ! value(val) ) {\n return;\n }\n\n Arr.each(cascade, (item) => {\n Arr.add(this.tempExpanded, item[this.uniqueProp]);\n });\n\n Arr.add(this.highlight, node[this.uniqueProp]);\n });\n\n if ( ! this.highlight.length ) {\n return;\n }\n\n this.$nextTick(this.scrollToHighlight);\n \n this.refresh = setTimeout(() =>\n this.highlight = [], this.highlightTimeout);\n \n this.filterVirtuals();\n },\n\n scrollToHighlight()\n {\n if ( ! this.highlight.length ) {\n return;\n }\n\n let index = Arr.findIndex(this.visible, {\n [this.uniqueProp]: Arr.first(this.highlight)\n });\n\n this.$refs.virtualscroller.scrollIntoView(index);\n },\n\n isCurrent(node)\n {\n return this.renderCurrent && this.tempCurrent && \n node.value[this.uniqueProp] === this.tempCurrent[this.uniqueProp] ;\n },\n\n setCurrent(node)\n {\n let isSameNode = this.tempCurrent && \n this.tempCurrent[this.uniqueProp] === node.value[this.uniqueProp];\n\n if ( isSameNode ) {\n return;\n }\n\n this.$emit('update:current', \n this.tempCurrent = node.item);\n \n Event.fire('NDraglist:syncCurrent', node.item, this.uid);\n },\n\n setRawCurrent(index)\n {\n let route = Obj.get(this.visible, \n [index, 'route']);\n\n if ( ! route ) {\n return this.setRawCurrent(0);\n }\n\n let item = Obj.get(this, route);\n\n this.$refs.virtualscroller\n .scrollIntoView(index);\n\n this.$emit('update:current', \n this.tempCurrent = item);\n \n Event.fire('NDraglist:syncCurrent', item, this.uid);\n },\n\n setNextCurrent()\n {\n if ( ! this.visible.length ) {\n return;\n }\n\n let reset = 0;\n\n if ( ! this.tempCurrent ) {\n return this.setRawCurrent(reset);\n }\n\n let index = Arr.findIndex(this.visible, {\n [this.uniqueProp]: this.tempCurrent[this.uniqueProp]\n });\n\n if ( index !== -1 ) {\n index++;\n }\n\n if ( index >= this.visible.length ) {\n index = reset;\n }\n\n this.setRawCurrent(index);\n },\n\n setPrevCurrent()\n {\n if ( ! this.visible.length ) {\n return;\n }\n\n let reset = this.visible.length - 1;\n\n if ( ! this.tempCurrent ) {\n return this.setRawCurrent(reset);\n }\n\n let index = Arr.findIndex(this.visible, {\n [this.uniqueProp]: this.tempCurrent[this.uniqueProp]\n });\n\n if ( index !== -1 ) {\n index--;\n }\n\n if ( index < 0 ) {\n index = reset;\n }\n \n this.setRawCurrent(index);\n },\n\n syncCurrent()\n {\n return ['NDraglist:syncCurrent', this.uid];\n },\n\n isDisabled(node)\n {\n let canSelect = this.allowSelect;\n\n if ( ! Any.isFunction(canSelect) ) {\n canSelect = () => this.allowSelect;\n }\n\n return ! canSelect(node) || (this.firstSelected &&\n node.value.depth !== this.firstSelected.depth);\n },\n\n hasChildren(node)\n {\n return !! this.getChildren(node).length;\n },\n\n getChildren(node)\n {\n return Obj.get(node.item, this.childProp, []);\n },\n\n isExpanded(node)\n {\n return Arr.has(this.tempExpanded, node.value[this.uniqueProp]);\n },\n\n expandItem(node)\n {\n if ( ! this.hasChildren(node) ) {\n return;\n }\n\n Arr.toggle(this.tempExpanded, node.value[this.uniqueProp]);\n\n this.filterVirtuals();\n },\n\n expandCurrent()\n {\n if ( ! this.tempCurrent ) {\n return;\n }\n\n let children = Obj.get(this.tempCurrent, \n this.childProp);\n\n if ( Any.isEmpty(children) ) {\n return;\n }\n\n Arr.toggle(this.tempExpanded, \n this.tempCurrent[this.uniqueProp]);\n\n this.filterVirtuals();\n },\n\n isSelected(node)\n {\n return Arr.has(this.tempSelected, node.value[this.uniqueProp]);\n },\n\n isTotalSelected()\n {\n let visible = Arr.filter(this.visible, (item) => {\n return ! item.depth;\n });\n\n return visible.length === this.tempSelected;\n },\n\n isInterSelected()\n {\n let visible = Arr.filter(this.visible, (item) => {\n return ! item.depth;\n });\n\n return visible.length !== this.tempSelected &&\n this.tempSelected;\n },\n\n toggleSingleNode(node)\n {\n Arr.toggle(this.tempSelected, this.lastSelected =\n node.value[this.uniqueProp]);\n },\n\n toggleRangeNode(node)\n {\n let indexies = [0, -1], reversed = false;\n\n if ( ! Any.isEmpty(this.lastSelected) ) {\n indexies[1] = this.getIndex(this.lastSelected);\n }\n\n indexies[0] = this.getIndex(node.value[this.uniqueProp]);\n\n if ( indexies[1] > indexies[0] ) {\n reversed = true;\n }\n\n if ( ! reversed ) {\n indexies = [indexies[1]+1, indexies[0]+1];\n }\n\n Arr.each(this.items.slice(indexies[0], indexies[1]), (item, index) => {\n Arr.toggle(this.tempSelected, item[this.uniqueProp]);\n });\n\n this.lastSelected = node.value[this.uniqueProp];\n },\n\n selectItem(node)\n {\n if ( this.isDisabled(node) ) {\n return;\n }\n\n ! Arr.has(this.modifier, 16) || this.renderExpand ?\n this.toggleSingleNode(node) : this.toggleRangeNode(node);\n\n this.$emit('update:selected', this.tempSelected);\n },\n\n selectAll()\n {\n let result = Arr.filter(this.visible, (item) => {\n\n let canSelect = this.allowSelect;\n\n if ( ! Any.isFunction(canSelect) ) {\n canSelect = () => this.allowSelect;\n }\n\n let row = {\n value: item, item: Obj.get(this, item.route)\n };\n\n return ! item.depth && canSelect(row);\n });\n\n let indexies = Arr.each(result, (item) => {\n return item[this.uniqueProp];\n });\n\n if ( indexies.length === this.tempSelected.length ) {\n return this.$emit('update:selected', this.tempSelected = []);\n }\n\n this.lastSelected = null;\n\n this.$emit('update:selected', this.tempSelected = indexies);\n },\n\n unselectAll()\n {\n if ( this.tempSelected.length ) {\n this.$emit('update:selected', this.tempSelected = []);\n }\n },\n\n bindKeydown()\n {\n if ( ! this.keyEvents ) {\n return;\n }\n\n Dom.find(document).on('keydown', \n this.onKeydown, this.uid)\n },\n\n unbindKeydown()\n {\n if ( ! this.keyEvents ) {\n return;\n }\n\n Dom.find(document).off('keydown', \n null, this.uid)\n },\n\n onKeydown(event, el)\n {\n if ( Dom.find(el).closest('input') ) {\n return;\n }\n\n if ( event.which === 32 ) {\n event.preventDefault();\n event.stopPropagation();\n this.expandCurrent();\n }\n\n if ( event.which === 38 ) {\n event.preventDefault();\n event.stopPropagation();\n this.setPrevCurrent();\n }\n\n if ( event.which === 40 ) {\n event.preventDefault();\n event.stopPropagation();\n this.setNextCurrent();\n }\n }\n\n },\n\n renderEmpty()\n {\n return (\n <NEmptyIcon disabled={! this.showEmptyIcon} class=\"n-draglist__empty\">\n { this.$slots.empty && this.$slots.empty() || this.trans('No entries') }\n </NEmptyIcon>\n );\n },\n\n renderItem(props)\n {\n return (\n <NDraglistItem {...Obj.except(props, ['index'])}>\n { { default: this.$slots.default } }\n </NDraglistItem>\n );\n },\n\n render()\n {\n let classList = [\n 'n-draglist',\n 'n-draglist--' + this.size,\n 'n-draglist--' + this.type\n ];\n\n if ( ! this.items.length ) {\n classList.push('n-empty');\n }\n\n let passed = [\n 'threshold', 'bufferItems', 'itemHeight', \n 'overflowX', 'overflowY', 'offsetX', 'offsetY', 'useKeys'\n ];\n\n let props = Obj.only(this.$props, passed, {\n items: this.visible,\n onMouseenter: this.bindKeydown,\n onMouseleave: this.unbindKeydown\n });\n\n return (\n <NVirtualscroller ref=\"virtualscroller\" class={classList} {...props}>\n { { default: this.ctor('renderItem'), empty: this.ctor('renderEmpty') } }\n </NVirtualscroller>\n );\n }\n\n}\n","import { Str, Obj, Arr, Dom } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NDraglistItem',\n\n inject: {\n\n NDraggable: {\n default: undefined\n }\n \n },\n\n provide()\n {\n return {\n NDraggableItem: this\n };\n },\n\n props: {\n\n value: {\n required: true\n },\n\n },\n\n computed: {\n\n uid()\n {\n return Obj.get(this.value, this.NDraggable.uniqueProp);\n },\n\n item()\n {\n return Obj.get(this.NDraggable, this.value.route);\n },\n\n touch() {\n return !! ('ontouchstart' in window ||\n navigator.msMaxTouchPoints);\n },\n\n mousedown() {\n return this.touch ? 'touchstart' :\n 'mousedown';\n },\n\n mousemove() {\n return this.touch ? 'touchmove' :\n 'mousemove';\n },\n\n mouseup() {\n return this.touch ? 'touchend' :\n 'mouseup';\n }\n\n },\n\n data()\n {\n return {\n init: ! this.NDraggable.lazyload\n };\n },\n\n mounted()\n {\n this.timer = setTimeout(() => {\n\n if ( this.NDraggable.draggable ) {\n this.timer = setTimeout(() => {\n this.NDraggable.drag.bindNode(this);\n }, 10);\n }\n\n this.init = true;\n }, 5);\n },\n\n beforeUnmount()\n {\n clearTimeout(this.timer);\n\n this.NDraggable.drag.unbindNode(this);\n },\n\n methods: {\n\n copy()\n {\n return this.NDraggable.drag.copyNode(this);\n },\n\n remove()\n {\n return this.NDraggable.drag.removeNode(this);\n },\n\n hasChildren()\n {\n return this.NDraggable.hasChildren(this);\n },\n\n isDisabled()\n {\n return this.NDraggable.isDisabled(this);\n },\n\n isHighlight()\n {\n return this.NDraggable.isHighlight(this);\n },\n\n isCurrent()\n {\n return this.NDraggable.isCurrent(this);\n },\n\n isDraggable()\n {\n return this.NDraggable.isDraggable(this);\n },\n\n isExpanded()\n {\n return this.NDraggable.isExpanded(this);\n },\n\n expandItem()\n {\n this.NDraggable.expandItem(this);\n },\n\n isSelected()\n {\n return this.NDraggable.isSelected(this);\n },\n\n selectItem()\n {\n this.NDraggable.selectItem(this);\n },\n\n onClick(event)\n {\n let isExpand = Dom.find(event.target)\n .closest('.n-draglist-item__expand');\n\n if ( isExpand ) {\n return;\n }\n\n this.NDraggable.setCurrent(this);\n\n if ( Arr.has(global.keyMods, 91) ) {\n this.NDraggable.selectItem(this);\n }\n\n this.NDraggable.$emit('row-click', this);\n },\n\n onDblclick()\n {\n this.NDraggable.setCurrent(this);\n\n this.NDraggable.$emit('row-dblclick', this);\n }\n\n },\n\n renderElement()\n {\n let classList = [\n 'n-draglist-item__element'\n ];\n\n if ( ! this.init ) {\n return (<div class={classList} />);\n }\n\n let props = {\n value: this.value,\n item: this.item,\n copy: this.copy,\n remove: this.remove,\n };\n\n let renderFunction = this.$slots.default;\n\n if ( this.NDraggable.renderNode ) {\n renderFunction = this.NDraggable.renderNode;\n }\n\n return (\n <div class={classList}>\n { renderFunction(props) }\n </div>\n );\n },\n\n renderSpacer()\n {\n let width = this.value.depth * \n this.NDraggable.itemOffset;\n\n if ( ! width ) {\n return null;\n }\n\n let style = {\n width: width + 'px'\n };\n\n return (\n <div class=\"n-draglist-item__spacer\" style={style}>\n { /* SPACER */ }\n </div>\n );\n },\n\n renderHandle()\n {\n if ( ! this.NDraggable.renderHandle ) {\n return null;\n }\n\n let props = {};\n\n if ( this.NDraggable.draggable && this.isDraggable() ) {\n props.draggable = true;\n }\n\n return (\n <div class=\"n-draglist-item__handle\" {...props}>\n <div class=\"n-draglist-item__ellipsis\">\n <i class={ nano.Icons.handle }></i>\n </div>\n </div>\n );\n },\n\n renderExpand()\n {\n if ( ! this.NDraggable.renderExpand ) {\n return null;\n }\n\n let props = {\n ['on' + Str.ucfirst(this.mousedown)]: this.expandItem\n };\n\n return (\n <div class=\"n-draglist-item__expand\" {...props}>\n <div class=\"n-draglist-item__angle\">\n <i class={ nano.Icons.angleRight }></i>\n </div>\n </div>\n );\n },\n\n renderSelect()\n {\n if ( ! this.NDraggable.renderSelect ) {\n return null;\n }\n\n let props = {\n ['on' + Str.ucfirst(this.mousedown)]: this.selectItem\n };\n\n return (\n <div class=\"n-draglist-item__select\" {...props}>\n <div class=\"n-draglist-item__checkbox\">\n <i class={ nano.Icons.checked }></i>\n </div>\n </div>\n );\n },\n\n render()\n {\n let classList = [\n 'n-draglist-item'\n ];\n\n if ( this.hasChildren() ) {\n classList.push('n-children');\n }\n\n if ( this.isDisabled() ) {\n classList.push('n-disabled');\n }\n\n if ( this.isSelected() ) {\n classList.push('n-selected');\n }\n\n if ( this.isExpanded() ) {\n classList.push('n-expanded');\n }\n\n if ( this.isCurrent() ) {\n classList.push('n-current');\n }\n\n if ( this.isHighlight() ) {\n classList.push('n-highlight');\n }\n\n let props = {\n onClick: this.onClick,\n onDblclick: this.onDblclick,\n };\n\n if ( this.NDraggable.draggable && ! this.NDraggable.handle && this.isDraggable() ) {\n props.draggable = true;\n }\n\n props['data-unique'] = this.value[this.NDraggable.uniqueProp];\n\n return (\n <div class={classList} {...props}>\n { this.ctor('renderHandle')() }\n { this.ctor('renderSpacer')() }\n { this.ctor('renderExpand')() }\n { this.ctor('renderSelect')() }\n { this.ctor('renderElement')() }\n </div>\n );\n }\n\n}\n","import { UUID, Num, Arr, Obj, Dom, Any, Event, Locale } from \"@kizmann/pico-js\";\nimport NDraghandler from \"../draghandler/draghandler\";\n\nglobal.DEBUG_NDLIST = false;\n\nexport default {\n\n name: 'NDraggrid',\n\n model: {\n prop: 'items'\n },\n\n props: {\n\n items: {\n default()\n {\n return [];\n }\n },\n\n renderNode: {\n default()\n {\n return null;\n }\n },\n\n draggable: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n current: {\n default()\n {\n return null;\n }\n },\n\n selected: {\n default()\n {\n return [];\n }\n },\n\n handle: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n group: {\n default()\n {\n return ['default'];\n },\n type: [Array]\n },\n\n allowGroups: {\n default()\n {\n return ['default'];\n },\n type: [Array]\n },\n\n safezone: {\n default()\n {\n return (height) => -1;\n }\n },\n\n lazyload: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n showEmptyIcon: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n itemHeight: {\n default()\n {\n return 200;\n },\n type: [Number]\n },\n\n itemWidth: {\n default()\n {\n return 150;\n },\n type: [Number]\n },\n\n threshold: {\n default()\n {\n return 1;\n },\n type: [Number]\n },\n\n useKeys: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n deathzone: {\n default()\n {\n return 0;\n },\n type: [Number]\n },\n\n overflowY: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n overflowX: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n offsetY: {\n default()\n {\n return 10;\n },\n type: [Number]\n },\n\n offsetX: {\n default()\n {\n return 10;\n },\n type: [Number]\n },\n\n scrollTopOnChange: {\n default()\n {\n return false;\n }\n },\n\n uniqueProp: {\n default()\n {\n return 'id';\n },\n type: [String]\n },\n\n childProp: {\n default()\n {\n return 'children';\n },\n type: [String]\n },\n\n renderCurrent: {\n default()\n {\n return true;\n }\n },\n\n renderHandle: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n renderSelect: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n transformDrop: {\n default()\n {\n return (node) => node;\n }\n },\n\n disableMove: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n insertNode: {\n default()\n {\n return true;\n }\n },\n\n removeNode: {\n default()\n {\n return true;\n }\n },\n\n allowSelect: {\n default()\n {\n return () => true;\n }\n },\n\n allowDrag: {\n default()\n {\n return () => true;\n }\n },\n\n allowDrop: {\n default()\n {\n return () => true;\n }\n },\n\n keyEvents: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n highlightTimeout: {\n default()\n {\n return 7000;\n },\n type: [Number]\n }\n\n },\n\n provide()\n {\n return {\n NDraggable: this\n };\n },\n\n data()\n {\n return {\n uid: UUID(),\n virtuals: [],\n visible: [],\n childNodes: {},\n highlight: [],\n firstSelected: null,\n tempCurrent: this.current,\n tempExpanded: this.expanded,\n tempSelected: this.selected\n };\n },\n\n beforeMount()\n {\n this.drag = new NDraghandler(this);\n },\n\n mounted()\n {\n let frame = this.$refs.virtualscroller.\n $refs.inner;\n\n this.drag.bindRoot(frame);\n\n this.$watch('tempSelected', this.watchSelected,\n { deep: true });\n\n this.refreshVirtuals();\n },\n\n beforeUnmount()\n {\n this.drag.unbindRoot();\n\n Dom.find(document).off('keydown', null, this.uid);\n },\n\n watch: {\n\n items()\n {\n if ( this.scrollTopOnChange ) {\n this.scrollTo();\n }\n\n this.refreshVirtuals();\n },\n\n virtuals()\n {\n this.filterVirtuals();\n },\n\n selected(value)\n {\n this.tempSelected = value;\n },\n\n current(value)\n {\n this.tempCurrent = value;\n }\n\n },\n\n methods: {\n\n watchSelected()\n {\n if ( ! this.tempSelected.length ) {\n return this.firstSelected = null;\n }\n\n this.firstSelected = Arr.find(this.virtuals, {\n [this.uniqueProp]: this.tempSelected[0]\n });\n },\n\n refreshVirtuals()\n {\n this.virtuals = this.drag.reduce(this.items);\n\n if ( global.DEBUG_NDLIST ) {\n console.log('Total virtual items mounted: ' + this.virtuals.length);\n }\n },\n\n filterVirtuals()\n {\n this.visible = Arr.filter(this.virtuals, (node) => {\n return node.depth === 0;\n });\n },\n\n getIndex(unique)\n {\n return Arr.findIndex(this.visible, {\n [this.uniqueProp]: unique\n });\n },\n\n getCurrentIndex()\n {\n if ( ! this.tempCurrent ) {\n return -1;\n }\n\n return Arr.findIndex(this.visible, {\n [this.uniqueProp]: this.tempCurrent[this.uniqueProp]\n });\n },\n\n scrollTo(x = 0, y = 0)\n {\n this.$refs.virtualscroller.scrollTo(x, y);\n },\n\n scrollToIndex(index)\n {\n this.$refs.virtualscroller.scrollIntoView(index);\n },\n\n isDraggable(node)\n {\n let canDrag = this.allowDrag;\n\n if ( ! Any.isFunction(canDrag) ) {\n canDrag = () => this.allowDrag;\n }\n\n return canDrag(node);\n },\n\n isHighlight(node)\n {\n return Arr.has(this.highlight, node.value[this.uniqueProp]);\n },\n\n highlightNode(value, key = null)\n {\n clearTimeout(this.refresh);\n\n // Clear highlight items\n this.highlight = [];\n\n Arr.recursive(this.items, this.childProp, (node, cascade) => {\n\n if ( Obj.get(node, key || this.uniqueProp) !== value ) {\n return;\n }\n\n Arr.each(cascade, (item) => {\n Arr.add(this.tempExpanded, item[this.uniqueProp]);\n });\n\n Arr.add(this.highlight, node[this.uniqueProp]);\n });\n\n if ( ! this.highlight.length ) {\n return;\n }\n\n this.$nextTick(this.scrollToHighlight);\n\n this.refresh = setTimeout(() =>\n this.highlight = [], this.highlightTimeout);\n\n this.filterVirtuals();\n },\n\n scrollToHighlight()\n {\n if ( ! this.highlight.length ) {\n return;\n }\n\n let index = Arr.findIndex(this.visible, {\n [this.uniqueProp]: Arr.first(this.highlight)\n });\n\n this.$refs.virtualscroller.scrollIntoView(index);\n },\n\n isCurrent(node)\n {\n return this.renderCurrent && this.tempCurrent &&\n node.value[this.uniqueProp] === this.tempCurrent[this.uniqueProp] ;\n },\n\n setCurrent(node)\n {\n let isSameNode = this.tempCurrent &&\n this.tempCurrent[this.uniqueProp] === node.value[this.uniqueProp];\n\n if ( isSameNode ) {\n return;\n }\n\n this.$emit('update:current',\n this.tempCurrent = node.item);\n\n Event.fire('NDraggrid:syncCurrent', node.item, this.uid);\n },\n\n setRawCurrent(index)\n {\n let route = Obj.get(this.visible,\n [index, 'route']);\n\n if ( ! route ) {\n return this.setRawCurrent(0);\n }\n\n let item = Obj.get(this, route);\n\n this.$refs.virtualscroller\n .scrollIntoView(index);\n\n this.$emit('update:current',\n this.tempCurrent = item);\n\n Event.fire('NDraggrid:syncCurrent', item, this.uid);\n },\n\n setNextCurrent()\n {\n if ( ! this.visible.length ) {\n return;\n }\n\n let reset = 0;\n\n if ( ! this.tempCurrent ) {\n return this.setRawCurrent(reset);\n }\n\n let index = Arr.findIndex(this.visible, {\n [this.uniqueProp]: this.tempCurrent[this.uniqueProp]\n });\n\n if ( index !== -1 ) {\n index++;\n }\n\n if ( index >= this.visible.length ) {\n index = reset;\n }\n\n this.setRawCurrent(index);\n },\n\n setPrevCurrent()\n {\n if ( ! this.visible.length ) {\n return;\n }\n\n let reset = this.visible.length - 1;\n\n if ( ! this.tempCurrent ) {\n return this.setRawCurrent(reset);\n }\n\n let index = Arr.findIndex(this.visible, {\n [this.uniqueProp]: this.tempCurrent[this.uniqueProp]\n });\n\n if ( index !== -1 ) {\n index--;\n }\n\n if ( index < 0 ) {\n index = reset;\n }\n\n this.setRawCurrent(index);\n },\n\n syncCurrent()\n {\n return ['NDraggrid:syncCurrent', this.uid];\n },\n\n isDisabled(node)\n {\n let canSelect = this.allowSelect;\n\n if ( ! Any.isFunction(canSelect) ) {\n canSelect = () => this.allowSelect;\n }\n\n return ! canSelect(node) || (this.firstSelected &&\n node.value.depth !== this.firstSelected.depth);\n },\n\n isSelected(node)\n {\n return Arr.has(this.tempSelected, node.value[this.uniqueProp]);\n },\n\n isTotalSelected()\n {\n let visible = Arr.filter(this.visible, (item) => {\n return ! item.depth;\n });\n\n return visible.length === this.tempSelected;\n },\n\n isInterSelected()\n {\n let visible = Arr.filter(this.visible, (item) => {\n return ! item.depth;\n });\n\n return visible.length !== this.tempSelected &&\n this.tempSelected;\n },\n\n selectItem(node)\n {\n if ( this.isDisabled(node) ) {\n return;\n }\n\n Arr.toggle(this.tempSelected, node.value[this.uniqueProp]);\n\n this.$emit('update:selected', this.tempSelected);\n },\n\n selectAll()\n {\n let visible = Arr.filter(this.visible, (item) => {\n return ! item.depth;\n });\n\n let indexies = Arr.each(visible, (item) => {\n return item[this.uniqueProp];\n });\n\n if ( indexies.length === this.tempSelected.length ) {\n return this.$emit('update:selected', this.tempSelected = []);\n }\n\n this.$emit('update:selected', this.tempSelected = indexies);\n },\n\n unselectAll()\n {\n if ( this.tempSelected.length ) {\n this.$emit('update:selected', this.tempSelected = []);\n }\n },\n\n bindKeydown()\n {\n if ( ! this.keyEvents ) {\n return;\n }\n\n Dom.find(document).on('keydown',\n this.onKeydown, this.uid)\n },\n\n unbindKeydown()\n {\n if ( ! this.keyEvents ) {\n return;\n }\n\n Dom.find(document).off('keydown',\n null, this.uid)\n },\n\n onKeydown(event, el)\n {\n if ( Dom.find(el).closest('input') ) {\n return;\n }\n\n if ( event.which === 38 ) {\n event.preventDefault();\n event.stopPropagation();\n // this.setPrevCurrent();\n }\n\n if ( event.which === 40 ) {\n event.preventDefault();\n event.stopPropagation();\n // this.setNextCurrent();\n }\n }\n\n },\n\n renderEmpty()\n {\n return (\n <NEmptyIcon disabled={! this.showEmptyIcon} class=\"n-draggrid__empty\">\n { this.$slots.empty && this.$slots.empty() || this.trans('No entries') }\n </NEmptyIcon>\n );\n },\n\n renderItem(props)\n {\n return (\n <NDraggridItem {...Obj.except(props, ['index'])}>\n { { default: this.$slots.default } }\n </NDraggridItem>\n );\n },\n\n render()\n {\n let classList = [\n 'n-draggrid',\n 'n-draggrid--' + this.size,\n 'n-draggrid--' + this.type\n ];\n\n if ( ! this.items.length ) {\n classList.push('n-empty');\n }\n\n let passed = [\n 'threshold', 'deathzone', 'itemHeight', 'itemWidth',\n 'overflowX', 'overflowY', 'offsetX', 'offsetY', 'useKeys'\n ];\n\n let props = Obj.only(this.$props, passed, {\n items: this.visible,\n onMouseenter: this.bindKeydown,\n onMouseleave: this.unbindKeydown\n });\n\n return (\n <NVirtualscroller ref=\"virtualscroller\" class={classList} {...props}>\n { { default: this.ctor('renderItem'), empty: this.ctor('renderEmpty') } }\n </NVirtualscroller>\n );\n }\n\n}\n","import { Str, Arr, Obj } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NDraggridItem',\n\n inject: {\n\n NDraggable: {\n default: undefined\n }\n\n },\n\n provide()\n {\n return {\n NDraggableItem: this\n };\n },\n\n props: {\n\n value: {\n required: true\n }\n\n },\n\n computed: {\n\n uid()\n {\n return Obj.get(this.value, this.NDraggable.uniqueProp);\n },\n\n item()\n {\n return Obj.get(this.NDraggable, this.value.route);\n },\n\n touch() {\n return !! ('ontouchstart' in window ||\n navigator.msMaxTouchPoints);\n },\n\n mousedown() {\n return this.touch ? 'touchstart' :\n 'mousedown';\n },\n\n mousemove() {\n return this.touch ? 'touchmove' :\n 'mousemove';\n },\n\n mouseup() {\n return this.touch ? 'touchend' :\n 'mouseup';\n }\n\n },\n\n data()\n {\n return {\n init: ! this.NDraggable.lazyload\n };\n },\n\n mounted()\n {\n this.timer = setTimeout(() => {\n\n if ( this.NDraggable.draggable ) {\n this.timer = setTimeout(() => {\n this.NDraggable.drag.bindNode(this);\n }, 50);\n }\n\n this.init = true;\n }, 40);\n },\n\n beforeUnmount()\n {\n if ( ! this.init ) {\n clearTimeout(this.timer);\n }\n\n this.NDraggable.drag.unbindNode(this);\n },\n\n methods: {\n\n copy()\n {\n return this.NDraggable.drag.copyNode(this);\n },\n\n remove()\n {\n return this.NDraggable.drag.removeNode(this);\n },\n\n isDisabled()\n {\n return this.NDraggable.isDisabled(this);\n },\n\n isHighlight()\n {\n return this.NDraggable.isHighlight(this);\n },\n\n isCurrent()\n {\n return this.NDraggable.isCurrent(this);\n },\n\n isDraggable()\n {\n return this.NDraggable.isDraggable(this);\n },\n\n isSelected()\n {\n return this.NDraggable.isSelected(this);\n },\n\n selectItem()\n {\n this.NDraggable.selectItem(this);\n },\n\n onClick()\n {\n this.NDraggable.setCurrent(this);\n\n if ( Arr.has(global.keyMods, 91) ) {\n this.NDraggable.selectItem(this);\n }\n\n this.NDraggable.$emit('row-click', this);\n },\n\n onDblclick()\n {\n this.NDraggable.setCurrent(this);\n\n this.NDraggable.$emit('row-dblclick', this);\n }\n\n },\n\n renderElement()\n {\n let classList = [\n 'n-draglist-item__element'\n ];\n\n if ( ! this.init ) {\n return (<div class={classList} />);\n }\n\n let props = {\n value: this.value,\n item: this.item,\n copy: this.copy,\n remove: this.remove,\n };\n\n let renderFunction = this.$slots.default;\n\n if ( this.NDraggable.renderNode ) {\n renderFunction = this.NDraggable.renderNode;\n }\n\n return (\n <div class={classList}>\n {renderFunction(props)}\n </div>\n );\n },\n\n renderHandle()\n {\n if ( ! this.NDraggable.renderHandle ) {\n return null;\n }\n\n let props = {};\n\n if ( this.NDraggable.draggable && this.isDraggable() ) {\n props.draggable = true;\n }\n\n return (\n <div class=\"n-draggrid-item__handle\" {...props}>\n <div class=\"n-draggrid-item__ellipsis\">\n <i class={ nano.Icons.handle }></i>\n </div>\n </div>\n );\n },\n\n renderSelect()\n {\n if ( ! this.NDraggable.renderSelect ) {\n return null;\n }\n\n let props = {\n ['on' + Str.ucfirst(this.mousedown)]: this.selectItem\n };\n\n return (\n <div class=\"n-draggrid-item__select\" {...props}>\n <div class=\"n-draggrid-item__checkbox\">\n <i class={ nano.Icons.checked }></i>\n </div>\n </div>\n );\n },\n\n render()\n {\n let classList = [\n 'n-draggrid-item'\n ];\n\n if ( this.isDisabled() ) {\n classList.push('n-disabled');\n }\n\n if ( this.isSelected() ) {\n classList.push('n-selected');\n }\n\n if ( this.isCurrent() ) {\n classList.push('n-current');\n }\n\n if ( this.isHighlight() ) {\n classList.push('n-highlight');\n }\n\n let props = {\n onClick: this.onClick,\n onDblclick: this.onDblclick,\n };\n\n if ( this.NDraggable.draggable && ! this.NDraggable.handle && this.isDraggable() ) {\n props.draggable = true;\n }\n\n props['data-unique'] = this.value[this.NDraggable.uniqueProp];\n\n return (\n <div class={classList} {...props}>\n { this.ctor('renderHandle')() }\n { this.ctor('renderSelect')() }\n { this.ctor('renderElement')() }\n </div>\n );\n }\n\n}\n","import { UUID, Num, Arr, Obj, Dom, Any, Event, Locale } from \"@kizmann/pico-js\";\nimport NDraghandler from \"../draghandler/draghandler\";\n\nglobal.DEBUG_NDLIST = false;\n\nexport default {\n\n name: 'NDropzone',\n\n model: {\n prop: 'item'\n },\n\n props: {\n\n item: {\n default()\n {\n return null;\n }\n },\n\n renderNode: {\n default()\n {\n return null;\n }\n },\n\n draggable: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n group: {\n default()\n {\n return ['default'];\n },\n type: [Array]\n },\n\n allowGroups: {\n default()\n {\n return ['default'];\n },\n type: [Array]\n },\n\n showEmptyIcon: {\n default()\n {\n return true;\n },\n type: [Boolean]\n },\n\n uniqueProp: {\n default()\n {\n return 'id';\n },\n type: [String]\n },\n\n transformDrop: {\n default()\n {\n return (node) => node;\n }\n },\n\n disableMove: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n insertNode: {\n default()\n {\n return true;\n }\n },\n\n removeNode: {\n default()\n {\n return true;\n }\n },\n\n allowDrop: {\n default()\n {\n return () => true;\n }\n },\n\n },\n\n provide()\n {\n return {\n NDropzone: this\n };\n },\n\n data()\n {\n return {\n uid: UUID(),\n };\n },\n\n beforeMount()\n {\n this.drag = new NDraghandler(this);\n },\n\n mounted()\n {\n this.drag.bindRoot(this.$el);\n },\n\n beforeUnmount()\n {\n this.drag.unbindRoot();\n },\n\n renderItem()\n {\n if ( Any.isEmpty(this.item) ) {\n return null;\n }\n\n return this.$slots.default && this.$slots.default(this.item)\n },\n\n renderEmpty()\n {\n if ( ! Any.isEmpty(this.item) ) {\n return null;\n }\n\n return (\n <NEmptyIcon disabled={! this.showEmptyIcon} class=\"n-dropzone__empty\">\n { this.$slots.empty && this.$slots.empty() || this.trans('No entry') }\n </NEmptyIcon>\n );\n },\n\n render()\n {\n let classList = [\n 'n-dropzone',\n 'n-dropzone--' + this.size,\n 'n-dropzone--' + this.type\n ];\n\n if ( Any.isEmpty(this.item) ) {\n classList.push('n-empty');\n }\n\n return (\n <div class={classList}>\n {[this.ctor('renderItem')(), this.ctor('renderEmpty')()]}\n </div>\n );\n }\n\n}\n","import Draglist from './src/draglist/draglist';\nimport DraglistItem from './src/draglist-item/draglist-item';\nimport Draggrid from './src/draggrid/draggrid';\nimport DraggridItem from './src/draggrid-item/draggrid-item';\nimport Dropzone from './src/dropzone/dropzone';\n\nexport default function (App) {\n App.component(Draglist.name, Draglist);\n App.component(DraglistItem.name, DraglistItem);\n App.component(Draggrid.name, Draggrid);\n App.component(DraggridItem.name, DraggridItem);\n App.component(Dropzone.name, Dropzone);\n}","import { h } from \"vue\";\nimport { Obj } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NInput',\n\n inject: {\n\n NForm: {\n default: undefined\n },\n\n NFormItem: {\n default: undefined\n }\n\n },\n\n inheritAttrs: false,\n\n props: {\n\n modelValue: {\n default()\n {\n return null;\n }\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n icon: {\n default()\n {\n return '';\n },\n type: [String]\n },\n\n iconPosition: {\n default()\n {\n return 'after';\n },\n type: [String]\n },\n\n iconDisabled: {\n default()\n {\n return null;\n },\n type: [Boolean]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n nativeType: {\n default()\n {\n return 'text';\n },\n type: [String]\n },\n\n disabled: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n placeholder: {\n default()\n {\n return '';\n },\n type: [String]\n }\n\n },\n\n computed: {\n\n deepDisabled() {\n return this.NFormItem ? this.NFormItem.disabled(this.disabled) :\n this.disabled;\n }\n\n },\n\n data()\n {\n return {\n focus: false, tempValue: this.modelValue || ''\n };\n },\n\n watch: {\n\n modelValue(value)\n {\n if ( value !== this.tempValue ) {\n this.tempValue = value;\n }\n }\n\n },\n\n methods: {\n\n onIconClick(event)\n {\n if ( event.clientX || event.clientY ) {\n this.$emit('icon-click', event);\n }\n },\n\n onInput(event)\n {\n this.$emit('update:modelValue',\n this.tempValue = event.target.value);\n },\n\n onKeydown(event)\n {\n this.$emit('keydown', event);\n\n if ( event.which !== 13 ) {\n return;\n }\n\n event.preventDefault();\n\n if ( ! this.NForm ) {\n return;\n }\n\n this.NForm.onSubmit(event);\n },\n\n onFocus(event)\n {\n this.focus = true;\n this.$emit('focus', event);\n },\n\n onBlur(event)\n {\n this.focus = false;\n this.$emit('blur', event);\n }\n\n },\n\n renderIcon()\n {\n if ( !this.icon ) {\n return null;\n }\n\n let disabled = this.deepDisabled;\n\n if ( this.iconDisabled !== null ) {\n disabled = this.iconDisabled;\n }\n\n let props = {\n type: 'input',\n icon: this.icon,\n size: this.size,\n square: true,\n disabled: disabled,\n };\n\n if ( !disabled ) {\n props.onClick = this.onIconClick;\n }\n\n return (<NButton {...props} />);\n },\n\n renderInput()\n {\n let props = Obj.except(this.$attrs, [\n 'class', 'style'\n ]);\n\n Obj.assign(props, {\n value: this.tempValue,\n type: this.nativeType,\n disabled: this.deepDisabled,\n placeholder: this.placeholder,\n onInput: this.onInput,\n onFocus: this.onFocus,\n onBlur: this.onBlur,\n onKeydown: this.onKeydown\n });\n\n return h('input', props);\n },\n\n render()\n {\n let classList = [\n 'n-input',\n 'n-input--' + this.size,\n 'n-input--' + this.type,\n ];\n\n if ( this.icon ) {\n classList.push('n-input--icon');\n classList.push('n-input--icon-' + this.iconPosition);\n }\n\n if ( this.deepDisabled ) {\n classList.push('n-disabled');\n }\n\n if ( this.focus ) {\n classList.push('n-focus');\n }\n\n let props = Obj.only(this.$attrs, ['style'], {\n class: this.cmer(classList)\n });\n\n let innerHtml = [];\n\n if ( this.iconPosition === 'before' ) {\n innerHtml.push(this.ctor('renderIcon')());\n }\n\n innerHtml.push(this.ctor('renderInput')());\n\n if ( this.iconPosition === 'after' ) {\n innerHtml.push(this.ctor('renderIcon')());\n }\n\n return h('div', props, innerHtml);\n }\n\n}\n","import Input from './src/input/input';\n\nexport default function (App) {\n App.component(Input.name, Input);\n}\n","import { UUID, Num, Obj, Any, Dom, Locale } from \"@kizmann/pico-js\";\n\nexport default {\n\n name: 'NLoader',\n\n inject: {\n\n NLoader: {\n default: undefined\n }\n\n },\n\n provide()\n {\n return {\n NLoader: this\n };\n },\n\n props: {\n\n visible: {\n default()\n {\n return false;\n },\n type: [Boolean]\n },\n\n size: {\n default()\n {\n return 'md';\n },\n type: [String]\n },\n\n type: {\n default()\n {\n return 'primary';\n },\n type: [String]\n },\n\n minimum: {\n default()\n {\n return 120;\n },\n type: [Number]\n },\n\n debounce: {\n default()\n {\n return 120;\n },\n type: [Number]\n }\n\n },\n\n data()\n {\n return {\n tempVisible: this.visible\n };\n },\n\n methods: {\n\n applyTimer()\n {\n this.timing = Date.now();\n\n if ( this.visible) {\n return this.tempVisible = this.visible;\n }\n\n this.startTimer();\n },\n\n startTimer()\n {\n let timing = Date.now() - this.timing;\n\n if ( timing < this.minimum ) {\n return this.restartTimer(timing);\n }\n\n this.timeout = setTimeout(() => this.tempVisible = false, \n this.debounce);\n },\n\n restartTimer(timing = 0) {\n Any.delay(this.startTimer, this.minimum - timing + 10);\n }\n\n },\n\n watch: {\n\n visible()\n {\n this.applyTimer();\n }\n\n },\n\n mounted()\n {\n this.applyTimer();\n },\n\n render()\n {\n let classList = [\n 'n-loader', \n 'n-loader--' + this.size, \n 'n-loader--' + this.type\n ];\n\n if ( this.tempVisible ) {\n classList.push('n-load');\n }\n\n return (\n <div class={classList}>\n { this.$slots.default && this.$slots.default() }\n </div>\n );\n }\n}\n","import Loader from './src/loader/loader';\n\nexport default function (App) {\n App.component(Loader.name, Loader);\n}\n","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NEmpty'] = Locale.trans('NEmpty');\n\nglobal.NanoBuilderIndexies['NEmpty'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NEmpty']['props'] = {\n //\n};","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NDurationpicker'] = Locale.trans('NDurationpicker');\n\nglobal.NanoBuilderIndexies['NDurationpicker'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NDurationpicker']['props'] = {\n //\n};","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NTransfer'] = Locale.trans('NTransfer');\n\nglobal.NanoBuilderIndexies['NTransfer'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NTransfer']['props'] = {\n //\n};","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NButtonGroup'] = Locale.trans('n-button-group');\n\nglobal.NanoBuilderIndexies['NButtonGroup'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NButtonGroup']['props'] = {\n //\n};","import { Locale } from \"@kizmann/pico-js\";\n\nglobal.NanoBuilderTypes['NModal'] = Locale.trans('NModal');\n\nglobal.NanoBuilderIndexies['NModal'] = {\n childs: false, props: {}\n};\n\nglobal.NanoBuilderIndexies['NModal']['props'] = {\n //\n};","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { Arr, Obj, Any } from \"@kizmann/pico-js\";\n\nexport default {\n\n cmer(classList)\n {\n let attrsList = {};\n\n if ( Any.isString(classList) ) {\n attrsList[classList] = true;\n }\n\n if ( Any.isArray(classList) ) {\n Arr.each(classList, (value) => attrsList[value] = true);\n }\n\n if ( Any.isPlain(classList) ) {\n Obj.assign(attrsList, classList);\n }\n\n if ( Any.isString(this.$attrs.class) ) {\n attrsList[this.$attrs.class] = true;\n }\n\n if ( Any.isArray(this.$attrs.class) ) {\n Arr.each(this.$attrs.class, (value) => attrsList[value] = true);\n }\n\n if ( Any.isPlain(this.$attrs.class) ) {\n Obj.assign(attrsList, this.$attrs.class);\n }\n\n return attrsList;\n }\n\n}\n","import { Arr, Obj, Any } from \"@kizmann/pico-js\";\nimport { Comment } from 'vue';\n\nexport default {\n\n cslo(slot = 'default', props = {})\n {\n if ( ! this.$slots[slot] ) {\n return false;\n }\n\n return this.$slots[slot](props).findIndex((o) => {\n return o.type !== Comment;\n }) !== -1;\n }\n\n}\n","import { Arr, Obj, Dom, Locale } from \"@kizmann/pico-js\";\n\nimport CtorMixin from \"./mixins/src/ctor\";\nimport CmerMixin from \"./mixins/src/cmer\";\nimport CsloMixin from \"./mixins/src/cslo\";\n\nexport const Icons = {\n handle: 'fa fa-ellipsis-v',\n checked: 'fa fa-check',\n circle: 'fa fa-circle',\n intermediate: 'fa fa-minus',\n clock: 'fa fa-clock',\n calendar: 'fa fa-calendar',\n times: 'fa fa-times',\n primary: 'fa fa-info-circle',\n success: 'fa fa-check-circle',\n warning: 'fa fa-exclamation-circle',\n danger: 'fa fa-times-circle',\n info: 'fa fa-info-circle',\n angleUp: 'fa fa-angle-up',\n angleRight: 'fa fa-angle-right',\n angleDown: 'fa fa-angle-down',\n angleLeft: 'fa fa-angle-left',\n angleDoubleLeft: 'fa fa-angle-double-left',\n angleDoubleRight: 'fa fa-angle-double-right'\n};\n\nexport const Settings = {\n iconPosition: 'before',\n notifySize: 'md',\n notifyPosition: 'bottom-start'\n};\n\nexport function Install(App, Icons = {}, Styles = {})\n{\n /**\n * @const global.pi\n */\n\n if ( typeof global.pi === 'undefined' ) {\n return console.error('pico-js is not available.');\n }\n\n Obj.each(global.pi, (value, key) => {\n App.config.globalProperties[key] = value;\n });\n\n App.config.globalProperties.ctor = CtorMixin.ctor;\n App.config.globalProperties.cmer = CmerMixin.cmer;\n App.config.globalProperties.cslo = CsloMixin.cslo;\n\n App.config.globalProperties.trans = Locale.trans;\n App.config.globalProperties.choice = Locale.choice;\n\n global.nano.Icons = Obj.assign(Icons, global.nano.Icons);\n global.nano.Settings = Obj.assign(Settings, global.nano.Settings);\n\n require('./alert/index').default(App);\n require('./notification/index').default(App);\n require('./empty/index').default(App);\n require('./config/index').default(App); //!complex 17.1\n require('./scrollbar/index').default(App);\n require('./virtualscroller/index').default(App);\n require('./draggable/index').default(App);\n require('./loader/index').default(App);\n require('./resizer/index').default(App);\n require('./popover/index').default(App);\n require('./modal/index').default(App);\n require('./button/index').default(App);\n require('./input/index').default(App);\n require('./input-number/index').default(App);\n require('./textarea/index').default(App);\n require('./select/index').default(App);\n require('./checkbox/index').default(App);\n require('./radio/index').default(App);\n require('./slider/index').default(App);\n require('./switch/index').default(App);\n require('./confirm/index').default(App);\n require('./cascader/index').default(App);\n require('./datepicker/index').default(App);\n require('./timepicker/index').default(App);\n require('./datetimepicker/index').default(App);\n require('./durationpicker/index').default(App);\n require('./transfer/index').default(App);\n require('./form/index').default(App); // check\n require('./tabs/index').default(App);\n require('./tags/index').default(App);\n require('./collapse/index').default(App);\n require('./table/index').default(App); // 18.1 options\n require('./paginator/index').default(App);\n require('./info/index').default(App); //!complex 16.1\n require('./preview/index').default(App);\n require('./map/index').default(App);\n require('./file/index').default(App);\n require('./rating/index').default(App);\n require('./drawer/index').default(App);\n\n // require('./chart/index'); // Ignore\n // require('./wysiwyg/index'); // Ignore\n}\n\nexport const Nano = {\n Icons: Icons, Settings: Settings, Install: Install\n};\n\nglobal.keyMods = [];\n\nDom.find(document).on('keydown', (event) => {\n Arr.add(global.keyMods, event.which);\n});\n\nDom.find(document).on('keyup', (event) => {\n Arr.remove(global.keyMods, event.which);\n});\n\nDom.find(document).on('dragstart', (event) => {\n Arr.add(global.keyMods, event.which);\n});\n\nDom.find(document).on('dragend', (event) => {\n global.keyMods = [];\n});\n\nif ( typeof global.nano === 'undefined' ) {\n global.nano = Nano;\n}\n\nexport default Nano;\n"],"names":["root","factory","exports","module","require","define","amd","self","__WEBPACK_EXTERNAL_MODULE__6055__","__WEBPACK_EXTERNAL_MODULE__2122__","name","inject","NFormItem","default","undefined","props","modelValue","clearValue","minDate","maxDate","size","type","String","placeholder","Locale","trans","monthPanels","Number","boundary","position","disabled","Boolean","clearable","format","displayFormat","weekdays","Array","months","computed","deepDisabled","this","watch","value","tempValue","Now","make","data","focus","methods","clearDatetimepicker","$emit","onPopoverInput","onValueInput","event","length","target","moment","isValid","set","year","month","date","hour","minute","second","onDatepickerInput","onTimepickerInput","renderLabelClear","isEmpty","initialDate","onMousedown","_createVNode","_mergeProps","nano","Icons","times","renderLabelAngle","angleDown","renderSingle","onInput","valid","renderDisplay","ctor","renderPanels","renderDatePanel","Obj","only","$props","assign","_resolveComponent","renderTimePanel","renderPopover","_this","trigger","width","scrollClose","slots","raw","$event","render","classList","push","App","component","Datetimepicker","options","sourceLabel","targetLabel","labelProp","uniqueProp","sourceChecked","selectedSource","tempSource","sourceIntermediate","targetChecked","selectedTarget","tempTarget","targetIntermediate","source","Arr","filter","item","find","_defineProperty","Any","sourceSearch","clone","searchPattern","RegExp","match","_this2","targetSearch","uid","UUID","moveItemsTarget","_this3","each","add","moveItemsSource","_this4","remove","moveRowTarget","node","moveRowSource","moveToSource","_this5","moveToTarget","_this6","updateSelectedSource","selected","updateSelectedTarget","renderSourceSelect","_this7","intermediate","$refs","selectAll","renderSourceTitle","labelHtml","counterHtml","renderSourceHeader","renderSourceSearch","_this8","icon","iconDisabled","renderSourceBody","group","allowGroups","items","renderSelect","safezone","disableMove","renderNode","onMove","renderTargetSelect","_this9","renderTargetTitle","renderTargetHeader","renderTargetSearch","_this0","renderTargetBody","$slots","get","renderMoveSource","square","angleRight","onClick","renderMoveTarget","angleLeft","$render","Transfer","provide","NScrollbar","Object","relative","fixture","allowNative","overflowY","overflowX","offsetY","offsetX","framerate","wrapClass","touch","window","navigator","msMaxTouchPoints","mousedown","mousemove","mouseup","native","beforeMount","adaptScrollBehavior","mounted","bindAdaptHeight","bindAdaptWidth","passive","_","Event","bind","onResize","onUpdate","Dom","on","content","onScroll","updated","passedHeight","passedWidth","$el","addClass","beforeUnmount","unbindAdaptHeight","unbindAdaptWidth","unbind","off","scrollTo","x","arguments","y","delay","onScrollTo","scrollTop","scrollLeft","scrollIntoView","selector","onScrollIntoView","outerHeight","clientHeight","offsetTop","height","outerWidth","clientWidth","offsetLeft","$dom","appendTo","document","body","offsetWidth","offsetHeight","adaptScrollHeight","innerHeight","scrollHeight","virtualHeight","childs","el","barHeight","Math","max","maxHeight","ceil","heightRatio","vbar","css","hasVtrack","removeClass","adaptScrollPosition","adaptScrollWidth","innerWidth","scrollWidth","virtualWidth","barWidth","maxWidth","widthRatio","hbar","hasHtrack","scroll","top","left","vbarTop","transform","concat","hbarLeft","adaptHeight","cacheChildEl","child","cacheWindwoEl","windowCache","style","onSizechange","spacer","refreshHeight","setInterval","clearInterval","adaptWidth","resizeTimer","refreshWidth","$nextTick","clearTimeout","setTimeout","fire","$inner","actual","getTouchEvent","touches","changedTouches","onVbarMousedown","has","which","stopPropagation","onVbarMousemove","onVbarMouseup","clientY","offset","onHbarMousedown","onHbarMousemove","onHbarMouseup","clientX","WIN","vbarProps","Str","ucfirst","hbarProps","except","$attrs","Scrollbar","onValue","offValue","onType","offType","eventClick","renderSwitch","renderLabel","Switch","model","prop","syncEvent","showEmptyIcon","elements","bindSyncEvent","unbindSyncEvent","scrollbar","isFunction","setValue","addColumn","column","removeColumn","NInfo","renderEmpty","empty","renderBody","vals","_slot","s","infoHtml","prototype","toString","call","_isVNode","label","previewProp","Function","optionsValue","optionsLabel","emptyText","trueText","falseText","datetimeFormat","passed","resolveComponent","h","required","input","extends","InfoField","cslo","convertString","convertBoolean","convertDatetime","renderOption","index","$value","$index","option","undefinedText","isObject","preview","fit","Info","InfoColumn","InfoFieldString","InfoFieldBoolean","InfoFieldDatetime","InfoFieldOption","InfoFieldImage","global","NanoBuilderTypes","NanoBuilderIndexies","lat","lng","zoom","NMap","init","callbacks","tempMap","focusMarkers","Map","callback","getMap","onMount","drag","id","tempMarker","importMarkerPosition","marker","setPosition","updateMarkerPosition","getPosition","initializeMarker","Num","draggable","html","innerHTML","createMarker","addListener","debounce","setMarkerByAddress","address","then","Notify","MapMarker","key","fallback","$options","split","_len","args","_key","apply","for","NanoPrototypeSizes","NanoPrototypeTypes","NanoPrototypeBools","nativeType","iconPosition","iconClick","inline","EmptyIcon","minWidth","resizerWidth","sizeFixed","updateWidth","bindSizechange","forceWidth","unmounted","unbindSizechange","flex","updateHandle","handle","onLeftMousedown","preventDefault","onLeftMouseup","onLeftMousemove","scrollX","targetWidth","min","round","frameStyle","onRightMousedown","onRightMouseup","onRightMousemove","renderHandle","Resizer","AlertFrame","_createClass","text","_classCallCheck","iconPrimary","info","iconSecondary","iconSuccess","success","iconWarning","warning","iconDanger","danger","iconInfo","Alert","join","backdrop","onclick","frame","getIcon","alert","_construct","append","config","globalProperties","alias","Settings","notifySize","_isSlot","hover","valueProp","childProp","disabledProp","tempHover","clearCascader","onHover","cascade","hoverItem","onSelect","selectItem","clickTimer","lastclick","hoverTimer","fireSelectItem","clickClose","last","checked","tempCascade","merge","onMousemove","children","renderOptions","_slot2","renderCascade","renderList","current","onCascaderInput","onCascaderHover","renderLabelItems","itemLabel","renderItems","CascaderPanel","Cascader","NTags","tags","addTag","tab","$forceUpdate","removeTag","color","renderIcon","Tags","TagsItem","link","class","innerHtml","Button","ButtonGroup","minDuration","maxDuration","negativeText","days","hours","minutes","seconds","editValue","findPattern","pattern","replaceAll","humanizeValue","floor","choice","digitizeValue","dmatch","replace","hmatch","mmatch","smatch","clearDurationpicker","e","onValueChange","onDurationpickerInput","renderInput","onBlur","onChange","optionProps","scrollProps","Durationpicker","inheritAttrs","MAX_VALUE","stepSize","precision","decimals","getValue","clear","isNull","getDisplayValue","count","nextStep","isNaN","toFixed","onNextDown","nextTimeout","nextInterval","onNextUp","prevStep","onPrevDown","prevTimeout","prevInterval","onPrevUp","onKeydown","onFocus","regex","renderPrev","renderNext","renderClear","InputNumber","multiple","clearableIcon","buttonText","openContext","click","updateFile","_toConsumableArray","files","clearFile","renderButton","renderHidden","File","NCollapse","addTab","removeTab","showTab","hideTab","toggleTab","toggle","NCollapseItem","sort","preload","keep","dragger","renderHeaderIcon","renderHeaderLabel","renderHeaderAngle","angle","renderHeader","showDelay","order","display","element","Collapse","CollapseItem","listen","update","title","closable","renderClose","startRefreshTimeout","NDrawer","previous","eventKeydown","openModal","force","closeDrawer","stopRefreshTimeout","refresh","zIndex","attr","queueRefreshTimeout","result","closest","indexes","modal","header","renderFooter","footer","bodyHtml","renderFrame","renderBackdrop","Modal","NCheckboxGroup","allowUncheck","tempComputed","globalChecked","tempChecked","tempIntermediate","globalIntermediate","tempDisabled","globalDisabled","isChecked","$watch","addCheckbox","removeCheckbox","check","checkCheckbox","uncheck","uncheckCheckbox","eventShiftClick","shiftCheckbox","eventLocalClick","shiftKey","toggleCheckbox","eventGlobalClick","toggleAll","updateFromGroup","renderCheckbox","interHtml","checkHtml","align","checkbox","emit","findIndex","checkboxes","slice","uncheckAll","checkAll","Checkbox","CheckboxGroup","scope","solveAwait","isString","$$scope","$$value","solveValue","solveEvent","$configRefs","_len2","_key2","solveContent","_len3","_key3","prepareValue","veModel","path","deepSet","inputClosure","closure","obj","keys","val","shift","renderLayer","isPlain","setup","vIf","vShow","vAwait","$on","map","resolved","extraValue","sempValue","getString","final","propAwait","isArray","state","getState","propExists","exists","solveInput","sources","$scope","$model","$extra","$global","toPropKey","splits","lcfirst","toEventKey","cb","solveContext","console","error","getProp","getInput","setInput","renderSetup","defaultsBind","binds","events","updateKey","NanoBuilderPropType","NanoBuilderPropCode","NanoBuilderProps","renderDemo","renderExport","demo","collapse","safevar","normalizeModel","exportJson","JSON","stringify","matches","exportExecutable","normalizeChild","applyProps","_objectSpread","builder","buildProps","first","_typeof","getOriginalValue","safevalue","btoa","getSafeValue","string","getRealValue","realvalue","code","number","parse","atob","original","changeElement","newKey","unset","k","changeAlias","changeType","bindValue","sey","addProp","removeProp","collapseElement","addElement","removeElement","moveupElement","_ref","close","MIN_VALUE","sub","replacement","movedownElement","_ref2","renderTools","rootProps","collapseProps","href","addProps","removeProps","moveupProps","movedownProps","renderProp","$data","typeProps","keyProps","allowCreate","codeProps","valueInputProps","valueHtml","fallbackProps","minRows","autoRows","_createTextVNode","renderProps","elementProps","aliasProps","plainProps","renderElement","builderHtml","renderBuilder","v","renderHead","_slot3","addHtml","demoProps","demoHtml","renderOutput","_slot4","_this1","renderFunction","_ref3","configProps","expanded","modelTree","buildTree","scopeTree","ref","submitItem","expandItem","renderLeaf","renderTree","childItems","childHtml","renderItem","renderModel","modelHtml","renderScope","scopeHtml","updateValue","renderModal","modalProps","panelProps","inputProps","NConfig","NConfigNext","NBuilder","NRefrencePanel","NRefrencePicker","visible","confirmText","abortText","buttonSize","tempVisible","abort","closeModal","confirm","eventInput","renderAction","Confirm","DEBUG_NVSCROLL","NDraggable","itemHeight","itemWidth","deathzone","threshold","useKeys","start","end","grid","buffer","load","updateRender","bindAdaptScroll","unbindAdaptScroll","refreshScroll","onScrollupdate","isIndexRendered","scrollToIndex","onScrollToIndex","total","targetTop","clearState","async","refreshDriver","inner","queue","timer","Date","now","to","bufferItems","isEqual","topOffset","renderRows","renderGridRows","counter","chunk","renderGrid","chunks","totalHeight","Virtualscroller","arrive","clearArrive","depart","clearDepart","range","yearsGrid","tempCache","getYears","monthsGrid","getMonths","tempArrive","tempDepart","tempView","tempRanger","cacheArrive","cacheDepart","gotoDate","gotoMonth","gotoYear","patchDate","resetTime","applyTime","patchMonth","printRange","patchYear","patchRange","renderToolbarPrev","renderToolbarNext","renderToolbarMonth","monthsHtml","addMonths","renderToolbarYear","yearsHtml","renderToolbar","prev","next","renderDateItem","equalDate","isNotBeforeMin","after","isNotAfterMax","before","renderRangeDateItem","viewMode","isTempValid","between","arriveFirst","onMouseenter","renderDate","legendHtml","day","getDatesGrid","panelHtml","prevMonth","nextMonth","renderMonthItem","equal","renderMonth","prevYear","nextYear","renderYearItem","renderYear","prevDecade","nextDecade","placeholderArrive","placeholderDepart","rangeSeparator","clearDatepicker","clearRangeDatepicker","clearSingleDatepicker","onArriveInput","onDepartInput","onDatepickerDepart","onDatepickerArrive","renderRange","arriveProps","departProps","displayHtml","DatepickerPanel","Datepicker","NModal","page","limit","limitOptions","maxPages","layout","pages","tempLimit","pageOptions","tempPage","forcePage","updatePaginate","paginate","onPrevPage","onPageInput","onNextPage","onFirstPage","onLastPage","onLimitInput","renderLimit","renderCount","renderSpacer","renderGoto","reduce","renderFirst","angleDoubleLeft","renderLast","angleDoubleRight","renderPage","abs","renderPages","renderSlot","view","className","Paginator","dom","form","errors","prevent","ignore","forceChange","forceErrors","groups","blocked","NForm","ready","emitChange","deep","resetChange","registerGroup","unregisterGroup","onSubmit","is","addItem","removeItem","timeout","prevState","nextState","attrs","cmer","kind","tooltip","tooltipPosition","collapseGroup","renderCollapse","renderText","textHtml","action","renderTooltip","NTabs","NTabsItem","tooltipWindow","conditional","conditionOn","conditionOff","enabled","toggleCondition","focusInput","$input","log","gotoInput","changeTab","renderCondition","renderError","loop","bindInviewEvent","menu","inview","inviewY","renderMenu","renderMenus","NFrame","resize","itemResize","itemScrollbar","renderContent","renderDiv","renderResizer","Form","FormGroup","FormItem","FormFrame","FormFrameItem","FormMenu","NTable","sortProp","sortDir","closeFilterOnEnter","itemOffset","scrollTopOnChange","renderExpand","renderCurrent","transformDrop","insertNode","removeNode","allowSelect","allowDrag","allowDrop","keyEvents","highlightTimeout","tempSelected","tempVisibleProps","tempSortProp","tempSortDir","tempFilter","tempFilterProps","makeVisibleProps","detectVisible","getColumnIndex","getColumnVisiblity","getColumnSorted","getColumnFilter","filterProp","property","getColumnFiltered","detectVisibity","intersect","extract","sortByColumn","dir","replaceFilter","search","filters","resetFilter","highlightNode","syncCurrent","refreshCurrent","columns","values","renderContext","defaultRender","draggableHtml","matrixDisabled","breakpoint","matrix","matrixProp","fluid","fixedWidth","matrixValues","NTableColumn","tempWidth","changedStates","sortDirection","flexBasis","renderHeadLabel","renderHeadSort","renderHeadFilter","angleHtml","depth","NDraggableItem","copy","setFirstState","firstState","TableCell","toggleMatrix","toggleSelect","itemList","currentMatrix","combine","finder","isDisabled","canReset","canApply","getFilterClone","mountFilter","getFilterProp","getDefaultFilter","applyFilter","clearFilter","popover","renderForm","renderApply","renderReset","TableFilter","operator","li","nl","eq","ne","lt","gt","in","ni","Table","TableColumn","TableCellString","TableCellBoolean","TableCellDatetime","TableCellOption","TableCellImage","TableCellMatrix","TableCellSelect","TableFilterString","TableFilterBoolean","TableFilterDatetime","TableFilterOption","hoursInterval","minutesInterval","secondsInterval","hoursGrid","getHours","minutesGrid","getMinutes","secondsGrid","getSeconds","eventSelect","scrollbars","renderHourItem","renderHourPanel","renderMinuteItem","renderMinutePanel","renderSecondItem","renderSecondPanel","clearTimepicker","renderPanel","TimepickerPanel","Timepicker","maxRows","maxLength","rows","currentRows","Textarea","steps","labels","fixmin","fixmax","minmax","getPseudoValue","setModelValue","getValPos","fixed","getValStyle","getBarPos","getBarWidth","getBarStyle","getClosestValue","isNumber","diff","step","onMouseup","relativeWidth","closestValue","stepMin","stepMax","handleProps","renderHandles","renderBar","barProps","Slider","lazy","collapseText","optionsDisabled","custom","tempClear","searched","generateOptions","searchOptions","NSelect","scrollToClosest","tempLabel","addOption","removeOption","resetInput","onFocusInput","open","onInputInput","onKeydownInput","createOrToggle","selectPrev","selectNext","searchRegex","toggleOption","denyUpdate","getOptionLabel","newIndex","scrollToCurrent","createOption","virtualbar","select","renderLabelItem","renderLabelCollapse","firstHtml","renderMultiple","isEmptyValue","inputHtml","modelLabel","emptyHtml","renderLazyOption","isMultipleActive","isSingleActive","renderLazyItems","onClose","toggleItem","Select","SelectOption","NPopover","multiClose","refreshVisible","parent","onContext","onExit","onCloseEvent","active","pause","unpause","stopRefreshInterval","startRefreshInterval","passedOffset","updatePosition","isSameOffset","rainbow","isSameSize","passedSize","getTargetHorizontal","targetRect","getBoundingClientRect","windowRect","posY","posX","center","inverse","broken","getTargetVertical","getTargetOffset","rect","isScrollClose","keyCode","viewBody","tempSize","image","imagePosition","renderImage","Popover","PopoverGroup","PopoverOption","Notification","duration","create","wrapper","getWrapper","notifications","Notifcation","notifyPosition","float","getTab","updateEvent","currentTab","sorted","renderHeaderIndicator","tabs","Tabs","TabsItem","fileMap","video","font","application","file","thumb","mime","typre","showSrc","tempFile","tempThumb","fileMime","getFileMime","thumbMime","getThumbMime","lightbox","extension","exts","resolveVimeo","resolveYoutube","showLightbox","renderPreview","renderFull","renderLightbox","src","tempSrc","tempExt","ImageCache","resolveLoad","resolveData","loaded","laod","reader","FileReader","onload","readAsDataURL","url","provider","unique","resolveType","youtube","vimeo","renderYoutube","renderVimeo","renderPlain","Preview","PreviewPlain","PreviewImage","PreviewVideo","virtualValue","renderStars","rate","renderValue","vars","Rating","NRadioGroup","addRadio","removeRadio","checkRadio","renderRadio","radio","NRadio","dragMods","NDragCounter","dataTransfer","setData","setDragImage","keyMods","DragCounter","NDragIndicator","strategy","hasClass","show","hide","NDraghandler","rootNode","_this$bindDragstart","DragIndicator","DragCache","bindDragstart","onDragenterRoot","onDragoverRoot","onDragleaveRoot","onDragendRoot","onDragdropRoot","bindDragend","bindDragdrop","cacheNodes","frames","moveNodes","cache","dragcount","dropNodes","unlinkNodes","removeNodes","isSelected","virtuals","route","resolve","targetNode","isInSelf","childNodes","unbindNode","$handle","onDragstartNode","onDragenterNode","onDragoverNode","onDragleaveNode","onDragendNode","onDragdropNode","moveNodesMany","moveNodesOne","moveNodesRoot","moveNodesInto","moveNodesBefore","moveNodesAfter","eventName","targetRoute","splice","reduceItem","cascades","virtual","DEBUG_NDLIST","lazyload","modifier","highlight","firstSelected","lastSelected","tempCurrent","tempExpanded","watchModifierDown","watchModifierUp","virtualscroller","bindRoot","watchSelected","refreshVirtuals","unbindRoot","filterVirtuals","updateNode","findVirtual","contains","getIndex","getCurrentIndex","isDraggable","canDrag","isHighlight","recursive","scrollToHighlight","isCurrent","setCurrent","setRawCurrent","setNextCurrent","setPrevCurrent","reset","canSelect","hasChildren","getChildren","isExpanded","expandCurrent","isTotalSelected","isInterSelected","toggleSingleNode","toggleRangeNode","indexies","reversed","row","unselectAll","bindKeydown","unbindKeydown","onMouseleave","bindNode","copyNode","onDblclick","NDropzone","Draglist","DraglistItem","Draggrid","DraggridItem","Dropzone","onIconClick","Input","NLoader","minimum","applyTimer","timing","startTimer","restartTimer","Loader","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","g","globalThis","hasOwnProperty","r","Symbol","toStringTag","attrsList","slot","Comment","circle","clock","calendar","primary","angleUp","Install","pi","CtorMixin","CmerMixin","CsloMixin","Nano"],"sourceRoot":""}
|