@ditojs/admin 0.275.0 → 1.0.0
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 -1
- package/dist/dito-admin.es.js +6 -0
- package/dist/dito-admin.umd.js +5 -17942
- package/dist/style.css +1 -0
- package/package.json +21 -33
- package/src/DitoAdmin.js +13 -13
- package/src/DitoComponent.js +3 -3
- package/src/DitoContext.js +1 -1
- package/src/TypeComponent.js +3 -3
- package/src/components/DitoAccount.vue +2 -2
- package/src/components/DitoButtons.vue +2 -2
- package/src/components/DitoClipboard.vue +3 -3
- package/src/components/DitoContainer.vue +5 -5
- package/src/components/DitoCreateButton.vue +3 -3
- package/src/components/DitoDialog.vue +3 -3
- package/src/components/DitoEditButtons.vue +1 -1
- package/src/components/DitoElement.vue +1 -1
- package/src/components/DitoErrors.vue +1 -1
- package/src/components/DitoForm.vue +5 -5
- package/src/components/DitoFormNested.vue +1 -1
- package/src/components/DitoHeader.vue +4 -2
- package/src/components/DitoLabel.vue +5 -5
- package/src/components/DitoMenu.vue +1 -1
- package/src/components/DitoPagination.vue +1 -1
- package/src/components/DitoPane.vue +3 -3
- package/src/components/DitoPanel.vue +4 -4
- package/src/components/DitoPanels.vue +1 -1
- package/src/components/DitoRoot.vue +7 -7
- package/src/components/DitoSchema.vue +7 -7
- package/src/components/DitoSchemaInlined.vue +2 -2
- package/src/components/DitoScopes.vue +1 -1
- package/src/components/DitoTableCell.vue +3 -3
- package/src/components/DitoTableHead.vue +2 -2
- package/src/components/DitoTabs.vue +1 -1
- package/src/components/DitoTreeItem.vue +5 -5
- package/src/components/DitoVNode.vue +1 -1
- package/src/components/DitoView.vue +4 -4
- package/src/components/index.js +28 -28
- package/src/index.js +1 -1
- package/src/mixins/DataMixin.js +1 -1
- package/src/mixins/DitoMixin.js +7 -7
- package/src/mixins/ItemMixin.js +3 -3
- package/src/mixins/NumberMixin.js +1 -1
- package/src/mixins/OptionsMixin.js +4 -4
- package/src/mixins/OrderedMixin.js +1 -1
- package/src/mixins/PulldownMixin.js +1 -1
- package/src/mixins/ResourceMixin.js +5 -5
- package/src/mixins/RouteMixin.js +1 -1
- package/src/mixins/SourceMixin.js +9 -7
- package/src/mixins/TypeMixin.js +5 -5
- package/src/mixins/ValidationMixin.js +1 -1
- package/src/mixins/ValidatorMixin.js +1 -1
- package/src/styles/_imports.sass +1 -1
- package/src/styles/_vendors.sass +1 -0
- package/src/styles/{dito.sass → style.sass} +2 -1
- package/src/types/TypeButton.vue +3 -3
- package/src/types/TypeCheckbox.vue +1 -1
- package/src/types/TypeCheckboxes.vue +2 -2
- package/src/types/TypeCode.vue +2 -2
- package/src/types/TypeColor.vue +2 -2
- package/src/types/TypeComponent.vue +1 -1
- package/src/types/TypeComputed.vue +3 -3
- package/src/types/TypeDate.vue +2 -2
- package/src/types/TypeLabel.vue +1 -1
- package/src/types/TypeList.vue +7 -7
- package/src/types/TypeMarkup.vue +3 -3
- package/src/types/TypeMultiselect.vue +5 -5
- package/src/types/TypeNumber.vue +2 -2
- package/src/types/TypeObject.vue +3 -3
- package/src/types/TypePanel.vue +1 -1
- package/src/types/TypeProgress.vue +2 -2
- package/src/types/TypeRadio.vue +2 -2
- package/src/types/TypeSection.vue +7 -2
- package/src/types/TypeSelect.vue +2 -2
- package/src/types/TypeSlider.vue +3 -3
- package/src/types/TypeSwitch.vue +1 -1
- package/src/types/TypeText.vue +1 -1
- package/src/types/TypeTextarea.vue +2 -2
- package/src/types/TypeTreeList.vue +3 -3
- package/src/types/TypeUpload.vue +6 -6
- package/src/types/index.js +25 -25
- package/src/utils/SchemaGraph.js +1 -1
- package/src/utils/schema.js +65 -40
- package/src/validations/index.js +12 -12
- package/LICENSE +0 -20
- package/dist/demo.html +0 -8
- package/dist/dito-admin.common.js +0 -17933
- package/dist/dito-admin.common.js.map +0 -1
- package/dist/dito-admin.umd.js.map +0 -1
- package/dist/dito-admin.umd.min.js +0 -5
- package/dist/dito-admin.umd.min.js.map +0 -1
- package/static/.gitkeep +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://dito-admin/webpack/bootstrap","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/a-constructor.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/esnext.async-iterator.some.js","webpack://dito-admin/./src/components/DitoSchemaInlined.vue?f6f8","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/get-iterator-method.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/length-of-array-like.js","webpack://dito-admin/./src/components/DitoTabs.vue?3529","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/to-primitive.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/object-keys.js","webpack://dito-admin/./src/components/DitoFormNested.vue?d6fe","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/object-get-prototype-of.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/is-pure.js","webpack://dito-admin/./src/components/DitoErrors.vue?9f22","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/vue-style-loader/lib/listToStyles.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/vue-style-loader/lib/addStylesClient.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/async-iterator-create-proxy.js","webpack://dito-admin/./src/types/TypeMarkup.vue?99e4","webpack://dito-admin/./src/components/DitoRoot.vue?2d09","webpack://dito-admin/./src/types/TypeCheckbox.vue?2a81","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/an-object.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/esnext.iterator.filter.js","webpack://dito-admin/./src/components/DitoLabel.vue?0466","webpack://dito-admin/./src/types/TypeCode.vue?44a6","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/esnext.iterator.map.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/esnext.iterator.reduce.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/get-async-iterator.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/iterator-create-proxy.js","webpack://dito-admin/./src/types/TypeNumber.vue?7502","webpack://dito-admin/./src/types/TypeSwitch.vue?f274","webpack://dito-admin/./src/types/TypeCheckbox.vue?55fa","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/esnext.set.difference.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://dito-admin/./src/components/DitoRoot.vue?9f2d","webpack://dito-admin/./src/appState.js","webpack://dito-admin/./src/utils/data.js","webpack://dito-admin/./src/DitoContext.js","webpack://dito-admin/./src/mixins/EmitterMixin.js","webpack://dito-admin/./src/utils/type.js","webpack://dito-admin/./src/utils/resource.js","webpack://dito-admin/./src/utils/deprecate.js","webpack://dito-admin/./src/mixins/DitoMixin.js","webpack://dito-admin/./src/validations/_creditcard.js","webpack://dito-admin/./src/validations/_decimals.js","webpack://dito-admin/./src/validations/_email.js","webpack://dito-admin/./src/validations/_hostname.js","webpack://dito-admin/./src/validations/_domain.js","webpack://dito-admin/./src/validations/_integer.js","webpack://dito-admin/./src/validations/_max.js","webpack://dito-admin/./src/validations/_min.js","webpack://dito-admin/./src/validations/_password.js","webpack://dito-admin/./src/validations/_range.js","webpack://dito-admin/./src/validations/_required.js","webpack://dito-admin/./src/validations/_url.js","webpack://dito-admin/./src/validations/index.js","webpack://dito-admin/./src/mixins/ValidationMixin.js","webpack://dito-admin/./src/utils/accessor.js","webpack://dito-admin/./src/utils/uid.js","webpack://dito-admin/./src/utils/SchemaGraph.js","webpack://dito-admin/./src/utils/schema.js","webpack://dito-admin/./src/mixins/TypeMixin.js","webpack://dito-admin/./src/DitoComponent.js","webpack://dito-admin/./src/DitoUser.js","webpack://dito-admin/./src/components/DitoView.vue?1912","webpack://dito-admin/./src/mixins/SchemaParentMixin.js","webpack://dito-admin/./src/mixins/ValidatorMixin.js","webpack://dito-admin/./src/mixins/RouteMixin.js","webpack://dito-admin/src/components/DitoView.vue","webpack://dito-admin/./src/components/DitoView.vue?0f22","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://dito-admin/./src/components/DitoView.vue","webpack://dito-admin/./src/mixins/DomMixin.js","webpack://dito-admin/src/components/DitoRoot.vue","webpack://dito-admin/./src/components/DitoRoot.vue?dc18","webpack://dito-admin/./src/components/DitoRoot.vue","webpack://dito-admin/./src/components/DitoMenu.vue?c5e8","webpack://dito-admin/src/components/DitoMenu.vue","webpack://dito-admin/./src/components/DitoMenu.vue?0845","webpack://dito-admin/./src/components/DitoMenu.vue","webpack://dito-admin/./src/components/DitoHeader.vue?cac7","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/vue-spinner/src/PulseLoader.vue?eb92","webpack://dito-admin/../../node_modules/vue-spinner/src/PulseLoader.vue","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/vue-spinner/src/PulseLoader.vue?b07b","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/vue-spinner/src/PulseLoader.vue","webpack://dito-admin/src/components/DitoHeader.vue","webpack://dito-admin/./src/components/DitoHeader.vue?2ba1","webpack://dito-admin/./src/components/DitoHeader.vue","webpack://dito-admin/./src/components/DitoAccount.vue?ee00","webpack://dito-admin/./src/mixins/PulldownMixin.js","webpack://dito-admin/src/components/DitoAccount.vue","webpack://dito-admin/./src/components/DitoAccount.vue?ac9e","webpack://dito-admin/./src/components/DitoAccount.vue","webpack://dito-admin/./src/components/DitoDialog.vue?b2ef","webpack://dito-admin/src/components/DitoDialog.vue","webpack://dito-admin/./src/components/DitoDialog.vue?7344","webpack://dito-admin/./src/components/DitoDialog.vue","webpack://dito-admin/./src/components/DitoElement.vue?c53c","webpack://dito-admin/src/components/DitoElement.vue","webpack://dito-admin/./src/components/DitoElement.vue?a242","webpack://dito-admin/./src/components/DitoElement.vue","webpack://dito-admin/./src/components/DitoLabel.vue?aebe","webpack://dito-admin/src/components/DitoLabel.vue","webpack://dito-admin/./src/components/DitoLabel.vue?834e","webpack://dito-admin/./src/components/DitoLabel.vue","webpack://dito-admin/./src/components/DitoSchema.vue?6993","webpack://dito-admin/./src/mixins/ItemMixin.js","webpack://dito-admin/src/components/DitoSchema.vue","webpack://dito-admin/./src/components/DitoSchema.vue?a4a7","webpack://dito-admin/./src/components/DitoSchema.vue","webpack://dito-admin/./src/components/DitoSchemaInlined.vue?c174","webpack://dito-admin/src/components/DitoSchemaInlined.vue","webpack://dito-admin/./src/components/DitoSchemaInlined.vue?8c82","webpack://dito-admin/./src/components/DitoSchemaInlined.vue","webpack://dito-admin/./src/components/DitoPane.vue?df71","webpack://dito-admin/src/components/DitoPane.vue","webpack://dito-admin/./src/components/DitoPane.vue?28d6","webpack://dito-admin/./src/components/DitoPane.vue","webpack://dito-admin/./src/components/DitoContainer.vue?185a","webpack://dito-admin/./src/utils/math.js","webpack://dito-admin/src/components/DitoContainer.vue","webpack://dito-admin/./src/components/DitoContainer.vue?606c","webpack://dito-admin/./src/components/DitoContainer.vue","webpack://dito-admin/./src/components/DitoTabs.vue?acf7","webpack://dito-admin/src/components/DitoTabs.vue","webpack://dito-admin/./src/components/DitoTabs.vue?f42a","webpack://dito-admin/./src/components/DitoTabs.vue","webpack://dito-admin/./src/components/DitoPanel.vue?7561","webpack://dito-admin/src/components/DitoPanel.vue","webpack://dito-admin/./src/components/DitoPanel.vue?79a8","webpack://dito-admin/./src/components/DitoPanel.vue","webpack://dito-admin/./src/components/DitoPanels.vue?4b49","webpack://dito-admin/src/components/DitoPanels.vue","webpack://dito-admin/./src/components/DitoPanels.vue?4bf0","webpack://dito-admin/./src/components/DitoPanels.vue","webpack://dito-admin/./src/components/DitoButtons.vue?3af6","webpack://dito-admin/src/components/DitoButtons.vue","webpack://dito-admin/./src/components/DitoButtons.vue?8a64","webpack://dito-admin/./src/components/DitoButtons.vue","webpack://dito-admin/./src/components/DitoEditButtons.vue?514b","webpack://dito-admin/src/components/DitoEditButtons.vue","webpack://dito-admin/./src/components/DitoEditButtons.vue?13cf","webpack://dito-admin/./src/components/DitoEditButtons.vue","webpack://dito-admin/./src/components/DitoCreateButton.vue?df6e","webpack://dito-admin/src/components/DitoCreateButton.vue","webpack://dito-admin/./src/components/DitoCreateButton.vue?6c26","webpack://dito-admin/./src/components/DitoCreateButton.vue","webpack://dito-admin/./src/components/DitoClipboard.vue?05cb","webpack://dito-admin/src/components/DitoClipboard.vue","webpack://dito-admin/./src/components/DitoClipboard.vue?04be","webpack://dito-admin/./src/components/DitoClipboard.vue","webpack://dito-admin/./src/components/DitoForm.vue?cac1","webpack://dito-admin/./src/mixins/LoadingMixin.js","webpack://dito-admin/./src/mixins/ResourceMixin.js","webpack://dito-admin/src/components/DitoForm.vue","webpack://dito-admin/./src/components/DitoForm.vue?c380","webpack://dito-admin/./src/components/DitoForm.vue","webpack://dito-admin/src/components/DitoFormNested.vue","webpack://dito-admin/./src/components/DitoFormNested.vue?d261","webpack://dito-admin/./src/components/DitoFormNested.vue","webpack://dito-admin/./src/components/DitoErrors.vue?76f1","webpack://dito-admin/src/components/DitoErrors.vue","webpack://dito-admin/./src/components/DitoErrors.vue?2ecb","webpack://dito-admin/./src/components/DitoErrors.vue","webpack://dito-admin/./src/components/DitoScopes.vue?4a74","webpack://dito-admin/src/components/DitoScopes.vue","webpack://dito-admin/./src/components/DitoScopes.vue?cd5e","webpack://dito-admin/./src/components/DitoScopes.vue","webpack://dito-admin/./src/components/DitoPagination.vue?bf31","webpack://dito-admin/src/components/DitoPagination.vue","webpack://dito-admin/./src/components/DitoPagination.vue?560e","webpack://dito-admin/./src/components/DitoPagination.vue","webpack://dito-admin/./src/components/DitoTreeItem.vue?c63d","webpack://dito-admin/./src/mixins/OrderedMixin.js","webpack://dito-admin/src/components/DitoTreeItem.vue","webpack://dito-admin/./src/components/DitoTreeItem.vue?a1fc","webpack://dito-admin/./src/components/DitoTreeItem.vue","webpack://dito-admin/./src/components/DitoTableHead.vue?49e7","webpack://dito-admin/src/components/DitoTableHead.vue","webpack://dito-admin/./src/components/DitoTableHead.vue?0e7a","webpack://dito-admin/./src/components/DitoTableHead.vue","webpack://dito-admin/./src/components/DitoTableCell.vue?8948","webpack://dito-admin/src/components/DitoTableCell.vue","webpack://dito-admin/./src/components/DitoTableCell.vue?bf12","webpack://dito-admin/./src/components/DitoTableCell.vue","webpack://dito-admin/src/components/DitoVNode.vue","webpack://dito-admin/./src/components/DitoVNode.vue?8798","webpack://dito-admin/./src/components/DitoVNode.vue","webpack://dito-admin/./src/components/index.js","webpack://dito-admin/./src/types/TypeButton.vue?9710","webpack://dito-admin/./src/TypeComponent.js","webpack://dito-admin/src/types/TypeButton.vue","webpack://dito-admin/./src/types/TypeButton.vue?2443","webpack://dito-admin/./src/types/TypeButton.vue","webpack://dito-admin/./src/types/TypeCheckbox.vue?673b","webpack://dito-admin/src/types/TypeCheckbox.vue","webpack://dito-admin/./src/types/TypeCheckbox.vue?d40d","webpack://dito-admin/./src/types/TypeCheckbox.vue","webpack://dito-admin/./src/types/TypeCheckboxes.vue?52ae","webpack://dito-admin/./src/mixins/DataMixin.js","webpack://dito-admin/./src/mixins/OptionsMixin.js","webpack://dito-admin/src/types/TypeCheckboxes.vue","webpack://dito-admin/./src/types/TypeCheckboxes.vue?8e15","webpack://dito-admin/./src/types/TypeCheckboxes.vue","webpack://dito-admin/./src/types/TypeCode.vue?6267","webpack://dito-admin/src/types/TypeCode.vue","webpack://dito-admin/./src/types/TypeCode.vue?4eed","webpack://dito-admin/./src/types/TypeCode.vue","webpack://dito-admin/./src/types/TypeColor.vue?7fd3","webpack://dito-admin/src/types/TypeColor.vue","webpack://dito-admin/./src/types/TypeColor.vue?f9eb","webpack://dito-admin/./src/types/TypeColor.vue","webpack://dito-admin/./src/types/TypeComponent.vue?4db3","webpack://dito-admin/src/types/TypeComponent.vue","webpack://dito-admin/./src/types/TypeComponent.vue?3ef3","webpack://dito-admin/./src/types/TypeComponent.vue","webpack://dito-admin/./src/types/TypeComputed.vue?4004","webpack://dito-admin/src/types/TypeComputed.vue","webpack://dito-admin/./src/types/TypeComputed.vue?3c4c","webpack://dito-admin/./src/types/TypeComputed.vue","webpack://dito-admin/./src/types/TypeDate.vue?1991","webpack://dito-admin/src/types/TypeDate.vue","webpack://dito-admin/./src/types/TypeDate.vue?0b79","webpack://dito-admin/./src/types/TypeDate.vue","webpack://dito-admin/./src/types/TypeList.vue?094e","webpack://dito-admin/./src/mixins/SourceMixin.js","webpack://dito-admin/./src/utils/filter.js","webpack://dito-admin/src/types/TypeList.vue","webpack://dito-admin/./src/types/TypeList.vue?c425","webpack://dito-admin/./src/types/TypeList.vue","webpack://dito-admin/./src/types/TypeLabel.vue?d3ff","webpack://dito-admin/src/types/TypeLabel.vue","webpack://dito-admin/./src/types/TypeLabel.vue?02e6","webpack://dito-admin/./src/types/TypeLabel.vue","webpack://dito-admin/./src/types/TypeMarkup.vue?367e","webpack://dito-admin/src/types/TypeMarkup.vue","webpack://dito-admin/./src/types/TypeMarkup.vue?6328","webpack://dito-admin/./src/types/TypeMarkup.vue","webpack://dito-admin/./src/types/TypeMultiselect.vue?abab","webpack://dito-admin/src/types/TypeMultiselect.vue","webpack://dito-admin/./src/types/TypeMultiselect.vue?b487","webpack://dito-admin/./src/types/TypeMultiselect.vue","webpack://dito-admin/./src/types/TypeNumber.vue?0204","webpack://dito-admin/./src/mixins/NumberMixin.js","webpack://dito-admin/src/types/TypeNumber.vue","webpack://dito-admin/./src/types/TypeNumber.vue?a34a","webpack://dito-admin/./src/types/TypeNumber.vue","webpack://dito-admin/./src/types/TypeObject.vue?d1f1","webpack://dito-admin/src/types/TypeObject.vue","webpack://dito-admin/./src/types/TypeObject.vue?5696","webpack://dito-admin/./src/types/TypeObject.vue","webpack://dito-admin/src/types/TypePanel.vue","webpack://dito-admin/./src/types/TypePanel.vue?0777","webpack://dito-admin/./src/types/TypePanel.vue","webpack://dito-admin/./src/types/TypeProgress.vue?3697","webpack://dito-admin/src/types/TypeProgress.vue","webpack://dito-admin/./src/types/TypeProgress.vue?027c","webpack://dito-admin/./src/types/TypeProgress.vue","webpack://dito-admin/./src/types/TypeRadio.vue?fd87","webpack://dito-admin/src/types/TypeRadio.vue","webpack://dito-admin/./src/types/TypeRadio.vue?5ff3","webpack://dito-admin/./src/types/TypeRadio.vue","webpack://dito-admin/./src/types/TypeSection.vue?4c42","webpack://dito-admin/src/types/TypeSection.vue","webpack://dito-admin/./src/types/TypeSection.vue?6a65","webpack://dito-admin/./src/types/TypeSection.vue","webpack://dito-admin/./src/types/TypeSelect.vue?b1ef","webpack://dito-admin/src/types/TypeSelect.vue","webpack://dito-admin/./src/types/TypeSelect.vue?f7de","webpack://dito-admin/./src/types/TypeSelect.vue","webpack://dito-admin/./src/types/TypeSlider.vue?2b47","webpack://dito-admin/src/types/TypeSlider.vue","webpack://dito-admin/./src/types/TypeSlider.vue?d9f6","webpack://dito-admin/./src/types/TypeSlider.vue","webpack://dito-admin/./src/types/TypeSwitch.vue?e38a","webpack://dito-admin/src/types/TypeSwitch.vue","webpack://dito-admin/./src/types/TypeSwitch.vue?99ae","webpack://dito-admin/./src/types/TypeSwitch.vue","webpack://dito-admin/./src/types/TypeText.vue?1cc0","webpack://dito-admin/src/types/TypeText.vue","webpack://dito-admin/./src/types/TypeText.vue?f758","webpack://dito-admin/./src/types/TypeText.vue","webpack://dito-admin/./src/types/TypeTextarea.vue?cc90","webpack://dito-admin/src/types/TypeTextarea.vue","webpack://dito-admin/./src/types/TypeTextarea.vue?296e","webpack://dito-admin/./src/types/TypeTextarea.vue","webpack://dito-admin/./src/types/TypeTreeList.vue?fd1c","webpack://dito-admin/src/types/TypeTreeList.vue","webpack://dito-admin/./src/types/TypeTreeList.vue?cf23","webpack://dito-admin/./src/types/TypeTreeList.vue","webpack://dito-admin/./src/types/TypeUpload.vue?ea4a","webpack://dito-admin/./src/utils/units.js","webpack://dito-admin/src/types/TypeUpload.vue","webpack://dito-admin/./src/types/TypeUpload.vue?818b","webpack://dito-admin/./src/types/TypeUpload.vue","webpack://dito-admin/./src/types/index.js","webpack://dito-admin/./src/verbs.js","webpack://dito-admin/./src/DitoAdmin.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/uid.js","webpack://dito-admin/external {\"root\":\"Codeflask\",\"amd\":\"codeflask\",\"commonjs\":\"codeflask\",\"commonjs2\":\"codeflask\"}","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/array-includes.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/function-bind-context.js","webpack://dito-admin/external {\"root\":\"@ditojs/ui\",\"amd\":\"@ditojs/ui\",\"commonjs\":\"@ditojs/ui\",\"commonjs2\":\"@ditojs/ui\"}","webpack://dito-admin/./src/types/TypeNumber.vue?3643","webpack://dito-admin/external {\"root\":\"TiptapCommands\",\"amd\":\"tiptap-commands\",\"commonjs\":\"tiptap-commands\",\"commonjs2\":\"tiptap-commands\"}","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/esnext.set.some.js","webpack://dito-admin/./src/components/DitoAccount.vue?ad06","webpack://dito-admin/external {\"root\":\"Vuedraggable\",\"amd\":\"vuedraggable\",\"commonjs\":\"vuedraggable\",\"commonjs2\":\"vuedraggable\"}","webpack://dito-admin/./src/types/TypeSwitch.vue?2283","webpack://dito-admin/./src/components/DitoTabs.vue?ecc6","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/to-string.js","webpack://dito-admin/./src/types/TypeTreeList.vue?3350","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/vue-spinner/src/PulseLoader.vue?9c5b","webpack://dito-admin/./src/components/DitoErrors.vue?1206","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/esnext.array.group-by.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/esnext.set.join.js","webpack://dito-admin/./src/types/TypeSelect.vue?b4ea","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/shared-key.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/to-indexed-object.js","webpack://dito-admin/./src/components/DitoScopes.vue?482e","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/to-object.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/esnext.set.intersection.js","webpack://dito-admin/./src/types/TypeCode.vue?f637","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/vue-spinner/src/PulseLoader.vue?55ab","webpack://dito-admin/./src/types/TypeMultiselect.vue?bfb4","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/css-loader/dist/runtime/api.js","webpack://dito-admin/./src/types/TypeTextarea.vue?897a","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/is-callable.js","webpack://dito-admin/./src/components/DitoSchemaInlined.vue?e47d","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/to-string-tag-support.js","webpack://dito-admin/./src/components/DitoDialog.vue?b971","webpack://dito-admin/./src/components/DitoMenu.vue?ac48","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/set-global.js","webpack://dito-admin/./src/types/TypeSection.vue?09a8","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/get-iterator.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/esnext.weak-map.delete-all.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/vue-spinner/src/PulseLoader.vue?1593","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/species-constructor.js","webpack://dito-admin/./src/components/DitoTreeItem.vue?32aa","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/function-bind-native.js","webpack://dito-admin/./src/types/TypeCode.vue?f541","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/esnext.set.filter.js","webpack://dito-admin/./src/components/DitoButtons.vue?bc21","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/try-to-string.js","webpack://dito-admin/./src/components/DitoErrors.vue?4596","webpack://dito-admin/./src/types/TypeLabel.vue?aaa8","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/an-instance.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/shared.js","webpack://dito-admin/external {\"root\":\"Tinycolor2\",\"amd\":\"tinycolor2\",\"commonjs\":\"tinycolor2\",\"commonjs2\":\"tinycolor2\"}","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/use-symbol-as-uid.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/engine-v8-version.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/esnext.iterator.flat-map.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/get-built-in.js","webpack://dito-admin/./src/components/DitoHeader.vue?580a","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/install-error-cause.js","webpack://dito-admin/./src/types/TypeRadio.vue?c045","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/esnext.iterator.every.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/create-non-enumerable-property.js","webpack://dito-admin/./src/types/TypeSwitch.vue?8662","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/esnext.async-iterator.every.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/iterators.js","webpack://dito-admin/./src/types/TypeMarkup.vue?75a3","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/esnext.async-iterator.map.js","webpack://dito-admin/./src/components/DitoFormNested.vue?bc9b","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/get-method.js","webpack://dito-admin/./src/types/TypeLabel.vue?8a38","webpack://dito-admin/external {\"root\":\"VueRouter\",\"amd\":\"vue-router\",\"commonjs\":\"vue-router\",\"commonjs2\":\"vue-router\"}","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/a-callable.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/engine-user-agent.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/object-get-own-property-names.js","webpack://dito-admin/./src/types/TypeLabel.vue?a3db","webpack://dito-admin/external {\"root\":\"@ditojs/utils\",\"amd\":\"@ditojs/utils\",\"commonjs\":\"@ditojs/utils\",\"commonjs2\":\"@ditojs/utils\"}","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/classof-raw.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/export.js","webpack://dito-admin/external {\"root\":\"VueMultiselect\",\"amd\":\"vue-multiselect\",\"commonjs\":\"vue-multiselect\",\"commonjs2\":\"vue-multiselect\"}","webpack://dito-admin/./src/components/DitoRoot.vue?6a15","webpack://dito-admin/./src/components/DitoFormNested.vue?ee4c","webpack://dito-admin/./src/components/DitoPane.vue?732c","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/function-uncurry-this.js","webpack://dito-admin/./src/types/TypeNumber.vue?5b49","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/native-weak-map.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/fails.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/require-object-coercible.js","webpack://dito-admin/./src/components/DitoSchema.vue?1b3d","webpack://dito-admin/./src/components/DitoEditButtons.vue?5b07","webpack://dito-admin/./src/types/TypeMarkup.vue?e880","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/is-object.js","webpack://dito-admin/./src/components/DitoLabel.vue?153a","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/esnext.set.symmetric-difference.js","webpack://dito-admin/./src/components/DitoPanels.vue?bca5","webpack://dito-admin/./src/components/DitoPanel.vue?6c4b","webpack://dito-admin/./src/components/DitoPane.vue?202a","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/has-own-property.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/vue-multiselect/dist/vue-multiselect.min.css?3ca1","webpack://dito-admin/./src/components/DitoScopes.vue?7f11","webpack://dito-admin/./src/components/DitoMenu.vue?0c56","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/ie8-dom-define.js","webpack://dito-admin/(webpack)/buildin/global.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/well-known-symbol.js","webpack://dito-admin/./src/types/TypeTreeList.vue?e388","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/array-method-is-strict.js","webpack://dito-admin/./src/components/DitoEditButtons.vue?2116","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/correct-prototype-getter.js","webpack://dito-admin/external {\"root\":\"VueUploadComponent\",\"amd\":\"vue-upload-component\",\"commonjs\":\"vue-upload-component\",\"commonjs2\":\"vue-upload-component\"}","webpack://dito-admin/./src/components/DitoPanels.vue?30ed","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/esnext.set.is-disjoint-from.js","webpack://dito-admin/./src/components/DitoRoot.vue?01e6","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/object-create.js","webpack://dito-admin/./src/types/TypeList.vue?9f87","webpack://dito-admin/./src/types/TypeColor.vue?e161","webpack://dito-admin/./src/types/TypeMultiselect.vue?f7a6","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/indexed-object.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/collection-add-all.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/esnext.weak-map.emplace.js","webpack://dito-admin/./src/components/DitoButtons.vue?3a63","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/async-iterator-iteration.js","webpack://dito-admin/./src/types/TypeTreeList.vue?6369","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/wrap-error-constructor-with-cause.js","webpack://dito-admin/external {\"root\":\"Vue\",\"amd\":\"vue\",\"commonjs\":\"vue\",\"commonjs2\":\"vue\"}","webpack://dito-admin/./src/components/DitoSchema.vue?0cec","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/esnext.set.reduce.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/inherit-if-required.js","webpack://dito-admin/external {\"root\":\"Tiptap\",\"amd\":\"tiptap\",\"commonjs\":\"tiptap\",\"commonjs2\":\"tiptap\"}","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/collection-delete-all.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/html.js","webpack://dito-admin/./src/types/TypeSection.vue?a4f8","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/to-integer-or-infinity.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/create-property-descriptor.js","webpack://dito-admin/./src/components/DitoEditButtons.vue?46b6","webpack://dito-admin/./src/components/DitoContainer.vue?7312","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/to-absolute-index.js","webpack://dito-admin/./src/components/DitoLabel.vue?46c5","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/esnext.set.is-superset-of.js","webpack://dito-admin/external {\"root\":\"FilesizeParser\",\"amd\":\"filesize-parser\",\"commonjs\":\"filesize-parser\",\"commonjs2\":\"filesize-parser\"}","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/esnext.async-iterator.filter.js","webpack://dito-admin/./src/types/TypeTextarea.vue?55ac","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/own-keys.js","webpack://dito-admin/./src/components/DitoMenu.vue?3208","webpack://dito-admin/./src/types/TypeSlider.vue?cdb1","webpack://dito-admin/./src/types/TypeList.vue?269b","webpack://dito-admin/external {\"root\":\"VueColor\",\"amd\":\"vue-color\",\"commonjs\":\"vue-color\",\"commonjs2\":\"vue-color\"}","webpack://dito-admin/./src/types/TypeUpload.vue?6e7a","webpack://dito-admin/./src/types/TypeUpload.vue?3871","webpack://dito-admin/./src/types/TypeList.vue?6320","webpack://dito-admin/./src/components/DitoSchemaInlined.vue?bf04","webpack://dito-admin/./src/types/TypeObject.vue?6933","webpack://dito-admin/./src/types/TypeRadio.vue?1508","webpack://dito-admin/./src/components/DitoAccount.vue?d0e0","webpack://dito-admin/./src/types/TypeTextarea.vue?6692","webpack://dito-admin/./src/types/TypeColor.vue?f6c6","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/normalize-string-argument.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/iterator-close.js","webpack://dito-admin/./src/types/TypeSlider.vue?0105","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/object-define-property.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/esnext.iterator.constructor.js","webpack://dito-admin/./src/types/TypeMultiselect.vue?9413","webpack://dito-admin/./src/types/TypeColor.vue?84f9","webpack://dito-admin/./src/components/DitoContainer.vue?f2a8","webpack://dito-admin/./src/components/DitoTreeItem.vue?98b2","webpack://dito-admin/external {\"root\":\"VueNotification\",\"amd\":\"vue-notification\",\"commonjs\":\"vue-notification\",\"commonjs2\":\"vue-notification\"}","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/enum-bug-keys.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/esnext.set.add-all.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/redefine-all.js","webpack://dito-admin/external {\"root\":\"VueJsModal\",\"amd\":\"vue-js-modal\",\"commonjs\":\"vue-js-modal\",\"commonjs2\":\"vue-js-modal\"}","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/map-emplace.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/to-length.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/function-call.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/esnext.async-iterator.flat-map.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/iterate.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/esnext.set.is-subset-of.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/copy-constructor-properties.js","webpack://dito-admin/./src/components/DitoContainer.vue?a917","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/redefine.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/esnext.set.union.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/object-define-properties.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/esnext.set.delete-all.js","webpack://dito-admin/./src/components/DitoPanels.vue?ca73","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/get-set-iterator.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/async-iterator-prototype.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/object-set-prototype-of.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/is-constructor.js","webpack://dito-admin/./src/components/DitoAccount.vue?0733","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/esnext.async-iterator.for-each.js","webpack://dito-admin/./src/components/DitoCreateButton.vue?cb0e","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/shared-store.js","webpack://dito-admin/./src/components/DitoPane.vue?70b5","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/esnext.iterator.for-each.js","webpack://dito-admin/external {\"root\":\"Nanoid\",\"amd\":\"nanoid\",\"commonjs\":\"nanoid\",\"commonjs2\":\"nanoid\"}","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/object-keys-internal.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/is-array-iterator-method.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/clear-error-stack.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/array-from-constructor-and-list.js","webpack://dito-admin/./src/types/TypeCheckboxes.vue?2b41","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/internal-state.js","webpack://dito-admin/./src/types/TypeSelect.vue?38e3","webpack://dito-admin/external {\"root\":\"Axios\",\"amd\":\"axios\",\"commonjs\":\"axios\",\"commonjs2\":\"axios\"}","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/is-symbol.js","webpack://dito-admin/./src/types/TypeCheckboxes.vue?5e1b","webpack://dito-admin/./src/types/TypeCheckboxes.vue?6b03","webpack://dito-admin/./src/types/TypeObject.vue?8482","webpack://dito-admin/./src/types/TypeCheckbox.vue?0ba9","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/function-name.js","webpack://dito-admin/./src/types/TypeUpload.vue?051f","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/descriptors.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/function-apply.js","webpack://dito-admin/./src/components/DitoCreateButton.vue?2a80","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/esnext.iterator.some.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/hidden-keys.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/classof.js","webpack://dito-admin/./src/types/TypeRadio.vue?0acc","webpack://dito-admin/./src/components/DitoHeader.vue?cee3","webpack://dito-admin/./src/components/DitoSchema.vue?c6fd","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/esnext.set.map.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/inspect-source.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/esnext.set.find.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/object-property-is-enumerable.js","webpack://dito-admin/./src/types/TypeSelect.vue?05a5","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/array-group-by.js","webpack://dito-admin/./src/components/DitoPanel.vue?0446","webpack://dito-admin/external {\"root\":\"TiptapExtensions\",\"amd\":\"tiptap-extensions\",\"commonjs\":\"tiptap-extensions\",\"commonjs2\":\"tiptap-extensions\"}","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/native-symbol.js","webpack://dito-admin/./src/components/DitoTableHead.vue?6aa9","webpack://dito-admin/./src/components/DitoTreeItem.vue?3208","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/error-stack-installable.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/esnext.set.every.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/ordinary-to-primitive.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/is-forced.js","webpack://dito-admin/./src/types/TypeSlider.vue?07d3","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/add-to-unscopables.js","webpack://dito-admin/./src/components/DitoDialog.vue?1725","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/async-from-sync-iterator.js","webpack://dito-admin/./src/components/DitoScopes.vue?c866","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/document-create-element.js","webpack://dito-admin/./src/types/TypeObject.vue?1020","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/es.error.cause.js","webpack://dito-admin/./src/components/DitoCreateButton.vue?88cd","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/a-possible-prototype.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/global.js","webpack://dito-admin/./src/components/DitoTableHead.vue?b60e","webpack://dito-admin/./src/components/DitoButtons.vue?70cf","webpack://dito-admin/./src/components/DitoPanel.vue?4637","webpack://dito-admin/./src/types/TypeSection.vue?76d7","webpack://dito-admin/./src/components/DitoTabs.vue?33cc","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/object-is-prototype-of.js","webpack://dito-admin/./src/components/DitoTableHead.vue?e627","webpack://dito-admin/./src/components/DitoHeader.vue?3e7b","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/modules/esnext.async-iterator.reduce.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/vue-multiselect/dist/vue-multiselect.min.css","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/to-property-key.js","webpack://dito-admin/./src/components/DitoDialog.vue?54f6","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://dito-admin//Users/lehni/Development/Lineto/dito/node_modules/core-js/internals/iterators-core.js","webpack://dito-admin/external {\"root\":\"Filesize\",\"amd\":\"filesize\",\"commonjs\":\"filesize\",\"commonjs2\":\"filesize\"}"],"names":["title","routeComponents","user","loadCache","activeLabel","clipboardData","appendDataPath","dataPath","token","parseParentDataPath","path","parseDataPath","pop","getParentDataPath","normalizeDataPath","parseItemDataPath","nested","getItemDataPath","parseParentItemDataPath","isInteger","getParentItemDataPath","getItem","rootItem","getValueAtDataPath","getParentItem","getLastDataPathToken","length","getLastDataPathName","getLastDataPathIndex","index","temporaryId","setTemporaryId","data","idKey","isTemporaryId","id","test","hasTemporaryId","isReference","Object","keys","contexts","WeakMap","get","context","key","defaultValue","object","value","undefined","hasOwnProperty","isFunction","set","DitoContext","constructor","component","setPrototypeOf","name","itemDataPath","parentItemDataPath","itemIndex","parentItemIndex","item","parentItem","processedItem","clipboardItem","api","views","itemLabel","formLabel","schemaComponent","formComponent","viewComponent","dialogComponent","panelComponent","resourceComponent","sourceComponent","option","options","query","error","wasNotified","request","format","navigate","location","download","getResourceUrl","resource","notify","$events","methods","on","event","callback","isArray","ev","isPlainObject","events","create","callbacks","queue","push","once","off","args","apply","arguments","entry","findIndex","cb","splice","emit","Promise","resolve","next","shift","result","res","console","hasListeners","delegate","target","typeCheckers","Boolean","isBoolean","Number","isNumber","String","isString","Date","isDate","Array","isObject","RegExp","isRegExp","Function","toBoolean","toNumber","toString","toDate","toArray","split","asArray","toObject","toRegExp","typeConverters","isMatchingType","types","type","convertType","converter","hasResource","schema","getResource","defaults","parent","defs","startsWith","getMemberResource","pickBy","includes","loggedDeprecations","Set","deprecate","message","has","add","warn","mixins","EmitterMixin","inject","provide","providesData","$dataComponent","appState","overrides","computed","sourceSchema","meta","verbs","$verbs","$views","isPopulated","$isPopulated","locale","rootComponent","$root","$children","$schemaComponent","routeComponent","$routeComponent","isForm","isView","dataComponent","$sourceComponent","$resourceComponent","$dialogComponent","$panelComponent","tabComponent","$tabComponent","parentSchemaComponent","$parent","parentRouteComponent","parentFormComponent","rootData","beforeCreate","$uid","uid","getStore","store","setStore","$set","getChildStore","getSchemaValue","keyOrDataPath","default","def","call","converted","getLabel","labelize","getButtonAttributes","button","verb","class","text","getDragOptions","draggable","fallback","animation","disabled","handle","dragClass","chosenClass","ghostClass","fallbackClass","forceFallback","getQueryLink","hash","$route","shouldRender","showDialog","components","buttons","settings","width","height","clickToClose","reject","$modal","show","DitoComponent","promise","getResourcePath","resources","any","url","replace","params","entries","map","encodeURIComponent","join","sendRequest","method","internal","checkUser","isApiRequest","ensureUser","response","equals","users","fetchUser","cache","cacheParent","global","local","cacheKey","JSON","stringify","then","catch","assign","Error","load","formats","$router","filename","a","document","createElement","href","body","appendChild","click","removeChild","closeNotifications","setupSchemaFields","setupMethods","setupComputed","setupEvents","accessor","defineProperty","watch","handlers","$nextTick","expr","getComponentByName","$watch","addEvent","hyphenate","slice","emitEvent","parentHasListeners","getContext","emitSchemaEvent","creditcard","validate","isCreditCard","decimals","match","email","isEmail","hostname","isHostname","domain","isDomain","integer","max","min","password","range","required","nullish","isUrl","isTouched","isDirty","isValidated","isValid","errors","focus","blur","change","markDirty","input","resetValidation","clearErrors","rule","setting","validations","validator","addError","verify","addLabel","label","placeholder","$emit","showValidationErrors","getErrors","getSchemaAccessor","getStoreAccessor","uidMap","getUid","itemId","SchemaGraph","graph","references","subGraph","part","$settings","addSource","related","setSourceRelated","reference","getReferencePrefix","addRelation","relatedDataPath","nanoid","flatten","subKey","process","clipboard","source","relation","values","removeId","referenceId","flat","relateBy","refKey","revValue","typeComponents","unknownTypeReported","registerTypeComponent","getTypeComponent","allowNull","forEachSchema","schemas","tabs","forEachSchemaComponent","findSchemaComponent","someSchemaComponent","everySchemaComponent","resolveViews","unresolvedViews","isPromise","processView","routes","children","processRouteSchema","isSingleComponentView","processComponent","processSchemaComponents","level","getTypeOptions","processSchema","normalizePath","promises","all","processForms","form","forms","resolveForms","resolveForm","results","reduce","mapped","hasFormSchema","hasMultipleFormSchemas","getViewSchema","view","viewSchema","getViewEditPath","getFormSchemas","modifyForm","compact","fromEntries","getItemFormSchemaFromForms","getItemFormSchema","hasLabel","isCompact","isInlined","inlined","isNested","defaultNested","shouldOmitPadding","omitPadding","getDefaultValue","clone","ignoreMissingValue","typeOptions","excludeValue","hasLabels","checkComponents","some","setDefaults","processBefore","processSchemaData","computeValue","compute","Vue","cloneItem","schemaOnly","copy","orderKey","processData","processedData","wrapPrimitives","sort","b","id1","id2","processAfter","exclude","processValue","processComponents","getDataPath","componentSchema","componentDataPath","processItem","getForms","getFormSchemasForProcessing","forEach","tab","panel","getAllPanelSchemas","getNamedSchemas","descriptions","array","toSchema","camelize","getButtonSchemas","getType","schemaOrType","getSourceType","getPanelSchema","getPanelSchemas","panels","isObjectSource","isListSource","getItemId","getItemUid","ValidationMixin","props","single","parsedValue","focused","resolveTypeComponent","parse","$options","generateLabel","visible","defaultVisible","readonly","autofocus","clearable","autocomplete","attributes","nativeField","textField","listeners","getListeners","getValidations","rules","showClearButton","created","_register","beforeDestroy","_registerComponent","onFocus","onBlur","onInput","onChange","focusElement","element","$refs","$el","scrollIntoView","clear","extend","DitoMixin","resolveComponent","comp","resolveDitoComponent","TypeMixin","ctor","DitoUser","hasRole","roles","role","$schemaParentComponent","schemaComponents","mainSchemaComponent","_registerSchemaComponent","indexOf","SchemaParentMixin","concat","it","every","validateAll","verifyAll","ValidatorMixin","beforeRouteUpdate","to","from","beforeRouteChange","beforeRouteLeave","reload","routeRecord","matched","$vnode","routerViewDepth","isLastRoute","isLastUnnestedRoute","i","record","isNestedRoute","getRoutePath","breadcrumb","breadcrumbPrefix","param","doesMutate","destroyed","ok","isClosing","isFullRouteChange","window","confirm","cancel","templatePath","getChildPath","rootPath","getCommonPrefix","domHandlers","remove","domOn","handler","addEvents","DomMixin","pulldown","open","startTime","checkTime","mousedown","setPulldownOpen","mouseup","onPulldownMouseUp","onPulldownMouseDown","now","onPulldownSelect","isTransient","findItemIdIndex","getItemLabel","extended","asObject","getFormLabel","prefix","suffix","columns","hadLabel","parseFraction","dividend","divisor","parseFloat","isLoading","setLoading","updateRoot","updateView","registerLoading","ItemMixin","LoadingMixin","hasData","loadedData","linksToView","isCreating","transientNote","shouldLoad","getVerbs","paginationRange","paginate","amount","page","start","queryParams","setupData","save","saved","delete","deleted","clearData","setData","ensureData","reloadData","loadData","requestData","createData","handleRequest","err","onFilterErrors","isUnauthorizedError","isValidationError","status","loadingOptions","isInView","getPayloadData","submit","submitResource","onSuccess","onError","notifySuccess","notifyError","emitButtonEvent","dragging","onStartDrag","onEndDrag","oldIndex","newIndex","updateOrder","list","offset","TypeComponent","register","definition","asyncDataEntries","handleDataSchema","resolveCounter","asyncEntry","dependencyFunction","resolvedData","resolving","resolveData","DataMixin","hasOptions","selectedValue","convertValue","relate","hasOption","getValueForOption","filter","convert","getOptionForValue","selectedOption","processOptions","activeOptions","groupBy","optionLabel","getOptionKey","optionValue","searchFilter","search","debounce","debounceAsync","groupByLabel","groupByOptions","grouped","group","findOption","found","getLabelForOption","processRelate","ResourceMixin","wrappedPrimitives","unwrappingPrimitives","ignoreRouteChange","isReady","listData","unwrapListData","objectData","defaultQuery","defaultOrder","order","scope","defaultScope","total","scopes","first","column","defaultSort","direction","nestedMeta","buttonSchemas","render","creatable","editable","deletable","collapsible","collapsed","deep","newValue","oldValue","createItem","openSchemaComponent","removeItem","deleteItem","getSchemaComponent","opened","navigateToComponent","onComplete","getComponentsByDataPath","navigateToRouteComponent","callOnComplete","dataPathParts","formMeta","childRoutes","getPathWithParam","sourcePath","formRoute","redirect","flatRoutes","subRoutes","route","childRoute","filterComponents","operator","operators","dateFormat","day","month","year","getFiltersPanel","filters","proxy","parseFiltersData","getFiltersComponents","resetData","applyFilters","formatFiltersData","comps","getComponentsForFilter","json","filtersData","inputValue","parseInt","stepValue","step","Math","ceil","floor","formatFileSize","size","filesize","base","config","productionTip","use","VueRouter","VueModal","dynamic","VueNotifications","DitoAdmin","el","module","dito","hot","accept","merge","defaultFormats","normalizePaths","val","denormalizePath","login","logout","session","parentPath","collection","member","upload","headers","isAbsoluteUrl","querySelector","root","router","mode","linkActiveClass","linkExactActiveClass","DitoRoot","attrs","axios","baseURL","withCredentials","cors","credentials"],"mappings":"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,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEe;AACf;;AAEA;;AAEA,eAAe,YAAY;AAC3B;;AAEA;AACA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B;AACA,KAAK;AACL;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA,uBAAuB,2BAA2B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA,YAAY,uBAAuB;AACnC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC7Na;AACb,WAAW,mBAAO,CAAC,MAA4B;AAC/C,gBAAgB,mBAAO,CAAC,MAAyB;AACjD,eAAe,mBAAO,CAAC,MAAwB;AAC/C,aAAa,mBAAO,CAAC,MAA4B;AACjD,kCAAkC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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;ACjGgG;AACpC;AACL;;;AAGvD;AACgG;AAChG,IAAI,kBAAS,GAAG,kBAAU;AAC1B,EAAE,2CAAM;AACR,EAAE,qDAAM;AACR,EAAE,8DAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,+DAAS,Q;;;;;AClBxB;AACA;AAGe;AACbhjB,MAAI,GAAG;AACL,WAAO;AACLkjB,iBAAW,EAAE;AADR,KAAP;AAGD,GALY;;AAOblE,eAAa,GAAG;AACd,SAAK,MAAM;AAAEmE;AAAF,KAAX,IAAyB,KAAKD,WAA9B,EAA2C;AACzCC,YAAM;AACP;;AACD,SAAKD,WAAL,GAAmB,EAAnB;AACD,GAZY;;AAcbvf,SAAO,EAAE;AACPyf,SAAK,CAAC7D,OAAD,EAAUlY,IAAV,EAAgBgc,OAAhB,EAAyB;AAC5B,YAAMhe,MAAM,GAAGie,wBAAS,CACtB/D,OADsB,EAEtBlZ,0BAAQ,CAACgB,IAAD,CAAR,GAAiBA,IAAjB,GAAwB;AAAE,SAACA,IAAD,GAAQgc;AAAV,OAFF,CAAxB;AAIA,WAAKH,WAAL,CAAiB5e,IAAjB,CAAsBe,MAAtB;AACA,aAAOA,MAAP;AACD;;AARM;AAdI,CAAf,E;;ACuCA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA,oBADA;;AAGA;AACA;AACA;AADA;AAGA,GAPA;;AASA;AACA;AAAA;AAAA;AAAA,KADA;AAEA;AAAA;AAAA;AAAA;AAFA,GATA;;AAcA;AACA;AACA,uBADA;AAEA,uBAFA;AAGA;AAHA;AAKA,GApBA;;AAsBA;AACA;AACA;AACA,KAHA;;AAKA;AACA;AACA;;AAPA,GAtBA;;AAgCA;AACA;AAGA;AACA,GArCA;;AAuCA;AAGA;AACA;AACA;AACA;AACA;AACA,OALA;AAOA;AACA;AACA;AACA;AACA;AAXA;;AAaA;AACA;;AACA;AACA;AACA,OAFA,MAEA;AACA;AACA;AACA,KAPA,CAOA;AACA;AACA;;AACA;AACA,GAlEA;;AAoEA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA,0BADA;AAEA,sBAFA;AAGA,2BAHA;AAIA;AAJA,QAKA,IALA,KAKA,cALA;AAMA,mBACA,gDACA,MAFA,CAEA,OAFA,CAEA,aAFA,EAEA,MAFA;AAGA;AACA,uBADA;AAEA,sBAFA;AAGA,mBAHA;AAIA;AAJA,QAKA,IALA,KAKA,OALA;AAOA;AACA;AAAA;AAAA;;AACA;AAKA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA,KA7BA;;AA+BA;AACA;AACA,KAjCA;;AAmCA;AACA;AACA,KArCA;;AAuCA;AACA;AACA;AACA,4BADA;AAEA;AAFA,UAGA,wBAHA;AAIA;AACA;AACA;AACA,wBADA;AAEA;AAFA,WADA;AAKA;AACA;AADA,WALA;AAQA;AARA,SADA;AAWA;AACA,oBADA;AAEA;AAAA;AAAA;AAFA;AAXA;;AAgBA;AACA;AACA;AACA,0CADA;AAEA,2BAFA;AAGA;AAHA;;AAKA;AACA;AACA,WAFA,MAEA;AACA;AACA;AACA;AACA,SAZA,CAYA;AAAA;;AACA;AACA;AACA,yBADA;AAEA,yCAFA;AAGA;AAHA;;AAKA;AACA;AACA;;AACA;AACA;AACA;AACA,KAvFA;;AAyFA;AACA;AACA,KA3FA;;AA6FA;AACA;AACA;AACA,yCADA;AAEA;AAFA;;AAIA;AACA;AACA;AACA;AACA,OATA,CASA;AACA;AACA;AACA,KA1GA;;AA4GA;AACA;;AACA;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,KArHA;;AAuHA;AACA;AACA,KAzHA;;AA2HA;AACA;AACA,KA7HA;;AA+HA;AACA;AACA,KAjIA;;AAmIA;AACA;AAAA;AAAA;AACA;AACA,KAtIA;;AAwIA;AACA;AACA;AACA;;AAHA,MAxIA;;AA8IA;AACA;AACA,KAhJA;;AAkJA;AACA;AACA,KApJA;;AAsJA;AACA;AACA,KAxJA;;AA0JA;AACA;AACA,KA5JA;;AA8JA;AACA;AACA,KAhKA;;AAkKA;AACA;AACA;;AApKA,GA7CA;;AAoNA;AACA;;AACA;AAEA;AACA;AACA,GA1NA;;AA4NA;AACA;;AACA;AACA,GA/NA;;AAiOA;AACA;AACA,wCACA,yBADA,EACA,QADA,EACA,KADA;AAGA,KALA;;AAOA;AACA;AACA,KATA;;AAWA;AACA;AACA,KAbA;;AAeA;AACA;AACA,KAjBA;;AAmBA;AACA;AACA,KArBA;;AAuBA;AACA;AACA,KAzBA;;AA2BA;AACA;AACA,KA7BA;;AA+BA;AACA;AACA,KAjCA;;AAmCA;AACA;AACA,KArCA;;AAuCA;AACA;AACA,KAzCA;;AA2CA;AACA;AACA,KA7CA;;AA+CA;AACA;AACA,KAjDA;;AAmDA;AACA;AAEA;AAAA;AAAA;AAFA;;AAWA;AACA;AACA;AACA,KAlEA;;AAoEA;AACA;AACA,KAtEA;;AAwEA;AACA;AACA;AACA;AACA,KA5EA;;AA8EA;AACA;AACA;AACA;AACA,KAlFA;;AAoFA;AAAA;;AACA;AACA;AACA,KAvFA;;AAyFA;AAAA;AAAA;AAAA;;AACA;AAAA;AAAA;AACA;;AACA;AACA,4DACA,KADA,GAEA,oCACA,0BADA,GAEA,IAJA;AAKA,4BACA,+CADA,GAEA,mCACA,KADA,GAEA,OAJA;AAKA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;;AACA;AACA;AAEA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA,KA/HA;;AAiIA;AACA;AACA,KAnIA;;AAqIA;AACA;AACA;AACA;;AACA;AAGA,+CACA,uCADA,GAEA,QAFA;AAMA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AAIA;;AACA;AACA;;AACA;AACA,wGACA,YADA,EAEA;AACA;;AACA;AACA;;AACA,sBACA,QACA,oDAFA,EAGA;AACA;AACA;AACA;AACA;;AACA;AACA,eAfA,IAgBA;AAKA;AACA;AACA;;AAEA;AACA;;AAGA;;AACA;AACA,mCACA,oBADA,GAEA,uBAFA;AAGA;AACA;AACA;;AACA;AACA;;AACA;AACA;AACA;AACA,KA7MA;;AA+MA;AACA;AACA,qBADA;AAEA,kCAFA;AAGA;AAHA;AAKA,KArNA;;AAuNA;AAIA;AACA;AACA,KA7NA;;AA+NA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA,KAxOA;;AA0OA;AAIA;;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AACA;AACA;;AACA;AACA,KAzPA;;AA2PA;AAAA;AAAA;AAAA;AAAA;AACA,yBACA,WADA,EAEA,iBAFA,EAGA,SAHA,EAIA,aAJA,EAIA;AAGA,uBAHA;AAIA,kBAJA;AAKA;AALA,OAJA;AAYA,KAxQA;;AA0QA;AAAA;;AAGA;AACA,KA9QA;;AAgRA;AAAA;;AACA;;AAEA;AACA,KApRA;;AAsRA;AACA;AACA,KAxRA;;AA0RA;AACA;AACA,KA5RA;;AA8RA;AACA;;AACA;AACA;AACA,OAFA,MAEA;AACA;AACA;AACA,KArSA;;AAuSA;AACA;AAGA;AAAA;AAAA;AACA;AACA;AACA;AACA,OAPA,EAOA,EAPA;AAQA,KAhTA;;AAkTA;AACA,uFACA,8DADA,GAEA,0DAFA;AAGA,KAtTA;;AAwTA;AACA,iCACA,sEADA,EAEA,KAFA;AAIA,KA7TA;;AA+TA;AACA,iCACA,4DADA,EAEA,KAFA;AAIA,KApUA;;AAsUA;AACA;AACA;;AAxUA;AAjOA,I;;ACrKgY,CAAgB,oHAAG,EAAC,C;;;;;ACAlT;AACpC;AACL;AACc;;;AAGvE;AACgG;AAChG,IAAI,oBAAS,GAAG,kBAAU;AAC1B,EAAE,6CAAM;AACR,EAAE,uDAAM;AACR,EAAE,gEAAe;AACj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AAGA,KA3CA;;AA6CA;AACA;AACA;AACA;AACA,SAFA,MAEA;AACA;AACA;AACA,OANA,MAMA;AACA;AACA;AACA,KAvDA;;AAyDA;AACA;AACA;;AACA;AACA;AACA;AACA,WAFA,MAEA;AACA;AACA;AACA;AACA,OATA,MASA;AACA;AACA;AACA,KAtEA;;AAwEA;AACA;AACA,KA1EA;;AA4EA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;;AACA;AACA;AAAA;AAAA;AAAA;;AACA;AACA;AACA;;AACA;AACA;AAGA;AACA,WALA,MAKA;AACA;AACA;AACA,SAXA,MAWA;AACA;AACA,mCADA;AAEA,mCAFA;AAGA,+DAHA;AAIA,8DAJA;AAKA,yDALA;AAMA,sEANA;AAOA;AAPA,YASA,KATA,KASA,uCATA;AAUA;AACA,yBADA;AAEA,sCAFA;AAGA;AAHA;AAKA;AACA;AACA;AACA,KAjHA;;AAmHA;AAAA;;AACA;;AACA;AACA;AACA;AACA;;AAxHA,GAlFA;;AA6MA;AAEA,iCACA,GADA,CAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAFA,EAIA,MAJA,CAIA,YAJA;AAKA;AACA;;AArNA;;AAwNA;AACA;AACA,C;;ACjVgY,CAAgB,+GAAG,EAAC,C;;;;;ACAlT;AACpC;AACL;AACc;;;AAGvE;AACgG;AAChG,IAAI,oBAAS,GAAG,kBAAU;AAC1B,EAAE,wCAAM;AACR,EAAE,uDAAM;AACR,EAAE,gEAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,mEAAS,Q;;ACfxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC3Be,2CACb,QADa,EACH,SADG,EAEb,MAFa,EAEL,OAFK,EAGb,QAHa,EAGH,WAHG,EAIb,QAJa,EAIH,SAJG,EAKb,MALa,EAKL,QALK,EAMb,OANa,EAMJ,QANI,EAOb,QAPa,EAOH,WAPG,EAQb,MARa,EAQL,SARK,EA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","file":"dito-admin.common.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"1c25\");\n","var global = require('../internals/global');\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a constructor');\n};\n","'use strict';\n// https://github.com/tc39/proposal-iterator-helpers\nvar $ = require('../internals/export');\nvar $some = require('../internals/async-iterator-iteration').some;\n\n$({ target: 'AsyncIterator', proto: true, real: true, forced: true }, {\n some: function some(fn) {\n return $some(this, fn);\n }\n});\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoSchemaInlined.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"3873d3e6\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-tabs{margin-left:auto}.dito-tabs a{display:block;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;background:#c7c7c7;padding:11px 12px;margin-left:6px;border-top-left-radius:4px;border-top-right-radius:4px}.dito-tabs a:hover{background:#fff}.dito-tabs a.dito-active,.dito-tabs a:active{background:#ededed}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TypeError = global.TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoFormNested.vue?vue&type=style&index=0&lang=sass&\"","var global = require('../internals/global');\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar Object = global.Object;\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof Object ? ObjectPrototype : null;\n};\n","module.exports = false;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-errors{position:absolute;z-index:1}.dito-errors ul{margin-top:1px;color:#ff3860}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array<StyleObjectPart>\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n// tags it will allow on a page\nvar isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase())\n\nexport default function addStylesClient (parentId, list, _isProduction, _options) {\n isProduction = _isProduction\n\n options = _options || {}\n\n var styles = listToStyles(parentId, list)\n addStylesToDom(styles)\n\n return function update (newList) {\n var mayRemove = []\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var domStyle = stylesInDom[item.id]\n domStyle.refs--\n mayRemove.push(domStyle)\n }\n if (newList) {\n styles = listToStyles(parentId, newList)\n addStylesToDom(styles)\n } else {\n styles = []\n }\n for (var i = 0; i < mayRemove.length; i++) {\n var domStyle = mayRemove[i]\n if (domStyle.refs === 0) {\n for (var j = 0; j < domStyle.parts.length; j++) {\n domStyle.parts[j]()\n }\n delete stylesInDom[domStyle.id]\n }\n }\n }\n}\n\nfunction addStylesToDom (styles /* Array<StyleObject> */) {\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var domStyle = stylesInDom[item.id]\n if (domStyle) {\n domStyle.refs++\n for (var j = 0; j < domStyle.parts.length; j++) {\n domStyle.parts[j](item.parts[j])\n }\n for (; j < item.parts.length; j++) {\n domStyle.parts.push(addStyle(item.parts[j]))\n }\n if (domStyle.parts.length > item.parts.length) {\n domStyle.parts.length = item.parts.length\n }\n } else {\n var parts = []\n for (var j = 0; j < item.parts.length; j++) {\n parts.push(addStyle(item.parts[j]))\n }\n stylesInDom[item.id] = { id: item.id, refs: 1, parts: parts }\n }\n }\n}\n\nfunction createStyleElement () {\n var styleElement = document.createElement('style')\n styleElement.type = 'text/css'\n head.appendChild(styleElement)\n return styleElement\n}\n\nfunction addStyle (obj /* StyleObjectPart */) {\n var update, remove\n var styleElement = document.querySelector('style[' + ssrIdKey + '~=\"' + obj.id + '\"]')\n\n if (styleElement) {\n if (isProduction) {\n // has SSR styles and in production mode.\n // simply do nothing.\n return noop\n } else {\n // has SSR styles but in dev mode.\n // for some reason Chrome can't handle source map in server-rendered\n // style tags - source maps in <style> only works if the style tag is\n // created and inserted dynamically. So we remove the server rendered\n // styles and inject new ones.\n styleElement.parentNode.removeChild(styleElement)\n }\n }\n\n if (isOldIE) {\n // use singleton mode for IE9.\n var styleIndex = singletonCounter++\n styleElement = singletonElement || (singletonElement = createStyleElement())\n update = applyToSingletonTag.bind(null, styleElement, styleIndex, false)\n remove = applyToSingletonTag.bind(null, styleElement, styleIndex, true)\n } else {\n // use multi-style-tag mode in all other cases\n styleElement = createStyleElement()\n update = applyToTag.bind(null, styleElement)\n remove = function () {\n styleElement.parentNode.removeChild(styleElement)\n }\n }\n\n update(obj)\n\n return function updateStyle (newObj /* StyleObjectPart */) {\n if (newObj) {\n if (newObj.css === obj.css &&\n newObj.media === obj.media &&\n newObj.sourceMap === obj.sourceMap) {\n return\n }\n update(obj = newObj)\n } else {\n remove()\n }\n }\n}\n\nvar replaceText = (function () {\n var textStore = []\n\n return function (index, replacement) {\n textStore[index] = replacement\n return textStore.filter(Boolean).join('\\n')\n }\n})()\n\nfunction applyToSingletonTag (styleElement, index, remove, obj) {\n var css = remove ? '' : obj.css\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = replaceText(index, css)\n } else {\n var cssNode = document.createTextNode(css)\n var childNodes = styleElement.childNodes\n if (childNodes[index]) styleElement.removeChild(childNodes[index])\n if (childNodes.length) {\n styleElement.insertBefore(cssNode, childNodes[index])\n } else {\n styleElement.appendChild(cssNode)\n }\n }\n}\n\nfunction applyToTag (styleElement, obj) {\n var css = obj.css\n var media = obj.media\n var sourceMap = obj.sourceMap\n\n if (media) {\n styleElement.setAttribute('media', media)\n }\n if (options.ssrId) {\n styleElement.setAttribute(ssrIdKey, obj.id)\n }\n\n if (sourceMap) {\n // https://developer.chrome.com/devtools/docs/javascript-debugging\n // this makes source maps inside style tags work properly in Chrome\n css += '\\n/*# sourceURL=' + sourceMap.sources[0] + ' */'\n // http://stackoverflow.com/a/26603875\n css += '\\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */'\n }\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild)\n }\n styleElement.appendChild(document.createTextNode(css))\n }\n}\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar create = require('../internals/object-create');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefineAll = require('../internals/redefine-all');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar InternalStateModule = require('../internals/internal-state');\nvar getBuiltIn = require('../internals/get-built-in');\nvar getMethod = require('../internals/get-method');\nvar AsyncIteratorPrototype = require('../internals/async-iterator-prototype');\n\nvar Promise = getBuiltIn('Promise');\n\nvar ASYNC_ITERATOR_PROXY = 'AsyncIteratorProxy';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ASYNC_ITERATOR_PROXY);\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (nextHandler, IS_ITERATOR) {\n var AsyncIteratorProxy = function AsyncIterator(state) {\n state.type = ASYNC_ITERATOR_PROXY;\n state.next = aCallable(state.iterator.next);\n state.done = false;\n state.ignoreArgument = !IS_ITERATOR;\n setInternalState(this, state);\n };\n\n AsyncIteratorProxy.prototype = redefineAll(create(AsyncIteratorPrototype), {\n next: function next(arg) {\n var that = this;\n var hasArgument = !!arguments.length;\n return new Promise(function (resolve) {\n var state = getInternalState(that);\n var args = hasArgument ? [state.ignoreArgument ? undefined : arg] : IS_ITERATOR ? [] : [undefined];\n state.ignoreArgument = false;\n resolve(state.done ? { done: true, value: undefined } : anObject(call(nextHandler, state, Promise, args)));\n });\n },\n 'return': function (value) {\n var that = this;\n return new Promise(function (resolve, reject) {\n var state = getInternalState(that);\n var iterator = state.iterator;\n state.done = true;\n var $$return = getMethod(iterator, 'return');\n if ($$return === undefined) return resolve({ done: true, value: value });\n Promise.resolve(call($$return, iterator, value)).then(function (result) {\n anObject(result);\n resolve({ done: true, value: value });\n }, reject);\n });\n },\n 'throw': function (value) {\n var that = this;\n return new Promise(function (resolve, reject) {\n var state = getInternalState(that);\n var iterator = state.iterator;\n state.done = true;\n var $$throw = getMethod(iterator, 'throw');\n if ($$throw === undefined) return reject(value);\n resolve(call($$throw, iterator, value));\n });\n }\n });\n\n if (!IS_ITERATOR) {\n createNonEnumerableProperty(AsyncIteratorProxy.prototype, TO_STRING_TAG, 'Generator');\n }\n\n return AsyncIteratorProxy;\n};\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-disabled.dito-markup button,.dito-markup:disabled button{opacity:.6;pointer-events:none}.dito-markup{border:1px solid #c7c7c7;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:3px 6px;background:#fff}.dito-has-errors.dito-markup{border-color:#ff3860}.dito-disabled.dito-markup,.dito-markup:disabled{color:grey;pointer-events:none;cursor:text}.dito-markup{-webkit-appearance:none;-moz-appearance:none;appearance:none}.dito-markup::-webkit-input-placeholder{color:grey}.dito-markup::-moz-placeholder{color:grey}.dito-markup::placeholder{color:grey}.dito-focus.dito-markup,.dito-focus.dito-markup .dito-inherit-focus,.dito-markup:focus,.dito-markup:focus-within,.dito-markup:focus-within .dito-inherit-focus,.dito-markup:focus .dito-inherit-focus{border-color:#3898ff}.dito-markup .dito-resize{top:0;left:0;margin:auto;content:\\\"\\\";background:currentColor;-webkit-mask:none no-repeat center content-box;mask:none no-repeat center content-box;-webkit-mask-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' preserveAspectRatio='xMinYMid' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 22L22 8M16 22l6-6'/%3E%3C/svg%3E\\\");mask-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' preserveAspectRatio='xMinYMid' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 22L22 8M16 22l6-6'/%3E%3C/svg%3E\\\")}.dito-markup{position:relative}.dito-markup .dito-resize{position:absolute;top:unset;left:unset;right:0;bottom:0;width:1em;height:1em}.dito-markup .ProseMirror{height:100%;outline:none}.dito-markup .dito-markup-editor{overflow-y:scroll;margin-right:-6px;padding-right:6px}.dito-markup .dito-buttons-toolbar{margin:3px 0}.dito-markup blockquote,.dito-markup h1,.dito-markup h2,.dito-markup h3,.dito-markup ol,.dito-markup p,.dito-markup pre,.dito-markup ul{margin:1rem 0}.dito-markup blockquote:first-child,.dito-markup h1:first-child,.dito-markup h2:first-child,.dito-markup h3:first-child,.dito-markup ol:first-child,.dito-markup p:first-child,.dito-markup pre:first-child,.dito-markup ul:first-child{margin-top:0}.dito-markup blockquote:last-child,.dito-markup h1:last-child,.dito-markup h2:last-child,.dito-markup h3:last-child,.dito-markup ol:last-child,.dito-markup p:last-child,.dito-markup pre:last-child,.dito-markup ul:last-child{margin-bottom:0}.dito-markup h1,.dito-markup h2,.dito-markup h3{font-weight:700}.dito-markup h1{font-size:1.4rem}.dito-markup h2{font-size:1.2rem}.dito-markup ul{list-style:disc}.dito-markup code{font-family:Menlo,Consolas,Monaco,Vera Mono,Andale Mono,Ubuntu Mono,monospace}.dito-markup pre{padding:.7rem 1rem;border-radius:4px;background:#2e2e2e;color:#fff;overflow-x:auto}.dito-markup pre code{display:block}.dito-markup p code{display:inline-block;padding:0 .3rem;border-radius:4px;background:#e0e0e0}.dito-markup a{pointer-events:none;cursor:default;color:#00f;text-decoration:underline}.dito-markup ol,.dito-markup ul{padding-left:2rem}.dito-markup li>ol,.dito-markup li>p,.dito-markup li>ul{margin:0}.dito-markup blockquote{border-left:3px solid #e0e0e0;padding-left:1rem;font-style:italic}.dito-markup blockquote p{margin:0}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoRoot.vue?vue&type=style&index=0&lang=sass&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-checkbox{height:2em;line-height:2em;display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw TypeError(String(argument) + ' is not an object');\n};\n","'use strict';\n// https://github.com/tc39/proposal-iterator-helpers\nvar $ = require('../internals/export');\nvar apply = require('../internals/function-apply');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar createIteratorProxy = require('../internals/iterator-create-proxy');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar IteratorProxy = createIteratorProxy(function (args) {\n var iterator = this.iterator;\n var filterer = this.filterer;\n var next = this.next;\n var result, done, value;\n while (true) {\n result = anObject(apply(next, iterator, args));\n done = this.done = !!result.done;\n if (done) return;\n value = result.value;\n if (callWithSafeIterationClosing(iterator, filterer, value)) return value;\n }\n});\n\n$({ target: 'Iterator', proto: true, real: true, forced: true }, {\n filter: function filter(filterer) {\n return new IteratorProxy({\n iterator: anObject(this),\n filterer: aCallable(filterer)\n });\n }\n});\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoLabel.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"67ba103e\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeCode.vue?vue&type=style&index=0&lang=sass&\"","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\n// https://github.com/tc39/proposal-iterator-helpers\nvar $ = require('../internals/export');\nvar apply = require('../internals/function-apply');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar createIteratorProxy = require('../internals/iterator-create-proxy');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar IteratorProxy = createIteratorProxy(function (args) {\n var iterator = this.iterator;\n var result = anObject(apply(this.next, iterator, args));\n var done = this.done = !!result.done;\n if (!done) return callWithSafeIterationClosing(iterator, this.mapper, result.value);\n});\n\n$({ target: 'Iterator', proto: true, real: true, forced: true }, {\n map: function map(mapper) {\n return new IteratorProxy({\n iterator: anObject(this),\n mapper: aCallable(mapper)\n });\n }\n});\n","'use strict';\n// https://github.com/tc39/proposal-iterator-helpers\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar iterate = require('../internals/iterate');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\n\nvar TypeError = global.TypeError;\n\n$({ target: 'Iterator', proto: true, real: true, forced: true }, {\n reduce: function reduce(reducer /* , initialValue */) {\n anObject(this);\n aCallable(reducer);\n var noInitial = arguments.length < 2;\n var accumulator = noInitial ? undefined : arguments[1];\n iterate(this, function (value) {\n if (noInitial) {\n noInitial = false;\n accumulator = value;\n } else {\n accumulator = reducer(accumulator, value);\n }\n }, { IS_ITERATOR: true });\n if (noInitial) throw TypeError('Reduce of empty iterator with no initial value');\n return accumulator;\n }\n});\n","var call = require('../internals/function-call');\nvar AsyncFromSyncIterator = require('../internals/async-from-sync-iterator');\nvar anObject = require('../internals/an-object');\nvar getIterator = require('../internals/get-iterator');\nvar getMethod = require('../internals/get-method');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ASYNC_ITERATOR = wellKnownSymbol('asyncIterator');\n\nmodule.exports = function (it, usingIterator) {\n var method = arguments.length < 2 ? getMethod(it, ASYNC_ITERATOR) : usingIterator;\n return method ? anObject(call(method, it)) : new AsyncFromSyncIterator(getIterator(it));\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar create = require('../internals/object-create');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefineAll = require('../internals/redefine-all');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar InternalStateModule = require('../internals/internal-state');\nvar getMethod = require('../internals/get-method');\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\n\nvar ITERATOR_PROXY = 'IteratorProxy';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ITERATOR_PROXY);\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (nextHandler, IS_ITERATOR) {\n var IteratorProxy = function Iterator(state) {\n state.type = ITERATOR_PROXY;\n state.next = aCallable(state.iterator.next);\n state.done = false;\n state.ignoreArg = !IS_ITERATOR;\n setInternalState(this, state);\n };\n\n IteratorProxy.prototype = redefineAll(create(IteratorPrototype), {\n next: function next(arg) {\n var state = getInternalState(this);\n var args = arguments.length ? [state.ignoreArg ? undefined : arg] : IS_ITERATOR ? [] : [undefined];\n state.ignoreArg = false;\n var result = state.done ? undefined : call(nextHandler, state, args);\n return { done: state.done, value: result };\n },\n 'return': function (value) {\n var state = getInternalState(this);\n var iterator = state.iterator;\n state.done = true;\n var $$return = getMethod(iterator, 'return');\n return { done: true, value: $$return ? anObject(call($$return, iterator, value)).value : value };\n },\n 'throw': function (value) {\n var state = getInternalState(this);\n var iterator = state.iterator;\n state.done = true;\n var $$throw = getMethod(iterator, 'throw');\n if ($$throw) return call($$throw, iterator, value);\n throw value;\n }\n });\n\n if (!IS_ITERATOR) {\n createNonEnumerableProperty(IteratorProxy.prototype, TO_STRING_TAG, 'Generator');\n }\n\n return IteratorProxy;\n};\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeNumber.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"321b66e6\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeSwitch.vue?vue&type=style&index=0&lang=sass&\"","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeCheckbox.vue?vue&type=style&index=0&lang=sass&\"","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar speciesConstructor = require('../internals/species-constructor');\nvar iterate = require('../internals/iterate');\n\n// `Set.prototype.difference` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: true }, {\n difference: function difference(iterable) {\n var set = anObject(this);\n var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(set);\n var remover = aCallable(newSet['delete']);\n iterate(iterable, function (value) {\n call(remover, newSet, value);\n });\n return newSet;\n }\n});\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n var getCurrentScript = require('@soda/get-current-script')\n currentScript = getCurrentScript()\n\n // for backward compatibility, because previously we directly included the polyfill\n if (!('currentScript' in document)) {\n Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n }\n }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_public_path__ = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dito-root\"},[_c('modals-container'),_c('notifications',{ref:\"notifications\",staticClass:\"dito-notifications\",attrs:{\"position\":\"top right\",\"classes\":\"dito-notification\"}}),_c('dito-menu'),_c('main',{staticClass:\"dito-page dito-scroll-parent\"},[_c('dito-header',{attrs:{\"spinner\":_vm.options.spinner,\"isLoading\":_vm.isLoading}},[(_vm.user)?_c('dito-account'):(_vm.allowLogin)?_c('a',{staticClass:\"dito-login\",on:{\"click\":function($event){return _vm.rootComponent.login()}}},[_c('span',[_vm._v(\"Login\")])]):_vm._e()],1),_c('router-view')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\n title: '',\n routeComponents: [],\n user: null,\n loadCache: {}, // See TypeMixin.load()\n activeLabel: null,\n clipboardData: null\n}\n","import {\n isInteger, parseDataPath, getValueAtDataPath, normalizeDataPath\n} from '@ditojs/utils'\n\nexport function appendDataPath(dataPath, token) {\n return dataPath\n ? `${dataPath}/${token}`\n : token\n}\n\nexport function parseParentDataPath(dataPath) {\n const path = parseDataPath(dataPath)\n path?.pop()\n return path\n}\n\nexport function getParentDataPath(dataPath) {\n return normalizeDataPath(parseParentDataPath(dataPath))\n}\n\nexport function parseItemDataPath(dataPath, nested = false) {\n return nested ? parseParentDataPath(dataPath) : parseDataPath(dataPath)\n}\n\nexport function getItemDataPath(dataPath, nested = false) {\n return normalizeDataPath(parseItemDataPath(dataPath, nested))\n}\n\nexport function parseParentItemDataPath(dataPath, nested = false) {\n const path = parseItemDataPath(dataPath, nested)\n if (path) {\n // Remove the parent token. If it's a number, then we're dealing with an\n // array and need to remove more tokens until we meet the actual parent:\n let token\n do {\n token = path.pop()\n } while (token != null && isInteger(+token))\n // If the removed token is valid, we can get the parent data:\n if (token != null) {\n return path\n }\n }\n return null\n}\n\nexport function getParentItemDataPath(dataPath, nested = false) {\n return normalizeDataPath(parseParentItemDataPath(dataPath, nested))\n}\n\nexport function getItem(rootItem, dataPath, nested = false) {\n const path = parseItemDataPath(dataPath, nested)\n return path ? getValueAtDataPath(rootItem, path) : null\n}\n\nexport function getParentItem(rootItem, dataPath, nested = false) {\n const path = parseParentItemDataPath(dataPath, nested)\n return path ? getValueAtDataPath(rootItem, path) : null\n}\n\nexport function getLastDataPathToken(dataPath) {\n const path = parseDataPath(dataPath)\n return path[path.length - 1]\n}\n\nexport function getLastDataPathName(dataPath) {\n const token = getLastDataPathToken(dataPath)\n return token == null || isInteger(+token) ? null : token\n}\n\nexport function getLastDataPathIndex(dataPath) {\n const token = getLastDataPathToken(dataPath)\n const index = token == null ? null : +token\n return isInteger(index) ? index : null\n}\n\nlet temporaryId = 0\nexport function setTemporaryId(data, idKey = 'id') {\n // Temporary ids are marked with a '@' at the beginning.\n data[idKey] = `@${++temporaryId}`\n}\n\nexport function isTemporaryId(id) {\n return /^@/.test(id)\n}\n\nexport function hasTemporaryId(data, idKey = 'id') {\n return isTemporaryId(data?.[idKey])\n}\n\nexport function isReference(data, idKey = 'id') {\n // Returns true if value is an object that holds nothing more than an id.\n return data?.[idKey] != null && Object.keys(data).length === 1\n}\n","import { isFunction } from '@ditojs/utils'\nimport {\n getItemDataPath, getParentItemDataPath, getParentItem, getItem,\n getLastDataPathName, getLastDataPathIndex\n} from '@/utils/data'\n\n// `DitoContext` instances are a thin wrapper around raw `context` objects,\n// which themselves actually inherit from the linked `component` instance, so\n// that they only need to provide the values that should be different than\n// in the underlying component. In order to not expose all fields from the\n// component, the wrapper is introduced:\n// Use WeakMap for the raw `context` objects, so we don't have to pollute the\n// actual `DitoContext` instance with it.\nconst contexts = new WeakMap()\n\nfunction get(context, key, defaultValue) {\n const object = contexts.get(context)\n const value = object[key]\n // If `object` explicitly sets the key to `undefined`, return it.\n return value !== undefined || object.hasOwnProperty(key)\n ? value\n : isFunction(defaultValue)\n ? defaultValue()\n : defaultValue\n}\n\nfunction set(context, key, value) {\n contexts.get(context)[key] = value\n}\n\nexport default class DitoContext {\n constructor(component, context) {\n // Use the provided params object / function, or create a new one:\n context = context\n ? (isFunction(context) ? context() : { ...context })\n : {}\n // If not explicitly set (to false), default to true so we don't fall back\n // to `component` for its value.\n context.nested ??= true\n context.component = component\n // Have `object` inherit from the `component` instance, so it can override\n // its values and still retrieve from it, and associate it with `this`\n // through `contexts` map:\n const object = Object.setPrototypeOf(context, component)\n contexts.set(this, object)\n }\n\n static get(component, context) {\n return context instanceof DitoContext\n ? context\n : new DitoContext(component, context)\n }\n\n // `nested` is `true` when the data-path points a value inside an item, and\n // `false` when it points to the item itself.\n get nested() {\n return get(this, 'nested', true)\n }\n\n get value() {\n return get(this, 'value', undefined)\n }\n\n get dataPath() {\n return get(this, 'dataPath', '')\n }\n\n get name() {\n return get(this, 'name', () => getLastDataPathName(this.dataPath))\n }\n\n get index() {\n return get(this, 'index', () => getLastDataPathIndex(this.dataPath))\n }\n\n get itemDataPath() {\n return getItemDataPath(this.dataPath, this.nested)\n }\n\n get parentItemDataPath() {\n return getParentItemDataPath(this.dataPath, this.nested)\n }\n\n get itemIndex() {\n return getLastDataPathIndex(this.itemDataPath)\n }\n\n get parentItemIndex() {\n return getLastDataPathIndex(this.parentItemDataPath)\n }\n\n get item() {\n // NOTE: While internally, we speak of `data`, in the API surface the\n // term `item` is used for the data that relates to editing objects:\n // If `data` isn't provided, we can determine it from rootData & dataPath:\n return get(this, 'data', () =>\n getItem(this.rootItem, this.dataPath, this.nested)\n )\n }\n\n // NOTE: `parentItem` isn't the closest data parent to `item`, it's the\n // closest parent that isn't an array, e.g. for relations or nested JSON\n // data. This is why the term `item` was chosen over `data`, e.g. VS the\n // use of `parentData` in server-sided validation, which is the closest\n // parent. If needed, we could expose this data here too, as we can do all\n // sorts of data processing with `rootData` and `dataPath`.\n get parentItem() {\n const parentItem =\n getParentItem(this.rootItem, this.dataPath, this.nested) || null\n return parentItem !== this.item ? parentItem : null\n }\n\n get rootItem() {\n return get(this, 'rootData', null)\n }\n\n get processedItem() {\n return get(this, 'processedData', null)\n }\n\n get clipboardItem() {\n return get(this, 'clipboardData', null)\n }\n\n get user() {\n return get(this, 'user', null)\n }\n\n get api() {\n return get(this, 'api', null)\n }\n\n get views() {\n return get(this, 'views', null)\n }\n\n get itemLabel() {\n return get(this, 'itemLabel', null)\n }\n\n get formLabel() {\n return get(this, 'formLabel', null)\n }\n\n // TODO: Remove exposure since the associated component doesn't always exist,\n // e.g. nested forms in `processData()`. Instead, bind component to `this`\n // only where available.\n get component() {\n return get(this, 'component', null)\n }\n\n // TODO: Add `componentSchema` getter for the schema of the current component,\n // even when the component isn't actually instantiated. Consider adding\n // `sourceSchema` as well?\n\n // TODO: Fix unclear naming: Which schema is this, that of the component or of\n // its parent? Isn't exposing `formComponent` and `viewComponent` enough, once\n // we offer access to their components there through `getComponent()` & co. on\n // `DitoMixin` perhaps? Also, there could be a `tabComponent` getter for\n // schemas in tabs?\n get schemaComponent() {\n return get(this, 'schemaComponent', null)\n }\n\n get formComponent() {\n return get(this, 'formComponent', null)\n }\n\n get viewComponent() {\n return get(this, 'viewComponent', null)\n }\n\n get dialogComponent() {\n return get(this, 'dialogComponent', null)\n }\n\n get panelComponent() {\n return get(this, 'panelComponent', null)\n }\n\n get resourceComponent() {\n return get(this, 'resourceComponent', null)\n }\n\n get sourceComponent() {\n return get(this, 'sourceComponent', null)\n }\n\n // When used in OptionsMixin for `schema.options.value()`,\n // `schema.options.label()` and `schema.search.filter()` callbacks:\n get option() {\n return get(this, 'option', undefined)\n }\n\n get options() {\n return get(this, 'options', undefined)\n }\n\n // TODO: Rename this to `searchTerm` or `searchQuery`, to perhaps free `query`\n // for the actual `resourceComponent.query` object?\n get query() {\n return get(this, 'query', undefined)\n }\n\n // The error field is only populated in the context of buttons that send\n // requests, see `ResourceMixin.emitButtonEvent()`:\n get error() {\n return get(this, 'error', undefined)\n }\n\n get wasNotified() {\n return get(this, 'wasNotified', false)\n }\n\n // Helper Methods\n\n get request() {\n return options => this.component.request(options)\n }\n\n get format() {\n return (value, options) => this.component.format(value, options)\n }\n\n get navigate() {\n return location => this.component.navigate(location)\n }\n\n get download() {\n return options => this.component.download(options)\n }\n\n get getResourceUrl() {\n return resource => this.component.getResourceUrl(resource)\n }\n\n get notify() {\n return options => {\n this.component.notify(options)\n set(this, 'wasNotified', true)\n }\n }\n}\n","import { isArray, isPlainObject } from '@ditojs/utils'\n\n// @vue/component\nexport default {\n data() {\n return {\n $events: null\n }\n },\n\n methods: {\n // Async versions of Vue's $on() and $off() methods that keep track of the\n // events added / removed, and provide a hasListeners() method that checks\n // if the component has listeners for a given event.\n\n // Also adds proper handling of async events, including a async emit() that\n // deals with proper event queueing.\n on(event, callback) {\n if (isArray(event)) {\n for (const ev of event) {\n this.on(ev, callback)\n }\n } else if (isPlainObject(event)) {\n for (const key in event) {\n this.on(key, event[key])\n }\n } else {\n const events = this.$events || (this.$events = Object.create(null))\n const { callbacks } = events[event] || (events[event] = {\n callbacks: [],\n queue: []\n })\n callbacks.push(callback)\n }\n return this\n },\n\n once(event, callback) {\n const on = (...args) => {\n this.off(event, on)\n return callback.apply(this, args)\n }\n on.callback = callback // Needed for `off()`, see below.\n return this.on(event, on)\n },\n\n off(event, callback) {\n if (!arguments.length) {\n // Remove all events\n delete this.$events\n } else if (isArray(event)) {\n for (const ev of event) {\n this.off(ev, callback)\n }\n } else if (isPlainObject(event)) {\n for (const key in event) {\n this.off(key, event[key])\n }\n } else {\n // Remove specific event\n const entry = this.$events?.[event]\n if (entry) {\n if (!callback) {\n // Remove all handlers for this event\n delete this.$events[event]\n } else {\n // Remove a specific handler: find the index in callbacks\n const { callbacks } = entry\n const index = callbacks.findIndex(\n // Match `cb.callback` also, as used by `once()`, see above:\n cb => cb === callback || cb.callback === callback\n )\n if (index !== -1) {\n callbacks.splice(index, 1)\n }\n }\n }\n }\n return this\n },\n\n emit(event, ...args) {\n // Only queue event if there actually are listeners for it.\n const entry = this.$events?.[event]\n if (entry) {\n const { queue, callbacks } = entry\n return new Promise(resolve => {\n const next = async () => {\n // Emit the next event in the queue with its params.\n // Note that it only gets removed once `next()` is called.\n const entry = queue.shift()\n if (entry) {\n let result\n for (const callback of callbacks) {\n try {\n const res = await callback.apply(this, entry.args)\n if (res !== undefined) {\n result = res\n }\n } catch (error) {\n console.error(\n `Error during event handler for '${event}':`, error\n )\n }\n }\n // Resolve the promise that was added to the queue for the event\n // that was just completed by the wrapper that called `next()`\n entry.resolve(result)\n next()\n }\n }\n queue.push({ args, resolve })\n // For new queues (= only one entry) emit the first event immediately,\n // to get the queue running.\n if (queue.length === 1) {\n next()\n }\n })\n }\n },\n\n // Checks if the component has listeners for a given event type:\n hasListeners(event) {\n if (isArray(event)) {\n for (const ev of event) {\n if (!this.hasListeners(ev)) {\n return false\n }\n }\n return event.length > 0\n } else {\n return !!this.$events?.[event]\n }\n },\n\n delegate(event, target) {\n if (target) {\n if (isArray(event)) {\n for (const ev of event) {\n this.delegate(ev, target)\n }\n } else {\n this.on(event, (...args) => target.emit(event, ...args))\n }\n }\n return this\n }\n }\n}\n","import {\n isArray, isObject, isString, isBoolean, isNumber, isFunction, isDate,\n isRegExp, asArray\n} from '@ditojs/utils'\n\nconst typeCheckers = {\n Boolean: isBoolean,\n Number: isNumber,\n String: isString,\n Date: isDate,\n Array: isArray,\n Object: isObject,\n RegExp: isRegExp,\n Function: isFunction\n}\n\n// Declare these separately from the `typeConverters` object, to prevent\n// Babel issues with `Object` overriding the global `Object`:\nconst toBoolean = value => !!value\nconst toNumber = value => +value\nconst toString = value => String(value)\n\nconst toDate = value => isDate(value)\n ? value\n : new Date(value)\n\nconst toArray = value => isArray(value)\n ? value\n : isString(value)\n ? value.split(',')\n : asArray(value)\n\nconst toObject = value => isObject(value)\n ? value\n // If a Object is expected but a Boolean provide, convert to an empty\n // object. Used by `creatable` & co, that can be both.\n : value === true\n ? {}\n : null\n\nconst toRegExp = value => isRegExp(value)\n ? value\n : new RegExp(value)\n\nconst typeConverters = {\n Boolean: toBoolean,\n Number: toNumber,\n String: toString,\n Date: toDate,\n Array: toArray,\n Object: toObject,\n RegExp: toRegExp\n}\n\nexport function isMatchingType(types, value) {\n // See if any of the expect types match, return immediately if they do:\n if (types && value != null) {\n for (const type of types) {\n if (typeCheckers[type.name]?.(value)) {\n return true\n }\n }\n }\n return false\n}\n\nexport function convertType(type, value) {\n const converter = type && typeConverters[type.name || type]\n return converter ? converter(value) : value\n}\n","import { isObject, isString, pickBy } from '@ditojs/utils'\n\nexport function hasResource(schema) {\n return !!getResource(schema.resource)\n}\n\nexport function getResource(resource, defaults = {}) {\n const { parent, ...defs } = defaults\n resource = isObject(resource) ? { ...defs, ...resource }\n : isString(resource) ? { ...defs, path: resource }\n : null\n // Only set parent if path doesn't start with '/', so relative URLs are\n // dealt with correctly.\n if (\n resource &&\n parent !== undefined &&\n resource.parent === undefined &&\n !resource.path?.startsWith('/')\n ) {\n resource.parent = parent\n if (!resource.path) {\n resource.path = '.'\n }\n }\n return resource\n}\n\nexport function getMemberResource(id, resource) {\n return id != null && resource?.type === 'collection'\n ? {\n type: 'member',\n ...pickBy(\n resource,\n (value, key) => ['method', 'path', 'parent'].includes(key)\n ),\n id: `${id}`\n }\n : null\n}\n","const loggedDeprecations = new Set()\n\nexport function deprecate(message) {\n // Only log deprecation messages once.\n if (!loggedDeprecations.has(message)) {\n loggedDeprecations.add(message)\n console.warn(message)\n }\n}\n","import appState from '@/appState'\nimport DitoComponent from '@/DitoComponent'\nimport DitoContext from '@/DitoContext'\nimport EmitterMixin from './EmitterMixin'\nimport { isMatchingType, convertType } from '@/utils/type'\nimport { getResource, getMemberResource } from '@/utils/resource'\nimport { deprecate } from '@/utils/deprecate'\nimport {\n isObject, isArray, isString, isFunction, asArray, equals,\n getValueAtDataPath, labelize, hyphenate, format\n} from '@ditojs/utils'\n\n// @vue/component\nexport default {\n mixins: [EmitterMixin],\n\n inject: [\n 'api',\n '$verbs',\n '$views',\n '$isPopulated',\n '$schemaComponent',\n '$routeComponent',\n '$dataComponent',\n '$sourceComponent',\n '$resourceComponent',\n '$dialogComponent',\n '$panelComponent',\n '$tabComponent'\n ],\n\n provide() {\n return this.providesData\n ? { $dataComponent: () => this }\n : {}\n },\n\n data() {\n return {\n appState,\n overrides: null // See accessor.js\n }\n },\n\n computed: {\n sourceSchema() {\n return this.meta?.schema\n },\n\n user() {\n return appState.user\n },\n\n // $verbs, $verbs and $isPopulated are defined as functions, to preserve\n // reactiveness across provide/inject.\n // See: https://github.com/vuejs/vue/issues/7017#issuecomment-480906691\n verbs() {\n return this.$verbs()\n },\n\n views() {\n return this.$views()\n },\n\n isPopulated() {\n return this.$isPopulated()\n },\n\n locale() {\n return this.api.locale\n },\n\n context() {\n return new DitoContext(this, { nested: false })\n },\n\n rootComponent() {\n return this.$root.$children[0]\n },\n\n schemaComponent() {\n // Use computed properties as links to injects, so DitoSchema can\n // override the property and return `this` instead of the parent.\n return this.$schemaComponent()\n },\n\n routeComponent() {\n // Use computed properties as links to injects, so RouteMixin can\n // override the property and return `this` instead of the parent.\n return this.$routeComponent()\n },\n\n formComponent() {\n const component = this.routeComponent\n return component?.isForm ? component : null\n },\n\n viewComponent() {\n const component = this.routeComponent\n return component?.isView ? component : null\n },\n\n // Returns the first route component in the chain of parents, including\n // this current component, that is linked to a resource (and thus loads its\n // own data and doesn't hold nested data).\n dataComponent() {\n return this.providesData ? this : this.$dataComponent()\n },\n\n sourceComponent() {\n return this.$sourceComponent()\n },\n\n resourceComponent() {\n return this.$resourceComponent()\n },\n\n dialogComponent() {\n return this.$dialogComponent()\n },\n\n panelComponent() {\n return this.$panelComponent()\n },\n\n tabComponent() {\n return this.$tabComponent()\n },\n\n parentSchemaComponent() {\n return this.schemaComponent?.$parent.schemaComponent\n },\n\n parentRouteComponent() {\n return this.routeComponent?.$parent.routeComponent\n },\n\n parentFormComponent() {\n return this.formComponent?.$parent.formComponent\n },\n\n // Returns the data of the first route component in the chain of parents\n // that loads its own data from an associated API resource.\n rootData() {\n return this.dataComponent?.data\n }\n },\n\n beforeCreate() {\n this.$uid = ++uid\n },\n\n methods: {\n // The state of components is only available during the life-cycle of a\n // component. Some information we need available longer than that, e.g.\n // `query` & `total` on TypeList, so that when the user navigates back from\n // editing an item in the list, the state of the list is still the same.\n // We can't store this in `data`, as this is already the pure data from the\n // API server. That's what the `store` is for: Memory that's available as\n // long as the current editing path is still valid. For type components,\n // this memory is provided by the parent, see RouteMixin and DitoPane.\n getStore(key) {\n return this.store[key]\n },\n\n setStore(key, value) {\n return this.$set(this.store, key, value)\n },\n\n getChildStore(key) {\n return this.getStore(key) || this.setStore(key, {})\n },\n\n getSchemaValue(\n keyOrDataPath,\n { type, default: def, schema = this.schema, callback = true } = {}\n ) {\n const types = type && asArray(type)\n // For performance reasons, data-paths in `keyOrDataPath` can only be\n // provided in in array format here:\n let value = schema\n ? isArray(keyOrDataPath)\n ? getValueAtDataPath(schema, keyOrDataPath, () => undefined)\n : schema[keyOrDataPath]\n : undefined\n\n if (value === undefined && def !== undefined) {\n if (callback && isFunction(def) && !isMatchingType(types, def)) {\n // Support `default()` functions for any type except `Function`:\n def = def.call(this, this.context)\n }\n return def\n }\n\n if (isMatchingType(types, value)) {\n return value\n }\n // Any schema value handled through `getSchemaValue()` can provide\n // a function that's resolved when the value is evaluated:\n if (callback && isFunction(value)) {\n value = value.call(this, this.context)\n }\n // Now finally see if we can convert to the expect types.\n if (types && value != null && !isMatchingType(types, value)) {\n for (const type of types) {\n const converted = convertType(type, value)\n if (converted !== value) {\n return converted\n }\n }\n }\n return value\n },\n\n getLabel(schema, name) {\n return schema\n ? this.getSchemaValue('label', { type: String, schema }) ||\n labelize(name || schema.name)\n : labelize(name) || ''\n },\n\n labelize,\n\n getButtonAttributes(name, button) {\n const verb = this.verbs[name] || name\n return {\n class: `dito-button-${verb}`,\n title: button?.text || labelize(verb)\n }\n },\n\n getDragOptions(draggable, fallback = false) {\n return {\n animation: 150,\n disabled: !draggable,\n handle: '.dito-button-drag',\n dragClass: 'dito-drag-active',\n chosenClass: 'dito-drag-chosen',\n ghostClass: 'dito-drag-ghost',\n fallbackClass: 'dito-drag-fallback',\n forceFallback: fallback\n }\n },\n\n getQueryLink(query) {\n return {\n query,\n // Preserve hash for tabs:\n hash: this.$route.hash\n }\n },\n\n shouldRender(schema = null) {\n return !!schema && this.getSchemaValue('if', {\n type: Boolean,\n default: true,\n schema\n })\n },\n\n showDialog({\n components,\n buttons,\n data,\n settings = {\n width: 480,\n height: 'auto',\n clickToClose: false\n }\n }) {\n // Shows a dito-dialog component through vue-js-modal, and wraps it in a\n // promise so that the buttons in the dialog can use `dialog.resolve()`\n // and `dialog.reject()` to close the modal dialog and resolve / reject\n // the promise at once.\n return new Promise((resolve, reject) => {\n this.$modal.show(DitoComponent.component('dito-dialog'), {\n components,\n buttons,\n data,\n promise: { resolve, reject }\n }, settings)\n })\n },\n\n getResourcePath(resource) {\n resource = getResource(resource)\n // Resources without a parent inherit the one from `dataComponent`\n // automatically.\n if (resource.parent === undefined) {\n resource.parent = this.dataComponent?.resource\n }\n return this.api.resources.any(getResource(resource))\n },\n\n getResourceUrl(resource) {\n const path = this.getResourcePath(resource)\n let url = null\n if (path) {\n // Use same approach as axios internally to join baseURL with path:\n url = `${\n this.api.url.replace(/\\/+$/, '')\n }/${\n path.replace(/^\\/+/, '')\n }`\n // Support optional query parameters, which are added to the URL:\n const { query } = resource\n if (query) {\n const params = Object.entries(query).map(\n ([key, value]) =>\n `${encodeURIComponent(key)}=${encodeURIComponent(value)}`\n )\n url = `${url}?${params.join('&')}`\n }\n }\n return url\n },\n\n async sendRequest({ method, url, resource, data, params, internal }) {\n url = url || this.getResourcePath(resource)\n method = method || resource?.method\n const checkUser = !internal && this.api.isApiRequest(url)\n if (checkUser) {\n await this.rootComponent.ensureUser()\n }\n const response = await this.api.request({ method, url, data, params })\n // Detect change of the own user, and fetch it again if it was changed.\n if (\n checkUser &&\n method === 'patch' &&\n equals(resource, getMemberResource(this.user.id, this.api.users))\n ) {\n await this.rootComponent.fetchUser()\n }\n return response\n },\n\n request({ cache, ...options }) {\n // Allow caching of loaded data on two levels:\n // - 'global': cache globally, for the entire admin session\n // - 'local': cache locally within the closest route component that is\n // associated with a resource and loads its own data.\n const cacheParent = cache && {\n global: this.appState,\n local: this.dataComponent\n }[cache]\n const loadCache = cacheParent?.loadCache\n // Build a cache key from the config:\n const cacheKey = loadCache && `${\n options.method || 'get'} ${\n options.url} ${\n JSON.stringify(options.params || '')} ${\n JSON.stringify(options.data || '')\n }`\n if (loadCache && (cacheKey in loadCache)) {\n return loadCache[cacheKey]\n }\n // NOTE: No await here, res is a promise that we can easily cache.\n // That's fine because promises can be resolved over and over again.\n const res = this.sendRequest(options)\n .then(response => response.data)\n .catch(error => {\n // Convert axios errors to normal errors\n const data = error.response?.data\n throw data\n ? Object.assign(new Error(data.message), data)\n : error\n })\n if (loadCache) {\n loadCache[cacheKey] = res\n }\n return res\n },\n\n load(options) {\n deprecate('load() is deprecated. Use request() instead.')\n return this.request(options)\n },\n\n format(value, {\n locale = this.api.locale,\n defaults = this.api.formats,\n ...options\n } = {}) {\n return format(value, {\n locale,\n defaults,\n ...options\n })\n },\n\n async navigate(location) {\n return new Promise(resolve => {\n this.$router.push(\n location,\n () => resolve(true),\n () => resolve(false)\n )\n })\n },\n\n download(options = {}) {\n if (isString(options)) {\n options = { url: options }\n }\n const { url, filename } = options\n // See: https://stackoverflow.com/a/49917066/1163708\n const a = document.createElement('a')\n a.href = url\n if (filename) {\n a.download = filename\n }\n const { body } = document\n body.appendChild(a)\n a.click()\n body.removeChild(a)\n },\n\n notify(options) {\n this.rootComponent.notify(options)\n },\n\n closeNotifications() {\n this.rootComponent.closeNotifications()\n },\n\n setupSchemaFields() {\n this.setupMethods()\n this.setupComputed()\n this.setupEvents()\n },\n\n setupMethods() {\n for (const [key, value] of Object.entries(this.schema.methods || {})) {\n if (isFunction(value)) {\n this[key] = value\n } else {\n console.error(`Invalid method definition: ${key}: ${value}`)\n }\n }\n },\n\n setupComputed() {\n for (const [key, value] of Object.entries(this.schema.computed || {})) {\n const accessor = isFunction(value)\n ? { get: value }\n : isObject(value) && isFunction(value.get)\n ? value\n : null\n if (accessor) {\n Object.defineProperty(this, key, accessor)\n } else {\n console.error(\n `Invalid computed property definition: ${key}: ${value}`\n )\n }\n }\n },\n\n setupEvents() {\n const { watch, events } = this.schema\n if (watch) {\n const handlers = isFunction(watch) ? watch.call(this) : watch\n if (isObject(handlers)) {\n // Install the watch handlers in the next tick, so all components are\n // initialized and we can check against their names.\n this.$nextTick(() => {\n for (const [key, callback] of Object.entries(handlers)) {\n // Expand property names to 'data.property':\n const expr = this.schemaComponent.getComponentByName(key)\n ? `data.${key}`\n : key\n this.$watch(expr, callback)\n }\n })\n }\n }\n\n const addEvent = (key, event, callback) => {\n if (isFunction(callback)) {\n this.on(hyphenate(event), callback)\n } else {\n console.error(`Invalid event definition: ${key}: ${callback}`)\n }\n }\n\n if (events) {\n for (const [key, value] of Object.entries(events)) {\n addEvent(key, key, value)\n }\n }\n // Also scan schema for `on[A-Z]`-style callbacks and add them\n // TODO: Deperecate one format or the other, in favour of only one way of\n // doing things. Decide which one to remove.\n for (const [key, value] of Object.entries(this.schema)) {\n if (/^on[A-Z]/.test(key)) {\n addEvent(key, key.slice(2), value)\n }\n }\n },\n\n async emitEvent(event, {\n context = null,\n parent = null\n } = {}) {\n const hasListeners = this.hasListeners(event)\n const parentHasListeners = parent?.hasListeners(event)\n if (hasListeners || parentHasListeners) {\n // The effects of some events need some time to propagate through Vue.\n // Use $nextTick() to make sure our handlers see these changes.\n // For example, `processedItem` is only correct after components that\n // are newly rendered due to data changes have registered themselves.\n if (['load', 'change'].includes(event)) {\n await this.$nextTick()\n }\n\n const getContext = () => (context = DitoContext.get(this, context))\n const res = hasListeners\n ? await this.emit(event, getContext())\n : undefined\n // Don't bubble to parent if handled event returned `false`\n if (parentHasListeners && res !== false) {\n parent.emit(event, getContext())\n }\n return res\n }\n },\n\n emitSchemaEvent(event, params) {\n return this.schemaComponent.emitEvent(event, params)\n }\n }\n}\n\nlet uid = 0\n","import { isCreditCard } from '@ditojs/utils'\n\nexport const creditcard = {\n validate: value => isCreditCard(value),\n message: 'is invalid'\n}\n","export const decimals = {\n validate: (value, decimals) => {\n const match = decimals === '*' ? '+' : `{1,${decimals}}`\n return new RegExp(`^[-+]?\\\\d*(\\\\.\\\\d${match})?$`).test(value)\n },\n\n message: (value, decimals) => (\n `must be numeric and may contain ${\n !decimals || decimals === '*' ? '' : decimals\n } decimal points`\n )\n}\n","import { isEmail } from '@ditojs/utils'\n\nexport const email = {\n validate: value => isEmail(value),\n message: 'must be a valid email'\n}\n","import { isHostname } from '@ditojs/utils'\n\nexport const hostname = {\n validate: value => isHostname(value),\n message: 'is not a host name'\n}\n","import { isDomain } from '@ditojs/utils'\n\nexport const domain = {\n validate: value => isDomain(value),\n message: 'is not a domain'\n}\n","import { isInteger } from '@ditojs/utils'\n\nexport const integer = {\n validate: value => isInteger(value),\n message: 'must be whole number'\n}\n","export const max = {\n validate: (value, max) => value <= max,\n message(value, max) {\n return `must be ${max} or less`\n }\n}\n","export const min = {\n validate: (value, min) => value >= min,\n message(value, min) {\n return `must be ${min} or more`\n }\n}\n","export const password = {\n // Allow any value. For now this is only used as a marker, to allow the\n // required validation to handle unchanged passwords separately.\n validate: () => true\n}\n","export const range = {\n validate: (value, [min, max]) => value >= min && value <= max,\n message(value, [min, max]) {\n return `must be between ${min} and ${max}`\n }\n}\n","export const required = {\n validate: (value, settings, { password }) => (\n (value != null && value !== '') ||\n // Password fields use `undefined` as opposed to `null` when they're set\n // but unchanged, allow this to pass through:\n (password && value === undefined)\n ),\n message: 'is required',\n nullish: true\n}\n","import { isUrl } from '@ditojs/utils'\n\nexport const url = {\n validate: value => isUrl(value),\n message: 'is not a valid URL'\n}\n","export * from './_creditcard'\nexport * from './_decimals'\nexport * from './_email'\nexport * from './_hostname'\nexport * from './_domain'\nexport * from './_integer'\nexport * from './_max'\nexport * from './_min'\nexport * from './_password'\nexport * from './_range'\nexport * from './_required'\nexport * from './_url'\n","import { isFunction } from '@ditojs/utils'\nimport * as validations from '../validations'\n\n// @vue/component\nexport default {\n data() {\n return {\n isTouched: false,\n isDirty: false,\n isValidated: false,\n isValid: false,\n errors: null\n }\n },\n\n computed: {\n events() {\n return {\n focus: () => {\n this.isTouched = true\n },\n blur: () => {\n this.validate()\n },\n change: () => {\n this.markDirty()\n },\n input: () => {\n this.markDirty()\n }\n }\n }\n },\n\n methods: {\n resetValidation() {\n this.isTouched = false\n this.isDirty = false\n this.isValidated = false\n this.isValid = false\n this.clearErrors()\n },\n\n validate(notify = true) {\n let isValid = true\n if (notify) {\n this.clearErrors()\n }\n const { value } = this\n // console.log('validate', this.dataPath, value, this.validations)\n for (const [rule, setting] of Object.entries(this.validations)) {\n const validator = validations[rule]\n if (validator && (validator.nullish || value != null)) {\n const { validate, message } = validator\n if (!validate(value, setting, this.validations)) {\n isValid = false\n if (notify) {\n const error = isFunction(message)\n ? message(value, setting, this)\n : message\n this.addError(error, true)\n }\n }\n }\n }\n if (notify) {\n this.isValidated = true\n this.isValid = isValid\n }\n return isValid\n },\n\n verify() {\n return this.validate(false)\n },\n\n markDirty() {\n this.isDirty = true\n this.isValidated = false\n this.isValid = false\n // Clear currently displayed errors on new input.\n this.clearErrors()\n },\n\n addError(error, addLabel = false) {\n this.errors ||= []\n if (addLabel) {\n const label = this.label || this.placeholder || this.name\n error = `The ${label} field ${error}.`\n }\n this.errors.push(error)\n this.$emit('errors', this.errors)\n },\n\n showValidationErrors(errors, focus) {\n // Convert from AJV errors objects to an array of error messages\n this.errors = []\n for (const { message } of errors) {\n this.addError(message, true)\n }\n if (focus) {\n this.focus()\n }\n return true\n },\n\n getErrors() {\n return this.errors ? [...this.errors] : null\n },\n\n clearErrors() {\n this.errors = null\n this.$emit('errors', this.errors)\n }\n }\n}\n","import {\n isFunction, isString, parseDataPath, normalizeDataPath\n} from '@ditojs/utils'\n\nexport function getSchemaAccessor(\n keyOrDataPath,\n { type, default: def, get, set, callback = true } = {}\n) {\n // `keyOrDataPath` can be a simple property key,\n // or a data-path into sub-properties, both in array or string format.\n if (isString(keyOrDataPath) && keyOrDataPath.includes('.')) {\n keyOrDataPath = parseDataPath(keyOrDataPath)\n }\n // Use the normalized data path for the handling overrides\n const name = normalizeDataPath(keyOrDataPath)\n return {\n get() {\n // Only determine schema value if we have no getter, or the getter\n // wants to receive the value and process it further:\n const value = !get || get.length > 0\n // NOTE: Because `schema` objects are retrieved from `meta` object, they\n // don't seem to be reactive. To allow changed in `schema` values,\n // `set()` stores changed values in the separate `overrides` object.\n ? this.overrides && name in this.overrides\n ? this.overrides[name]\n : this.getSchemaValue(keyOrDataPath, { type, default: def, callback })\n : undefined\n return get ? get.call(this, value) : value\n },\n\n set(value) {\n if (set) {\n set.call(this, value)\n } else {\n this.overrides ||= {}\n this.$set(this.overrides, name, value)\n }\n }\n }\n}\n\nexport function getStoreAccessor(name, { default: def, get, set } = {}) {\n return {\n get() {\n let value = this.getStore(name)\n if (value === undefined && def !== undefined) {\n // Support `default()` functions:\n value = isFunction(def) ? def.call(this, this.context) : def\n // Trigger setter by setting value and accessor to default:\n this[name] = value\n // Now access store again, for reactivity tracking\n this.getStore(name)\n }\n // Allow the provided getter to further change or process the value\n // retrieved from the store:\n return get ? get.call(this, value) : value\n },\n\n set(value) {\n // Allow the provided setter to return a new value to set, or do the\n // setting itself, and then return `undefined`:\n if (!set || (value = set.call(this, value)) !== undefined) {\n this.setStore(name, value)\n }\n }\n }\n}\n","const uidMap = new WeakMap()\n\n// Generated and remembers unique ids per passed object using a weak map.\nlet uid = 0\nexport function getUid(object, itemId) {\n let id = uidMap.get(object)\n if (!id) {\n id = id = itemId || `@${++uid}`\n uidMap.set(object, id)\n }\n return id\n}\n","import { isTemporaryId } from './data'\nimport {\n isInteger, asArray, parseDataPath, getValueAtDataPath\n} from '@ditojs/utils'\nimport { nanoid } from 'nanoid'\n\n// SchemaGraph is a class to collect schema graph meta information in order to\n// process sources and relations for the given targets 'server' and 'clipboard',\n// acccording to the following table:\n//\n// | --------------------------------------------| --------- | --------- |\n// | data | server | clipboard |\n// | --------------------------------------------| --------- | --------- |\n// | type: 'relation', internal: false | keep id | keep id |\n// | type: 'relation', internal: true | keep id | ref, #ref |\n// | type: 'relation', internal: true, temporary | ref, #ref | ref, #ref |\n// | type: 'source', related: false | keep id | remove id |\n// | type: 'source', related: false, temporary | ref, #id | remove id |\n// | type: 'source', related: true | keep id | ref, #id |\n// | type: 'source', related: true, temporary | ref, #id | ref, #id |\n// | --------------------------------------------| --------- | --------- |\n\nexport class SchemaGraph {\n graph = {}\n references = {}\n\n set(dataPath, settings, defaults) {\n dataPath = parseDataPath(dataPath)\n let subGraph = this.graph\n for (const part of dataPath) {\n const key = isInteger(+part) ? '*' : part\n subGraph = (subGraph[key] ??= {})\n }\n subGraph.$settings = {\n ...defaults, // See `addSource(dataPath)`\n ...subGraph.$settings,\n ...settings\n }\n }\n\n addSource(dataPath, schema) {\n // Only set `related: false` through the defaults, as `setSourceRelated()`\n // may be called before `addSource()`, depending on the graph structure.\n this.set(dataPath, { type: 'source', schema }, { related: false })\n }\n\n setSourceRelated(dataPath) {\n this.set(dataPath, {\n related: true,\n reference: this.getReferencePrefix(dataPath)\n })\n }\n\n addRelation(dataPath, relatedDataPath, schema) {\n this.set(dataPath, {\n type: 'relation',\n schema,\n internal: !!relatedDataPath,\n reference: this.getReferencePrefix(relatedDataPath)\n })\n }\n\n getReferencePrefix(dataPath) {\n return dataPath\n ? (this.references[dataPath] ??= nanoid(6))\n : null\n }\n\n flatten() {\n const flatten = graph => {\n const entries = []\n for (const [key, { $settings, ...subGraph }] of Object.entries(graph)) {\n if ($settings) {\n entries.push([key, $settings])\n }\n for (const [subKey, settings] of flatten(subGraph)) {\n entries.push([`${key}/${subKey}`, settings])\n }\n }\n return entries\n }\n\n return flatten(this.graph)\n }\n\n process(sourceSchema, data, { target }) {\n const clipboard = target === 'clipboard'\n if (clipboard) {\n delete data[sourceSchema.idKey || 'id']\n }\n for (const [dataPath, settings] of this.flatten()) {\n const { type, schema, internal, related, reference } = settings\n const source = type === 'source'\n const relation = type === 'relation'\n if (source || relation && internal) {\n const values = getValueAtDataPath(data, dataPath, () => null)\n const removeId = clipboard && source && !related\n const referenceId = clipboard && (\n relation && internal ||\n source && related\n )\n for (const value of asArray(values).flat()) {\n const idKey = (\n source && schema.idKey ||\n relation && schema.relateBy ||\n 'id'\n )\n let id = value?.[idKey]\n if (id != null) {\n if (removeId) {\n delete value[idKey]\n } if (referenceId || isTemporaryId(id)) {\n if (isTemporaryId(id)) {\n id = id.slice(1)\n }\n const refKey = clipboard\n // Clipboard just needs temporary ids under the actual `idKey`.\n ? idKey\n // Server wants Objection-style '#id' / '#ref' pairs.\n : source ? '#id' : '#ref'\n const revValue = clipboard\n ? `@${id}`\n // Keep the ids unique in reference groups, since they reference\n // accross the full graph.\n : reference\n ? `${reference}-${id}`\n : id // A temporary id without a related, just preserve it.\n value[refKey] = revValue\n if (refKey !== idKey) {\n delete value[idKey]\n }\n }\n }\n }\n }\n }\n return data\n }\n}\n","import Vue from 'vue'\nimport DitoContext from '@/DitoContext'\nimport { getUid } from './uid'\nimport { SchemaGraph } from './SchemaGraph'\nimport { appendDataPath, isTemporaryId } from './data'\nimport {\n isObject, isString, isArray, isFunction, isPromise, clone, camelize\n} from '@ditojs/utils'\n\nconst typeComponents = {}\nconst unknownTypeReported = {}\n\nexport function registerTypeComponent(type, component) {\n typeComponents[type] = component\n}\n\nexport function getTypeComponent(type, allowNull = false) {\n const component = typeComponents[type] || null\n if (!component && !allowNull && !unknownTypeReported[type]) {\n // Report each missing type only once, to avoid flooding the console:\n unknownTypeReported[type] = true\n throw new Error(`Unknown Dito component type: '${type}'`)\n }\n return component\n}\n\nexport function forEachSchema(schema, callback) {\n const schemas = [\n ...Object.values(schema?.tabs || {}),\n schema\n ]\n for (const schema of schemas) {\n if (schema) {\n const res = callback(schema)\n if (res !== undefined) {\n return res\n }\n }\n }\n}\n\nexport function forEachSchemaComponent(schema, callback) {\n return forEachSchema(schema, schema => {\n for (const [name, component] of Object.entries(schema.components || {})) {\n const res = callback(component, name)\n if (res !== undefined) {\n return res\n }\n }\n })\n}\n\nexport function findSchemaComponent(schema, callback) {\n return forEachSchemaComponent(\n schema,\n (component, name) => callback(component, name) ? component : undefined\n ) || null\n}\n\nexport function someSchemaComponent(schema, callback) {\n return forEachSchemaComponent(\n schema,\n (component, name) => callback(component, name) ? true : undefined\n ) === true\n}\n\nexport function everySchemaComponent(schema, callback) {\n return forEachSchemaComponent(\n schema,\n (component, name) => !callback(component, name) ? false : undefined\n ) !== false\n}\n\nexport async function resolveViews(unresolvedViews) {\n let views = isFunction(unresolvedViews)\n ? unresolvedViews()\n : unresolvedViews\n if (isPromise(views)) {\n views = await views\n }\n // Copy views to convert from module to object, and keep a global reference:\n return { ...views }\n}\n\nexport async function processView(component, api, schema, name, routes) {\n const children = []\n processRouteSchema(api, schema, name)\n if (isSingleComponentView(schema)) {\n await processComponent(api, schema, name, children, 0)\n } else {\n // A multi-component view, start at level 1\n await processSchemaComponents(api, schema, children, 1)\n }\n routes.push({\n path: `/${schema.path}`,\n children,\n component,\n meta: {\n api,\n schema\n }\n })\n}\n\nexport function processComponent(api, schema, name, routes, level) {\n schema.level = level\n // Delegate schema processing to the actual type components.\n return getTypeOptions(schema)?.processSchema?.(\n api, schema, name, routes, level\n )\n}\n\nexport function processRouteSchema(api, schema, name) {\n // Used for view and source schemas, see SourceMixin\n schema.name = name\n schema.path = schema.path || api.normalizePath(name)\n}\n\nexport async function processSchemaComponents(api, schema, routes, level) {\n const promises = []\n forEachSchemaComponent(schema, (component, name) => {\n promises.push(processComponent(api, component, name, routes, level))\n })\n await Promise.all(promises)\n}\n\nexport async function processForms(api, schema, level) {\n // First resolve the forms and store the results back on the schema.\n let { form, forms, components } = schema\n if (forms) {\n forms = schema.forms = await resolveForms(forms)\n } else if (form) {\n form = schema.form = await resolveForm(form)\n } else if (components) {\n // NOTE: Processing forms in computed components is not supported, since it\n // only can be computed in conjunction with actual data.\n if (isObject(components)) {\n form = { components }\n }\n }\n forms ||= { default: form } // Only used for process loop below.\n const children = []\n for (const form of Object.values(forms)) {\n await processSchemaComponents(api, form, children, level + 1)\n }\n return children\n}\n\nexport async function resolveForm(form) {\n if (isFunction(form)) {\n form = form()\n }\n if (isPromise(form)) {\n form = await form\n }\n // When dynamically importing forms, the actual form can be received named or\n // as `default` in a nested object, detect and handle this case:\n if (form && !('components' in form)) {\n // Assume the form is the first export (named or default)\n const name = Object.keys(form)[0]\n form = form[name]\n if (form && name !== 'default') {\n form.name = name\n }\n }\n return form\n}\n\nexport async function resolveForms(forms) {\n const results = await Promise.all(Object.values(forms).map(resolveForm))\n return Object.keys(forms).reduce(\n (mapped, key, index) => {\n mapped[key] = results[index]\n return mapped\n },\n {}\n )\n}\n\nexport function isSingleComponentView(schema) {\n // If the schema has a type, it is a single-component view.\n return !!schema.type\n}\n\nexport function hasFormSchema(schema) {\n // Support both single form and multiple forms notation, as well as inlined\n // components.\n return isObject(schema) && !!(\n schema.form ||\n schema.forms ||\n schema.components\n )\n}\n\nexport function hasMultipleFormSchemas(schema) {\n return Object.keys(schema?.forms || {}).length > 1\n}\n\nexport function getViewSchema(schema, context) {\n const { view } = schema\n const viewSchema = view && context.views[view]\n return viewSchema\n ? hasFormSchema(viewSchema)\n ? viewSchema\n // NOTE: Views can have tabs, in which case the view component is nested\n // in one of the tabs, go find it.\n : forEachSchema(viewSchema, schema => {\n const viewComponent = schema.components?.[view]\n if (hasFormSchema(viewComponent)) {\n return viewComponent\n }\n })\n : null\n}\n\nexport function getViewEditPath(schema, context) {\n const view = getViewSchema(schema, context)\n return view\n ? view.level === 0\n ? `/${view.path}` // A single-component view\n : `/${view.path}/${view.path}` // A multi-component view\n : null\n}\n\nexport function getFormSchemas(schema, context, modifyForm) {\n const view = getViewSchema(schema, context)\n if (view) {\n schema = view\n } else if (schema.view) {\n throw new Error(`Unknown view: '${schema.view}'`)\n }\n\n let { form, forms, components, compact } = schema\n if (!form && !forms) {\n if (components) {\n // Convert inlined components to forms, supporting `compact` setting.\n form = { components, compact }\n } else {\n // No `forms`, `form` or `components`, return and empty `forms` object.\n return {}\n }\n }\n forms ||= { default: form }\n return Object.fromEntries(\n Object.entries(forms).map(([type, form]) => {\n // Support `schema.components` callbacks to create components on the fly.\n if (isFunction(form.components)) {\n form = {\n ...form,\n components: form.components(context)\n }\n }\n return [type, modifyForm?.(form) ?? form]\n })\n )\n}\n\nexport function getItemFormSchemaFromForms(forms, item) {\n return forms[item?.type] || forms.default || null\n}\n\nexport function getItemFormSchema(schema, item, context) {\n return getItemFormSchemaFromForms(getFormSchemas(schema, context), item)\n}\n\nexport function hasLabel(schema) {\n return schema.label !== false\n}\n\nexport function isCompact(schema) {\n return !!schema.compact\n}\n\nexport function isInlined(schema) {\n return !!(schema.inlined || schema.components)\n}\n\nexport function isNested(schema) {\n return !!(\n schema.nested ||\n getTypeOptions(schema)?.defaultNested === true\n )\n}\n\nexport function shouldOmitPadding(schema) {\n return !!getTypeOptions(schema)?.omitPadding\n}\n\nexport function getDefaultValue(schema) {\n // Support default values both on schema and on component level.\n // NOTE: At the time of creation, components may not be instantiated, (e.g. if\n // entries are created through nested forms, the parent form isn't mounted) so\n // we can't use `dataPath` to get to components, and the `defaultValue` from\n // there. That's why `defaultValue` is defined statically in the components:\n const defaultValue = schema.default\n const value = defaultValue !== undefined\n ? defaultValue\n : getTypeOptions(schema)?.defaultValue\n return isFunction(value)\n ? value(schema)\n : clone(value)\n}\n\nexport function ignoreMissingValue(schema) {\n const typeOptions = getTypeOptions(schema)\n return !!(\n typeOptions?.excludeValue ||\n typeOptions?.ignoreMissingValue?.(schema)\n )\n}\n\nexport function hasLabels(schema) {\n const checkComponents = components =>\n Object.values(components || {}).some(hasLabel)\n\n return (\n checkComponents(schema.components) ||\n Object.values(schema.tabs || {}).some(checkComponents)\n )\n}\n\nexport function setDefaults(schema, data = {}, component) {\n const options = { component, rootData: data }\n\n const processBefore = (schema, data, name) => {\n if (!(name in data) && !ignoreMissingValue(schema)) {\n data[name] = getDefaultValue(schema)\n }\n }\n\n // Sets up a data object that has keys with default values for all\n // form fields, so they can be correctly watched for changes.\n return processSchemaData(\n schema, data, null, null, processBefore, null, options\n )\n}\n\nexport function computeValue(schema, data, name, dataPath, {\n component = null,\n rootData = component?.rootData\n} = {}) {\n const { compute } = schema\n if (compute) {\n const value = compute(DitoContext.get(component, {\n // Override value to prevent endless recursion through calling the\n // getter for `this.value` in `DitoContext`:\n value: data[name],\n name,\n data,\n dataPath,\n rootData\n }))\n if (value !== undefined) {\n // Use `$set()` directly instead of `this.value = …` to update the\n // value without calling parse():\n Vue.set(data, name, value)\n }\n }\n // If the value is still missing after compute, set the default for it:\n if (!(name in data) && !ignoreMissingValue(schema)) {\n Vue.set(data, name, getDefaultValue(schema))\n }\n // Now access the value. This is important for reactivity and needs to\n // happen after all prior manipulation through `$set()`, see above:\n return data[name]\n}\n\nfunction cloneItem(sourceSchema, item, options) {\n if (options.schemaOnly) {\n const copy = {}\n const { idKey = 'id', orderKey } = sourceSchema\n const id = item[idKey]\n if (id !== undefined) {\n copy[idKey] = id\n }\n // Copy over type in case there are multiple forms to choose from.\n if (hasMultipleFormSchemas(sourceSchema)) {\n copy.type = item.type\n }\n if (orderKey) {\n copy[orderKey] = item[orderKey]\n }\n return copy\n } else {\n return { ...item }\n }\n}\n\nexport function processData(schema, sourceSchema, data, dataPath, {\n component,\n schemaOnly, // wether to only include data covered by the schema, or all data\n target\n} = {}) {\n const options = { component, schemaOnly, target, rootData: data }\n const processedData = cloneItem(sourceSchema, data, options)\n const graph = new SchemaGraph()\n\n const processBefore = (schema, data, name, dataPath, processedData) => {\n let value = computeValue(schema, data, name, dataPath, options)\n // The schema expects the `wrapPrimitives` transformations to be present on\n // the data that it is applied on, so warp before and unwrap after.\n if (isArray(value)) {\n const { wrapPrimitives, orderKey, idKey = 'id' } = schema\n if (wrapPrimitives) {\n value = value.map(entry => ({\n [wrapPrimitives]: entry\n }))\n } else {\n // Always shallow-clone array values:\n value = [...value]\n }\n if (orderKey && target === 'clipboard') {\n // Sort the data back into the natural sequence as defined by their ids,\n // so copy-pasting between servers (e.g. nested font-cuts on Lineto)\n // naturally gets mapped to the same entries in the graph.\n value.sort((a, b) => {\n const id1 = a?.[idKey]\n const id2 = b?.[idKey]\n return (\n id1 == null || isTemporaryId(id1) ? 1\n : id2 == null || isTemporaryId(id2) ? -1\n : id1 - id2\n )\n })\n }\n }\n processedData[name] = value\n }\n\n const processAfter = (schema, data, name, dataPath, processedData) => {\n const { wrapPrimitives, exclude, process } = schema\n let value = processedData[name]\n\n const typeOptions = getTypeOptions(schema)\n\n // NOTE: We don't cache this context, since `value` is changing.\n const getContext = () => DitoContext.get(component, {\n value,\n name,\n data,\n dataPath,\n rootData: options.rootData,\n // Pass the already processed data to `process()`, so it can be modified\n // through `processedItem` from there.\n processedData\n })\n\n // First unwrap the wrapped primitives again, to bring the data back into\n // its native form. Se `processBefore()` for more details.\n if (wrapPrimitives && isArray(value)) {\n value = value.map(object => object[wrapPrimitives])\n }\n\n // Handle the user's `process()` callback first, if one is provided, so that\n // it can modify data in `processedData` even if it provides `exclude: true`\n if (process) {\n value = process(getContext())\n }\n\n if (\n typeOptions?.excludeValue ||\n // Support functions next to booleans for `schema.exclude`:\n exclude === true ||\n isFunction(exclude) && exclude(getContext())\n ) {\n delete processedData[name]\n } else {\n // Each component type can provide its own static `processValue()` method\n // to convert the data for storage.\n const processValue = typeOptions?.processValue\n if (processValue) {\n value = processValue(schema, value, dataPath, graph)\n }\n processedData[name] = value\n }\n }\n\n processSchemaData(\n schema,\n data,\n dataPath,\n processedData,\n processBefore,\n processAfter,\n options\n )\n\n return graph.process(sourceSchema, processedData, options)\n}\n\nexport function processSchemaData(\n schema,\n data,\n dataPath,\n processedData,\n processBefore,\n processAfter,\n options\n) {\n const processComponents = components => {\n const getDataPath = (dataPath, token) => dataPath != null\n ? appendDataPath(dataPath, token)\n : null\n\n if (components) {\n for (const [name, componentSchema] of Object.entries(components)) {\n if (!isNested(componentSchema)) {\n // Recursively process data on unnested components.\n processSchemaData(\n componentSchema,\n data,\n dataPath,\n processedData,\n processBefore,\n processAfter,\n options\n )\n } else {\n const componentDataPath = getDataPath(dataPath, name)\n\n const processItem = (item, index = null) => {\n const dataPath = index !== null\n ? getDataPath(componentDataPath, index)\n : componentDataPath\n const context = DitoContext.get(options.component, {\n data,\n value: item,\n dataPath,\n index,\n rootData: options.rootData\n })\n const getForms = (\n getTypeOptions(componentSchema)?.getFormSchemasForProcessing ||\n getFormSchemas\n )\n const forms = getForms(componentSchema, context)\n const form = getItemFormSchemaFromForms(forms, item)\n if (form) {\n const processedItem = processedData\n ? cloneItem(componentSchema, item, options)\n : null\n return processSchemaData(\n form,\n item,\n dataPath,\n processedItem,\n processBefore,\n processAfter,\n options\n )\n } else {\n // Items without forms still get fully (but shallowly) cloned.\n // TODO: Find out of this is actually needed / used at all?\n return { ...item }\n }\n }\n\n processBefore?.(\n componentSchema, data, name, componentDataPath, processedData\n )\n let value = processedData ? processedData[name] : data[name]\n if (value != null && hasFormSchema(componentSchema)) {\n // Recursively process data on nested form items.\n if (isArray(value)) {\n // Optimization: No need to collect values if we're not cloning!\n value = processedData\n ? value.map(processItem)\n : value.forEach(processItem)\n } else {\n value = processItem(value)\n }\n if (processedData) {\n processedData[name] = value\n }\n }\n processAfter?.(\n componentSchema, data, name, componentDataPath, processedData\n )\n }\n }\n }\n }\n\n processComponents(schema.components)\n if (schema.tabs) {\n for (const tab of Object.values(schema.tabs)) {\n processComponents(tab.components)\n }\n }\n for (const panel of getAllPanelSchemas(schema, dataPath)) {\n processComponents(panel.schema.components)\n }\n\n return processedData || data\n}\n\nexport function getNamedSchemas(descriptions, defaults) {\n const toObject = (array, toSchema) => {\n return array.length > 0\n ? array.reduce((object, value) => {\n const schema = toSchema(value)\n if (schema) {\n object[schema.name] = schema && defaults\n ? { ...defaults, ...schema }\n : schema\n }\n return object\n }, {})\n : null\n }\n\n return isArray(descriptions)\n ? toObject(descriptions, value => (\n isObject(value) ? value : {\n name: camelize(value, false)\n }\n ))\n : isObject(descriptions)\n ? toObject(\n Object.entries(descriptions),\n ([name, value]) =>\n isObject(value) ? {\n name,\n ...value\n }\n : isString(value) ? {\n name,\n label: value\n }\n : null\n )\n : null\n}\n\nexport function getButtonSchemas(buttons) {\n return getNamedSchemas(\n buttons,\n { type: 'button' } // Defaults\n )\n}\n\nfunction getType(schemaOrType) {\n return isObject(schemaOrType) ? schemaOrType.type : schemaOrType\n}\n\nexport function getTypeOptions(schemaOrType) {\n return getTypeComponent(getType(schemaOrType), true)?.options ?? null\n}\n\nexport function getSourceType(schemaOrType) {\n return getTypeOptions(schemaOrType)?.getSourceType?.(\n getType(schemaOrType)\n ) ?? null\n}\n\nexport function getPanelSchema(schema, dataPath, tabComponent) {\n return schema\n ? {\n schema,\n // If the panel provides its own name, append it to the dataPath.\n // This is used e.g. for $filters panels.\n dataPath: schema.name\n ? appendDataPath(dataPath, schema.name)\n : dataPath,\n tabComponent\n }\n : null\n}\n\nexport function getPanelSchemas(schemas, dataPath, tabComponent, panels = []) {\n if (schemas) {\n for (const [key, schema] of Object.entries(schemas)) {\n const panel = getPanelSchema(\n schema,\n appendDataPath(dataPath, key),\n tabComponent\n )\n if (panel) {\n panels.push(panel)\n }\n }\n }\n return panels\n}\n\nexport function getAllPanelSchemas(\n schema,\n dataPath,\n schemaComponent = null,\n tabComponent = null\n) {\n const panel = getTypeOptions(schema)?.getPanelSchema?.(\n schema,\n dataPath,\n schemaComponent\n )\n const panels = panel ? [getPanelSchema(panel, dataPath, tabComponent)] : []\n // Allow each component to provide its own set of panels, in\n // addition to the default one (e.g. $filter):\n getPanelSchemas(schema.panels, dataPath, tabComponent, panels)\n return panels\n}\n\nexport function isObjectSource(schemaOrType) {\n return getSourceType(schemaOrType) === 'object'\n}\n\nexport function isListSource(schemaOrType) {\n return getSourceType(schemaOrType) === 'list'\n}\n\nexport function getItemId(sourceSchema, item) {\n const id = item[sourceSchema.idKey || 'id']\n return id != null ? String(id) : undefined\n}\n\nexport function getItemUid(sourceSchema, item) {\n // Try to use the item id as the uid, falling back on auto-generated ids, but\n // either way, pass through `getUid()` so that the ids are associated with the\n // item through a weak map, as the ids can be filtered out in `processData()`\n // while the components that use the uids as key are still visible.\n return getUid(item, getItemId(sourceSchema, item))\n}\n","import DitoContext from '@/DitoContext'\nimport ValidationMixin from './ValidationMixin'\nimport { getSchemaAccessor } from '@/utils/accessor'\nimport { computeValue } from '@/utils/schema'\nimport { getItem, getParentItem } from '@/utils/data'\nimport { isString, asArray } from '@ditojs/utils'\n\n// @vue/component\nexport default {\n mixins: [ValidationMixin],\n\n props: {\n schema: { type: Object, required: true },\n // NOTE: While `dataPath` points to the actual `value`, `data` represents\n // the `item` in which the `value` is contained, under the key `name`.\n dataPath: { type: String, required: true },\n data: { type: [Object, Array], required: true },\n meta: { type: Object, required: true },\n store: { type: Object, required: true },\n single: { type: Boolean, default: false },\n nested: { type: Boolean, default: true },\n disabled: { type: Boolean, default: false }\n },\n\n data() {\n return {\n parsedValue: null,\n focused: false\n }\n },\n\n computed: {\n name() {\n return this.schema.name\n },\n\n type() {\n return this.schema.type\n },\n\n component() {\n return this.resolveTypeComponent(this.schema.component)\n },\n\n context() {\n return new DitoContext(this, { nested: this.nested })\n },\n\n value: {\n get() {\n const value = computeValue(\n this.schema,\n this.data,\n this.name,\n this.dataPath,\n { component: this }\n )\n const { format } = this.schema\n // `schema.format` is only ever called in the life-cycle\n // of the component and thus it's ok to bind it to `this`\n return format\n ? format.call(this, new DitoContext(this, { value }))\n : value\n },\n\n set(value) {\n const { parse } = this.schema\n // `schema.parse` is only ever called in the life-cycle\n // of the component and thus it's ok to bind it to `this`\n this.parsedValue = parse\n ? parse.call(this, new DitoContext(this, { value }))\n : value\n this.$set(this.data, this.name, this.parsedValue)\n }\n },\n\n // The following computed properties are similar to `DitoContext`\n // properties, so that we can access these on `this` as well:\n item() {\n return getItem(this.rootItem, this.dataPath, this.nested)\n },\n\n parentItem() {\n return getParentItem(this.rootItem, this.dataPath, this.nested)\n },\n\n rootItem() {\n return this.rootData\n },\n\n processedItem() {\n // We can only get the processed items through the schemaComponent, but\n // that's not necessarily the item represented by this component.\n // Solution: Find the relative path and the processed sub-item from there:\n const { schemaComponent } = this\n return getItem(\n schemaComponent.processedItem,\n // Get the dataPath relative to the schemaComponent's data:\n this.dataPath.slice(schemaComponent.dataPath.length),\n this.nested\n )\n },\n\n label: getSchemaAccessor('label', {\n type: [String, Boolean],\n get(label) {\n return isString(label)\n ? label\n : label !== false && this.$options.generateLabel\n ? this.getLabel(this.schema)\n : null\n }\n }),\n\n width: getSchemaAccessor('width', {\n type: [String, Number]\n }),\n\n visible: getSchemaAccessor('visible', {\n type: Boolean,\n default() {\n return this.typeOptions.defaultVisible\n }\n }),\n\n // TODO: Rename to `excluded` for consistent naming\n exclude: getSchemaAccessor('exclude', {\n type: Boolean,\n default: false\n }),\n\n required: getSchemaAccessor('required', {\n type: Boolean,\n default: false\n }),\n\n // TODO: Move these to a sub-class component used for all input components?\n readonly: getSchemaAccessor('readonly', {\n type: Boolean,\n default: false\n }),\n\n autofocus: getSchemaAccessor('autofocus', {\n type: Boolean,\n default: false\n }),\n\n // To be used for selects and inputs only?\n clearable: getSchemaAccessor('clearable', {\n type: Boolean,\n default: false\n }),\n\n placeholder: getSchemaAccessor('placeholder', {\n type: String\n }),\n\n autocomplete: getSchemaAccessor('autocomplete', {\n type: String\n }),\n\n attributes() {\n const { nativeField, textField } = this.$options\n\n const attributes = {\n disabled: this.disabled\n }\n\n if (nativeField) {\n attributes.name = this.name\n if (this.label) {\n attributes.title = this.label\n }\n attributes.readonly = this.readonly\n attributes.autofocus = this.autofocus\n if (textField) {\n attributes.placeholder = this.placeholder\n attributes.autocomplete = this.autocomplete\n }\n }\n return attributes\n },\n\n listeners() {\n const listeners = this.getListeners()\n const { events = {} } = this.schema\n if (events) {\n // Register callbacks for all provides non-recognized events,\n // assuming they are native events.\n for (const event of Object.keys(events)) {\n listeners[event] ||= () => this.emitEvent(event)\n }\n }\n return listeners\n },\n\n validations() {\n const validations = { ...this.getValidations() }\n if (this.required) {\n validations.required = true\n }\n // Allow schema to override default rules and add any new ones:\n for (const [key, value] of Object.entries(this.schema.rules || {})) {\n if (value === undefined) {\n delete validations[key]\n } else {\n validations[key] = value\n }\n }\n return validations\n },\n\n providesData() {\n // NOTE: This is overridden in ResourceMixin, used by lists.\n return false\n },\n\n showClearButton() {\n return this.clearable && this.value != null\n }\n },\n\n created() {\n this._register(true)\n this.setupSchemaFields()\n },\n\n beforeDestroy() {\n this._register(false)\n },\n\n methods: {\n _register(add) {\n // Prevent unnested type components from overriding parent data paths\n if (this.nested) {\n this.schemaComponent._registerComponent(this, add)\n // Install / remove the field events to watch of changes and handle\n // validation flags. `events` is provided by `ValidationMixin.events()`\n this[add ? 'on' : 'off'](this.events)\n }\n },\n\n // @overridable\n getListeners() {\n return {\n focus: this.onFocus,\n blur: this.onBlur,\n input: this.onInput,\n change: this.onChange\n }\n },\n\n // @overridable\n getValidations() {\n return null\n },\n\n // @overridable\n focusElement() {\n const [element] = asArray(this.$refs.element)\n if (element) {\n this.$nextTick(() => {\n element.focus()\n // If the element is disabled, `focus()` will likely not have the\n // desired effect. Use `scrollIntoView()` if available:\n if (this.disabled) {\n (element.$el || element).scrollIntoView?.()\n }\n })\n }\n },\n\n focus() {\n // Also focus this component's schema and panel in case it's a tab.\n this.schemaComponent.focus()\n this.tabComponent?.focus()\n this.focusElement()\n },\n\n clear() {\n this.value = null\n this.onChange()\n },\n\n onFocus() {\n this.focused = true\n this.emitEvent('focus')\n },\n\n onBlur() {\n this.focused = false\n this.emitEvent('blur')\n },\n\n onInput() {\n this.emitEvent('input')\n },\n\n onChange() {\n this.emitEvent('change', {\n context: this.parsedValue !== undefined\n ? { value: this.parsedValue }\n : null,\n // Pass `schemaComponent` as parent, so change events can propagate up.\n parent: this.schemaComponent\n })\n }\n }\n}\n","import Vue from 'vue'\nimport DitoMixin from './mixins/DitoMixin'\nimport TypeMixin from './mixins/TypeMixin'\nimport { getTypeComponent } from '@/utils/schema'\nimport { isFunction, isPromise } from '@ditojs/utils'\n\nconst components = {}\n\nconst DitoComponent = Vue.extend({\n // Make sure that registered components are present in all DitoComponent.\n components,\n mixins: [DitoMixin],\n\n methods: {\n getTypeComponent,\n\n resolveComponent(component, mixins = []) {\n // A helper method to allow three things:\n // - When used in a computed property, it removes the need to have to\n // load components with async functions `component: () => import(...)`.\n // instead, they can be directly provided: `component: import(...)`\n // - The properties passed to such components don't need to be defined.\n // Instead, the provided mixins are automatically inherited.\n // - The component can use all internal components known to Dito.js Admin.\n return component\n ? async () => {\n // At first, resolve component is it is loaded asynchronously.\n let comp = isFunction(component) ? await component()\n : isPromise(component) ? await component\n : component\n comp = comp?.default || comp\n comp.mixins = mixins\n comp.components = components\n return comp\n }\n : component\n },\n\n resolveDitoComponent(component) {\n return this.resolveComponent(component, [DitoMixin])\n },\n\n resolveTypeComponent(component) {\n return this.resolveComponent(component, [DitoMixin, TypeMixin])\n }\n }\n})\n\nDitoComponent.component = function(name, options) {\n if (options) {\n options = {\n name,\n ...options\n }\n const ctor = this.extend(options)\n components[name] = ctor\n return ctor\n } else {\n return components[name] || Vue.component(name)\n }\n}\n\nexport default DitoComponent\n","export default class DitoUser {\n hasRole(...roles) {\n if (this.roles) {\n for (const role of roles) {\n if (this.roles.includes(role)) {\n return true\n }\n }\n }\n return false\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.isLastRoute)?_c('router-view',{key:_vm.name}):(_vm.shouldRender(_vm.viewSchema))?_c('div',{staticClass:\"dito-view dito-scroll-parent\"},[_c('dito-schema',{staticClass:\"dito-scroll\",attrs:{\"schema\":_vm.viewSchema,\"data\":_vm.data,\"meta\":_vm.meta,\"store\":_vm.getChildStore(_vm.name),\"disabled\":_vm.isLoading,\"generateLabels\":false,\"menuHeader\":true}})],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// @vue/component\nexport default {\n provide() {\n return {\n $schemaParentComponent: () => this\n }\n },\n\n data() {\n return {\n schemaComponents: []\n }\n },\n\n computed: {\n mainSchemaComponent() {\n return this.schemaComponents[0]\n }\n },\n\n methods: {\n // This method is called by `DitoSchema.created()/destroyed()` on its\n // $parent, if the parent uses the `SchemaParentMixin`:\n _registerSchemaComponent(schemaComponent, add) {\n const { schemaComponents } = this\n if (add) {\n schemaComponents.push(schemaComponent)\n } else {\n schemaComponents.splice(schemaComponents.indexOf(schemaComponent), 1)\n }\n }\n }\n}\n","import SchemaParentMixin from './SchemaParentMixin'\n\n// @vue/component\nexport default {\n mixins: [SchemaParentMixin],\n\n computed: {\n errors() {\n return this.schemaComponents.reduce(\n (result, { errors }) =>\n errors && result ? result.concat(errors) : errors,\n null\n )\n },\n\n isTouched() {\n return this.schemaComponents.some(it => it.isTouched)\n },\n\n isDirty() {\n return this.schemaComponents.some(it => it.isDirty)\n },\n\n isValid() {\n return this.schemaComponents.every(it => it.isValid)\n },\n\n isValidated() {\n return this.schemaComponents.every(it => it.isValid)\n }\n },\n\n methods: {\n validateAll(match, notify = true) {\n return this.schemaComponents.every(it => it.validateAll(match, notify))\n },\n\n verifyAll(match) {\n return this.schemaComponents.every(it => it.verifyAll(match))\n },\n\n resetValidation() {\n this.schemaComponents.forEach(it => it.resetValidation())\n },\n\n clearErrors() {\n this.schemaComponents.forEach(it => it.clearErrors())\n },\n\n showValidationErrors(errors, focus) {\n this.schemaComponents.forEach(\n it => it.showValidationErrors(errors, focus)\n )\n }\n }\n}\n","import ValidatorMixin from '@/mixins/ValidatorMixin'\nimport { getCommonPrefix } from '@ditojs/utils'\n\n// @vue/component\nexport default {\n mixins: [ValidatorMixin],\n\n provide() {\n return {\n $routeComponent: () => this\n }\n },\n\n beforeRouteUpdate(to, from, next) {\n this.beforeRouteChange(to, from, next)\n },\n\n beforeRouteLeave(to, from, next) {\n this.beforeRouteChange(to, from, next)\n },\n\n data() {\n return {\n reload: false,\n // Each route-component defines a store that gets passed on to its\n // child components, so they can store values in them that live beyond\n // their life-cycle. See: DitoPane, SourceMixin\n store: {},\n loadCache: {} // See TypeMixin.load()\n }\n },\n\n computed: {\n routeComponent() {\n // Override DitoMixin's routeComponent() which uses the injected value.\n return this\n },\n\n routeRecord() {\n // TODO: Can this.$route.currentRoute be of use somewhere here?\n // Retrieve the route-record to which this component was mapped to:\n // https://github.com/vuejs/vue-router/issues/1338#issuecomment-296381459\n return this.$route.matched[this.$vnode.data.routerViewDepth]\n },\n\n isLastRoute() {\n // Returns true when this router component is the last one in the route.\n const { matched } = this.$route\n return this.routeRecord === matched[matched.length - 1]\n },\n\n isLastUnnestedRoute() {\n // Returns true if this route component is the last one in the route that\n // needs its own router-view (= is not nested).\n const { matched } = this.$route\n for (let i = matched.length - 1; i >= 0; i--) {\n const record = matched[i]\n if (!record.meta.nested) {\n return this.routeRecord === record\n }\n }\n return false\n },\n\n isNestedRoute() {\n return this.meta.nested\n },\n\n meta() {\n return this.routeRecord?.meta\n },\n\n path() {\n return this.getRoutePath(this.routeRecord.path)\n },\n\n label() {\n return this.getLabel(this.schema)\n },\n\n breadcrumb() {\n const { breadcrumb } = this.schema || {}\n return breadcrumb || `${this.breadcrumbPrefix} ${this.label}`\n },\n\n breadcrumbPrefix() {\n return ''\n },\n\n param() {\n // Workaround for vue-router not being able to map multiple url parameters\n // with the same name to multiple components, see:\n // https://github.com/vuejs/vue-router/issues/1345\n return this.$route.params[this.meta?.param] || null\n },\n\n // @overridable, see DitoForm\n doesMutate() {\n return false\n }\n },\n\n created() {\n // Keep a shared stack of root components for DitoTrail to use to render\n // labels. Can't rely on $route.matched[i].instances.default unfortunately,\n // as instances aren't immediately ready, and instances is not reactive.\n this.appState.routeComponents.push(this)\n },\n\n destroyed() {\n const { routeComponents } = this.appState\n routeComponents.splice(routeComponents.indexOf(this), 1)\n },\n\n methods: {\n beforeRouteChange(to, from, next) {\n let ok = true\n const isClosing = (\n // Only handle this route change if the form is actually mapped to the\n // `from` route, but include parent forms of closing nested forms as as\n // well, by matching the the start of from/to path against `this.path`:\n from.path.startsWith(this.path) &&\n !to.path.startsWith(this.path) &&\n // Exclude hash changes only (= tab changes):\n from.path !== to.path && (\n this.isFullRouteChange(to, from) ||\n // Decide if we're moving towards a new nested form, or closing /\n // replacing an already open one by comparing path lengths.\n // The case of `=` matches the replacing of an already open one.\n to.path.length <= from.path.length\n )\n )\n if (isClosing) {\n if (this.doesMutate) {\n // For active directly mutating (nested) forms that were not validated\n // yet, validate them once. If the user then still wants to leave\n // them, they can click close / navigate away again.\n ok = (\n this.isValidated ||\n this.validateAll()\n )\n } else {\n // The form doesn't directly mutate data. If it is dirty, ask if user\n // wants to persist data first.\n if (this.isDirty) {\n ok = window.confirm(\n `You have unsaved changes. Do you really want to ${\n this.verbs.cancel\n }?`\n )\n }\n }\n }\n next(ok)\n },\n\n getRoutePath(templatePath) {\n // Maps the route's actual path to the matched routes by counting its\n // parts separated by '/', splitting the path into the mapped parts\n // containing actual parameters.\n return this.$route.path\n .split('/')\n .slice(0, templatePath.split('/').length)\n .join('/')\n },\n\n getChildPath(path) {\n return `${this.path}/${path}`\n },\n\n isFullRouteChange(to, from) {\n // The route path is the path up to the first / (excluding the initial /):\n const rootPath = this.path.match(/^(\\/[^/]*)/)[1]\n return !getCommonPrefix(to.path, from.path).startsWith(rootPath)\n }\n }\n}\n","<template lang=\"pug\">\n // Only render DitoView when it is active, otherwise a normal router-view\n // instead, to nest further route components.\n // NOTE: This is different from the handling in DitoForm, where `v-show` is\n // used to always render forms even when other nested forms are present.\n router-view(\n v-if=\"!isLastRoute\"\n :key=\"name\"\n )\n .dito-view.dito-scroll-parent(\n v-else-if=\"shouldRender(viewSchema)\"\n )\n dito-schema.dito-scroll(\n :schema=\"viewSchema\"\n :data=\"data\"\n :meta=\"meta\"\n :store=\"getChildStore(name)\"\n :disabled=\"isLoading\"\n :generateLabels=\"false\"\n :menuHeader=\"true\"\n )\n</template>\n\n<script>\nimport DitoComponent from '@/DitoComponent'\nimport RouteMixin from '@/mixins/RouteMixin'\nimport { someSchemaComponent, isSingleComponentView } from '@/utils/schema'\nimport { hasResource } from '@/utils/resource'\n\n// @vue/component\nexport default DitoComponent.component('dito-view', {\n mixins: [RouteMixin],\n\n provide() {\n // Redirect $sourceComponent and $resourceComponent to the main component:\n return {\n $sourceComponent: () => this.mainComponent?.sourceComponent || null,\n $resourceComponent: () => this.mainComponent?.resourceComponent || null\n }\n },\n\n data() {\n return {\n isView: true,\n // Updated from LoadingMixin through `setLoading(isLoading)`:\n isLoading: false,\n // NOTE: Data is shared across all views because the router recycles the\n // DitoView component.\n data: {}\n }\n },\n\n computed: {\n schema() {\n return this.meta.schema\n },\n\n name() {\n return this.schema.name\n },\n\n isSingleComponentView() {\n return isSingleComponentView(this.schema)\n },\n\n mainComponent() {\n return this.mainSchemaComponent.getComponentByDataPath(this.name)\n },\n\n viewSchema() {\n const { schema } = this\n // Translate single-component schemas into multi-component schemas,\n // so they can be rendered directly through DitoSchema also:\n return this.isSingleComponentView\n ? {\n name: schema.name,\n components: {\n [schema.name]: {\n ...schema,\n label: false\n }\n }\n }\n : schema\n },\n\n providesData() {\n return someSchemaComponent(\n this.viewSchema,\n component => hasResource(component)\n )\n }\n },\n\n watch: {\n $route(to, from) {\n // See if the route changes completely, and clear the data if it does.\n if (this.isFullRouteChange(to, from)) {\n this.isLoading = false\n this.data = {}\n }\n }\n },\n\n methods: {\n setData(data) {\n this.data = data\n },\n\n getChildPath(path) {\n // Lists inside single-component views use the view's path for sub-paths:\n return this.isSingleComponentView\n ? this.path\n : `${this.path}/${path}`\n },\n\n setLoading(isLoading) {\n this.isLoading = !!isLoading\n }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoView.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./DitoView.vue?vue&type=template&id=3a484d3a&lang=pug&\"\nimport script from \"./DitoView.vue?vue&type=script&lang=js&\"\nexport * from \"./DitoView.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { isObject } from '@ditojs/utils'\nimport { addEvents } from '@ditojs/ui'\n\n// @vue/component\nexport default {\n data() {\n return {\n domHandlers: []\n }\n },\n\n beforeDestroy() {\n for (const { remove } of this.domHandlers) {\n remove()\n }\n this.domHandlers = []\n },\n\n methods: {\n domOn(element, type, handler) {\n const result = addEvents(\n element,\n isObject(type) ? type : { [type]: handler }\n )\n this.domHandlers.push(result)\n return result\n }\n }\n}\n","<template lang=\"pug\">\n .dito-root\n modals-container\n notifications.dito-notifications(\n ref=\"notifications\"\n position=\"top right\"\n classes=\"dito-notification\"\n )\n dito-menu\n main.dito-page.dito-scroll-parent\n dito-header(\n :spinner=\"options.spinner\"\n :isLoading=\"isLoading\"\n )\n dito-account(\n v-if=\"user\"\n )\n a.dito-login(\n v-else-if=\"allowLogin\"\n @click=\"rootComponent.login()\"\n )\n span Login\n router-view\n</template>\n\n<style lang=\"sass\">\n @import 'dito.sass'\n .dito-root\n height: 100%\n display: flex\n .dito-page\n background: $content-color-background\n // The root-level views and forms may have a `.dito-schema-header` that\n // should appear layered over `.dito-menu`, while having `overlay: hidden`\n // set by `.dito-scroll-parent` to delegate scrolling to `.dito-scroll`.\n // In order to not have the header clipped, adjust the top here:\n > .dito-form,\n > .dito-view\n margin-top: -$menu-height\n padding-top: $menu-height\n</style>\n\n<script>\nimport DitoComponent from '@/DitoComponent'\nimport DitoUser from '@/DitoUser'\nimport DitoView from '@/components/DitoView'\nimport DomMixin from '@/mixins/DomMixin'\nimport { processView, resolveViews } from '@/utils/schema'\nimport { asArray, stripTags } from '@ditojs/utils'\n\n// @vue/component\nexport default DitoComponent.component('dito-root', {\n mixins: [DomMixin],\n\n provide() {\n return {\n $views: () => this.resolvedViews\n }\n },\n\n props: {\n unresolvedViews: { type: [Object, Function, Promise], required: true },\n options: { type: Object, default: () => ({}) }\n },\n\n data() {\n return {\n resolvedViews: {},\n allowLogin: false,\n loadingCount: 0\n }\n },\n\n computed: {\n notifications() {\n return this.$refs.notifications\n },\n\n isLoading() {\n return this.loadingCount > 0\n }\n },\n\n created() {\n this.appState.title = document.title || 'Dito.js Admin'\n // With hot-reloading, it looks like destroyed hooks aren't always called\n // for route components so reset the array of registered components instead.\n this.appState.routeComponents = []\n },\n\n async mounted() {\n // Clear the label marked as active on all mouse and keyboard events, except\n // the ones that DitoLabel itself intercepts.\n this.domOn(document, {\n click: event => {\n if (!event.target.closest('.dito-label')) {\n this.appState.activeLabel = null\n }\n },\n\n keyup: event => {\n if (event.code === 'Tab') {\n this.appState.activeLabel = null\n }\n }\n })\n try {\n this.allowLogin = false\n if (await this.fetchUser()) {\n await this.resolveViews()\n } else {\n await this.login()\n }\n } catch (err) {\n console.error(err)\n }\n this.allowLogin = true\n },\n\n methods: {\n notify({ type = 'info', title, text } = {}) {\n title ||= {\n warning: 'Warning',\n error: 'Error',\n info: 'Information',\n success: 'Success'\n }[type] || 'Notification'\n text = `<p>${\n asArray(text).join('</p> <p>')\n }</p>`.replace(/\\n|\\r\\n|\\r/g, '<br>')\n const log = {\n warning: 'warn',\n error: 'error',\n info: 'log',\n success: 'log'\n }[type] || 'error'\n // eslint-disable-next-line no-console\n console[log](stripTags(text))\n const { notifications = true } = this.api\n if (notifications) {\n // Calculate display-duration for the notification based on its content\n // and the setting of the `durationFactor` configuration. It defines the\n // amount of milliseconds multiplied with the amount of characters\n // displayed in the notification, plus 40 (40 + title + message):\n const { durationFactor = 20 } = notifications\n const duration = (40 + text.length + title.length) * durationFactor\n this.$notify({ type, title, text, duration })\n }\n },\n\n closeNotifications() {\n this.notifications.destroyAll()\n },\n\n registerLoading(isLoading) {\n this.loadingCount += isLoading ? 1 : -1\n },\n\n async login() {\n this.allowLogin = true\n const {\n additionalComponents,\n redirectAfterLogin\n } = this.options.login || {}\n const loginData = await this.showDialog({\n components: {\n username: {\n type: 'text',\n autofocus: true\n },\n password: {\n type: 'password'\n },\n ...additionalComponents\n },\n buttons: {\n cancel: {},\n login: { type: 'submit' }\n }\n })\n if (loginData) {\n try {\n const response = await this.sendRequest({\n resource: this.api.users.login,\n data: loginData,\n internal: true\n })\n if (redirectAfterLogin) {\n location.replace(redirectAfterLogin)\n } else {\n this.setUser(response.data.user)\n await this.resolveViews()\n }\n } catch (err) {\n const error = err.response?.data?.error\n this.notify({\n type: 'error',\n title: 'Authentication Error',\n text: error || err\n })\n if (!error) {\n console.error(err, err.response)\n }\n this.login()\n }\n }\n },\n\n navigateHome() {\n return this.navigate('/')\n },\n\n async logout() {\n try {\n const response = await this.sendRequest({\n resource: this.api.users.logout,\n internal: true\n })\n if (response.data.success) {\n this.setUser(null)\n this.navigateHome()\n }\n } catch (err) {\n console.error(err)\n }\n },\n\n async fetchUser() {\n let user = null\n try {\n const response = await this.sendRequest({\n resource: this.api.users.session,\n internal: true\n })\n user = response.data.user || null\n } catch (err) {\n this.notify({\n type: 'error',\n title: 'Authentication Error',\n text: err\n })\n }\n this.setUser(user)\n return user\n },\n\n setUser(user) {\n this.appState.user = (\n user &&\n Object.setPrototypeOf(user, DitoUser.prototype)\n )\n // Clear resolved views when user is logged out.\n if (!user) {\n this.resolvedViews = {}\n this.navigateHome()\n }\n },\n\n async ensureUser() {\n if (!(await this.fetchUser())) {\n await this.login()\n }\n },\n\n async resolveViews() {\n try {\n this.resolvedViews = await resolveViews(this.unresolvedViews)\n } catch (error) {\n if (!error.request) {\n console.error(error)\n }\n return this.login()\n }\n // Collect all routes from the root schema components\n const routes = []\n const promises = []\n for (const [name, schema] of Object.entries(this.resolvedViews)) {\n promises.push(processView(DitoView, this.api, schema, name, routes))\n }\n await Promise.all(promises)\n for (const route of routes) {\n this.$router.addRoute(route)\n }\n }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoRoot.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoRoot.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DitoRoot.vue?vue&type=template&id=06cb7459&lang=pug&\"\nimport script from \"./DitoRoot.vue?vue&type=script&lang=js&\"\nexport * from \"./DitoRoot.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DitoRoot.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',{staticClass:\"dito-menu dito-scroll-parent\"},[_c('h1',[_vm._v(_vm._s(_vm.appState.title))]),_c('ul',{staticClass:\"dito-scroll\"},_vm._l((_vm.views),function(view){return _c('li',[(_vm.shouldRender(view))?_c('router-link',{staticClass:\"dito-link\",attrs:{\"to\":(\"/\" + (view.path)),\"active-class\":\"dito-active\"}},[_vm._v(_vm._s(_vm.getLabel(view)))]):_vm._e()],1)}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n nav.dito-menu.dito-scroll-parent\n h1 {{ appState.title }}\n ul.dito-scroll\n li(v-for=\"view in views\")\n router-link.dito-link(\n v-if=\"shouldRender(view)\"\n :to=\"`/${view.path}`\"\n active-class=\"dito-active\"\n ) {{ getLabel(view) }}\n</template>\n\n<style lang=\"sass\">\n .dito-menu\n flex: initial\n font-size: $menu-font-size\n white-space: nowrap\n +user-select(none)\n ul\n background: $color-lighter\n border-right: $border-style\n a,\n h1\n display: block\n h1\n padding: $menu-padding\n line-height: $menu-line-height\n font-weight: bold\n background: $color-darker\n border-right: $border-width solid $color-darkest\n color: $color-white\n .dito-link\n padding: $menu-padding\n line-height: $menu-line-height\n &.dito-active\n color: $color-white\n background: $color-active\n .dito-link\n &:focus:not(:active):not(.dito-active)\n box-shadow: $shadow-focus\n</style>\n\n<script>\nimport DitoComponent from '@/DitoComponent'\n\n// @vue/component\nexport default DitoComponent.component('dito-menu', {})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoMenu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoMenu.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DitoMenu.vue?vue&type=template&id=5514b8a4&lang=pug&\"\nimport script from \"./DitoMenu.vue?vue&type=script&lang=js&\"\nexport * from \"./DitoMenu.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DitoMenu.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',{staticClass:\"dito-header\"},[_c('div',{staticClass:\"dito-trail\"},[_c('ul',_vm._l((_vm.trail),function(component,index){return _c('li',[(index === _vm.trail.length - 1)?[_c('span',{class:_vm.getBreadcrumbClass(component)},[_vm._v(_vm._s(component.breadcrumb))])]:_c('router-link',{staticClass:\"dito-breadcrumb\",attrs:{\"to\":component.path}},[_c('span',{class:_vm.getBreadcrumbClass(component)},[_vm._v(_vm._s(component.breadcrumb))])])],2)}),0),(_vm.isLoading)?_c('spinner',{staticClass:\"dito-spinner\"}):_vm._e()],1),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"v-spinner\"},[_c('div',{staticClass:\"v-pulse v-pulse1\",style:([_vm.spinnerStyle,_vm.spinnerDelay1])}),_c('div',{staticClass:\"v-pulse v-pulse2\",style:([_vm.spinnerStyle,_vm.spinnerDelay2])}),_c('div',{staticClass:\"v-pulse v-pulse3\",style:([_vm.spinnerStyle,_vm.spinnerDelay3])})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n<div class=\"v-spinner\" v-show=\"loading\">\n <div class=\"v-pulse v-pulse1\" v-bind:style=\"[spinnerStyle,spinnerDelay1]\">\n </div><div class=\"v-pulse v-pulse2\" v-bind:style=\"[spinnerStyle,spinnerDelay2]\">\n </div><div class=\"v-pulse v-pulse3\" v-bind:style=\"[spinnerStyle,spinnerDelay3]\">\n </div>\n </div>\n</template>\n\n<script>\nexport default {\n \n name: 'PulseLoader',\n\n props: {\n loading: {\n type: Boolean,\n default: true\n },\n color: { \n type: String,\n default: '#5dc596'\n },\n size: {\n type: String,\n default: '15px'\n },\n margin: {\n type: String,\n default: '2px'\n },\n radius: {\n type: String,\n default: '100%'\n }\n },\n data () {\n return {\n spinnerStyle: {\n \tbackgroundColor: this.color,\n \twidth: this.size,\n height: this.size,\n \tmargin: this.margin,\n \tborderRadius: this.radius,\n display: 'inline-block',\n animationName: 'v-pulseStretchDelay',\n animationDuration: '0.75s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'cubic-bezier(.2,.68,.18,1.08)',\n animationFillMode: 'both'\n },\n spinnerDelay1: {\n animationDelay: '0.12s'\n },\n spinnerDelay2: {\n animationDelay: '0.24s'\n },\n spinnerDelay3: {\n animationDelay: '0.36s'\n }\n }\n }\n\n}\n</script>\n\n<style>\n/*.v-spinner\n{\n margin: 100px auto;\n text-align: center;\n}\n*/\n\n@-webkit-keyframes v-pulseStretchDelay\n{\n 0%,\n 80%\n {\n -webkit-transform: scale(1);\n transform: scale(1);\n -webkit-opacity: 1; \n opacity: 1;\n }\n 45%\n {\n -webkit-transform: scale(0.1);\n transform: scale(0.1);\n -webkit-opacity: 0.7; \n opacity: 0.7;\n }\n}\n\n@keyframes v-pulseStretchDelay\n{\n 0%,\n 80%\n {\n -webkit-transform: scale(1);\n transform: scale(1);\n -webkit-opacity: 1; \n opacity: 1;\n }\n 45%\n {\n -webkit-transform: scale(0.1);\n transform: scale(0.1);\n -webkit-opacity: 0.7; \n opacity: 0.7;\n }\n}\n</style>","import mod from \"-!../../cache-loader/dist/cjs.js??ref--13-0!../../thread-loader/dist/cjs.js!../../@vue/cli-service/node_modules/babel-loader/lib/index.js!../../cache-loader/dist/cjs.js??ref--1-0!../../vue-loader/lib/index.js??vue-loader-options!./PulseLoader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../cache-loader/dist/cjs.js??ref--13-0!../../thread-loader/dist/cjs.js!../../@vue/cli-service/node_modules/babel-loader/lib/index.js!../../cache-loader/dist/cjs.js??ref--1-0!../../vue-loader/lib/index.js??vue-loader-options!./PulseLoader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PulseLoader.vue?vue&type=template&id=7dc0198c&\"\nimport script from \"./PulseLoader.vue?vue&type=script&lang=js&\"\nexport * from \"./PulseLoader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PulseLoader.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<template lang=\"pug\">\n nav.dito-header\n .dito-trail\n ul\n li(\n v-for=\"(component, index) in trail\"\n )\n template(v-if=\"index === trail.length - 1\")\n span(:class=\"getBreadcrumbClass(component)\")\n | {{ component.breadcrumb }}\n router-link.dito-breadcrumb(v-else, :to=\"component.path\")\n span(:class=\"getBreadcrumbClass(component)\")\n | {{ component.breadcrumb }}\n spinner.dito-spinner(v-if=\"isLoading\")\n slot\n</template>\n\n<style lang=\"sass\">\n .dito-header\n background: $color-black\n font-size: $menu-font-size\n line-height: $menu-line-height\n z-index: $menu-z-index\n +user-select(none)\n span\n display: inline-block\n padding: $menu-padding\n color: $color-white\n .dito-trail\n display: flex\n box-sizing: border-box\n height: 3em\n width: 100%\n max-width: $content-width + $content-padding\n ul\n display: flex\n a\n position: relative\n display: block\n padding-right: 0.4em\n $angle: 33deg\n &:hover\n color: #999\n &::before,\n &::after\n position: absolute\n content: ''\n width: 1px\n height: 1.2em\n right: -1px\n background: $color-dark\n &::before\n top: 50%\n transform: rotate($angle)\n transform-origin: top\n &::after\n bottom: 50%\n transform: rotate(-$angle)\n transform-origin: bottom\n .dito-spinner\n margin-top: $menu-padding-ver\n .dito-dirty\n &:after\n content: ''\n display: inline-block\n background-color: $color-white\n width: 8px\n height: 8px\n margin: 2px\n margin-left: 0.5em\n border-radius: 100%\n .dito-account,\n .dito-login\n position: absolute\n top: 0\n cursor: pointer\n .dito-account\n left: $content-width + $content-padding * 2\n</style>\n\n<script>\nimport DitoComponent from '@/DitoComponent'\nimport PulseLoader from 'vue-spinner/src/PulseLoader'\n\nconst Spinner = DitoComponent.component('spinner', PulseLoader)\n\n// @vue/component\nexport default DitoComponent.component('dito-header', {\n props: {\n spinner: {\n type: Object,\n default: null\n },\n isLoading: {\n type: Boolean,\n default: false\n }\n },\n\n computed: {\n trail() {\n return this.appState.routeComponents.filter(\n component => !!component.routeRecord\n )\n }\n },\n\n created() {\n const {\n size = '8px',\n color = '#999'\n } = this.spinner || {}\n const { props } = Spinner.options\n props.size.default = size\n props.color.default = color\n },\n\n methods: {\n getBreadcrumbClass(component) {\n return {\n 'dito-dirty': component.isDirty\n }\n }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DitoHeader.vue?vue&type=template&id=575544cb&lang=pug&\"\nimport script from \"./DitoHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./DitoHeader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DitoHeader.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dito-account\"},[_c('a',{on:{\"mousedown\":function($event){$event.stopPropagation();return _vm.onPulldownMouseDown()}}},[_c('span',[_vm._v(_vm._s(_vm.user.username))])]),_c('ul',{staticClass:\"dito-pulldown\",class:{ 'dito-open': _vm.pulldown.open }},_vm._l((_vm.items),function(label,value){return _c('li',[_c('a',{on:{\"mousedown\":function($event){$event.stopPropagation();return _vm.onPulldownMouseDown(value)},\"mouseup\":function($event){return _vm.onPulldownMouseUp(value)}}},[_vm._v(_vm._s(label))])])}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import DomMixin from './DomMixin'\n\n// @vue/component\nexport default {\n mixins: [DomMixin],\n\n data() {\n return {\n pulldown: {\n open: false,\n startTime: 0,\n checkTime: true,\n events: {\n mousedown: () => {\n this.setPulldownOpen(false)\n this.pulldown.handlers.remove()\n },\n\n mouseup: () => {\n if (this.onPulldownMouseUp(null)) {\n this.pulldown.handlers.remove()\n }\n }\n },\n handlers: null\n }\n }\n },\n\n methods: {\n onPulldownMouseDown(value) {\n if (!value) {\n this.setPulldownOpen(true)\n this.checkTime = true\n } else {\n this.checkTime = false\n }\n },\n\n onPulldownMouseUp(value) {\n const { startTime } = this.pulldown\n if (!this.checkTime || startTime && (Date.now() - startTime > 250)) {\n this.setPulldownOpen(false)\n if (value) {\n this.onPulldownSelect(value)\n }\n return true\n }\n },\n\n onPulldownSelect(/* value */) {\n // NOTE: To be overridden.\n },\n\n setPulldownOpen(open) {\n this.pulldown.open = open\n this.pulldown.startTime = open ? Date.now() : 0\n if (open) {\n this.pulldown.handlers = this.domOn(document, this.pulldown.events)\n }\n }\n }\n}\n","<template lang=\"pug\">\n .dito-account\n a(\n @mousedown.stop=\"onPulldownMouseDown()\"\n )\n span {{ user.username }}\n ul.dito-pulldown(\n :class=\"{ 'dito-open': pulldown.open }\"\n )\n li(\n v-for=\"(label, value) of items\"\n )\n a(\n @mousedown.stop=\"onPulldownMouseDown(value)\"\n @mouseup=\"onPulldownMouseUp(value)\"\n ) {{ label }}\n</template>\n\n<style lang=\"sass\">\n .dito-account\n position: relative\n .dito-pulldown\n top: $pulldown-padding-ver\n</style>\n\n<script>\nimport DitoComponent from '@/DitoComponent'\nimport PulldownMixin from '@/mixins/PulldownMixin'\n\n// @vue/component\nexport default DitoComponent.component('dito-account', {\n mixins: [PulldownMixin],\n\n data() {\n return {\n items: {\n settings: 'Settings',\n logout: 'Logout'\n }\n }\n },\n\n methods: {\n onPulldownSelect(value) {\n switch (value) {\n case 'logout':\n this.rootComponent.logout()\n break\n case 'settings':\n console.info('TODO: Implement Settings')\n break\n }\n }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoAccount.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoAccount.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DitoAccount.vue?vue&type=template&id=65587a0e&lang=pug&\"\nimport script from \"./DitoAccount.vue?vue&type=script&lang=js&\"\nexport * from \"./DitoAccount.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DitoAccount.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',{staticClass:\"dito-dialog\",on:{\"submit\":function($event){$event.preventDefault();}}},[_c('dito-schema',{staticClass:\"dito-scroll\",attrs:{\"schema\":_vm.schema,\"data\":_vm.dialogData}},[_c('dito-buttons',{staticClass:\"dito-buttons-large\",attrs:{\"slot\":\"buttons\",\"buttons\":_vm.buttonSchemas,\"data\":_vm.dialogData},slot:\"buttons\"})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n form.dito-dialog(@submit.prevent=\"\")\n dito-schema.dito-scroll(\n :schema=\"schema\"\n :data=\"dialogData\"\n )\n dito-buttons.dito-buttons-large(\n slot=\"buttons\"\n :buttons=\"buttonSchemas\"\n :data=\"dialogData\"\n )\n</template>\n\n<style lang=\"sass\">\n .v--modal-overlay\n z-index: 2000\n</style>\n\n<script>\nimport DitoComponent from '@/DitoComponent'\nimport { getButtonSchemas } from '@/utils/schema'\nimport { addEvents } from '@ditojs/ui'\nimport { clone } from '@ditojs/utils'\n\n// @vue/component\nexport default DitoComponent.component('dito-dialog', {\n provide() {\n return {\n $dialogComponent: () => this\n }\n },\n\n props: {\n components: { type: Object, required: true },\n buttons: { type: Object, required: true },\n promise: { type: Object, required: true },\n data: { type: Object, default: () => ({}) }\n },\n\n data() {\n // Make sure dialog data contains all the expected keys\n const dialogData = clone(this.data)\n for (const key in this.components) {\n if (!(key in dialogData)) {\n dialogData[key] = null\n }\n }\n return {\n windowEvents: null,\n dialogData\n }\n },\n\n computed: {\n dialogComponent() {\n return this\n },\n\n name() {\n return this.$parent.name\n },\n\n schema() {\n return {\n components: this.components\n }\n },\n\n buttonSchemas() {\n return Object.entries(getButtonSchemas(this.buttons)).reduce(\n // Process the button schemas to add default click events\n // for both 'submit' and 'cancel' buttons:\n (schemas, [key, schema]) => {\n const { type, events } = schema\n if (!events) {\n const click = type === 'submit' ? () => this.accept()\n : key === 'cancel' ? () => this.cancel()\n : null\n if (click) {\n schema = {\n ...schema,\n events: { click }\n }\n }\n }\n schemas[key] = schema\n return schemas\n },\n {}\n )\n },\n\n hasCancel() {\n return Object.keys(this.buttonSchemas).includes('cancel')\n }\n },\n\n mounted() {\n this.windowEvents = addEvents(window, {\n keyup: () => {\n if (event.keyCode === 27) {\n this.cancel()\n }\n }\n })\n },\n\n destroyed() {\n this.windowEvents.remove()\n },\n\n methods: {\n hide() {\n this.$modal.hide(this.name)\n },\n\n resolve(value) {\n this.promise.resolve(value)\n this.hide()\n },\n\n reject(value) {\n this.promise.reject(value)\n this.hide()\n },\n\n accept() {\n this.resolve(this.dialogData)\n },\n\n cancel() {\n if (this.hasCancel) {\n this.resolve(null)\n }\n }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoDialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoDialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DitoDialog.vue?vue&type=template&id=fd5319de&lang=pug&\"\nimport script from \"./DitoDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./DitoDialog.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DitoDialog.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.content)?_c(_vm.options.tag || _vm.tag,{tag:\"component\",class:_vm.classes,style:(_vm.styles)},[_vm._v(_vm._s(_vm.options.text))]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n component(\n v-if=\"content\"\n :is=\"options.tag || tag\"\n :class=\"classes\"\n :style=\"styles\"\n ) {{ options.text }}\n</template>\n\n<style lang=\"sass\">\n</style>\n\n<script>\nimport DitoComponent from '@/DitoComponent'\nimport { isObject, isString, asArray } from '@ditojs/utils'\n\n// @vue/component\nexport default DitoComponent.component('dito-element', {\n props: {\n tag: { type: String, default: 'span' },\n content: { type: [String, Object] }\n },\n\n computed: {\n options() {\n const { content } = this\n return isObject(content) ? content : { text: content }\n },\n\n classes() {\n return {\n ...this.$attrs.class,\n ...asObject(this.options.class)\n }\n },\n\n styles() {\n return {\n ...this.$attrs.style,\n ...asObject(this.options.style)\n }\n }\n }\n})\n\nfunction asObject(value) {\n return asArray(value).reduce((object, entry) => {\n if (isString(entry)) {\n object[entry] = true\n } else if (isObject(entry)) {\n Object.assign(object, entry)\n }\n return object\n }, {})\n}\n\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoElement.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoElement.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DitoElement.vue?vue&type=template&id=515c42dd&lang=pug&\"\nimport script from \"./DitoElement.vue?vue&type=script&lang=js&\"\nexport * from \"./DitoElement.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.text || _vm.collapsible)?_c(_vm.tag,_vm._g({tag:\"component\",staticClass:\"dito-label\",class:{ 'dito-active': _vm.isActive }},_vm.listeners),[(_vm.collapsible)?_c('div',{staticClass:\"dito-chevron\",class:{ 'dito-opened': !_vm.collapsed }}):_vm._e(),_vm._l((_vm.prefixes),function(prefix,index){return _c('dito-element',{key:(\"prefix-\" + index),staticClass:\"dito-label-prefix\",attrs:{\"tag\":\"span\",\"content\":prefix}})}),_c('label',{attrs:{\"for\":_vm.dataPath},domProps:{\"innerHTML\":_vm._s(_vm.text)}}),_vm._l((_vm.suffixes),function(suffix,index){return _c('dito-element',{key:(\"suffix-\" + index),staticClass:\"dito-label-suffix\",attrs:{\"tag\":\"span\",\"content\":suffix}})}),_vm._t(\"edit-buttons\")],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n component.dito-label(\n v-if=\"text || collapsible\"\n :is=\"tag\"\n v-on=\"listeners\"\n :class=\"{ 'dito-active': isActive }\"\n )\n .dito-chevron(\n v-if=\"collapsible\"\n :class=\"{ 'dito-opened': !collapsed }\"\n )\n dito-element.dito-label-prefix(\n v-for=\"(prefix, index) of prefixes\"\n tag=\"span\"\n :key=\"`prefix-${index}`\"\n :content=\"prefix\"\n )\n label(:for=\"dataPath\" v-html=\"text\")\n dito-element.dito-label-suffix(\n v-for=\"(suffix, index) of suffixes\"\n tag=\"span\"\n :key=\"`suffix-${index}`\"\n :content=\"suffix\"\n )\n slot(name=\"edit-buttons\")\n</template>\n\n<style lang=\"sass\">\n .dito-label\n --label-padding: 0\n // For buttons and chevron to align right:\n display: flex\n position: relative\n // Vertically center all items in the label, e.g. chevron, edit-buttons.\n align-items: center\n padding: var(--label-padding)\n margin: 0 0 $form-spacing-half 0\n\n label\n display: inline\n cursor: inherit\n font-weight: bold\n white-space: nowrap\n\n label,\n .dito-label-prefix,\n .dito-label-suffix\n &:nth-last-child(2)\n // To stretch either label or .dito-label-suffix to full available width\n // so that buttons always appear right-aligned:\n flex: 1 1 auto\n &::after\n content: '\\00a0'\n\n .dito-label-prefix,\n .dito-label-suffix\n +user-select(none)\n +ellipsis\n\n .dito-buttons\n // Move the label padding inside .dito-buttons, so that it captures all\n // near mouse events:\n margin: calc(-1 * var(--label-padding))\n margin-left: 0\n padding: var(--label-padding)\n\n &.dito-width-fill\n width: 100%\n // In order for ellipsis to work on labels without affecting other layout,\n // we need to position it absolutely inside its container.\n label\n +ellipsis\n position: absolute\n max-width: 100%\n &::after\n // Since <label> uses `position: absolute`, add `content: ' '`\n // on its parent to enforce the right text height in the container\n content: '\\00a0'\n\n a.dito-label\n &:hover\n .dito-chevron\n color: $color-darker\n &:focus:not(:active):not(.dito-active)\n .dito-chevron\n -webkit-text-stroke: $border-width $color-active\n\n // Display labels in compact schema as inline-blocks, to allow compact layouts\n // with `width: 'auto'` elements:\n // TODO: Find a better way to control this behavior.\n .dito-schema-compact\n > .dito-schema-content\n > .dito-pane\n > .dito-container\n > .dito-label:not(.dito-label-component)\n display: inline-block\n</style>\n\n<script>\nimport DitoComponent from '@/DitoComponent'\nimport { isObject, asArray } from '@ditojs/utils'\n\n// @vue/component\nexport default DitoComponent.component('dito-label', {\n props: {\n label: { type: [String, Object], default: null },\n dataPath: { type: String, default: null },\n collapsed: { type: Boolean, default: false },\n collapsible: { type: Boolean, default: false }\n },\n\n computed: {\n tag() {\n return this.collapsible ? 'a' : 'div'\n },\n\n text() {\n const { label } = this\n return isObject(label) ? label?.text : label\n },\n\n prefixes() {\n return asArray(this.label?.prefix)\n },\n\n suffixes() {\n return asArray(this.label?.suffix)\n },\n\n listeners() {\n return {\n ...(this.collapsible && {\n click: this.onClick\n })\n }\n },\n\n isActive() {\n return this.appState.activeLabel === this\n }\n },\n\n methods: {\n onClick() {\n this.appState.activeLabel = this\n this.$emit('expand', this.collapsed)\n }\n }\n})\n\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoLabel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoLabel.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DitoLabel.vue?vue&type=template&id=b4d751a0&lang=pug&\"\nimport script from \"./DitoLabel.vue?vue&type=script&lang=js&\"\nexport * from \"./DitoLabel.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DitoLabel.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dito-schema\"},[_c('div',{staticClass:\"dito-schema-content\"},[(_vm.hasLabel || _vm.hasTabs || _vm.clipboard)?_c('div',{staticClass:\"dito-schema-header\",class:{ 'dito-schema-menu-header': _vm.menuHeader }},[(_vm.hasLabel)?_c('dito-label',{attrs:{\"label\":_vm.label,\"dataPath\":_vm.dataPath,\"collapsible\":_vm.collapsible,\"collapsed\":!_vm.opened},on:{\"expand\":_vm.onExpand},scopedSlots:_vm._u([(_vm.inlined)?{key:\"edit-buttons\",fn:function(){return [_vm._t(\"edit-buttons\")]},proxy:true}:null],null,true)}):_vm._e(),(_vm.tabs)?_c('dito-tabs',{attrs:{\"tabs\":_vm.tabs,\"selectedTab\":_vm.selectedTab}}):_vm._e(),_c('dito-clipboard',{attrs:{\"clipboard\":_vm.clipboard,\"dataPath\":_vm.dataPath,\"data\":_vm.data}})],1):_vm._e(),_vm._l((_vm.tabs),function(schema,tab){return (_vm.hasTabs)?_c('dito-pane',{key:tab,ref:\"tabs\",refInFor:true,staticClass:\"dito-pane-tab\",attrs:{\"visible\":_vm.selectedTab === tab,\"tab\":tab,\"schema\":schema,\"dataPath\":_vm.dataPath,\"data\":_vm.data,\"meta\":_vm.meta,\"store\":_vm.store,\"single\":!_vm.inlined && !_vm.hasMainPane,\"disabled\":_vm.disabled,\"generateLabels\":_vm.generateLabels}}):_vm._e()}),_c('transition-height',{attrs:{\"enabled\":_vm.inlined}},[(_vm.hasMainPane && _vm.opened)?_c('dito-pane',{ref:\"components\",staticClass:\"dito-pane-main\",attrs:{\"schema\":_vm.schema,\"dataPath\":_vm.dataPath,\"data\":_vm.data,\"meta\":_vm.meta,\"store\":_vm.store,\"single\":!_vm.inlined && !_vm.hasTabs,\"disabled\":_vm.disabled,\"generateLabels\":_vm.generateLabels}}):_vm._e()],1),(!_vm.inlined && _vm.isPopulated)?_vm._t(\"buttons\"):_vm._e()],2),(_vm.inlined)?[(!_vm.hasLabel)?_vm._t(\"edit-buttons\"):_vm._e()]:(_vm.isPopulated)?[_c('dito-panels',{attrs:{\"panels\":_vm.panelSchemas,\"data\":_vm.data,\"meta\":_vm.meta,\"store\":_vm.store,\"disabled\":_vm.disabled}})]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import DitoContext from '@/DitoContext'\nimport {\n getItemFormSchema, getItemId, getItemUid, isListSource\n} from '@/utils/schema'\nimport { appendDataPath } from '@/utils/data'\nimport { isObject, isString, isFunction } from '@ditojs/utils'\n\n// @vue/component\nexport default {\n methods: {\n getItemFormSchema,\n\n getItemUid,\n\n getItemId(sourceSchema, item, index = null) {\n return this.isTransient && index !== null\n ? String(index)\n : getItemId(sourceSchema, item)\n },\n\n getItemDataPath(sourceSchema, index) {\n let { dataPath } = this\n if (sourceSchema !== this.schema) {\n dataPath = appendDataPath(dataPath, sourceSchema.name)\n }\n if (index != null) {\n dataPath = appendDataPath(dataPath, index)\n }\n return dataPath\n },\n\n findItemIdIndex(sourceSchema, data, itemId) {\n const index = this.isTransient\n // For transient data, the index is used as the id\n ? itemId\n : data?.findIndex(\n (item, index) =>\n this.getItemId(sourceSchema, item, index) === itemId\n )\n return index !== -1 ? index : null\n },\n\n getItemLabel(sourceSchema, item, {\n index = null,\n extended = false,\n asObject = false\n } = {}) {\n const { itemLabel } = sourceSchema\n if (!item || !extended && itemLabel === false) {\n return null\n }\n\n let dataPath\n const getDataPath = () =>\n (dataPath ||= this.getItemDataPath(sourceSchema, index))\n\n let formLabel\n const getFormLabel = () =>\n (formLabel ||= this.getLabel(\n getItemFormSchema(sourceSchema, item, this.context)\n ))\n\n let text\n let prefix\n let suffix\n if (isFunction(itemLabel)) {\n const label = itemLabel.call(\n this,\n new DitoContext(this, {\n nested: false,\n data: item,\n value: item,\n index,\n\n get dataPath() {\n return getDataPath()\n },\n\n get formLabel() {\n return getFormLabel()\n }\n })\n )\n if (isObject(label)) {\n ({ text, prefix, suffix } = label)\n } else {\n text = label\n }\n // It's up to `itemLabel()` entirely to produce the label:\n extended = false\n } else {\n // Look up the name on the item, by these rules:\n // 1. If `itemLabel` is a string, use it as the property key\n // 2. Otherwise, if there are columns, use the value of the first\n // 3. Otherwise, see if the item has a property named 'name'\n const { columns } = sourceSchema\n const key = (\n isString(itemLabel) && itemLabel ||\n isListSource(sourceSchema) && columns && Object.keys(columns)[0] ||\n 'name'\n )\n text = item[key]\n }\n const hadLabel = !!text\n text = text || ''\n // If no label was found so far, try to produce one from theindex.\n if (!text) {\n // Always use extended style when auto-generating labels from index/id:\n extended = true\n if (isListSource(sourceSchema) && index !== null) {\n text = `${index + 1}`\n }\n }\n if (extended) {\n const formLabel = getFormLabel()\n if (formLabel) {\n // If a label was provided, put in quotes when prefixed with the\n // form label for the extended style:\n text = `${formLabel} ${hadLabel ? `'${text}'` : text}`\n }\n }\n return asObject ? { text, prefix, suffix } : text\n }\n }\n}\n","<template lang=\"pug\">\n .dito-schema\n .dito-schema-content\n .dito-schema-header(\n v-if=\"hasLabel || hasTabs || clipboard\"\n :class=\"{ 'dito-schema-menu-header': menuHeader }\"\n )\n dito-label(\n v-if=\"hasLabel\"\n :label=\"label\"\n :dataPath=\"dataPath\"\n :collapsible=\"collapsible\"\n :collapsed=\"!opened\"\n @expand=\"onExpand\"\n )\n // Pass edit-buttons through to dito-label's own edit-buttons slot:\n template(\n #edit-buttons\n v-if=\"inlined\"\n )\n slot(name=\"edit-buttons\")\n dito-tabs(\n v-if=\"tabs\"\n :tabs=\"tabs\"\n :selectedTab=\"selectedTab\"\n )\n dito-clipboard(\n :clipboard=\"clipboard\"\n :dataPath=\"dataPath\"\n :data=\"data\"\n )\n dito-pane.dito-pane-tab(\n v-if=\"hasTabs\"\n v-for=\"(schema, tab) in tabs\"\n ref=\"tabs\"\n :key=\"tab\"\n :visible=\"selectedTab === tab\"\n :tab=\"tab\"\n :schema=\"schema\"\n :dataPath=\"dataPath\"\n :data=\"data\"\n :meta=\"meta\"\n :store=\"store\"\n :single=\"!inlined && !hasMainPane\"\n :disabled=\"disabled\"\n :generateLabels=\"generateLabels\"\n )\n transition-height(\n :enabled=\"inlined\"\n )\n dito-pane.dito-pane-main(\n v-if=\"hasMainPane && opened\"\n ref=\"components\"\n :schema=\"schema\"\n :dataPath=\"dataPath\"\n :data=\"data\"\n :meta=\"meta\"\n :store=\"store\"\n :single=\"!inlined && !hasTabs\"\n :disabled=\"disabled\"\n :generateLabels=\"generateLabels\"\n )\n slot(\n name=\"buttons\"\n v-if=\"!inlined && isPopulated\"\n )\n template(v-if=\"inlined\")\n slot(\n v-if=\"!hasLabel\"\n name=\"edit-buttons\"\n )\n template(v-else-if=\"isPopulated\")\n dito-panels(\n :panels=\"panelSchemas\"\n :data=\"data\"\n :meta=\"meta\"\n :store=\"store\"\n :disabled=\"disabled\"\n )\n</template>\n\n<style lang=\"sass\">\n .dito-schema\n box-sizing: border-box\n // To display schema next to panels:\n display: flex\n min-height: 100%\n > .dito-schema-content\n flex: 1 1 100%\n // So that schema buttons can be sticky to the bottom:\n display: grid\n grid-template-rows: min-content\n > *:only-child\n grid-row-end: none\n max-width: $content-width\n padding: $content-padding\n > .dito-buttons,\n > .dito-panels\n flex: 1 1 0%\n > .dito-buttons\n margin-left: $form-spacing\n > .dito-panels\n padding: $content-padding $content-padding $content-padding 0\n // Display a ruler between tabbed components and towards the .dito-buttons\n .dito-pane-tab + .dito-pane-main\n &::before\n // Use a pseudo element to display a ruler with proper margins\n display: block\n content: ''\n width: 100%\n border-bottom: $border-style\n // Add removed $form-spacing again to the ruler\n margin: $content-padding $form-spacing-half $form-spacing-half\n .dito-schema-header\n display: flex\n justify-content: space-between\n .dito-tabs,\n .dito-clipboard\n display: flex\n align-self: flex-end\n .dito-clipboard\n &:only-child\n margin-left: auto\n .dito-button\n margin: 0 0 $tab-margin $tab-margin\n &.dito-schema-menu-header\n // Bring the tabs up to the menu.\n position: absolute\n height: $menu-height\n padding: 0 $menu-padding-hor\n max-width: $content-width\n top: 0\n left: 0\n right: 0\n z-index: $menu-z-index\n // Turn off pointer events so that DitoTrail keeps receiving events...\n pointer-events: none\n // ...but allow interaction with the tabs and buttons (e.g. clipboard)\n // layered on top of DitoTrail.\n .dito-tabs,\n .dito-buttons\n pointer-events: auto\n line-height: $menu-line-height\n font-size: $menu-font-size\n button.dito-label\n width: 100%\n // Catch all clicks, even when it would be partially covered by schema.\n z-index: 1\n</style>\n\n<script>\nimport DitoComponent from '@/DitoComponent'\nimport ItemMixin from '@/mixins/ItemMixin'\nimport { appendDataPath, getParentItem } from '@/utils/data'\nimport {\n getNamedSchemas, getPanelSchemas, setDefaults, processData\n} from '@/utils/schema'\nimport { getStoreAccessor } from '@/utils/accessor'\nimport {\n isObject, isArray, isFunction, isRegExp,\n parseDataPath, normalizeDataPath, labelize\n} from '@ditojs/utils'\nimport { TransitionHeight } from '@ditojs/ui'\n\n// @vue/component\nexport default DitoComponent.component('dito-schema', {\n components: { TransitionHeight },\n mixins: [ItemMixin],\n\n provide() {\n return {\n $schemaComponent: () => this\n }\n },\n\n inject: [\n '$schemaParentComponent'\n ],\n\n props: {\n schema: { type: Object, required: true },\n dataPath: { type: String, default: '' },\n data: { type: Object, default: null },\n meta: { type: Object, default: () => ({}) },\n store: { type: Object, default: () => ({}) },\n label: { type: [String, Object], default: null },\n inlined: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n collapsed: { type: Boolean, default: false },\n collapsible: { type: Boolean, default: false },\n generateLabels: { type: Boolean, default: true },\n hasOwnData: { type: Boolean, default: false },\n menuHeader: { type: Boolean, default: false }\n },\n\n data() {\n const { data } = this.schema\n return {\n // Allow schema to provide more data through `schema.data`, vue-style:\n ...(\n data && isFunction(data)\n ? data.call(this, this.context)\n : data\n ),\n componentsRegistry: {},\n panesRegistry: {},\n panelsRegistry: {}\n }\n },\n\n computed: {\n schemaComponent() {\n // Override DitoMixin's schemaComponent() which uses the injected value.\n return this\n },\n\n parentSchemaComponent() {\n // Don't return the actual parent schema is this schema handles its own\n // data. This prevents delegating events to the parent, and registering\n // components with the parent that would cause it to set isDirty flags.\n return this.hasOwnData ? null : this.$parent.schemaComponent\n },\n\n panelSchemas() {\n const panels = getPanelSchemas(this.schema.panels, '')\n for (const pane of this.panes) {\n panels.push(...pane.panelSchemas)\n }\n return panels\n },\n\n tabs() {\n return getNamedSchemas(this.schema.tabs)\n },\n\n selectedTab() {\n const currentTab = this.$route.hash?.slice(1) || null\n const tab = currentTab && this.shouldRender(this.tabs[currentTab])\n ? currentTab\n : this.defaultTab?.name || null\n if (tab !== currentTab) {\n // Any tab change needs to be reflected in the router also.\n this.$router.replace({ hash: tab })\n }\n return tab\n },\n\n defaultTab() {\n if (this.tabs) {\n let first = null\n for (const tab of Object.values(this.tabs)) {\n const { defaultTab } = tab\n if (isFunction(defaultTab)\n ? defaultTab.call(this, this.context)\n : defaultTab\n ) {\n return tab\n }\n if (!first) {\n first = tab\n }\n }\n return first\n }\n },\n\n clipboard() {\n return this.schema?.clipboard\n },\n\n processedData() {\n return this.processData({ target: 'server', schemaOnly: true })\n },\n\n clipboardData() {\n return {\n $schema: this.schema.name,\n ...this.processData({ target: 'clipboard', schemaOnly: true })\n }\n },\n\n // The following computed properties are similar to `DitoContext`\n // properties, so that we can access these on `this` as well:\n // NOTE: While internally, we speak of `data`, in the API surface the\n // term `item` is used for the data that relates to editing objects.\n // NOTE: This should always return the same as:\n // return getItem(this.rootData, this.dataPath, false)\n item() {\n return this.data\n },\n\n rootItem() {\n return this.rootData\n },\n\n processedItem() {\n return this.processedData\n },\n\n clipboardItem() {\n return this.clipboardData\n },\n\n parentItem() {\n return getParentItem(this.rootData, this.dataPath, false)\n },\n\n formLabel() {\n return this.getLabel(\n this.getItemFormSchema(this.sourceSchema, this.data, this.context)\n )\n },\n\n isDirty() {\n return this.someComponent(it => it.isDirty)\n },\n\n isTouched() {\n return this.someComponent(it => it.isTouched)\n },\n\n isValid() {\n return this.everyComponent(it => it.isValid)\n },\n\n isValidated() {\n return this.everyComponent(it => it.isValidated)\n },\n\n hasData() {\n return !!this.data\n },\n\n hasLabel() {\n return !!this.label || this.collapsible\n },\n\n hasTabs() {\n return !this.inlined && !!this.tabs\n },\n\n hasMainPane() {\n const { components } = this.schema\n return !!components && Object.keys(components).length > 0\n },\n\n opened: getStoreAccessor('opened', {\n default() {\n return !this.collapsed\n }\n }),\n\n components() {\n return Object.values(this.componentsRegistry)\n },\n\n panes() {\n return Object.values(this.panesRegistry)\n },\n\n panels() {\n return Object.values(this.panelsRegistry)\n },\n\n componentsByDataPath() {\n return this._listEntriesByDataPath(this.componentsRegistry)\n },\n\n panesByDataPath() {\n return this._listEntriesByDataPath(this.panesRegistry)\n },\n\n panelsByDataPath() {\n return this._listEntriesByDataPath(this.panelsRegistry)\n }\n },\n\n created() {\n this._register(true)\n this.setupSchemaFields()\n // Delegate change events through to parent schema:\n this.delegate('change', this.parentSchemaComponent)\n this.emitEvent('initialize') // Not `'create'`, since that's for data.\n },\n\n beforeDestroy() {\n this.emitEvent('destroy')\n this._register(false)\n },\n\n methods: {\n getComponentsByDataPath(dataPath, match) {\n return this._getEntriesByDataPath(\n this.componentsByDataPath, dataPath, match\n )\n },\n\n getComponentByDataPath(dataPath, match) {\n return this.getComponentsByDataPath(dataPath, match)[0] || null\n },\n\n getComponentsByName(dataPath, match) {\n return this._getEntriesByName(this.componentsByDataPath, dataPath, match)\n },\n\n getComponentByName(name, match) {\n return this.getComponentsByName(name, match)[0] || null\n },\n\n getComponents(dataPathOrName, match) {\n return this._getEntries(this.componentsByDataPath, dataPathOrName, match)\n },\n\n getComponent(dataPathOrName, match) {\n return this.getComponents(dataPathOrName, match)[0] || null\n },\n\n getPanelsByDataPath(dataPath, match) {\n return this._getEntriesByDataPath(this.panelsByDataPath, dataPath, match)\n },\n\n getPanelByDataPath(dataPath, match) {\n return this.getPanelsByDataPath(dataPath, match)[0] || null\n },\n\n getPanels(dataPathOrName, match) {\n return this._getEntries(this.panelsByDataPath, dataPathOrName, match)\n },\n\n getPanel(dataPathOrName, match) {\n return this.getPanels(dataPathOrName, match)[0] || null\n },\n\n someComponent(callback) {\n return this.isPopulated && this.components.some(callback)\n },\n\n everyComponent(callback) {\n return this.isPopulated && this.components.every(callback)\n },\n\n onExpand(expand) {\n this.emitEvent('expand', {\n // TODO: Actually expose this on DitoContext?\n context: { expand }\n })\n // Prevent closing the schema with invalid data, since the in-component\n // validation will not be executed once it's closed.\n\n // TODO: Move validation out of components, to schema, just like\n // processing, and use `showValidationErrors()` for the resulting errors,\n // then remove this requirement, since we can validate closed forms and\n // schemas then.\n if (!this.opened || expand || this.validateAll()) {\n this.opened = expand\n }\n },\n\n onChange() {\n this.emitEvent('change')\n },\n\n resetValidation() {\n for (const component of this.components) {\n component.resetValidation()\n }\n },\n\n clearErrors() {\n for (const component of this.components) {\n component.clearErrors()\n }\n },\n\n focus() {\n this.parentSchemaComponent?.focus()\n this.opened = true\n },\n\n validateAll(match, notify = true) {\n const { componentsByDataPath } = this\n let dataPaths\n if (match) {\n const check = isFunction(match)\n ? match\n : isRegExp(match)\n ? field => match.test(field)\n : null\n dataPaths = check\n ? Object.keys(componentsByDataPath).filter(check)\n : isArray(match)\n ? match\n : [match]\n }\n if (notify) {\n this.clearErrors()\n }\n let isValid = true\n let first = true\n dataPaths ||= Object.keys(componentsByDataPath)\n for (const dataPath of dataPaths) {\n const components = this.getComponentsByDataPath(dataPath)\n for (const component of components) {\n if (!component.validate(notify)) {\n // Focus first error field\n if (notify && first) {\n component.focus()\n }\n first = false\n isValid = false\n }\n }\n }\n if (notify && !isValid) {\n this.notifyErrors()\n }\n return isValid\n },\n\n verifyAll(match) {\n return this.validateAll(match, false)\n },\n\n async showValidationErrors(errors, focus) {\n this.clearErrors()\n let first = true\n const unmatched = []\n for (const [dataPath, errs] of Object.entries(errors)) {\n // If the schema is a data-root, prefix its own dataPath to all errors,\n // since the data that it sends and validates will be unprefixed.\n const fullDataPath = this.hasOwnData\n ? appendDataPath(this.dataPath, dataPath)\n : dataPath\n // console.log(this, this.dataPath, this.hasOwnData, fullDataPath)\n // Convert from JavaScript property access notation, to our own form\n // of relative JSON pointers as data-paths:\n const dataPathParts = parseDataPath(fullDataPath)\n let found = false\n const components = this.getComponentsByDataPath(dataPathParts)\n for (const component of components) {\n if (component.showValidationErrors(errs, first && focus)) {\n found = true\n first = false\n }\n }\n if (!found) {\n // Couldn't find a component in an active form for the given dataPath.\n // See if we can find a component serving a part of the dataPath,\n // and take it from there:\n const property = dataPathParts.pop()\n while (dataPathParts.length > 0) {\n const components = this.getComponentsByDataPath(dataPathParts)\n for (const component of components) {\n if (await component.navigateToComponent?.(\n fullDataPath,\n subComponents => {\n let found = false\n for (const component of subComponents) {\n const errs = errors[component.dataPath]\n if (\n errs &&\n component.showValidationErrors(errs, first && focus)\n ) {\n found = true\n first = false\n }\n }\n return found\n }\n )) {\n // Found a nested form to display at least parts fo the errors.\n // We can't show all errors at once, so we're done. Don't call\n // `notifyErrors()` yet, as we can only display it once\n // `showValidationErrors()` was called from `DitoForm.mounted()`\n return\n }\n }\n // Still here, so keep removing the last part until we find a match.\n dataPathParts.pop()\n }\n // When the error can't be matched, add it to a list of unmatched\n // errors with decent message, to report at the end.\n const field = labelize(property)\n for (const err of errs) {\n const prefix = field\n ? `The field ${field}`\n : `The ${this.formLabel}`\n unmatched.push(`${prefix} ${err.message}`)\n }\n }\n first = false\n }\n if (!first) {\n this.notifyErrors(unmatched.join('\\n'))\n }\n },\n\n notifyErrors(message) {\n this.notify({\n type: 'error',\n title: 'Validation Errors',\n text: message || 'Please correct the highlighted errors.'\n })\n },\n\n resetData() {\n // We can't set `this.data = ...` because it's a property, but we can\n // set all known properties on it to the values returned by\n // `setDefaults()`, as they are all reactive already from the starts:\n Object.assign(this.data, setDefaults(this.schema, {}, this))\n this.clearErrors()\n },\n\n setData(data) {\n for (const name in data) {\n if (name in this.data) {\n this.$set(this.data, name, data[name])\n for (const component of this.getComponentsByName(name)) {\n component.markDirty()\n }\n }\n }\n },\n\n filterData(data) {\n // Filters out arrays and objects that are back by data resources\n // themselves, as those are already taking care of through their own API\n // resource end-points and shouldn't be set.\n const copy = {}\n for (const [name, value] of Object.entries(data)) {\n if (isArray(value) || isObject(value)) {\n const components = this.getComponentsByName(name)\n if (components.some(component => component.providesData)) {\n continue\n }\n }\n copy[name] = value\n }\n return copy\n },\n\n processData({ target = 'clipboard', schemaOnly = true } = {}) {\n return processData(\n this.schema,\n this.sourceSchema,\n this.data,\n this.dataPath, {\n // Needed for DitoContext handling inside `processData` and\n // `processSchemaData()`:\n component: this,\n schemaOnly,\n target\n }\n )\n },\n\n _register(add) {\n // `$schemaParentComponent()` is only set if one of the ancestors uses\n // the `SchemaParentMixin`:\n this.$schemaParentComponent()?._registerSchemaComponent(this, add)\n },\n\n _registerComponent(component, add) {\n this._registerEntry(this.componentsRegistry, component, add)\n // Only register with the parent if schema shares data with it.\n this.parentSchemaComponent?._registerComponent(component, add)\n },\n\n _registerPane(pane, add) {\n this._registerEntry(this.panesRegistry, pane, add)\n },\n\n _registerPanel(panel, add) {\n this._registerEntry(this.panelsRegistry, panel, add)\n },\n\n _registerEntry(registry, entry, add) {\n const uid = entry.$uid\n if (add) {\n this.$set(registry, uid, entry)\n } else {\n this.$delete(registry, uid)\n }\n },\n\n _listEntriesByDataPath(registry) {\n return Object.values(registry).reduce((entriesByDataPath, entry) => {\n // Multiple entries can be linked to the same data-path, e.g. when\n // there are tabs. Link each data-path to an array of entries.\n const { dataPath } = entry\n const entries = entriesByDataPath[dataPath] ||= []\n entries.push(entry)\n return entriesByDataPath\n }, {})\n },\n\n _getEntries(entriesByDataPath, dataPath, match) {\n return normalizeDataPath(dataPath).startsWith(this.dataPath)\n ? this._getEntriesByDataPath(entriesByDataPath, dataPath, match)\n : this._getEntriesByName(entriesByDataPath, dataPath, match)\n },\n\n _getEntriesByDataPath(entriesByDataPath, dataPath, match) {\n return this._filterEntries(\n entriesByDataPath[normalizeDataPath(dataPath)] || [],\n match\n )\n },\n\n _getEntriesByName(entriesByDataPath, name, match) {\n return this._filterEntries(\n entriesByDataPath[appendDataPath(this.dataPath, name)] || [],\n match\n )\n },\n\n _filterEntries(entries, match) {\n return match ? entries.filter(match) : entries\n }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoSchema.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoSchema.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DitoSchema.vue?vue&type=template&id=4d545d2c&lang=pug&\"\nimport script from \"./DitoSchema.vue?vue&type=script&lang=js&\"\nexport * from \"./DitoSchema.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DitoSchema.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('dito-schema',{staticClass:\"dito-schema-inlined\",class:{ 'dito-schema-compact': _vm.isCompact },attrs:{\"schema\":_vm.schema,\"dataPath\":_vm.dataPath,\"data\":_vm.data,\"meta\":_vm.meta,\"store\":_vm.store,\"label\":_vm.isCompact ? null : _vm.label,\"inlined\":true,\"disabled\":_vm.disabled,\"collapsed\":_vm.collapsed,\"collapsible\":_vm.collapsible},scopedSlots:_vm._u([{key:\"edit-buttons\",fn:function(){return [(_vm.deletable || _vm.draggable || _vm.editable)?_c('dito-edit-buttons',{attrs:{\"deletable\":_vm.deletable,\"draggable\":_vm.draggable,\"editable\":_vm.editable,\"editPath\":_vm.editPath,\"schema\":_vm.schema,\"dataPath\":_vm.dataPath,\"data\":_vm.data,\"meta\":_vm.meta,\"store\":_vm.store},on:{\"delete\":function($event){return _vm.$emit('delete')}}}):_vm._e()]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n dito-schema.dito-schema-inlined(\n :schema=\"schema\"\n :dataPath=\"dataPath\"\n :data=\"data\"\n :meta=\"meta\"\n :store=\"store\"\n :label=\"isCompact ? null : label\"\n :inlined=\"true\"\n :disabled=\"disabled\"\n :collapsed=\"collapsed\"\n :collapsible=\"collapsible\"\n :class=\"{ 'dito-schema-compact': isCompact }\"\n )\n // Render dito-edit-buttons for inlined shemas separately from all\n // others in `TypeList` as a scope, for better handling of layout.\n template(#edit-buttons)\n dito-edit-buttons(\n v-if=\"deletable || draggable || editable\"\n :deletable=\"deletable\"\n :draggable=\"draggable\"\n :editable=\"editable\"\n :editPath=\"editPath\"\n :schema=\"schema\"\n :dataPath=\"dataPath\"\n :data=\"data\"\n :meta=\"meta\"\n :store=\"store\"\n @delete=\"$emit('delete')\"\n )\n</template>\n\n<style lang=\"sass\">\n .dito-schema-inlined\n > .dito-schema-content\n padding: 0\n > .dito-schema-header\n // Change spacing so .dito-label covers the full .dito-schema-header.\n margin: -$form-spacing\n .dito-label\n // Add removed $form-spacing again\n --label-padding: #{$form-spacing}\n margin: 0\n width: 100%\n box-sizing: border-box\n // Because tables have a funny way of allowing too much width growth:\n max-width: $content-width\n & +.dito-pane\n // Needed for transition-height in DitoSchema:\n min-height: $form-spacing\n</style>\n\n<script>\nimport DitoComponent from '@/DitoComponent'\nimport { isCompact } from '@/utils/schema'\n// @vue/component\nexport default DitoComponent.component('dito-schema-inlined', {\n props: {\n schema: { type: Object, required: true },\n dataPath: { type: String, required: true },\n data: { type: Object, required: true },\n meta: { type: Object, required: true },\n store: { type: Object, required: true },\n label: { type: [String, Object], default: null },\n disabled: { type: Boolean, required: true },\n collapsed: { type: Boolean, default: false },\n collapsible: { type: Boolean, default: false },\n draggable: { type: Boolean, default: false },\n editable: { type: Boolean, default: false },\n deletable: { type: Boolean, default: false },\n editPath: { type: String, default: null }\n },\n\n computed: {\n isCompact() {\n return isCompact(this.schema)\n },\n\n hasLabel() {\n return !this.isCompact && !!this.label\n }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoSchemaInlined.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoSchemaInlined.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DitoSchemaInlined.vue?vue&type=template&id=71e529ef&lang=pug&\"\nimport script from \"./DitoSchemaInlined.vue?vue&type=script&lang=js&\"\nexport * from \"./DitoSchemaInlined.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DitoSchemaInlined.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isPopulated && _vm.componentSchemas.length > 0)?_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.visible),expression:\"visible\"}],staticClass:\"dito-pane\"},[_vm._l((_vm.componentSchemas),function(ref){\n var schema = ref.schema;\n var dataPath = ref.dataPath;\n var nestedDataPath = ref.nestedDataPath;\n var nested = ref.nested;\n var store = ref.store;\nreturn [(schema.break === 'before')?_c('div',{staticClass:\"dito-break\"}):_vm._e(),(_vm.shouldRender(schema))?_c('dito-container',{key:nestedDataPath,attrs:{\"schema\":schema,\"dataPath\":dataPath,\"data\":_vm.data,\"meta\":_vm.meta,\"store\":store,\"single\":_vm.isSingleComponent,\"nested\":nested,\"disabled\":_vm.disabled,\"generateLabels\":_vm.generateLabels}}):_vm._e(),(schema.break === 'after')?_c('div',{staticClass:\"dito-break\"}):_vm._e()]})],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n .dito-pane(\n v-if=\"isPopulated && componentSchemas.length > 0\"\n v-show=\"visible\"\n )\n template(\n v-for=`{\n schema,\n dataPath,\n nestedDataPath,\n nested,\n store\n } in componentSchemas`\n )\n .dito-break(\n v-if=\"schema.break === 'before'\"\n )\n dito-container(\n v-if=\"shouldRender(schema)\"\n :key=\"nestedDataPath\"\n :schema=\"schema\"\n :dataPath=\"dataPath\"\n :data=\"data\"\n :meta=\"meta\"\n :store=\"store\"\n :single=\"isSingleComponent\"\n :nested=\"nested\"\n :disabled=\"disabled\"\n :generateLabels=\"generateLabels\"\n )\n .dito-break(\n v-if=\"schema.break === 'after'\"\n )\n</template>\n\n<style lang=\"sass\">\n .dito-pane\n display: flex\n position: relative\n flex-flow: row wrap\n align-content: flex-start\n align-items: baseline\n // Remove padding added by `.dito-container`\n margin: (-$form-spacing) (-$form-spacing-half)\n // Add removed horizontal margin again to max-width:\n max-width: $content-width + 2 * $form-spacing-half\n // Use `flex: 0%` for all `.dito-pane` except `.dito-pane-main`,\n // so that the `.dito-buttons-main` can be moved all the way to the bottom.\n flex: 0%\n\n &.dito-pane-main\n flex: 100%\n\n .dito-schema-header:not(.dito-schema-menu-header) + &\n // Clear top-margin if the components are preceded by a schema header.\n margin-top: 0\n\n .dito-container.dito-omit-padding > &\n // Clear margins set above again if parent is omitting padding.\n margin: 0\n max-width: unset\n\n .dito-break\n flex: 100%\n height: 0\n</style>\n\n<script>\nimport DitoComponent from '@/DitoComponent'\nimport { appendDataPath } from '@/utils/data'\nimport { getAllPanelSchemas, isNested } from '@/utils/schema'\n\n// @vue/component\nexport default DitoComponent.component('dito-pane', {\n provide() {\n return {\n $tabComponent: () => this.tabComponent\n }\n },\n\n props: {\n schema: { type: Object, required: true },\n dataPath: { type: String, default: '' },\n data: { type: Object, default: null },\n meta: { type: Object, required: true },\n store: { type: Object, required: true },\n tab: { type: String, default: null },\n single: { type: Boolean, default: false },\n visible: { type: Boolean, default: true },\n disabled: { type: Boolean, default: false },\n generateLabels: { type: Boolean, default: true }\n },\n\n computed: {\n tabComponent() {\n return this.tab ? this : this.$tabComponent()\n },\n\n componentSchemas() {\n // Compute a components list which has the dataPath baked into its keys\n // and adds the key as the name to each component, used for labels, etc.\n // NOTE: schema can be null while multi-form lists load their data,\n // because only the available data will determine the type of form.\n // When editing primitive values through a form, do not append 'name' to\n // the component's dataPath so it can be mapped to from validation errors.\n // NOTE: Not all schemas / components have a sourceSchema, e.g. dialogs.\n const wrapPrimitives = this.sourceSchema?.wrapPrimitives\n return Object.entries(this.schema?.components || {}).map(\n ([name, schema]) => {\n // Always add name to component schema.\n schema.name = name\n // Share dataPath and store with parent if not nested:\n const nested = isNested(schema)\n const nestedDataPath = appendDataPath(this.dataPath, name)\n return {\n schema,\n dataPath: nested && !wrapPrimitives\n ? nestedDataPath\n : this.dataPath,\n nestedDataPath,\n nested,\n store: nested ? this.getChildStore(name) : this.store\n }\n }\n )\n },\n\n panelSchemas() {\n // Gather all panel schemas from all component schemas, by finding those\n // that want to provide a panel. See `getAllPanelSchemas()` for details.\n return this.componentSchemas.flatMap(\n ({ schema, nestedDataPath: dataPath }) => getAllPanelSchemas(\n schema,\n dataPath,\n this.schemaComponent,\n this.tabComponent\n )\n )\n },\n\n isSingleComponent() {\n return this.single && this.componentSchemas.length === 1\n }\n },\n\n created() {\n this._register(true)\n },\n\n beforeDestroy() {\n this._register(false)\n },\n\n methods: {\n _register(add) {\n this.schemaComponent._registerPane(this, add)\n },\n\n focus() {\n if (this.tab) {\n this.$router.push({ hash: this.tab })\n }\n }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoPane.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoPane.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DitoPane.vue?vue&type=template&id=c1bdbb52&lang=pug&\"\nimport script from \"./DitoPane.vue?vue&type=script&lang=js&\"\nexport * from \"./DitoPane.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DitoPane.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.componentVisible),expression:\"componentVisible\"}],staticClass:\"dito-container\",class:_vm.containerClass,style:(_vm.containerStyle)},[(_vm.label)?_c('dito-label',{class:_vm.componentClass,attrs:{\"label\":_vm.label,\"dataPath\":_vm.labelDataPath}}):_vm._e(),_c(_vm.getTypeComponent(_vm.schema.type),{tag:\"component\",staticClass:\"dito-component\",class:_vm.componentClass,attrs:{\"schema\":_vm.schema,\"dataPath\":_vm.dataPath,\"data\":_vm.data,\"meta\":_vm.meta,\"store\":_vm.store,\"single\":_vm.single,\"nested\":_vm.nested,\"disabled\":_vm.componentDisabled},on:{\"errors\":_vm.onErrors}}),_c('dito-errors',{attrs:{\"errors\":_vm.errors}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { isString } from '@ditojs/utils'\n\nexport function parseFraction(value) {\n const match = (\n isString(value) &&\n value.match(/^\\s*([+-]?\\d+)\\s*\\/\\s*([+-]?\\d+)\\s*$/)\n )\n if (match) {\n const [, dividend, divisor] = match\n return parseFloat(dividend) / parseFloat(divisor)\n } else {\n return parseFloat(value)\n }\n}\n","<template lang=\"pug\">\n .dito-container(\n v-show=\"componentVisible\"\n :class=\"containerClass\"\n :style=\"containerStyle\"\n )\n dito-label(\n v-if=\"label\"\n :label=\"label\"\n :dataPath=\"labelDataPath\"\n :class=\"componentClass\"\n )\n component.dito-component(\n :is=\"getTypeComponent(schema.type)\"\n :schema=\"schema\"\n :dataPath=\"dataPath\"\n :data=\"data\"\n :meta=\"meta\"\n :store=\"store\"\n :single=\"single\"\n :nested=\"nested\"\n :disabled=\"componentDisabled\"\n :class=\"componentClass\"\n @errors=\"onErrors\"\n )\n dito-errors(\n :errors=\"errors\"\n )\n</template>\n\n<style lang=\"sass\">\n .dito-container\n // Needed for better vertical alignment:\n align-self: stretch\n box-sizing: border-box\n // To prevent list tables from blowing out of their flex box containers.\n max-width: 100%\n // Cannot use margin here as it needs to be part of box-sizing for\n // percentages in flex-basis to work.\n padding: $form-spacing $form-spacing-half\n &:empty\n padding: 0\n &.dito-omit-padding\n padding: 0\n > .dito-label\n margin: $form-spacing $form-spacing-half 0\n &.dito-single\n height: 100% // So that list buttons can be sticky at the bottom\n // NOTE: This is not nested inside `.dito-container` so that other\n // type components can override `.dito-width-fill` class (filter precedence).\n .dito-component\n &.dito-width-fill\n width: 100%\n &.dito-checkbox,\n &.dito-radio-button\n // WebKit doesn't like changed width on checkboxes and radios, override:\n display: inline-block\n width: auto\n</style>\n\n<script>\nimport DitoComponent from '@/DitoComponent'\nimport DitoContext from '@/DitoContext'\nimport { getSchemaAccessor } from '@/utils/accessor'\nimport { getTypeOptions, shouldOmitPadding } from '@/utils/schema'\nimport { parseFraction } from '@/utils/math'\nimport { isString, isNumber } from '@ditojs/utils'\n\n// @vue/component\nexport default DitoComponent.component('dito-container', {\n props: {\n schema: { type: Object, required: true },\n dataPath: { type: String, default: '' },\n data: { type: [Object, Array], required: true },\n meta: { type: Object, required: true },\n store: { type: Object, required: true },\n single: { type: Boolean, default: false },\n nested: { type: Boolean, default: true },\n disabled: { type: Boolean, required: true },\n generateLabels: { type: Boolean, default: true }\n },\n\n data() {\n return {\n errors: null\n }\n },\n\n computed: {\n context() {\n return new DitoContext(this, { nested: this.nested })\n },\n\n typeOptions() {\n return getTypeOptions(this.schema) || {}\n },\n\n hasLabel() {\n const { schema } = this\n const { label } = schema\n return (\n label !== false &&\n (!!label || this.typeOptions.generateLabel && this.generateLabels)\n )\n },\n\n label() {\n return this.hasLabel ? this.getLabel(this.schema) : null\n },\n\n labelDataPath() {\n // Unnested types don't have a dataPath for themselves, don't use it:\n return this.nested ? this.dataPath : null\n },\n\n componentWidth: getSchemaAccessor('width', {\n type: [String, Number],\n default() {\n return this.typeOptions.defaultWidth\n },\n get(width) {\n // Use 100% == 1.0 as default width when nothing is set:\n return width === undefined\n ? 1.0\n : isString(width)\n ? width.match(/^\\s*[<>]?\\s*(.*)$/)[1] // Remove width operator\n : width\n }\n }),\n\n componentWidthOperator: getSchemaAccessor('width', {\n type: String,\n get(width) {\n return isString(width)\n ? width.match(/^\\s*([<>]?)/)[1] || null\n : null\n }\n }),\n\n componentVisible: getSchemaAccessor('visible', {\n type: Boolean,\n default() {\n return this.typeOptions.defaultVisible\n }\n }),\n\n componentDisabled: getSchemaAccessor('disabled', {\n type: Boolean,\n default: false,\n get(disabled) {\n return disabled || this.disabled\n }\n }),\n\n containerClass() {\n const { class: containerClass } = this.schema\n return {\n 'dito-single': this.single,\n 'dito-omit-padding': shouldOmitPadding(this.schema),\n ...(\n isString(containerClass)\n ? { [containerClass]: true }\n : containerClass\n )\n }\n },\n\n componentBasis() {\n const width = this.componentWidth\n // 'auto' = no fitting:\n const basis = (\n [null, 'auto', 'fill'].includes(width) ? 'auto'\n : /%$/.test(width) ? parseFloat(width) // percentage\n : /[a-z]/.test(width) ? width // native units\n : parseFraction(width) * 100 // fraction\n )\n return isNumber(basis) ? `${basis}%` : basis\n },\n\n containerStyle() {\n // Interpret '>50%' as '50%, flex-grow: 1`\n const grow = (\n this.componentWidthOperator === '>' ||\n this.componentWidth === 'fill'\n )\n // Interpret '<50%' as '50%, flex-shrink: 1`\n const shrink = this.componentWidthOperator === '<'\n return {\n flex: `${grow ? 1 : 0} ${shrink ? 1 : 0} ${this.componentBasis}`\n }\n },\n\n componentClass() {\n const basisIsAuto = this.componentBasis === 'auto'\n return {\n 'dito-single': this.single,\n 'dito-disabled': this.componentDisabled,\n 'dito-width-fill': !basisIsAuto || this.componentWidth === 'fill',\n 'dito-width-auto': basisIsAuto,\n 'dito-has-errors': !!this.errors\n }\n }\n },\n\n methods: {\n onErrors(errors) {\n this.errors = errors\n }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoContainer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoContainer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DitoContainer.vue?vue&type=template&id=543910cb&lang=pug&\"\nimport script from \"./DitoContainer.vue?vue&type=script&lang=js&\"\nexport * from \"./DitoContainer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DitoContainer.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dito-tabs\"},_vm._l((_vm.tabs),function(tabSchema,key){return (_vm.shouldRender(tabSchema))?_c('router-link',{key:key,staticClass:\"dito-link\",attrs:{\"to\":{ hash: key },\"active-class\":\"dito-active\"}},[_vm._v(_vm._s(_vm.getLabel(tabSchema, key)))]):_vm._e()}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n .dito-tabs\n router-link.dito-link(\n v-for=\"(tabSchema, key) in tabs\"\n v-if=\"shouldRender(tabSchema)\"\n :key=\"key\"\n :to=\"{ hash: key }\"\n active-class=\"dito-active\"\n )\n | {{ getLabel(tabSchema, key) }}\n</template>\n\n<style lang=\"sass\">\n $tab-color-background: $color-lightest\n $tab-color-inactive: $color-light\n $tab-color-active: $color-lightest\n $tab-color-hover: $color-white\n\n .dito-tabs\n // See: https://codepen.io/tholex/pen/hveBx/\n margin-left: auto\n a\n display: block\n +user-select(none)\n background: $tab-color-inactive\n padding: $tab-padding-ver $tab-padding-hor\n margin-left: $tab-margin\n border-top-left-radius: $tab-radius\n border-top-right-radius: $tab-radius\n &:hover\n background: $tab-color-hover\n &:active\n background: $tab-color-active\n &.dito-active\n background: $tab-color-background\n</style>\n\n<script>\nimport DitoComponent from '@/DitoComponent'\n\n// @vue/component\nexport default DitoComponent.component('dito-tabs', {\n props: {\n tabs: { type: Object, default: null },\n selectedTab: { type: String, default: null }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoTabs.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoTabs.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DitoTabs.vue?vue&type=template&id=16c31a87&lang=pug&\"\nimport script from \"./DitoTabs.vue?vue&type=script&lang=js&\"\nexport * from \"./DitoTabs.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DitoTabs.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.panelTag,{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.visible && (!_vm.panelTabComponent || _vm.panelTabComponent.visible)),expression:\"visible && (!panelTabComponent || panelTabComponent.visible)\"}],tag:\"component\",staticClass:\"dito-panel\",on:{\"submit\":function($event){$event.preventDefault();}}},[_c('label',{staticClass:\"dito-panel-title\"},[_vm._v(_vm._s(_vm.getLabel(_vm.schema)))]),_c('dito-schema',{staticClass:\"dito-panel-schema\",attrs:{\"schema\":_vm.panelSchema,\"dataPath\":_vm.panelDataPath,\"data\":_vm.panelData,\"meta\":_vm.meta,\"store\":_vm.store,\"disabled\":_vm.disabled,\"hasOwnData\":_vm.hasOwnData}},[_c('dito-buttons',{attrs:{\"slot\":\"buttons\",\"buttons\":_vm.buttonSchemas,\"dataPath\":_vm.panelDataPath,\"data\":_vm.panelData,\"meta\":_vm.meta,\"store\":_vm.store,\"disabled\":_vm.disabled},slot:\"buttons\"})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n // Only show panels in tabs when the tabs are also visible.\n component.dito-panel(\n :is=\"panelTag\"\n v-show=\"visible && (!panelTabComponent || panelTabComponent.visible)\"\n @submit.prevent\n )\n label.dito-panel-title {{ getLabel(schema) }}\n dito-schema.dito-panel-schema(\n :schema=\"panelSchema\"\n :dataPath=\"panelDataPath\"\n :data=\"panelData\"\n :meta=\"meta\"\n :store=\"store\"\n :disabled=\"disabled\"\n :hasOwnData=\"hasOwnData\"\n )\n dito-buttons(\n slot=\"buttons\"\n :buttons=\"buttonSchemas\"\n :dataPath=\"panelDataPath\"\n :data=\"panelData\"\n :meta=\"meta\"\n :store=\"store\"\n :disabled=\"disabled\"\n )\n</template>\n\n<style lang=\"sass\">\n .dito-panel\n margin-bottom: $content-padding\n .dito-panel-title\n display: block\n box-sizing: border-box\n padding: $input-padding\n background: $button-color\n border: $border-style\n border-top-left-radius: $border-radius\n border-top-right-radius: $border-radius\n .dito-panel-schema\n font-size: $font-size-small\n background: $content-color-background\n border: $border-style\n border-top: 0\n border-bottom-left-radius: $border-radius\n border-bottom-right-radius: $border-radius\n > .dito-schema-content\n padding: $form-spacing-half $form-spacing\n > .dito-buttons\n --button-margin: #{$form-spacing}\n padding: $form-spacing-half 0\n .dito-object\n border: 0\n padding: 0\n .dito-label\n margin: 0\n label\n font-weight: normal\n .dito-pane\n margin: 0 (-$form-spacing-half)\n .dito-container\n padding: $form-spacing-half\n</style>\n\n<script>\nimport DitoComponent from '@/DitoComponent'\nimport ValidatorMixin from '@/mixins/ValidatorMixin'\nimport { getButtonSchemas } from '@/utils/schema'\nimport { getSchemaAccessor } from '@/utils/accessor'\nimport { isFunction } from '@ditojs/utils'\n\n// @vue/component\nexport default DitoComponent.component('dito-panel', {\n mixins: [ValidatorMixin],\n\n provide() {\n return {\n $panelComponent: () => this,\n $tabComponent: () => this.panelTabComponent\n }\n },\n\n props: {\n schema: { type: Object, required: true },\n dataPath: { type: String, required: true },\n data: { type: Object, required: true },\n meta: { type: Object, required: true },\n store: { type: Object, required: true },\n disabled: { type: Boolean, required: true },\n panelTabComponent: { type: DitoComponent, default: null }\n },\n\n data() {\n return {\n ownData: null\n }\n },\n\n computed: {\n panelComponent() {\n return this\n },\n\n tabComponent() {\n return this.panelTabComponent\n },\n\n buttonSchemas() {\n return getButtonSchemas(this.schema.buttons)\n },\n\n target() {\n return this.schema.target || this.dataPath\n },\n\n hasOwnData() {\n return !!this.ownData\n },\n\n panelData() {\n return this.ownData || this.data\n },\n\n panelSchema() {\n if (this.hasOwnData) {\n return this.schema\n } else {\n // Remove `data` from the schema, so that DitoSchema isn't using it to\n // produce its own data. See $filters panel for more details on data.\n const { data, ...schema } = this.schema\n return schema\n }\n },\n\n panelTag() {\n // Panels that provide their own data need their own form.\n return this.hasOwnData ? 'form' : 'div'\n },\n\n panelDataPath() {\n // If the panel provides its own data, then it needs to prefix all\n // components with its data-path, but if it shares data with the schema\n // component, then it should share the data-path name space too.\n return this.hasOwnData ? this.dataPath : this.schemaComponent.dataPath\n },\n\n visible: getSchemaAccessor('visible', {\n type: Boolean,\n default: true\n })\n },\n\n created() {\n this._register(true)\n // NOTE: This is not the same as `schema.data` handling in DitoSchema,\n // where the data is added to the actual component.\n const { data } = this.schema\n if (data) {\n this.ownData = isFunction(data)\n ? data.call(this, this.context)\n : data\n }\n },\n\n beforeDestroy() {\n this._register(false)\n },\n\n methods: {\n _register(add) {\n // Register the panels so that other components can find them by their\n // data-path, e.g. in TypeList.onFilterErrors()\n this.schemaComponent._registerPanel(this, add)\n }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoPanel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoPanel.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DitoPanel.vue?vue&type=template&id=40feea3b&lang=pug&\"\nimport script from \"./DitoPanel.vue?vue&type=script&lang=js&\"\nexport * from \"./DitoPanel.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DitoPanel.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.panels.length > 0)?_c('div',{staticClass:\"dito-panels\"},_vm._l((_vm.panels),function(ref){\nvar schema = ref.schema;\nvar dataPath = ref.dataPath;\nvar tabComponent = ref.tabComponent;\nreturn (_vm.shouldRender(schema))?_c('dito-panel',{key:_vm.getPanelKey(dataPath, tabComponent),attrs:{\"schema\":schema,\"dataPath\":dataPath,\"data\":_vm.data,\"meta\":_vm.meta,\"store\":_vm.getChildStore(schema.name),\"disabled\":schema.disabled != null ? schema.disabled : _vm.disabled,\"panelTabComponent\":tabComponent}}):_vm._e()}),1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n .dito-panels(\n v-if=\"panels.length > 0\"\n )\n dito-panel(\n v-for=\"{ schema, dataPath, tabComponent } in panels\"\n v-if=\"shouldRender(schema)\"\n :key=\"getPanelKey(dataPath, tabComponent)\"\n :schema=\"schema\"\n :dataPath=\"dataPath\"\n :data=\"data\"\n :meta=\"meta\"\n :store=\"getChildStore(schema.name)\"\n :disabled=\"schema.disabled != null ? schema.disabled : disabled\"\n :panelTabComponent=\"tabComponent\"\n )\n</template>\n\n<style lang=\"sass\">\n .dito-panels\n max-width: $content-sidebar-width\n min-width: calc($content-sidebar-width / 2)\n</style>\n\n<script>\nimport DitoComponent from '@/DitoComponent'\n\n// @vue/component\nexport default DitoComponent.component('dito-panels', {\n props: {\n panels: { type: Array, default: null },\n data: { type: Object, required: true },\n meta: { type: Object, required: true },\n store: { type: Object, required: true },\n disabled: { type: Boolean, required: true }\n },\n\n methods: {\n getPanelKey(dataPath, tabComponent) {\n // Allow separate tabs to use panels of the same name, by\n // prefixing their key with the tab name.\n return tabComponent ? `${tabComponent.tab}_${dataPath}` : dataPath\n }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoPanels.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoPanels.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DitoPanels.vue?vue&type=template&id=5bf89e14&lang=pug&\"\nimport script from \"./DitoPanels.vue?vue&type=script&lang=js&\"\nexport * from \"./DitoPanels.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DitoPanels.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.buttonSchemas || _vm.$slots.default)?_c('div',_vm._g({staticClass:\"dito-buttons\"},_vm.$listeners),[_vm._l((_vm.buttonSchemas),function(buttonSchema,buttonDataPath){return (_vm.shouldRender(buttonSchema))?_c('dito-container',{key:buttonDataPath,attrs:{\"schema\":buttonSchema,\"dataPath\":buttonDataPath,\"data\":_vm.data,\"meta\":_vm.meta,\"store\":_vm.getChildStore(buttonSchema.name),\"disabled\":_vm.disabled,\"generateLabels\":false}}):_vm._e()}),_vm._l((_vm.$slots.default),function(node){return (node.tag)?_c('div',{staticClass:\"dito-container\"},[_c('dito-vnode',{attrs:{\"node\":node}})],1):_vm._e()})],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n .dito-buttons(\n v-if=\"buttonSchemas || $slots.default\"\n /* Pass on $listeners so that dito-edit-buttons can pass events. */\n v-on=\"$listeners\"\n )\n dito-container(\n v-for=\"(buttonSchema, buttonDataPath) in buttonSchemas\"\n v-if=\"shouldRender(buttonSchema)\"\n :key=\"buttonDataPath\"\n :schema=\"buttonSchema\"\n :dataPath=\"buttonDataPath\"\n :data=\"data\"\n :meta=\"meta\"\n :store=\"getChildStore(buttonSchema.name)\"\n :disabled=\"disabled\"\n :generateLabels=\"false\"\n )\n // Render each node in the default slot through `dito-vnode`, so it can be\n // wrapped in a `.dito-container` class.\n .dito-container(\n v-for=\"node in $slots.default\"\n v-if=\"node.tag\"\n )\n dito-vnode(:node=\"node\")\n</template>\n\n<style lang=\"sass\">\n.dito-buttons\n > .dito-container\n padding: 0\n</style>\n\n<script>\nimport DitoComponent from '@/DitoComponent'\nimport { appendDataPath } from '@/utils/data'\n\n// @vue/component\nexport default DitoComponent.component('dito-buttons', {\n provide: {\n $tabComponent: () => null\n },\n\n props: {\n buttons: { type: Object, default: null },\n dataPath: { type: String, default: '' },\n data: { type: [Object, Array], default: null },\n meta: { type: Object, default: () => ({}) },\n store: { type: Object, default: () => ({}) },\n disabled: { type: Boolean, default: false }\n },\n\n computed: {\n buttonSchemas() {\n // Compute a buttons list which has the dataPath baked into its keys.\n const { dataPath, buttons } = this\n return buttons\n ? Object.values(buttons).reduce((schemas, button) => {\n schemas[appendDataPath(dataPath, button.name)] = button\n return schemas\n }, {})\n : null\n }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoButtons.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoButtons.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DitoButtons.vue?vue&type=template&id=8807ce2a&lang=pug&\"\nimport script from \"./DitoButtons.vue?vue&type=script&lang=js&\"\nexport * from \"./DitoButtons.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DitoButtons.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('dito-buttons',{staticClass:\"dito-edit-buttons dito-buttons-round\",attrs:{\"buttons\":_vm.buttons,\"dataPath\":_vm.dataPath,\"data\":_vm.data,\"meta\":_vm.meta,\"store\":_vm.store},on:{\"click\":function($event){$event.stopPropagation();}}},[(_vm.isDraggable)?_c('a',_vm._b({staticClass:\"dito-button\"},'a',_vm.getButtonAttributes(_vm.verbs.drag),false)):_vm._e(),(_vm.isEditable)?_c('router-link',_vm._b({staticClass:\"dito-button\",attrs:{\"to\":{ path: _vm.editPath },\"append\":\"\"}},'router-link',_vm.getButtonAttributes(_vm.verbs.edit),false)):_vm._e(),(_vm.isCreatable)?_c('dito-create-button',{attrs:{\"schema\":_vm.schema,\"path\":_vm.createPath,\"verb\":_vm.verbs.create,\"text\":_vm.createButtonText}}):_vm._e(),(_vm.isDeletable)?_c('button',_vm._b({staticClass:\"dito-button\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.$emit('delete')}}},'button',_vm.getButtonAttributes(_vm.verbs.delete),false)):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n dito-buttons.dito-edit-buttons.dito-buttons-round(\n :buttons=\"buttons\"\n :dataPath=\"dataPath\"\n :data=\"data\"\n :meta=\"meta\"\n :store=\"store\"\n /* Prevent click events from bubbling to dito-label: */\n @click.stop\n )\n //- Firefox doesn't like <button> here, so use <a> instead:\n a.dito-button(\n v-if=\"isDraggable\"\n v-bind=\"getButtonAttributes(verbs.drag)\"\n )\n router-link.dito-button(\n v-if=\"isEditable\"\n :to=\"{ path: editPath }\" append\n v-bind=\"getButtonAttributes(verbs.edit)\"\n )\n dito-create-button(\n v-if=\"isCreatable\"\n :schema=\"schema\"\n :path=\"createPath\"\n :verb=\"verbs.create\"\n :text=\"createButtonText\"\n )\n button.dito-button(\n v-if=\"isDeletable\"\n type=\"button\"\n v-bind=\"getButtonAttributes(verbs.delete)\"\n @click=\"$emit('delete')\"\n )\n</template>\n\n<style lang=\"sass\">\n .dito-edit-buttons\n // Override cursor from collapsible dito-label:\n cursor: default\n flex: none\n</style>\n\n<script>\nimport DitoComponent from '@/DitoComponent'\nimport { capitalize } from '@ditojs/utils'\n\n// @vue/component\nexport default DitoComponent.component('dito-edit-buttons', {\n props: {\n draggable: { type: Boolean, default: false },\n editable: { type: Boolean, default: false },\n creatable: { type: Boolean, default: false },\n deletable: { type: Boolean, default: false },\n editPath: { type: String, default: null },\n createPath: { type: String, default: null },\n buttons: { type: Object, default: null },\n schema: { type: Object, required: true },\n dataPath: { type: String, required: true },\n data: { type: [Object, Array], default: null },\n meta: { type: Object, required: true },\n store: { type: Object, required: true }\n },\n\n computed: {\n formLabel() {\n return this.getLabel(this.schema.form)\n },\n\n isDraggable() {\n return this.hasOption('draggable')\n },\n\n isEditable() {\n return this.hasOption('editable') && !!this.editPath\n },\n\n isCreatable() {\n return this.hasOption('creatable') && !!this.createPath\n },\n\n isDeletable() {\n return this.hasOption('deletable')\n },\n\n createButtonText() {\n return (\n // Allow schema to override create button through creatable object:\n this.schema.creatable?.label ||\n (\n // Auto-generate create button labels from from labels for list\n // sources with only one form:\n this.formLabel &&\n `${capitalize(this.verbs.create)} ${this.formLabel}`\n ) ||\n null\n )\n }\n },\n\n methods: {\n hasOption(name) {\n // The options of the outer component are passed to the buttons component\n // through properties `this[name]`, but can be disabled on a per-form\n // basis by setting `schema[name]` to `false`.\n return !!(this[name] && this.schema[name] !== false)\n }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoEditButtons.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoEditButtons.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DitoEditButtons.vue?vue&type=template&id=0b3ba536&lang=pug&\"\nimport script from \"./DitoEditButtons.vue?vue&type=script&lang=js&\"\nexport * from \"./DitoEditButtons.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DitoEditButtons.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dito-create-button\"},[(_vm.showPulldown)?[_c('button',{staticClass:\"dito-button\",class:(\"dito-button-\" + _vm.verb),attrs:{\"type\":\"button\",\"title\":_vm.labelize(_vm.verb)},on:{\"mousedown\":function($event){$event.stopPropagation();return _vm.onPulldownMouseDown()}}},[_vm._v(_vm._s(_vm.text))]),_c('ul',{staticClass:\"dito-pulldown\",class:{ 'dito-open': _vm.pulldown.open }},_vm._l((_vm.forms),function(form,type){return _c('li',[(_vm.isCreatable(form))?_c('a',{class:(\"dito-type-\" + type),on:{\"mousedown\":function($event){$event.stopPropagation();return _vm.onPulldownMouseDown(type)},\"mouseup\":function($event){return _vm.onPulldownMouseUp(type)}}},[_vm._v(_vm._s(_vm.getLabel(form)))]):_vm._e()])}),0)]:_c('button',{staticClass:\"dito-button\",class:(\"dito-button-\" + _vm.verb),attrs:{\"type\":_vm.isInlined ? 'button' : 'submit',\"title\":_vm.labelize(_vm.verb)},on:{\"click\":function($event){return _vm.createItem(_vm.forms.default)}}},[_vm._v(_vm._s(_vm.text))])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n .dito-create-button\n template(v-if=\"showPulldown\")\n button.dito-button(\n type=\"button\"\n @mousedown.stop=\"onPulldownMouseDown()\"\n :class=\"`dito-button-${verb}`\"\n :title=\"labelize(verb)\"\n ) {{ text }}\n ul.dito-pulldown(\n :class=\"{ 'dito-open': pulldown.open }\"\n )\n li(v-for=\"(form, type) in forms\")\n a(\n v-if=\"isCreatable(form)\"\n :class=\"`dito-type-${type}`\"\n @mousedown.stop=\"onPulldownMouseDown(type)\"\n @mouseup=\"onPulldownMouseUp(type)\"\n ) {{ getLabel(form) }}\n button.dito-button(\n v-else\n :type=\"isInlined ? 'button' : 'submit'\"\n @click=\"createItem(forms.default)\"\n :class=\"`dito-button-${verb}`\"\n :title=\"labelize(verb)\"\n ) {{ text }}\n</template>\n\n<style lang=\"sass\">\n .dito-create-button\n position: relative\n .dito-pulldown\n right: 0\n</style>\n\n<script>\nimport DitoComponent from '@/DitoComponent'\nimport PulldownMixin from '@/mixins/PulldownMixin'\nimport { getFormSchemas, isInlined } from '@/utils/schema'\n\n// @vue/component\nexport default DitoComponent.component('dito-create-button', {\n mixins: [PulldownMixin],\n\n props: {\n schema: { type: Object, required: true },\n path: { type: String, required: true },\n verb: { type: String, required: true },\n text: { type: String, default: null }\n },\n\n computed: {\n forms() {\n return getFormSchemas(this.schema, this.context)\n },\n\n isInlined() {\n return isInlined(this.schema)\n },\n\n showPulldown() {\n return Object.keys(this.forms).length > 1 || !this.forms.default\n }\n },\n\n methods: {\n isCreatable(form) {\n // Forms can be excluded from the list by providing `creatable: false`\n return form.creatable !== false\n },\n\n createItem(form, type = null) {\n if (this.isCreatable(form)) {\n if (this.isInlined) {\n this.sourceComponent.createItem(form, type)\n } else {\n this.$router.push({\n path: `${this.path}/create`,\n query: { type },\n append: true\n })\n }\n } else {\n throw new Error('Not allowed to create item for given form')\n }\n },\n\n onPulldownSelect(type) {\n this.createItem(this.forms[type], type)\n this.setPulldownOpen(false)\n }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoCreateButton.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoCreateButton.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DitoCreateButton.vue?vue&type=template&id=1633b1b4&lang=pug&\"\nimport script from \"./DitoCreateButton.vue?vue&type=script&lang=js&\"\nexport * from \"./DitoCreateButton.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DitoCreateButton.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.clipboard)?_c('div',{staticClass:\"dito-clipboard dito-buttons dito-buttons-round\"},[_c('button',{ref:\"copyData\",staticClass:\"dito-button dito-button-copy\",attrs:{\"type\":\"button\",\"title\":\"Copy Data\",\"disabled\":!_vm.copyEnabled},on:{\"click\":_vm.onCopy}}),_c('button',{staticClass:\"dito-button dito-button-paste\",attrs:{\"type\":\"button\",\"title\":\"Paste Data\",\"disabled\":!_vm.pasteEnabled},on:{\"click\":_vm.onPaste}})]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n .dito-clipboard.dito-buttons.dito-buttons-round(\n v-if=\"clipboard\"\n )\n button.dito-button.dito-button-copy(\n type=\"button\"\n ref=\"copyData\"\n title=\"Copy Data\"\n :disabled=\"!copyEnabled\"\n @click=\"onCopy\"\n )\n button.dito-button.dito-button-paste(\n type=\"button\"\n title=\"Paste Data\"\n :disabled=\"!pasteEnabled\"\n @click=\"onPaste\"\n )\n</template>\n\n<script>\nimport DitoComponent from '@/DitoComponent'\nimport DitoContext from '@/DitoContext'\nimport DomMixin from '@/mixins/DomMixin'\nimport { isObject, clone, deindent } from '@ditojs/utils'\n\n// @vue/component\nexport default DitoComponent.component('dito-clipboard', {\n mixins: [DomMixin],\n\n props: {\n clipboard: { type: [Boolean, Object], default: false },\n dataPath: { type: String, required: true },\n data: { type: [Object, Array], default: null }\n },\n\n data() {\n return {\n copyEnabled: false,\n pasteEnabled: false,\n fixClipboard: true\n }\n },\n\n computed: {\n clipboardOptions() {\n return isObject(this.clipboard) ? this.clipboard : {}\n },\n\n copyData() {\n const { copy } = this.clipboardOptions\n return copy\n ? clipboardData => copy.call(this, new DitoContext(this, {\n clipboardData\n }))\n : clipboardData => clone(clipboardData)\n },\n\n pasteData() {\n const { paste } = this.clipboardOptions\n return paste\n ? clipboardData => paste.call(this, new DitoContext(this, {\n clipboardData\n }))\n : clipboardData => clipboardData\n }\n },\n\n mounted() {\n // Check clipboard content whenever something gets copied or the window gets\n // (re)activated, as those are the moments when the clipboard can change:\n this.domOn(document, {\n copy: this.checkClipboard\n })\n this.domOn(window, {\n focus: this.checkClipboard\n })\n this.$watch('data', {\n // Check right away also in case there's already data (e.g. create form).\n immediate: true,\n handler: (to, from) => {\n if (to !== from) {\n this.checkClipboard()\n }\n }\n })\n },\n\n methods: {\n async getClipboardData(report) {\n // Use the internal clipboard as fallback.\n let { clipboardData } = this.appState\n try {\n const json = await navigator.clipboard?.readText?.()\n if (this.fixClipboard && json) {\n // This appears to be needed on Safari to prevent a strange \"Paste\"\n // button from appearing when the clipboard is accessed (why?!).\n await navigator.clipboard?.writeText?.(json)\n this.fixClipboard = false\n }\n if (json) {\n clipboardData = JSON.parse(json)\n }\n } catch (err) {\n if (report) {\n console.error(err, err.name, err.message)\n if (err.name === 'SyntaxError') {\n alert(deindent`\n The data in the clipboard appears to be malformed:\n ${err.message}\n `)\n }\n }\n }\n const { $schema, ...data } = clipboardData || {}\n return $schema === this.schemaComponent?.schema.name ? data : null\n },\n\n async checkClipboard() {\n this.copyEnabled = !!this.data\n // See if the clipboard content is valid JSON data that is compatible\n // with the current target schema, and only then activate the pasting:\n this.pasteEnabled = !!(await this.getClipboardData(false)) // don't report\n },\n\n async onCopy() {\n let data = this.schemaComponent?.clipboardData\n try {\n data = data && this.copyData(data)\n // Keep an internal clipboard as fallback.\n this.appState.clipboardData = data\n try {\n const json = JSON.stringify(data, null, 2)\n await navigator.clipboard?.writeText?.(json)\n // See if we can activate the paste button, dependding on browsers:\n await this.checkClipboard()\n } catch (err) {\n console.error(err, err.name, err.message)\n }\n } catch (error) {\n console.error(error)\n alert(error.message)\n }\n },\n\n async onPaste() {\n let data = await this.getClipboardData(true) // report\n try {\n data = data && this.pasteData(data)\n if (data) {\n this.schemaComponent.setData(data)\n }\n } catch (error) {\n console.error(error)\n alert(error.message)\n }\n }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoClipboard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoClipboard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DitoClipboard.vue?vue&type=template&id=42489094&lang=pug&\"\nimport script from \"./DitoClipboard.vue?vue&type=script&lang=js&\"\nexport * from \"./DitoClipboard.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dito-form dito-scroll-parent\",class:{ 'dito-form-nested': _vm.isNestedRoute }},[(!(_vm.isLastUnnestedRoute || _vm.isNestedRoute))?_c('router-view',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isActive),expression:\"!isActive\"}]}):_vm._e(),_c(_vm.isNestedRoute ? 'div' : 'form',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isActive),expression:\"isActive\"}],tag:\"component\",staticClass:\"dito-scroll\",on:{\"submit\":function($event){$event.preventDefault();}}},[_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(false),expression:\"false\"}],attrs:{\"type\":\"submit\",\"disabled\":\"true\",\"aria-hidden\":\"true\"}}),_c('dito-schema',{attrs:{\"schema\":_vm.schema,\"dataPath\":_vm.dataPath,\"data\":_vm.data,\"meta\":_vm.meta,\"store\":_vm.store,\"disabled\":_vm.isLoading,\"menuHeader\":true}},[_c('dito-buttons',{staticClass:\"dito-buttons-round dito-buttons-main dito-buttons-large\",attrs:{\"slot\":\"buttons\",\"buttons\":_vm.buttonSchemas,\"dataPath\":_vm.dataPath,\"data\":_vm.data,\"meta\":_vm.meta,\"store\":_vm.store,\"disabled\":_vm.isLoading},slot:\"buttons\"})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// @vue/component\nexport default {\n data() {\n return {\n isLoading: false\n }\n },\n\n methods: {\n setLoading(isLoading, { updateRoot = false, updateView = false } = {}) {\n if (!this.isLoading ^ !isLoading) { // Boolean xor\n this.isLoading = !!isLoading\n if (updateRoot) {\n this.rootComponent.registerLoading(isLoading)\n }\n if (updateView) {\n this.viewComponent.setLoading(this.isLoading)\n }\n }\n }\n }\n}\n","import ItemMixin from './ItemMixin'\nimport LoadingMixin from './LoadingMixin'\nimport { setDefaults } from '@/utils/schema'\nimport { isObject, isString, labelize } from '@ditojs/utils'\nimport { getResource } from '@/utils/resource'\nimport DitoContext from '@/DitoContext'\n\n// @vue/component\nexport default {\n mixins: [ItemMixin, LoadingMixin],\n\n provide() {\n return {\n $resourceComponent: () => this,\n // Pass local verbs overrides on to children, see verbs() computed prop.\n $verbs: () => this.verbs,\n $isPopulated: () => this.hasData\n }\n },\n\n data() {\n return {\n loadedData: null\n }\n },\n\n computed: {\n resourceComponent() {\n return this\n },\n\n resource() {\n // Returns the resource object representing the resource for the\n // associated source schema.\n return this.getResource()\n },\n\n providesData() {\n // This component is a data-source if it has an associated API resource:\n return !!this.resource\n },\n\n linksToView() {\n // Returns `false`here, but is overridden to return `true` in\n // `SourceMixin` for component that do not provide their own data, but\n // edit their items through a linked view. In this case, real ids need to\n // be used.\n return false\n },\n\n isTransient() {\n // Check the form that this component belongs to as well, since it may be\n // in creation mode, which makes it transient.\n // NOTE: This does not loop endlessly because DitoForm redefines\n // `isTransient()` to only return `!this.providesData`.\n const form = this.formComponent\n return (\n !this.providesData &&\n !this.linksToView ||\n form && (\n form.isTransient ||\n form.isCreating\n )\n )\n },\n\n transientNote() {\n return (\n this.isTransient &&\n '<b>Note</b>: the parent still needs to be saved ' +\n 'in order to persist this change.'\n )\n },\n\n shouldLoad() {\n return (\n !this.isTransient &&\n !this.isLoading\n )\n },\n\n // @overridable\n hasData() {\n // Base definition, will be overridden by DitoForm and SourceMixin\n return !!this.loadedData\n },\n\n verbs() {\n // The actual code is the `getVerbs()` method, for easier overriding of\n // this computed property in components that use the ResourceMixin.\n return this.getVerbs()\n },\n\n paginationRange() {\n // Only apply pagination to lists.\n const { paginate: amount } = this.sourceSchema\n if (this.isListSource && amount) {\n const { page = 0 } = this.query || {}\n const start = page * amount\n return [start, start + amount - 1]\n }\n },\n\n queryParams() {\n const range = this.paginationRange\n const { page, ...query } = this.query || {}\n return {\n ...query, // Query may override scope.\n ...(range && {\n // Pass pagination as range, so that we automatically get Objection's\n // results counting:\n range: range.join(',')\n })\n }\n }\n },\n\n created() {\n // When creating nested data, we still need to call setupData()\n if (this.providesData || this.isCreating) {\n this.setupData()\n }\n },\n\n methods: {\n getResource() {\n // This is defined as a method so the computed `resource` getter can\n // be overridden and `super` functionality can still be accessed.\n return getResource(this.sourceSchema?.resource, {\n type: 'collection',\n parent: this.parentFormComponent?.resource ?? null\n })\n },\n\n getVerbs() {\n const verbs = this.$verbs()\n return this.isTransient\n ? {\n ...verbs,\n // Override default verbs with their transient versions:\n create: 'add',\n created: 'added',\n save: 'apply',\n saved: 'applied',\n delete: 'remove',\n deleted: 'removed'\n }\n : verbs\n },\n\n // @overridable\n clearData() {\n this.loadedData = null\n },\n\n // @overridable\n setData(data) {\n this.loadedData = data\n },\n\n setupData() {\n // Actual code is in separate function so it's easer to override\n // `setupData()` and and call `ensureData()` from the overrides,\n // see DitoForm and SourceMixin.\n this.ensureData()\n },\n\n ensureData() {\n if (this.shouldLoad) {\n if (this.hasData) {\n this.reloadData()\n } else {\n this.loadData(true)\n }\n }\n },\n\n reloadData() {\n this.loadData(false)\n },\n\n loadData(clear) {\n if (!this.isTransient) {\n if (clear) {\n this.clearData()\n }\n this.requestData()\n }\n },\n\n createData(schema, type) {\n return setDefaults(schema, type ? { type } : {}, this)\n },\n\n requestData() {\n const params = this.queryParams\n this.handleRequest({ method: 'get', params }, (err, response) => {\n if (err) {\n if (response) {\n const { data } = response\n if (\n data?.type === 'FilterValidation' &&\n this.onFilterErrors?.(data.errors)) {\n return true\n } else if (this.isUnauthorizedError(response)) {\n // TODO: Can we really swallow these errors?\n // Is calling `ensureUser()` in `onBeforeRequest()` enough?\n return true\n }\n }\n } else {\n this.setData(response.data)\n this.emitSchemaEvent('load')\n }\n })\n },\n\n isValidationError(response) {\n return response?.status === 400\n },\n\n isUnauthorizedError(response) {\n return response?.status === 401\n },\n\n async handleRequest({\n method,\n resource = this.resource,\n data,\n params\n }, callback) {\n const loadingOptions = {\n updateRoot: true, // Display spinner in header when loading in resources\n updateView: this.isInView // Notify view of loading for view components\n }\n this.setLoading(true, loadingOptions)\n const request = { method, resource, data, params }\n try {\n const response = await this.sendRequest(request)\n // Pass both request and response to the callback, so they can be\n // exposed to further callbacks through DitoContext.\n callback(null, response)\n } catch (error) {\n // If callback returns true, errors were already handled.\n const { response } = error\n if (!callback(error, response)) {\n const data = response?.data\n if (data && isString(data.type)) {\n this.notify({\n type: 'error',\n title: labelize(data.type),\n text: data.message || error\n })\n } else {\n this.notify({\n type: 'error',\n title: 'Request Error',\n text: error\n })\n }\n }\n }\n this.setLoading(false, loadingOptions)\n },\n\n getPayloadData(button, method) {\n // Convention: only post, put and patch requests pass the data as payload.\n return (\n ['post', 'put', 'patch'].includes(method) && (\n // TODO: Use `handleDataSchema()` asynchronously here instead, to\n // offer the same amount of possibilities for data loading.\n button.getSchemaValue(['resource', 'data']) ||\n button.processedItem\n )\n )\n },\n\n async submit(button) {\n const resource = getResource(button.schema.resource, {\n parent: this.resource\n })\n if (resource) {\n const { method } = resource\n const data = this.getPayloadData(button, method)\n return this.submitResource(button, resource, method, data)\n }\n return false\n },\n\n async submitResource(button, resource, method, data, {\n setData = false,\n onSuccess,\n onError,\n notifySuccess = () => this.notify({\n type: 'success',\n title: 'Request Successful',\n text: 'Request was successfully sent.'\n }),\n notifyError = error => this.notify({\n type: 'error',\n title: 'Request Error',\n text: [\n `Unable to send request${error ? ':' : ''}`,\n error?.message || error\n ]\n })\n } = {}) {\n return new Promise(resolve => {\n this.handleRequest(\n { method, data, resource },\n async (err, response) => {\n const data = response?.data\n if (err) {\n // See if we're dealing with a Dito validation error:\n const errors = this.isValidationError(response) && data.errors\n if (errors) {\n await this.showValidationErrors(errors, true)\n } else {\n const error = isObject(data) ? data : err\n onError?.(error)\n await this.emitButtonEvent(button, 'error', {\n notify: notifyError,\n error\n })\n }\n resolve(false)\n } else {\n // Update the underlying data before calling `notify()` or\n // `this.itemLabel`, so id is set after creating new items.\n if (setData && data) {\n this.setData(data)\n }\n onSuccess?.()\n await this.emitButtonEvent(button, 'success', {\n notify: notifySuccess\n })\n resolve(true)\n }\n }\n )\n })\n },\n\n async emitButtonEvent(button, event, { notify, error }) {\n // Create the context outside of `emitEvent()`, so that\n // `context.wasNotified` can be checked after.\n const context = new DitoContext(button, {\n nested: false,\n data: this.data,\n itemLabel: this.itemLabel,\n error\n })\n const res = await button.emitEvent(event, { context })\n if (\n notify &&\n // Prevent default if anything was returned from the event handler.\n res === undefined &&\n // Do not display default notification if the event handler already\n // displayed a notification.\n !context.wasNotified\n ) {\n notify(error)\n }\n return res\n }\n }\n}\n","<template lang=\"pug\">\n.dito-form.dito-scroll-parent(\n :class=\"{ 'dito-form-nested': isNestedRoute }\"\n)\n // NOTE: Nested form components are kept alive by using `v-show` instead of\n // `v-if` here, so event handling and other things still work with nested\n // editing. Only render a router-view here if this isn't the last data route\n // and not a nested form route, which will appear elsewhere in its own view.\n router-view(\n v-if=\"!(isLastUnnestedRoute || isNestedRoute)\"\n v-show=\"!isActive\"\n )\n // Use a <div> for inlined forms, as we shouldn't nest actual <form> tags.\n component.dito-scroll(\n v-show=\"isActive\"\n :is=\"isNestedRoute ? 'div' : 'form'\"\n @submit.prevent\n )\n // Prevent implicit submission of the form, for example when typing enter\n // in an input field.\n // https://stackoverflow.com/a/51507806\n button(\n v-show=\"false\"\n type=\"submit\"\n disabled=\"true\"\n aria-hidden=\"true\"\n )\n dito-schema(\n :schema=\"schema\"\n :dataPath=\"dataPath\"\n :data=\"data\"\n :meta=\"meta\"\n :store=\"store\"\n :disabled=\"isLoading\"\n :menuHeader=\"true\"\n )\n dito-buttons.dito-buttons-round.dito-buttons-main.dito-buttons-large(\n slot=\"buttons\"\n :buttons=\"buttonSchemas\"\n :dataPath=\"dataPath\"\n :data=\"data\"\n :meta=\"meta\"\n :store=\"store\"\n :disabled=\"isLoading\"\n )\n</template>\n\n<script>\nimport DitoComponent from '@/DitoComponent'\nimport RouteMixin from '@/mixins/RouteMixin'\nimport ResourceMixin from '@/mixins/ResourceMixin'\nimport { getResource, getMemberResource } from '@/utils/resource'\nimport { getButtonSchemas, isObjectSource } from '@/utils/schema'\nimport { clone, capitalize, parseDataPath, merge } from '@ditojs/utils'\n\n// @vue/component\nexport default DitoComponent.component('dito-form', {\n mixins: [RouteMixin, ResourceMixin],\n\n data() {\n return {\n createdData: null,\n clonedData: undefined,\n sourceKey: null,\n isForm: true\n }\n },\n\n computed: {\n verbs() {\n // Add submit / submitted to the verbs returned by ResourceMixin\n // NOTE: These get passed on to children through:\n // `provide() ... { $verbs: () => this.verbs }` in ResourceMixin\n const verbs = this.getVerbs()\n const { isCreating, providesData } = this\n return {\n ...verbs,\n submit: isCreating ? verbs.create : verbs.save,\n submitted: isCreating ? verbs.created : verbs.saved,\n cancel: providesData ? verbs.cancel : verbs.close,\n cancelled: providesData ? verbs.cancelled : verbs.closed\n }\n },\n\n schema() {\n return this.getItemFormSchema(\n this.sourceSchema,\n // If there is no data yet, provide an empty object with just the right\n // type set, so the form can always be determined.\n this.data || { type: this.type },\n this.context\n ) || {} // Always return a schema object so we don't need to check for it.\n },\n\n buttonSchemas() {\n return getButtonSchemas(\n merge(\n {\n cancel: {\n type: 'button',\n events: {\n click: () => this.cancel()\n }\n },\n\n submit: !this.doesMutate && {\n type: 'submit',\n // Submit buttons close the form by default:\n closeForm: true,\n events: {\n click: ({ component: button }) => button.submit()\n }\n }\n },\n this.schema.buttons\n )\n )\n },\n\n isActive() {\n return this.isLastRoute || this.isLastUnnestedRoute\n },\n\n isTransient() {\n return !this.providesData\n },\n\n isCreating() {\n // this.param is inherited from RouteMixin\n return this.param === 'create'\n },\n\n isDirty() {\n return !this.doesMutate && !!this.mainSchemaComponent?.isDirty\n },\n\n selectedTab() {\n return this.mainSchemaComponent?.selectedTab || null\n },\n\n doesMutate() {\n // When `sourceSchema.mutate` is true, the form edits the inherited data\n // directly instead of making a copy for application upon submit.\n // See `inheritedData()` computed property for more details.\n return this.sourceSchema.mutate\n },\n\n type() {\n // The type of form to create, if there are multiple forms to choose from.\n return this.$route.query.type\n },\n\n itemId() {\n return this.isCreating\n ? null\n : (this.param ?? null)\n },\n\n method() {\n return this.isCreating ? 'post' : 'patch'\n },\n\n resource() {\n const resource = this.getResource()\n return getMemberResource(this.itemId, resource) || resource\n },\n\n breadcrumbPrefix() {\n return capitalize(this.isCreating ? this.verbs.create : this.verbs.edit)\n },\n\n data() {\n // Return different data \"containers\" based on different scenarios:\n // 1. createdData, if we're in a form for a newly created object.\n // 2. loadedData, if the form itself is the root of the data (e.g. when\n // directly loading an editing root).\n // 3. The data inherited from the parent, which itself may be either a\n // view that loaded the data, or a form that either loaded the data, or\n // also inherited it from its parent. Note that we use a clone of it,\n // so, data changes aren't applied until setSourceData() is called.\n return this.createdData || this.loadedData || this.inheritedData || null\n },\n\n dataPath() {\n return this.getDataPathFrom(this.dataComponent)\n },\n\n sourceData() {\n // Possible parents are DitoForm for forms, or DitoView for root lists.\n // Both have a data property which abstracts away loading and inheriting\n // of data.\n let { data } = this.parentRouteComponent\n if (data) {\n // Handle nested data by splitting the dataPath, iterate through the\n // actual data and look nest child-data up.\n const dataParts = parseDataPath(\n this.getDataPathFrom(this.parentRouteComponent)\n )\n // Compare dataParts against matched routePath parts, to identify those\n // parts that need to be treated like ids and mapped to indices in data.\n const pathParts = this.routeRecord.path.split('/')\n const routeParts = pathParts.slice(pathParts.length - dataParts.length)\n this.sourceKey = null\n const lastDataPart = dataParts[dataParts.length - 1]\n if (isObjectSource(this.sourceSchema) && lastDataPart === 'create') {\n // If we have an object source and are creating, the dataPath needs to\n // be shortened by the 'create' entry. This isn't needed for list\n // sources, as there the parameter is actually mapped to the item id.\n dataParts.length--\n }\n for (let i = 0, l = dataParts.length; i < l && data; i++) {\n const dataPart = dataParts[i]\n // If this is an :id part, find the index of the item with given id.\n const key = /^:id/.test(routeParts[i])\n ? dataPart === 'create'\n ? null // There's no index for entries about to be created\n : this.findItemIdIndex(this.sourceSchema, data, dataPart)\n : dataPart\n // Skip the final lookup but remember `sourceKey`, as we want the\n // parent data so we can replace the entry at `sourceKey` on it.\n if (i === l - 1) {\n this.sourceKey = key\n } else {\n data = data[key]\n }\n }\n }\n return data\n },\n\n inheritedData() {\n // Data inherited from parent, and cloned to protect against reactive\n // changes until changes are applied through setSourceData(), unless\n // `sourceSchema.mutate` is true, in which case data is mutated directly.\n if (\n this.isTransient &&\n this.clonedData === undefined &&\n this.sourceData &&\n this.sourceKey !== null\n ) {\n let data = this.sourceData[this.sourceKey]\n if (!this.doesMutate) {\n // Use a trick to store cloned inherited data in clonedData, to make\n // it reactive and prevent it from being cloned multiple times.\n this.clonedData = data = clone(data)\n }\n if (\n data === null &&\n !this.isCreating &&\n isObjectSource(this.sourceSchema)\n ) {\n // If data of an object source is null, redirect to its create route.\n this.$router.push({ path: 'create', append: true })\n }\n return data\n }\n return this.clonedData\n },\n\n // @override ResourceMixin.hasData()\n hasData() {\n return !!this.data\n },\n\n itemLabel() {\n return this.getItemLabel(this.sourceSchema, this.data, { extended: true })\n }\n },\n\n watch: {\n sourceData: 'clearClonedData',\n // Needed for the 'create' redirect in `inheritedData()` to work:\n create: 'setupData'\n },\n\n methods: {\n emitSchemaEvent(event, params) {\n return this.mainSchemaComponent.emitEvent(event, params)\n },\n\n getDataPathFrom(route) {\n // Get the data path by denormalizePath the relative route path\n return this.api.denormalizePath(this.path\n // DitoViews have nested routes, so don't remove their path.\n .slice((route.isView ? 0 : route.path.length) + 1))\n },\n\n // @override ResourceMixin.setupData()\n setupData() {\n if (this.isCreating) {\n this.createdData = this.createdData ||\n this.createData(this.schema, this.type)\n } else {\n this.ensureData()\n }\n },\n\n setSourceData(data) {\n if (this.sourceData && this.sourceKey !== null) {\n const { mainSchemaComponent } = this\n this.$set(\n this.sourceData,\n this.sourceKey,\n mainSchemaComponent.filterData(data)\n )\n mainSchemaComponent.onChange()\n return true\n }\n return false\n },\n\n addSourceData(data) {\n return isObjectSource(this.sourceSchema)\n ? this.setSourceData(data)\n : !!this.sourceData?.push(data)\n },\n\n // @override ResourceMixin.clearData()\n clearData() {\n this.setData(null)\n },\n\n // @override ResourceMixin.setData()\n setData(data) {\n // setData() is called after submit when data has changed.\n if (this.isTransient) {\n // For components with transient data, modify this.sourceData.\n this.setSourceData(data)\n } else {\n this.createdData = null\n this.loadedData = data\n }\n },\n\n clearClonedData(newValue, oldValue) {\n // Only clear if the watched sourceData itself changes in the form.\n if (newValue !== oldValue) {\n this.clonedData = undefined\n }\n },\n\n async cancel() {\n return this.close()\n },\n\n async close() {\n return this.navigate(this.parentRouteComponent.path)\n },\n\n getSubmitVerb(present = true) {\n return this.isCreating\n ? present ? 'create' : 'created'\n : present ? 'submit' : 'submitted'\n },\n\n async submit(button, { validate = true, closeForm = false } = {}) {\n if (validate && !this.validateAll()) {\n return false\n }\n\n const getVerb = present => this.verbs[this.getSubmitVerb(present)]\n\n // Allow buttons to override both method and resource path to submit to:\n const butttonResource = getResource(button.schema.resource, {\n parent: this.resource\n })\n const resource = butttonResource || this.resource\n const method = resource?.method || this.method\n const data = this.getPayloadData(button, method)\n let success\n if (!butttonResource && this.isTransient) {\n success = await this.submitTransient(button, resource, method, data, {\n onSuccess: () => this.emitSchemaEvent(this.getSubmitVerb()),\n onError: error => this.emitSchemaEvent('error', {\n context: { error }\n }),\n notifySuccess: () => {\n const verb = getVerb(false)\n this.notify({\n type: 'info',\n title: this.isCreating\n ? `Item ${capitalize(verb)}`\n : `Change ${capitalize(verb)}`,\n text: [\n this.isCreating\n ? `${this.itemLabel} was ${verb}.`\n : `Changes to ${this.itemLabel} were ${verb}.`,\n this.transientNote\n ]\n })\n },\n notifyError: () => {\n const verb = getVerb(true)\n this.notify({\n type: 'error',\n title: 'Request Error',\n text: `Unable to ${verb} ${this.itemLabel}.`\n })\n }\n })\n } else {\n success = await this.submitResource(button, resource, method, data, {\n setData: true,\n onSuccess: () => this.emitSchemaEvent(this.getSubmitVerb()),\n onError: error => this.emitSchemaEvent('error', {\n context: { error }\n }),\n notifySuccess: () => {\n const verb = getVerb(false)\n this.notify({\n type: 'success',\n title: `Successfully ${capitalize(verb)}`,\n text: `${this.itemLabel} was ${verb}.`\n })\n },\n notifyError: error => {\n const verb = getVerb(true)\n this.notify({\n type: 'error',\n title: 'Request Error',\n text: [\n `Unable to ${verb} ${this.itemLabel}${error ? ':' : ''}`,\n error?.message || error\n ]\n })\n }\n })\n }\n if (success) {\n this.resetValidation()\n if (closeForm || button.closeForm) {\n this.close()\n } else if (this.isCreating) {\n // Redirect to the form editing the newly created item:\n const id = this.getItemId(this.schema, this.data)\n this.$router.replace({ path: `../${id}`, append: true })\n }\n }\n return success\n },\n\n async submitTransient(button, _resource, _method, data, {\n onSuccess,\n onError,\n notifySuccess,\n notifyError\n }) {\n // Handle the default \"submitting\" of transient, nested data:\n const success = this.isCreating\n ? this.addSourceData(data)\n : this.setSourceData(data)\n if (success) {\n onSuccess?.()\n await this.emitButtonEvent(button, 'success', {\n notify: notifySuccess\n })\n } else {\n const error = 'Could not submit transient item'\n onError?.(error)\n await this.emitButtonEvent(button, 'error', {\n notify: notifyError,\n error\n })\n }\n return success\n }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoForm.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoForm.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DitoForm.vue?vue&type=template&id=420a0ea6&lang=pug&\"\nimport script from \"./DitoForm.vue?vue&type=script&lang=js&\"\nexport * from \"./DitoForm.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<style lang=\"sass\">\n .dito-form-nested\n &,\n .dito-scroll\n // No scrolling inside nested forms, and prevent open .multiselect from\n // being cropped.\n overflow: visible\n</style>\n\n<script>\nimport DitoForm from './DitoForm'\n\nexport default DitoForm.component('dito-form-nested', {})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoFormNested.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoFormNested.vue?vue&type=script&lang=js&\"","var render, staticRenderFns\nimport script from \"./DitoFormNested.vue?vue&type=script&lang=js&\"\nexport * from \"./DitoFormNested.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DitoFormNested.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.errors)?_c('div',{staticClass:\"dito-errors\"},[_c('ul',_vm._l((_vm.errors),function(error){return _c('li',[_vm._v(_vm._s(error))])}),0)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n .dito-errors(\n v-if=\"errors\"\n )\n ul\n li(v-for=\"error of errors\")\n | {{ error }}\n</template>\n\n<style lang=\"sass\">\n .dito-errors\n position: absolute\n z-index: 1\n ul\n margin-top: 1px\n color: $color-error\n</style>\n\n<script>\nimport DitoComponent from '@/DitoComponent'\n\n// @vue/component\nexport default DitoComponent.component('dito-errors', {\n props: {\n errors: { type: Array, default: null }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoErrors.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoErrors.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DitoErrors.vue?vue&type=template&id=fb8b7710&lang=pug&\"\nimport script from \"./DitoErrors.vue?vue&type=script&lang=js&\"\nexport * from \"./DitoErrors.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DitoErrors.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dito-scopes\"},_vm._l((_vm.scopes),function(scope,key){return _c('router-link',{key:key,attrs:{\"to\":_vm.getScopeLink(scope),\"custom\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar navigate = ref.navigate;\nreturn [_c('button',{staticClass:\"dito-button\",class:{ 'dito-selected': scope.name === _vm.query.scope },attrs:{\"type\":\"button\",\"title\":scope.hint || _vm.getLabel(scope)},on:{\"click\":navigate}},[_vm._v(_vm._s(_vm.getLabel(scope)))])]}}],null,true)})}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n .dito-scopes\n router-link(\n v-for=\"(scope, key) in scopes\"\n :key=\"key\"\n :to=\"getScopeLink(scope)\"\n custom v-slot=\"{ navigate }\"\n )\n button.dito-button(\n type=\"button\"\n :class=\"{ 'dito-selected': scope.name === query.scope }\"\n :title=\"scope.hint || getLabel(scope)\"\n @click=\"navigate\"\n ) {{ getLabel(scope) }}\n</template>\n\n<style lang=\"sass\">\n .dito-scopes\n white-space: nowrap\n display: flex\n .dito-button\n +ellipsis\n border-radius: 0\n // A bit more than the width of ellipsis, to prevent replacing short words\n // with ellipsis.\n min-width: 3em\n flex: 0 1 auto\n &:first-child\n border-top-left-radius: 1em\n border-bottom-left-radius: 1em\n padding-left: 1em\n &:last-child\n border-top-right-radius: 1em\n border-bottom-right-radius: 1em\n padding-right: 1em\n & + .dito-button\n margin-left: -1px\n // Don't cover the focused border of buttons:\n &:focus\n z-index: 1\n</style>\n\n<script>\nimport DitoComponent from '@/DitoComponent'\n\n// @vue/component\nexport default DitoComponent.component('dito-scopes', {\n props: {\n query: { type: Object, required: true },\n scopes: { type: Object, required: true }\n },\n\n methods: {\n getScopeLink(scope) {\n const query = { ...this.query, scope: scope.name }\n if (query.page) {\n query.page = 0\n }\n return this.getQueryLink(query)\n }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoScopes.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoScopes.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DitoScopes.vue?vue&type=template&id=31b6bc0f&lang=pug&\"\nimport script from \"./DitoScopes.vue?vue&type=script&lang=js&\"\nexport * from \"./DitoScopes.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DitoScopes.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('pagination',{attrs:{\"pageSize\":_vm.limit,\"total\":_vm.total,\"page\":_vm.page},on:{\"update:page\":function($event){_vm.page=$event}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n pagination(\n :pageSize=\"limit\"\n :total=\"total\"\n :page.sync=\"page\"\n )\n</template>\n\n<script>\nimport DitoComponent from '@/DitoComponent'\nimport { Pagination } from '@ditojs/ui'\n\n// @vue/component\nexport default DitoComponent.component('dito-pagination', {\n components: { Pagination },\n\n props: {\n query: { type: Object, required: true },\n limit: { type: Number, required: true },\n total: { type: Number, required: true }\n },\n\n computed: {\n page: {\n get() {\n return (+this.query.page || 0) + 1\n },\n\n set(page) {\n if (this.page !== page) {\n this.$router.push(this.getQueryLink({\n ...this.query,\n page: (page - 1)\n }))\n }\n }\n }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoPagination.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoPagination.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DitoPagination.vue?vue&type=template&id=212ebc1b&lang=pug&\"\nimport script from \"./DitoPagination.vue?vue&type=script&lang=js&\"\nexport * from \"./DitoPagination.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dito-tree-item\",class:{\n 'dito-dragging': _vm.dragging,\n 'dito-active': _vm.active\n },style:(_vm.level > 0 && { '--level': _vm.level }),attrs:{\"id\":_vm.dataPath}},[(_vm.label)?_c('div',{staticClass:\"dito-tree-header\"},[(_vm.numEntries)?_c('div',{staticClass:\"dito-tree-branch\",on:{\"click\":function($event){$event.stopPropagation();_vm.opened = !_vm.opened}}},[(_vm.numEntries)?_c('div',{staticClass:\"dito-chevron\",class:{ 'dito-opened': _vm.opened }}):_vm._e(),_c('div',{staticClass:\"dito-tree-label\",domProps:{\"innerHTML\":_vm._s(_vm.label)}}),(_vm.details)?_c('div',{staticClass:\"dito-tree-info\"},[_vm._v(_vm._s(_vm.details))]):_vm._e()]):_c('div',{staticClass:\"dito-tree-leaf\"},[_c('div',{staticClass:\"dito-tree-label\",domProps:{\"innerHTML\":_vm._s(_vm.label)}})]),(_vm.hasEditButtons)?_c('div',{staticClass:\"dito-buttons dito-buttons-small\"},[(_vm.draggable)?_c('a',_vm._b({staticClass:\"dito-button\"},'a',_vm.getButtonAttributes(_vm.verbs.drag),false)):_vm._e(),(_vm.editable)?_c('button',_vm._b({staticClass:\"dito-button\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.onEdit}},'button',_vm.getButtonAttributes(_vm.verbs.edit),false)):_vm._e(),(_vm.deletable)?_c('button',_vm._b({staticClass:\"dito-button\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.onDelete}},'button',_vm.getButtonAttributes(_vm.verbs.delete),false)):_vm._e()]):_vm._e()]):_vm._e(),(_vm.properties)?_c('table',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.opened),expression:\"opened\"}],staticClass:\"dito-properties\"},_vm._l((_vm.properties),function(property){return _c('tr',[_c('td',[(property.label !== false)?_c('dito-label',{attrs:{\"dataPath\":_vm.getPropertyDataPath(property),\"label\":_vm.getLabel(property)}}):_vm._e()],1),_c('dito-table-cell',{attrs:{\"cell\":property,\"schema\":property,\"dataPath\":_vm.getPropertyDataPath(property),\"data\":_vm.data,\"meta\":_vm.nestedMeta,\"store\":_vm.store,\"disabled\":_vm.disabled}})],1)}),0):_vm._e(),(_vm.childrenSchema)?_c('vue-draggable',_vm._b({directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.opened),expression:\"opened\"}],attrs:{\"list\":_vm.updateOrder(_vm.childrenSchema, _vm.childrenList)},on:{\"start\":_vm.onStartDrag,\"end\":function($event){return _vm.onEndDrag($event, _vm.childrenSchema)}}},'vue-draggable',_vm.getDragOptions(_vm.childrenDraggable, true),false),_vm._l((_vm.childrenItems),function(item,index){return _c('dito-tree-item',{key:_vm.getItemUid(_vm.childrenSchema, item.data),attrs:{\"schema\":_vm.childrenSchema,\"dataPath\":_vm.getItemDataPath(_vm.childrenSchema, index),\"data\":item.data,\"path\":item.path,\"open\":item.open,\"active\":item.active,\"draggable\":_vm.childrenDraggable,\"label\":_vm.getItemLabel(_vm.childrenSchema, item.data, { index: index }),\"level\":_vm.level + 1}})}),1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import ItemMixin from '@/mixins/ItemMixin'\n\n// @vue/component\nexport default {\n mixins: [ItemMixin],\n\n data() {\n return {\n dragging: false\n }\n },\n\n methods: {\n onStartDrag() {\n this.dragging = true\n },\n\n onEndDrag({ oldIndex, newIndex }) {\n this.dragging = false\n if (oldIndex !== newIndex) {\n this.onChange()\n }\n },\n\n updateOrder(sourceSchema, list, paginationRange) {\n const { orderKey } = sourceSchema\n if (orderKey) {\n // Reorder the changed entries by their order key, taking pagination\n // offsets into account:\n const offset = paginationRange?.[0] || 0\n for (let i = 0; i < list.length; i++) {\n list[i][orderKey] = i + offset\n }\n }\n return list\n }\n }\n}\n","<template lang=\"pug\">\n .dito-tree-item(\n :id=\"dataPath\"\n :class=`{\n 'dito-dragging': dragging,\n 'dito-active': active\n }`\n :style=\"level > 0 && { '--level': level }\"\n )\n .dito-tree-header(v-if=\"label\")\n .dito-tree-branch(\n v-if=\"numEntries\"\n @click.stop=\"opened = !opened\"\n )\n .dito-chevron(\n v-if=\"numEntries\"\n :class=\"{ 'dito-opened': opened }\"\n )\n .dito-tree-label(v-html=\"label\")\n .dito-tree-info(v-if=\"details\") {{ details }}\n .dito-tree-leaf(v-else)\n .dito-tree-label(v-html=\"label\")\n .dito-buttons.dito-buttons-small(v-if=\"hasEditButtons\")\n //- Firefox doesn't like <button> here, so use <a> instead:\n a.dito-button(\n v-if=\"draggable\"\n v-bind=\"getButtonAttributes(verbs.drag)\"\n )\n button.dito-button(\n v-if=\"editable\"\n type=\"button\"\n @click=\"onEdit\"\n v-bind=\"getButtonAttributes(verbs.edit)\"\n )\n button.dito-button(\n v-if=\"deletable\"\n type=\"button\"\n @click=\"onDelete\"\n v-bind=\"getButtonAttributes(verbs.delete)\"\n )\n table.dito-properties(\n v-if=\"properties\"\n v-show=\"opened\"\n )\n tr(\n v-for=\"property in properties\"\n )\n td\n dito-label(\n v-if=\"property.label !== false\"\n :dataPath=\"getPropertyDataPath(property)\"\n :label=\"getLabel(property)\"\n )\n dito-table-cell(\n :cell=\"property\"\n :schema=\"property\"\n :dataPath=\"getPropertyDataPath(property)\"\n :data=\"data\"\n :meta=\"nestedMeta\"\n :store=\"store\"\n :disabled=\"disabled\"\n )\n vue-draggable(\n v-if=\"childrenSchema\"\n v-show=\"opened\"\n v-bind=\"getDragOptions(childrenDraggable, true)\"\n :list=\"updateOrder(childrenSchema, childrenList)\"\n @start=\"onStartDrag\"\n @end=\"onEndDrag($event, childrenSchema)\"\n )\n dito-tree-item(\n v-for=\"(item, index) in childrenItems\"\n :key=\"getItemUid(childrenSchema, item.data)\"\n :schema=\"childrenSchema\"\n :dataPath=\"getItemDataPath(childrenSchema, index)\"\n :data=\"item.data\"\n :path=\"item.path\"\n :open=\"item.open\"\n :active=\"item.active\"\n :draggable=\"childrenDraggable\"\n :label=\"getItemLabel(childrenSchema, item.data, { index })\"\n :level=\"level + 1\"\n )\n // TODO: Convert dito-tree-item to use dito-label internally, and then\n // pass `asObject: true` in the `getItemLabel()` call above.\n</template>\n\n<style lang=\"sass\">\n .dito-tree-item\n --chevron-indent: #{$chevron-indent}\n > .dito-tree-header\n > .dito-tree-branch,\n > .dito-tree-leaf\n // Use `--level` CSS variable to calculated the accumulated indent\n // padding directly instead of having it accumulate in nested CSS.\n // This way, we can keep the .dito-active area cover the full width:\n padding-left: calc(var(--chevron-indent) * (var(--level, 1) - 1))\n .dito-tree-branch\n cursor: pointer\n .dito-tree-header\n display: flex\n justify-content: space-between\n .dito-tree-branch,\n .dito-tree-leaf\n display: flex\n flex: auto\n position: relative\n margin: 1px 0\n +user-select(none)\n .dito-tree-label,\n .dito-tree-info\n white-space: nowrap\n .dito-tree-info\n padding-left: 0.35em\n color: rgba($color-black, .2)\n .dito-buttons\n display: flex\n visibility: hidden\n height: 100%\n margin-left: 1em\n margin: 1px 0 1px 1em\n .dito-tree-header:hover\n > .dito-buttons\n visibility: visible\n // Hide buttons during dragging\n &.dito-dragging\n .dito-tree-header\n > .dito-buttons\n visibility: hidden\n &.dito-active\n > .dito-tree-header\n background: $color-active\n padding: 0 $input-padding-hor\n margin: 0 (-$input-padding-hor)\n > .dito-tree-branch\n > .dito-chevron::before\n color: $color-white\n > * > .dito-tree-label\n color: $color-white\n .dito-properties\n display: block\n margin-left: $chevron-indent\n > tr\n vertical-align: baseline\n .dito-label\n margin: 0\n &::after\n content: ': '\n</style>\n\n<script>\nimport VueDraggable from 'vuedraggable'\nimport DitoComponent from '@/DitoComponent'\nimport OrderedMixin from '@/mixins/OrderedMixin'\nimport { appendDataPath } from '@/utils/data'\nimport { getSchemaAccessor } from '@/utils/accessor'\nimport { getNamedSchemas, hasFormSchema } from '@/utils/schema'\n\n// @vue/component\nexport default DitoComponent.component('dito-tree-item', {\n components: { VueDraggable },\n mixins: [OrderedMixin],\n inject: ['container'],\n\n props: {\n schema: { type: Object, required: true },\n dataPath: { type: String, required: true },\n data: { type: [Array, Object], default: null },\n path: { type: String, default: '' },\n open: { type: Boolean, default: false },\n active: { type: Boolean, default: false },\n draggable: { type: Boolean, default: false },\n label: { type: String, default: null },\n level: { type: Number, default: 0 }\n },\n\n data() {\n return {\n opened: this.open || this.schema.open\n }\n },\n\n computed: {\n meta() {\n return this.container.meta\n },\n\n store() {\n return this.container.store\n },\n\n disabled() {\n return this.container.disabled\n },\n\n nestedMeta() {\n return {\n ...this.meta,\n schema: this.schema\n }\n },\n\n properties() {\n return getNamedSchemas(this.schema.properties)\n },\n\n // TODO: Should this be named `sourceSchema` instead? Use SourceMixin?\n childrenSchema() {\n return this.schema.children\n },\n\n childrenList() {\n const name = this.childrenSchema?.name\n return name && this.data[name]\n },\n\n childrenDraggable() {\n return (\n this.childrenList?.length > 1 &&\n this.getSchemaValue('draggable', {\n type: Boolean,\n default: false,\n schema: this.childrenSchema\n })\n )\n },\n\n numChildren() {\n return this.childrenList?.length || 0\n },\n\n numProperties() {\n return this.properties?.length || 0\n },\n\n numEntries() {\n return this.numProperties + this.numChildren\n },\n\n childrenItems() {\n const { childrenSchema } = this\n if (childrenSchema) {\n const { editPath } = this.container\n const childrenOpen = !this.path && childrenSchema.open\n // Build a children list with child meta information for the template.\n return this.childrenList?.map((data, index) => {\n const path = (\n childrenSchema.path &&\n `${this.path}/${childrenSchema.path}/${index}`\n )\n const open = childrenOpen ||\n // Only count as \"in edit path\" when it's not the full edit path.\n editPath.startsWith(path) && path.length < editPath.length\n const active = editPath === path\n return {\n data,\n path,\n open,\n active\n }\n }) || []\n }\n },\n\n details() {\n const { numChildren } = this\n return numChildren && `${numChildren} ${\n numChildren === 1 ? 'item' : 'items'\n }`\n },\n\n hasEditButtons() {\n return this.draggable || this.editable || this.deletable\n },\n\n // TODO: Support creatable!\n // TODO: Add support for creatable, editable and deletable overrides on the\n // associated forms, just like in `TypeList` and `TypeObject`, through\n // `DitoEditButtons`. It would be best to use `DitoEditButtons` here too.\n creatable: getSchemaAccessor('creatable', {\n type: Boolean,\n default: false,\n get(creatable) {\n return creatable && hasFormSchema(this.schema)\n }\n }),\n\n editable: getSchemaAccessor('editable', {\n type: Boolean,\n default: false,\n get(editable) {\n return editable && hasFormSchema(this.schema)\n }\n }),\n\n deletable: getSchemaAccessor('deletable', {\n type: Boolean,\n default: false\n })\n },\n\n methods: {\n getPropertyDataPath(property) {\n return appendDataPath(this.dataPath, property.name)\n },\n\n onEdit() {\n // All we got to do is push the right edit path to the router, the rest\n // is handled by our routes, allowing reloads as well.\n this.$router.push({\n path: `${this.container.path}${this.path}`,\n // Preserve current query\n query: this.$route.query\n })\n },\n\n onDelete() {\n // TODO: Implement!\n },\n\n onChange() {\n this.container.onChange()\n }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoTreeItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoTreeItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DitoTreeItem.vue?vue&type=template&id=731cb782&lang=pug&\"\nimport script from \"./DitoTreeItem.vue?vue&type=script&lang=js&\"\nexport * from \"./DitoTreeItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DitoTreeItem.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',{staticClass:\"dito-table-head\"},[_c('tr',[_vm._l((_vm.columns),function(column,index){return (_vm.shouldRender(column))?_c('th',{class:_vm.getColumnClass(column)},[(column.sortable)?_c('router-link',{attrs:{\"to\":_vm.getSortLink(column),\"custom\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar navigate = ref.navigate;\nreturn [_c('button',{staticClass:\"dito-button\",class:_vm.getSortClass(column),attrs:{\"type\":\"button\"},on:{\"click\":navigate}},[_c('div',{staticClass:\"dito-order-arrows\"}),_c('span',[_vm._v(_vm._s(_vm.getLabel(column)))])])]}}],null,true)}):_c('span',[_vm._v(_vm._s(_vm.getLabel(column)))])],1):_vm._e()}),(_vm.hasEditButtons)?_c('th',[_c('span')]):_vm._e()],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n thead.dito-table-head\n tr\n th(\n v-for=\"(column, index) in columns\"\n v-if=\"shouldRender(column)\"\n :class=\"getColumnClass(column)\"\n )\n router-link(\n v-if=\"column.sortable\"\n :to=\"getSortLink(column)\"\n custom v-slot=\"{ navigate }\"\n )\n button.dito-button(\n type=\"button\"\n :class=\"getSortClass(column)\"\n @click=\"navigate\"\n )\n .dito-order-arrows\n span {{ getLabel(column) }}\n span(\n v-else\n ) {{ getLabel(column) }}\n th(v-if=\"hasEditButtons\")\n // Empty <span> is needed for styling, see _table.sass\n span\n</template>\n\n<style lang=\"sass\">\n .dito-table-head\n +user-select(none)\n tr\n th\n padding: 0\n font-weight: normal\n text-align: left\n white-space: nowrap\n .dito-button\n // Convention: Nested spans handle padding, see below\n padding: 0\n width: 100%\n text-align: inherit\n border-radius: 0\n span\n display: inline-block\n // Convention: Nested spans handle padding\n padding: $input-padding\n &:empty::after\n // Prevent empty <th> from collapsing\n content: '\\00a0'\n > span\n display: block\n</style>\n\n<script>\nimport DitoComponent from '@/DitoComponent'\nimport { hyphenate } from '@ditojs/utils'\n\n// @vue/component\nexport default DitoComponent.component('dito-table-head', {\n props: {\n query: { type: Object, required: true },\n columns: { type: Object, required: true },\n hasEditButtons: { type: Boolean, required: true }\n },\n\n computed: {\n sort() {\n const order = (this.query.order || '').split(/\\s+/)\n return {\n name: order[0],\n order: order[1]\n }\n }\n },\n\n methods: {\n getColumnClass(column) {\n return `dito-column-${hyphenate(column.name)}`\n },\n\n getSortClass(column) {\n return this.sort.name === column.name\n ? `dito-selected dito-order-${this.sort.order}`\n : null\n },\n\n getSortLink(column) {\n // Toggle order if the same column is clicked again.\n const order = this.sort.name === column.name && this.sort.order === 'asc'\n ? 'desc'\n : 'asc'\n return this.getQueryLink({\n ...this.query,\n order: `${column.name} ${order}`\n })\n }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoTableHead.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoTableHead.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DitoTableHead.vue?vue&type=template&id=0a75115d&lang=pug&\"\nimport script from \"./DitoTableHead.vue?vue&type=script&lang=js&\"\nexport * from \"./DitoTableHead.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DitoTableHead.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{class:_vm.cell.class,style:(_vm.cell.style)},[(_vm.component)?_c(_vm.component,{tag:\"component\",attrs:{\"schema\":_vm.schema,\"dataPath\":_vm.dataPath,\"data\":_vm.data,\"meta\":_vm.meta,\"store\":_vm.store,\"nested\":_vm.nested,\"disabled\":_vm.disabled}}):_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.renderCell(_vm.data))}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n td(\n :class=\"cell.class\"\n :style=\"cell.style\"\n )\n // TODO: Implement inlined components in cell mode!\n component(\n v-if=\"component\"\n :is=\"component\"\n :schema=\"schema\"\n :dataPath=\"dataPath\"\n :data=\"data\"\n :meta=\"meta\"\n :store=\"store\"\n :nested=\"nested\"\n :disabled=\"disabled\"\n )\n span(\n v-else\n v-html=\"renderCell(data)\"\n )\n</template>\n\n<script>\nimport DitoComponent from '@/DitoComponent'\nimport DitoContext from '@/DitoContext'\nimport { appendDataPath } from '@/utils/data'\nimport { escapeHtml } from '@ditojs/utils'\n\n// @vue/component\nexport default DitoComponent.component('dito-table-cell', {\n props: {\n cell: { type: Object, required: true },\n schema: { type: Object, required: true },\n dataPath: { type: String, required: true },\n data: { type: Object, required: true },\n meta: { type: Object, required: true },\n store: { type: Object, required: true },\n nested: { type: Boolean, default: true },\n disabled: { type: Boolean, default: false }\n },\n\n computed: {\n component() {\n return this.resolveTypeComponent(this.cell.component)\n }\n },\n\n methods: {\n renderCell(item) {\n const { name, render } = this.cell\n const value = item[name]\n return render\n ? render.call(\n this,\n new DitoContext(this, {\n name,\n value,\n data: item,\n dataPath: appendDataPath(this.dataPath, name)\n })\n )\n : escapeHtml(value)\n }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoTableCell.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoTableCell.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DitoTableCell.vue?vue&type=template&id=37874142&lang=pug&\"\nimport script from \"./DitoTableCell.vue?vue&type=script&lang=js&\"\nexport * from \"./DitoTableCell.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<script>\nimport DitoComponent from '@/DitoComponent'\n\n// A component to simply pass through an existing vue vnode.\n// See: https://forum.vuejs.org/t/28162/4\n\n// @vue/component\nexport default DitoComponent.component('dito-vnode', {\n functional: true,\n render: (h, context) => context.props.node\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoVNode.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoVNode.vue?vue&type=script&lang=js&\"","var render, staticRenderFns\nimport script from \"./DitoVNode.vue?vue&type=script&lang=js&\"\nexport * from \"./DitoVNode.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// NOTE: index.js exports nothing, but Dito components will be registered in\n// DitoComponent and can be rendered through their tag-names.\n// NOTE: Sequence is meaningful for reasons of CSS declaration sequence. The\n// convention is in order of encountered hierarchy in the DOM.\n\nimport './DitoRoot'\nimport './DitoMenu'\nimport './DitoHeader'\nimport './DitoAccount'\nimport './DitoDialog'\nimport './DitoElement'\nimport './DitoLabel'\nimport './DitoSchema'\nimport './DitoSchemaInlined'\nimport './DitoPane'\nimport './DitoContainer'\nimport './DitoTabs'\nimport './DitoPanel'\nimport './DitoPanels'\nimport './DitoButtons'\nimport './DitoEditButtons'\nimport './DitoCreateButton'\nimport './DitoClipboard'\nimport './DitoView'\nimport './DitoForm'\nimport './DitoFormNested'\nimport './DitoErrors'\nimport './DitoScopes'\nimport './DitoPagination'\nimport './DitoTreeItem'\nimport './DitoTableHead'\nimport './DitoTableCell'\nimport './DitoVNode'\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',_vm._g(_vm._b({ref:\"element\",staticClass:\"dito-button\",class:(\"dito-button-\" + _vm.verb),attrs:{\"id\":_vm.dataPath,\"type\":_vm.type,\"title\":_vm.text}},'button',_vm.attributes,false),_vm.listeners),[_vm._v(_vm._s(_vm.text))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// TypeComponent is the abstract base component for all other type components\n// inside the types/ folder. There's also a separate concrete\n// `TypeComponent.vue` component, use to render the `type: 'component'` types.\nimport DitoComponent from './DitoComponent'\nimport TypeMixin from './mixins/TypeMixin'\nimport { registerTypeComponent, getTypeComponent } from '@/utils/schema'\nimport { asArray } from '@ditojs/utils'\n\nconst TypeComponent = DitoComponent.extend({\n mixins: [TypeMixin],\n\n nativeField: false,\n textField: false,\n // Set reasonable defaults for all of these that are used by most type\n // components. These only need defining in sub-classes when they differ.\n defaultValue: null,\n defaultNested: true,\n defaultVisible: true,\n generateLabel: true,\n excludeValue: false,\n ignoreMissingValue: null,\n omitPadding: false\n})\n\nTypeComponent.register = function(types, definition = {}) {\n types = asArray(types)\n const component = this.component(`dito-type-${types[0]}`, definition)\n for (const type of types) {\n registerTypeComponent(type, component)\n }\n return component\n}\n\nTypeComponent.get = getTypeComponent\n\nexport default TypeComponent\n","<template lang=\"pug\">\n button.dito-button(\n ref=\"element\"\n :id=\"dataPath\"\n :type=\"type\"\n :title=\"text\"\n :class=\"`dito-button-${verb}`\"\n v-bind=\"attributes\"\n v-on=\"listeners\"\n ) {{ text }}\n</template>\n\n<script>\nimport TypeComponent from '@/TypeComponent'\nimport { getSchemaAccessor } from '@/utils/accessor'\nimport { hasResource } from '@/utils/resource'\nimport { labelize } from '@ditojs/utils'\n\nexport default TypeComponent.register([\n 'button', 'submit'\n],\n// @vue/component\n{\n defaultValue: () => undefined, // Callback to override `defaultValue: null`\n excludeValue: true,\n defaultWidth: 'auto',\n // TODO: Consider making this work nicely:\n // omitFlexGrow: true,\n\n computed: {\n verb() {\n return this.verbs[this.name] || this.name\n },\n\n text: getSchemaAccessor('text', {\n type: String,\n get(text) {\n return text || labelize(this.verb)\n }\n }),\n\n closeForm: getSchemaAccessor('closeForm', {\n type: Boolean,\n default: false\n })\n },\n\n methods: {\n // @override\n getListeners() {\n return {\n focus: this.onFocus,\n blur: this.onBlur,\n click: this.onClick\n }\n },\n\n async submit(options) {\n return this.resourceComponent?.submit(this, options)\n },\n\n async onClick() {\n const res = await this.emitEvent('click', {\n parent: this.schemaComponent\n })\n // Have buttons that define resources call `this.submit()` by default:\n if (\n res === undefined && // Meaning: don't prevent default.\n hasResource(this.schema)\n ) {\n await this.submit()\n }\n }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeButton.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeButton.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TypeButton.vue?vue&type=template&id=3c1135a1&lang=pug&\"\nimport script from \"./TypeButton.vue?vue&type=script&lang=js&\"\nexport * from \"./TypeButton.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('input',_vm._g(_vm._b({directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.value),expression:\"value\"}],ref:\"element\",staticClass:\"dito-checkbox\",attrs:{\"id\":_vm.dataPath,\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.value)?_vm._i(_vm.value,null)>-1:(_vm.value)},on:{\"change\":function($event){var $$a=_vm.value,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.value=$$a.concat([$$v]))}else{$$i>-1&&(_vm.value=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.value=$$c}}}},'input',_vm.attributes,false),_vm.listeners))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n input.dito-checkbox(\n ref=\"element\"\n :id=\"dataPath\"\n type=\"checkbox\"\n v-model=\"value\"\n v-bind=\"attributes\"\n v-on=\"listeners\"\n )\n</template>\n\n<style lang=\"sass\">\n .dito-checkbox\n @extend %input-borderless\n</style>\n\n<script>\nimport TypeComponent from '@/TypeComponent'\n\n// @vue/component\nexport default TypeComponent.register('checkbox', {\n nativeField: true\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeCheckbox.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeCheckbox.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TypeCheckbox.vue?vue&type=template&id=47e47478&lang=pug&\"\nimport script from \"./TypeCheckbox.vue?vue&type=script&lang=js&\"\nexport * from \"./TypeCheckbox.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TypeCheckbox.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"dito-checkboxes\",class:(\"dito-layout-\" + (_vm.schema.layout || 'vertical')),attrs:{\"id\":_vm.dataPath}},_vm._l((_vm.options),function(option){return _c('li',[_c('label',[_c('input',_vm._g(_vm._b({directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedOptions),expression:\"selectedOptions\"}],ref:\"element\",refInFor:true,staticClass:\"dito-checkbox\",attrs:{\"type\":\"checkbox\"},domProps:{\"value\":_vm.getValueForOption(option),\"checked\":Array.isArray(_vm.selectedOptions)?_vm._i(_vm.selectedOptions,_vm.getValueForOption(option))>-1:(_vm.selectedOptions)},on:{\"change\":function($event){var $$a=_vm.selectedOptions,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=_vm.getValueForOption(option),$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.selectedOptions=$$a.concat([$$v]))}else{$$i>-1&&(_vm.selectedOptions=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.selectedOptions=$$c}}}},'input',_vm.attributes,false),_vm.listeners)),_vm._v(_vm._s(_vm.getLabelForOption(option)))])])}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import LoadingMixin from './LoadingMixin'\nimport {\n isObject, isFunction, isPromise, normalizeDataPath, getValueAtDataPath\n} from '@ditojs/utils'\n\n// @vue/component\nexport default {\n mixins: [LoadingMixin],\n\n data() {\n return {\n isLoading: false,\n asyncDataEntries: {}\n }\n },\n\n methods: {\n handleDataSchema(schema, name, {\n resolveCounter = 1,\n ...loadingOptions\n } = {}) {\n if (!isObject(schema)) {\n schema = { data: schema }\n }\n let { data = undefined, dataPath = null } = schema\n // See if there is async data loading already in process.\n const asyncEntry = (\n this.asyncDataEntries[name] ||\n this.$set(this.asyncDataEntries, name, {\n dependencyFunction: null,\n resolveCounter: 0,\n resolvedData: null,\n resolving: false\n })\n )\n // If the data callback provided a dependency function when it was called,\n // cal it in every call of `handleDataSchema()` to force Vue to keep track\n // of the async dependencies.\n asyncEntry.dependencyFunction?.call(this, this.context)\n\n if (asyncEntry.resolveCounter > 0) {\n // If the data was resolved already, return it and clear the value once\n // `resolveCounter` reaches zero. Counting is needed because depending\n // on the use of data and reactivity, multiple calls to the computed\n // getter are triggered when the data is changing. Clearing the resolved\n // data works because Vue caches the result of computed getters and only\n // reevaluates if one of the dependencies changed. This is to ensure\n // that a cached value here doesn't block / override reevaluation:\n const { resolvedData } = asyncEntry\n if (--asyncEntry.resolveCounter === 0) {\n asyncEntry.resolvedData = null\n }\n return resolvedData\n }\n // Avoid calling the data function twice:\n if (asyncEntry.resolving) {\n data = null\n } else if (data) {\n if (isFunction(data)) {\n const result = data.call(this, this.context)\n // If the result of the data function is another function, then the\n // first data function is there to track dependencies and the real\n // data loading happens in the function that it returned. Keep track\n // it in `dependencyFunction` so it can be called on each call of\n // `handleDataSchema()` to keep the dependencies intact, and call\n // the function that it returned once to get the actual data:\n if (isFunction(result)) {\n asyncEntry.dependencyFunction = data\n data = result.call(this, this.context)\n } else {\n data = result\n }\n }\n if (isPromise(data)) {\n // If the data is asynchronous, it can't be returned straight away.\n // But we can cheat using computed properties and `resolvedData`,\n // which is going to receive the loaded data asynchronously,\n // triggering a recompute of the computed property that calls\n // `handleDataSchema()`.\n asyncEntry.resolving = true\n this.resolveData(data, loadingOptions).then(data => {\n asyncEntry.resolveCounter = resolveCounter\n asyncEntry.resolvedData = data\n asyncEntry.resolving = false\n })\n // Clear data until promise is resolved and `resolvedData` is set\n data = null\n }\n } else if (dataPath) {\n data = getValueAtDataPath(\n this.rootData,\n normalizeDataPath(`${this.dataPath}/${dataPath}`)\n )\n }\n return data\n },\n\n async resolveData(load, loadingOptions = {}) {\n this.setLoading(true, loadingOptions)\n let data = null\n try {\n data = await (isFunction(load) ? load() : load)\n } catch (error) {\n this.addError(error.message || error)\n }\n this.setLoading(false, loadingOptions)\n return data\n }\n }\n}\n","import DitoContext from '@/DitoContext'\nimport DataMixin from './DataMixin'\nimport { getSchemaAccessor } from '@/utils/accessor'\nimport { setTemporaryId, isReference } from '@/utils/data'\nimport {\n isObject, isArray, isString, isFunction,\n normalizeDataPath, labelize, debounceAsync\n} from '@ditojs/utils'\n\n// @vue/component\nexport default {\n mixins: [DataMixin],\n\n data() {\n return {\n hasOptions: false\n }\n },\n\n computed: {\n selectedValue: {\n get() {\n const convertValue = value => this.relate\n ? this.hasOption(value)\n ? this.getValueForOption(value)\n : null\n : value\n const value = isArray(this.value)\n ? this.value.map(convertValue).filter(value => value !== null)\n : convertValue(this.value)\n if (\n // When relating and as soon as the options are available...\n this.relate && this.hasOptions && (\n // ...if the value is forced to null because a disappeared option...\n value === null && this.value !== null ||\n // ...or if the value is a reference, replace it with its option\n // value, so that it'll hold actual data, not just a reference id.\n isReference(this.value)\n )\n ) {\n this.selectedValue = value\n }\n return value\n },\n\n set(value) {\n const convert = value => this.relate\n ? this.getOptionForValue(value)\n : value\n this.value = isArray(value)\n ? value.map(convert)\n : convert(value)\n }\n },\n\n selectedOption() {\n return this.getOptionForValue(this.selectedValue)\n },\n\n options() {\n const data = this.handleDataSchema(this.schema.options, 'options', {\n resolveCounter: 1\n }) ?? []\n if (!isArray(data)) {\n throw new Error(`Invalid options data, should be array: ${data}`)\n }\n this.hasOptions = data.length > 0\n return this.processOptions(data)\n },\n\n activeOptions() {\n // This is overridden in `TypeMultiselect` to return the `searchedOptions`\n // when a search filter was applied.\n return this.options\n },\n\n relate: getSchemaAccessor('relate', {\n // TODO: Convert to `relateBy: 'id'`\n type: Boolean,\n default: false,\n // We cannot use schema accessor callback magic for `relate` as we need\n // this outside of the component's life-span, see `processData()` below.\n callback: false\n }),\n\n groupBy: getSchemaAccessor('groupBy', {\n type: String,\n default: null\n }),\n\n optionLabel: getSchemaAccessor('options.label', {\n type: [String, Function],\n default: null,\n get(label) {\n // If no `label` was provided but the options are objects, assume a\n // default value of 'label':\n return (\n label ||\n this.getOptionKey('label') ||\n null\n )\n }\n }),\n\n optionValue: getSchemaAccessor('options.value', {\n type: [String, Function],\n default: null,\n get(value) {\n // If no `label` was provided but the options are objects, assume a\n // default value of 'value':\n return (\n value ||\n this.relate && 'id' ||\n this.getOptionKey('value') ||\n null\n )\n }\n }),\n\n // TODO: Consider moving search to `options.search`?\n searchFilter: getSchemaAccessor('search', {\n type: [Object, Function],\n default: null,\n get(search) {\n if (search) {\n const { filter, debounce } = isFunction(search)\n ? { filter: search }\n : search\n return debounce ? debounceAsync(filter, debounce) : filter\n }\n }\n }),\n\n groupByLabel() {\n return this.groupBy ? 'label' : null\n },\n\n groupByOptions() {\n return this.groupBy ? 'options' : null\n }\n },\n\n methods: {\n getOptionKey(key) {\n const [option] = this.activeOptions\n return isObject(option) && key in option ? key : null\n },\n\n processOptions(options) {\n if (options.length) {\n if (this.relate) {\n // If ids are missing and we want to relate, set temporary ids.\n // NOTE: We need to modify the actual data, making a copy won't work\n // as it won't propagate.\n // NOTE: This only makes sense if the data is from the graph that\n // we're currently editing.\n for (const option of options) {\n if (!('id' in option)) {\n setTemporaryId(option, 'id')\n }\n }\n }\n if (this.groupBy) {\n const grouped = {}\n options = options.reduce(\n (results, option) => {\n const group = option[this.groupBy]\n let entry = grouped[group]\n if (!entry) {\n entry = grouped[group] = {\n [this.groupByLabel]: group,\n [this.groupByOptions]: []\n }\n results.push(entry)\n }\n entry.options.push(option)\n return results\n },\n []\n )\n }\n }\n return options\n },\n\n hasOption(option) {\n return !!this.getOptionForValue(this.getValueForOption(option))\n },\n\n getOptionForValue(value) {\n const findOption = (options, value, groupBy) => {\n // Search for the option object with the given value and return the\n // whole object.\n for (const option of options) {\n if (groupBy) {\n const found = findOption(option.options, value, null)\n if (found) {\n return found\n }\n } else if (value === this.getValueForOption(option)) {\n return option\n }\n }\n }\n\n return this.optionValue\n ? findOption(this.activeOptions, value, this.groupBy)\n : value\n },\n\n getValueForOption(option) {\n const { optionValue } = this\n return isString(optionValue)\n ? option?.[optionValue]\n : isFunction(optionValue)\n ? optionValue.call(this, new DitoContext(this, { option }))\n : option\n },\n\n getLabelForOption(option) {\n const { optionLabel } = this\n return isString(optionLabel)\n ? option?.[optionLabel]\n : isFunction(optionLabel)\n ? optionLabel.call(this, new DitoContext(this, { option }))\n : labelize(`${option}`)\n }\n },\n\n processValue(schema, value, dataPath, graph) {\n if (schema.relate) {\n // For internally relating data (`schema.options.dataPath`), we need to\n // process both the options (for '#ref') and the value ('#id').\n // See `DataMixin.handleDataSchema()`:\n const path = schema.options?.dataPath\n const relatedDataPath = path\n ? normalizeDataPath(`${dataPath}/${path}`)\n : null\n graph.addRelation(dataPath, relatedDataPath, schema)\n if (relatedDataPath) {\n graph.setSourceRelated(relatedDataPath)\n }\n // Convert relating objects to a shallow copy with only the id left.\n // TODO: Convert to using `relateBy`:\n const processRelate = value => value ? { id: value.id } : value\n // Selected options can be both objects & arrays, e.g. 'checkboxes':\n value = isArray(value)\n ? value.map(processRelate)\n : processRelate(value)\n }\n return value\n }\n}\n","<template lang=\"pug\">\n ul.dito-checkboxes(\n :id=\"dataPath\"\n :class=\"`dito-layout-${schema.layout || 'vertical'}`\"\n )\n li(v-for=\"option in options\")\n label\n input.dito-checkbox(\n ref=\"element\"\n type=\"checkbox\"\n :value=\"getValueForOption(option)\"\n v-model=\"selectedOptions\"\n v-bind=\"attributes\"\n v-on=\"listeners\"\n )\n | {{ getLabelForOption(option) }}\n</template>\n\n<style lang=\"sass\">\n .dito-checkboxes\n label\n @extend %input-borderless\n .dito-checkbox\n margin-right: $form-spacing\n</style>\n\n<script>\nimport TypeComponent from '@/TypeComponent'\nimport OptionsMixin from '@/mixins/OptionsMixin'\n\n// @vue/component\nexport default TypeComponent.register('checkboxes', {\n mixins: [OptionsMixin],\n\n nativeField: true,\n defaultValue: [],\n\n computed: {\n selectedOptions: {\n get() {\n return (this.selectedValue || []).filter(value => value)\n },\n\n set(option) {\n this.selectedValue = (option || [])\n }\n }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeCheckboxes.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeCheckboxes.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TypeCheckboxes.vue?vue&type=template&id=339f69a0&lang=pug&\"\nimport script from \"./TypeCheckboxes.vue?vue&type=script&lang=js&\"\nexport * from \"./TypeCheckboxes.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TypeCheckboxes.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"code\",staticClass:\"dito-code\",style:(_vm.style),attrs:{\"id\":_vm.dataPath}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n .dito-code(\n ref=\"code\"\n :id=\"dataPath\"\n :style=\"style\"\n )\n</template>\n\n<style lang=\"sass\">\n .dito-code\n @extend %input\n position: relative\n // For propper sizing of content along with :style=\"style\" setting above,\n // for proper line-height calculation.\n padding: $input-padding\n &.dito-width-fill\n width: auto\n .codeflask\n background: none\n // Ignore theparent padding defined above which is only needed to set\n // the desired height with :style=\"style\".\n top: 0\n left: 0\n .codeflask__textarea,\n .codeflask__pre\n // Use same padding as .dito-code\n padding: $input-padding\n .codeflask__textarea,\n .codeflask__code,\n .codeflask__lines\n font-family: $font-family-mono\n font-size: var(--font-size)\n line-height: var(--line-height)\n .codeflask__lines\n padding: $input-padding\n</style>\n\n<script>\nimport TypeComponent from '@/TypeComponent'\nimport DomMixin from '@/mixins/DomMixin'\nimport CodeFlask from 'codeflask'\n\n// @vue/component\nexport default TypeComponent.register('code', {\n mixins: [DomMixin],\n\n computed: {\n lines() {\n return this.schema.lines || 3\n },\n\n style() {\n return `height: calc(${this.lines}em * var(--line-height))`\n }\n },\n\n mounted() {\n const flask = new CodeFlask(this.$refs.code, {\n language: this.schema.language || 'javascript',\n tabSize: this.schema.indentSize || 2,\n lineNumbers: false\n })\n\n let changed = false\n let ignoreWatch = false\n let ignoreUpdate = false\n\n const onChange = () => {\n if (!this.focused && changed) {\n changed = false\n this.onChange()\n }\n }\n\n const onFocus = () => this.onFocus()\n\n const onBlur = () => {\n this.onBlur()\n onChange()\n }\n\n this.domOn(this.$refs.code.querySelector('textarea'), {\n focus: onFocus,\n blur: onBlur\n })\n\n const setCode = code => {\n if (code !== flask.code) {\n ignoreUpdate = true\n flask.updateCode(code)\n }\n }\n\n const setValue = value => {\n if (value !== this.value) {\n ignoreWatch = true\n this.value = value\n changed = true\n onChange()\n }\n }\n\n flask.onUpdate(value => {\n if (ignoreUpdate) {\n ignoreUpdate = false\n } else {\n setValue(value)\n }\n })\n\n this.$watch('value', value => {\n if (ignoreWatch) {\n ignoreWatch = false\n } else {\n setCode(value || '')\n }\n })\n\n setCode(this.value || '')\n },\n\n methods: {\n focusElement() {\n this.$el.querySelector('textarea')?.focus()\n }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeCode.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeCode.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TypeCode.vue?vue&type=template&id=465e8ed0&lang=pug&\"\nimport script from \"./TypeCode.vue?vue&type=script&lang=js&\"\nexport * from \"./TypeCode.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TypeCode.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('trigger',{staticClass:\"dito-color\",attrs:{\"trigger\":\"click\",\"show\":_vm.showPopup},on:{\"update:show\":function($event){_vm.showPopup=$event}}},[_c('div',{staticClass:\"dito-input\",class:{ 'dito-focus': _vm.showPopup },attrs:{\"slot\":\"trigger\"},slot:\"trigger\"},[_c('input',_vm._g(_vm._b({directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.hexValue),expression:\"hexValue\"}],ref:\"element\",attrs:{\"id\":_vm.dataPath,\"type\":\"input\",\"size\":\"8\"},domProps:{\"value\":(_vm.hexValue)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.hexValue=$event.target.value}}},'input',_vm.attributes,false),_vm.listeners)),(_vm.value)?_c('div',{staticClass:\"dito-color-preview dito-inherit-focus\"},[_c('div',{style:({ background: (\"#\" + (_vm.hexValue || '00000000')) })})]):_vm._e(),(_vm.showClearButton)?_c('button',{staticClass:\"dito-button-clear dito-button-overlay\",attrs:{\"disabled\":_vm.disabled},on:{\"click\":function($event){$event.stopPropagation();return _vm.clear.apply(null, arguments)}}}):_vm._e()]),_c('sketch-picker',{staticClass:\"dito-color-picker\",attrs:{\"slot\":\"popup\",\"disable-alpha\":!_vm.alpha,\"disable-fields\":!_vm.inputs,\"preset-colors\":_vm.presets},slot:\"popup\",model:{value:(_vm.colorValue),callback:function ($$v) {_vm.colorValue=$$v},expression:\"colorValue\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n trigger.dito-color(\n trigger=\"click\"\n :show.sync=\"showPopup\"\n )\n .dito-input(\n slot=\"trigger\"\n :class=\"{ 'dito-focus': showPopup }\"\n )\n input(\n ref=\"element\"\n :id=\"dataPath\"\n type=\"input\"\n size=\"8\"\n v-model=\"hexValue\"\n v-bind=\"attributes\"\n v-on=\"listeners\"\n )\n .dito-color-preview.dito-inherit-focus(\n v-if=\"value\"\n )\n div(:style=\"{ background: `#${hexValue || '00000000'}` }\")\n button.dito-button-clear.dito-button-overlay(\n v-if=\"showClearButton\"\n @click.stop=\"clear\"\n :disabled=\"disabled\"\n )\n sketch-picker.dito-color-picker(\n slot=\"popup\"\n v-model=\"colorValue\"\n :disable-alpha=\"!alpha\"\n :disable-fields=\"!inputs\"\n :preset-colors=\"presets\"\n )\n</template>\n\n<style lang=\"sass\">\n $color-swatch-width: $pattern-transparency-size\n $color-swatch-radius: $border-radius - $border-width\n .dito-color\n .dito-input\n display: block\n position: relative\n input\n box-sizing: border-box\n font-variant-numeric: tabular-nums\n padding-right: $color-swatch-width\n .dito-button-clear\n margin-right: $color-swatch-width\n .dito-color-picker\n margin: $popup-margin\n border: $border-style\n border-radius: $border-radius\n background: $color-white\n box-shadow: $shadow-window\n .dito-color-preview\n background: $pattern-transparency\n border-left: $border-style\n &,\n div\n position: absolute\n width: $color-swatch-width\n top: 0\n right: 0\n bottom: 0\n border-top-right-radius: $color-swatch-radius\n border-bottom-right-radius: $color-swatch-radius\n</style>\n\n<script>\nimport tinycolor from 'tinycolor2'\nimport { Sketch as SketchPicker } from 'vue-color'\nimport TypeComponent from '@/TypeComponent'\nimport { Trigger } from '@ditojs/ui'\nimport { getSchemaAccessor } from '@/utils/accessor'\n\n// @vue/component\nexport default TypeComponent.register('color', {\n components: { Trigger, SketchPicker },\n\n data() {\n return {\n showPopup: false,\n convertedHexValue: null\n }\n },\n\n computed: {\n colorValue: {\n get() {\n return this.value || {}\n },\n\n set(value) {\n const format = this.colorFormat\n const key = {\n // NOTE: vue-color calls it 'hex', while tinycolor calls it 'hex6'\n hex: value?.a < 1 ? 'hex8' : 'hex',\n rgb: 'rgba'\n }[format] || format\n if (key) {\n this.value = value[key]\n } else {\n this.value = tinycolor(value).toString(format)\n }\n this.onChange()\n }\n },\n\n hexValue: {\n get() {\n if (this.value == null) {\n this.convertedHexValue = null\n } else if (!this.focused) {\n const color = tinycolor(this.value)\n if (color.isValid()) {\n this.convertedHexValue = color\n .toString(color.getAlpha() < 1 ? 'hex8' : 'hex6')\n .slice(1)\n .toUpperCase()\n }\n }\n return this.convertedHexValue\n },\n\n set(value) {\n this.convertedHexValue = value\n }\n },\n\n // TODO: `format` clashes with TypeMixin.format()`, which shall be renamed\n // soon to `formatValue()`. Rename `colorFormat` back to `format` after.\n colorFormat: getSchemaAccessor('format', {\n type: String,\n default: 'hex'\n }),\n\n alpha: getSchemaAccessor('alpha', {\n type: Boolean,\n default: false\n }),\n\n inputs: getSchemaAccessor('inputs', {\n type: Boolean,\n default: true\n }),\n\n presets: getSchemaAccessor('presets', {\n type: Array,\n default: [\n '#ffffff',\n '#c3c3c3',\n '#7f7f7f',\n '#000000',\n '#880015',\n '#ed1c24',\n '#ff7f27',\n '#fff200',\n\n '#22b14c',\n '#00a2e8',\n '#3f48cc',\n '#a349a4',\n '#b97a57',\n '#ffaec9',\n '#ffc90e',\n '#00000000'\n ]\n })\n },\n\n watch: {\n focused(focused) {\n if (!focused && this.convertedHexValue) {\n const color = tinycolor(`#${this.convertedHexValue}`)\n if (color?.isValid()) {\n this.value = color.toString(this.colorFormat)\n // TODO: Emit 'input' here instead, and 'change' in blur, like others.\n this.onChange()\n }\n }\n }\n }\n})\n\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeColor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeColor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TypeColor.vue?vue&type=template&id=4e1d7009&lang=pug&\"\nimport script from \"./TypeColor.vue?vue&type=script&lang=js&\"\nexport * from \"./TypeColor.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TypeColor.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.component,_vm._b({tag:\"component\"},'component',_vm.$props,false))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n component(\n :is=\"component\"\n v-bind=\"$props\"\n )\n</template>\n\n<script>\n// This is the general purpose 'component' type, which can resolve to any custom\n// component through `schema.component`, see `resolveTypeComponent()`. This can\n// be used to nest arbitrary vue components in schema:\n// {\n// type: 'component',\n// component: import('./component')\n// }\n\nimport TypeComponent from '@/TypeComponent'\n\n// @vue/component\nexport default TypeComponent.register('component', {\n // Override the standard `defaultValue: null` to not set any data for custom\n // components, unless they provide a default value.\n defaultValue: () => undefined, // Callback to override `defaultValue: null`\n ignoreMissingValue: schema => !('default' in schema)\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeComponent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeComponent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TypeComponent.vue?vue&type=template&id=062cfa40&lang=pug&\"\nimport script from \"./TypeComponent.vue?vue&type=script&lang=js&\"\nexport * from \"./TypeComponent.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('input',{ref:\"element\",staticClass:\"dito-text dito-input\",attrs:{\"id\":_vm.dataPath,\"name\":_vm.name,\"type\":\"text\",\"disabled\":_vm.disabled,\"readonly\":true},domProps:{\"value\":_vm.value}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n //- TODO: Find a better way to trigger evaluation of `value` that dose not\n // involve actually rendering it when the component is not visible.\n input.dito-text.dito-input(\n ref=\"element\"\n :id=\"dataPath\"\n :name=\"name\"\n type=\"text\"\n :value=\"value\"\n :disabled=\"disabled\"\n :readonly=\"true\"\n )\n</template>\n\n<script>\nimport TypeComponent from '@/TypeComponent'\nimport TypeMixin from '@/mixins/TypeMixin'\nimport DataMixin from '@/mixins/DataMixin'\n\nexport default TypeComponent.register([\n 'computed', 'data', 'hidden'\n],\n// @vue/component\n{\n mixins: [DataMixin],\n\n defaultValue: () => undefined, // Callback to override `defaultValue: null`\n defaultVisible: false,\n\n computed: {\n value: {\n get() {\n const { schema } = this\n if (schema.data || schema.dataPath) {\n const value = this.handleDataSchema(schema, 'schema', {\n // Modifying `this.data` below triggers another call of the `value`\n // getter, so use a value of 2 for `resolveCounter` to return the\n // resolved data twice.\n resolveCounter: 2\n })\n this.$set(this.data, this.name, value)\n }\n return TypeMixin.computed.value.get.call(this)\n },\n\n set(value) {\n TypeMixin.computed.value.set.call(this, value)\n }\n }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeComputed.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeComputed.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TypeComputed.vue?vue&type=template&id=9135457a&lang=pug&\"\nimport script from \"./TypeComputed.vue?vue&type=script&lang=js&\"\nexport * from \"./TypeComputed.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dito-date\"},[_c(_vm.getComponent(_vm.type),_vm._g(_vm._b({ref:\"element\",tag:\"component\",attrs:{\"id\":_vm.dataPath,\"locale\":_vm.locale,\"dateFormat\":Object.assign({}, _vm.api.formats.date, _vm.dateFormat)},model:{value:(_vm.dateValue),callback:function ($$v) {_vm.dateValue=$$v},expression:\"dateValue\"}},'component',_vm.attributes,false),_vm.listeners))],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n .dito-date\n component(\n :is=\"getComponent(type)\"\n ref=\"element\"\n :id=\"dataPath\"\n :locale=\"locale\"\n :dateFormat=\"{ ...api.formats.date, ...dateFormat }\"\n v-model=\"dateValue\"\n v-bind=\"attributes\"\n v-on=\"listeners\"\n )\n</template>\n\n<script>\nimport TypeComponent from '@/TypeComponent'\nimport { getSchemaAccessor } from '@/utils/accessor'\nimport { DatePicker, TimePicker, DateTimePicker } from '@ditojs/ui'\nimport { isDate } from '@ditojs/utils'\n\nexport default TypeComponent.register([\n 'date', 'datetime', 'time'\n],\n// @vue/component\n{\n components: { DatePicker, TimePicker, DateTimePicker },\n // TODO: This is only here so we get placeholder added. Come up with a better\n // way to support attributes per component (a list of actually supported\n // attributes)\n nativeField: true,\n textField: true,\n\n computed: {\n dateValue: {\n get() {\n const { value } = this\n return value ? new Date(value) : value\n },\n\n set(value) {\n this.value = value\n }\n },\n\n dateFormat: getSchemaAccessor('dateFormat', {\n type: Object,\n default: null\n })\n },\n\n methods: {\n getComponent(type) {\n return {\n date: 'date-picker',\n time: 'time-picker',\n datetime: 'date-time-picker'\n }[type]\n }\n },\n\n processValue(schema, value) {\n return isDate(value) ? value.toISOString() : value\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeDate.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeDate.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TypeDate.vue?vue&type=template&id=04b96437&lang=pug&\"\nimport script from \"./TypeDate.vue?vue&type=script&lang=js&\"\nexport * from \"./TypeDate.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isReady)?_c('div',{staticClass:\"dito-list\",class:_vm.schema.class,style:(_vm.schema.style),attrs:{\"id\":_vm.dataPath}},[_c('div',{staticClass:\"dito-navigation\"},[(_vm.scopes)?_c('dito-scopes',{attrs:{\"query\":_vm.query,\"scopes\":_vm.scopes}}):(_vm.paginate)?_c('div',{staticClass:\"dito-spacer\"}):_vm._e(),(_vm.paginate)?_c('dito-pagination',{attrs:{\"query\":_vm.query,\"limit\":_vm.paginate,\"total\":_vm.total || 0}}):_vm._e()],1),_c('table',{staticClass:\"dito-table\",class:{\n 'dito-table-separators': _vm.isInlined,\n 'dito-table-larger-padding': _vm.hasEditButtons && !_vm.isInlined,\n 'dito-table-alternate-colors': !_vm.isInlined,\n 'dito-table-even-count': _vm.hasEvenCount\n }},[(_vm.columns)?_c('dito-table-head',{attrs:{\"query\":_vm.query,\"columns\":_vm.columns,\"hasEditButtons\":_vm.hasEditButtons}}):_vm._e(),_c('vue-draggable',_vm._b({attrs:{\"tag\":\"tbody\",\"list\":_vm.updateOrder(_vm.sourceSchema, _vm.listData, _vm.paginationRange)},on:{\"start\":_vm.onStartDrag,\"end\":_vm.onEndDrag}},'vue-draggable',_vm.getDragOptions(_vm.draggable),false),_vm._l((_vm.listData),function(item,index){return _c('tr',{key:_vm.getItemUid(_vm.schema, item),attrs:{\"id\":_vm.getDataPath(index)}},[(_vm.columns)?_vm._l((_vm.columns),function(column){return (_vm.shouldRender(column))?_c('dito-table-cell',{key:column.name,class:_vm.getCellClass(column),attrs:{\"cell\":column,\"schema\":_vm.schema,\"dataPath\":_vm.getDataPath(index),\"data\":item,\"meta\":_vm.nestedMeta,\"store\":_vm.store,\"nested\":false,\"disabled\":_vm.disabled || _vm.isLoading}}):_vm._e()}):[_c('td',[(_vm.isInlined)?_c('dito-schema-inlined',{attrs:{\"label\":_vm.getItemLabel(_vm.schema, item, { index: index, asObject: true }),\"schema\":_vm.getItemFormSchema(_vm.schema, item, _vm.context),\"dataPath\":_vm.getDataPath(index),\"data\":item,\"meta\":_vm.nestedMeta,\"store\":_vm.getChildStore(index),\"disabled\":_vm.disabled || _vm.isLoading,\"collapsed\":_vm.collapsed,\"collapsible\":_vm.collapsible,\"deletable\":_vm.deletable,\"draggable\":_vm.draggable,\"editable\":_vm.editable,\"editPath\":_vm.getEditPath(item, index)},on:{\"delete\":function($event){return _vm.deleteItem(item, index)}}}):(_vm.component)?_c(_vm.component,{tag:\"component\",attrs:{\"dataPath\":_vm.getDataPath(index),\"data\":item,\"nested\":false}}):(_vm.render)?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.render(_vm.getContext(item, index)))}}):_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.getItemLabel(_vm.schema, item, { index: index }))}})],1)],(_vm.hasCellEditButtons)?_c('td',{staticClass:\"dito-cell-edit-buttons\"},[_c('dito-edit-buttons',{attrs:{\"deletable\":_vm.deletable,\"draggable\":_vm.draggable,\"editable\":_vm.editable,\"editPath\":_vm.getEditPath(item, index),\"schema\":_vm.getItemFormSchema(_vm.schema, item, _vm.context),\"dataPath\":_vm.getDataPath(index),\"data\":item,\"meta\":_vm.nestedMeta,\"store\":_vm.getChildStore(index)},on:{\"delete\":function($event){return _vm.deleteItem(item, index)}}})],1):_vm._e()],2)}),0),(_vm.hasListButtons && !_vm.single)?_c('tfoot',[_c('tr',[_c('td',{staticClass:\"dito-cell-edit-buttons\",attrs:{\"colspan\":_vm.numColumns}},[_c('dito-edit-buttons',{attrs:{\"creatable\":_vm.creatable,\"createPath\":_vm.path,\"buttons\":_vm.buttonSchemas,\"schema\":_vm.schema,\"dataPath\":_vm.dataPath,\"data\":_vm.listData,\"meta\":_vm.meta,\"store\":_vm.store}})],1)])]):_vm._e()],1),(_vm.hasListButtons && _vm.single)?_c('dito-edit-buttons',{staticClass:\"dito-buttons-main dito-buttons-large\",attrs:{\"creatable\":_vm.creatable,\"createPath\":_vm.path,\"buttons\":_vm.buttonSchemas,\"schema\":_vm.schema,\"dataPath\":_vm.dataPath,\"data\":_vm.listData,\"meta\":_vm.meta,\"store\":_vm.store}}):_vm._e()],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import DitoComponent from '@/DitoComponent'\nimport ResourceMixin from './ResourceMixin'\nimport SchemaParentMixin from '@/mixins/SchemaParentMixin'\nimport { getSchemaAccessor, getStoreAccessor } from '@/utils/accessor'\nimport { getMemberResource } from '@/utils/resource'\nimport {\n processRouteSchema, processForms, getNamedSchemas, getButtonSchemas,\n hasFormSchema, getFormSchemas, getViewSchema,\n hasLabels, isCompact, isInlined,\n isObjectSource, isListSource\n} from '@/utils/schema'\nimport {\n isObject, isString, isArray, isNumber, equals,\n parseDataPath, normalizeDataPath\n} from '@ditojs/utils'\n\n// @vue/component\nexport default {\n mixins: [ResourceMixin, SchemaParentMixin],\n\n defaultValue(schema) {\n return isListSource(schema) ? [] : null\n },\n\n provide() {\n return {\n $sourceComponent: () => this\n }\n },\n\n data() {\n return {\n wrappedPrimitives: null,\n unwrappingPrimitives: false,\n ignoreRouteChange: false\n }\n },\n\n computed: {\n sourceComponent() {\n return this\n },\n\n isObjectSource() {\n return isObjectSource(this.type)\n },\n\n isListSource() {\n return isListSource(this.type)\n },\n\n // @override ResourceMixin.hasData()\n hasData() {\n return !!this.value\n },\n\n isReady() {\n // Lists that have no data and no associated resource should still render,\n // as they may be getting their data elsewhere, e.g. `compute()`.\n return this.hasData || !this.providesData\n },\n\n isInView() {\n return !!this.viewComponent\n },\n\n wrapPrimitives() {\n return this.schema.wrapPrimitives\n },\n\n listData: {\n get() {\n let data = this.value\n if (this.isObjectSource) {\n // Convert to list array.\n data = data != null ? [data] : []\n } else {\n // If data gets inherited from parent, unwrapping is not happening\n // at the root in `setData()`, but here instead.\n data = this.unwrapListData(data) || data\n }\n data = data || []\n const { wrapPrimitives } = this\n if (wrapPrimitives) {\n if (this.unwrappingPrimitives) {\n // We're done unwrapping once `listData` is reevaluated, so set\n // this to `false` again. See `wrappedPrimitives` watcher above.\n this.unwrappingPrimitives = false\n } else {\n // Convert data to a list of wrapped primitives, and return it.\n this.wrappedPrimitives = data.map(value => ({\n [wrapPrimitives]: value\n }))\n }\n return this.wrappedPrimitives\n }\n return data\n },\n\n set(data) {\n if (this.wrapPrimitives) {\n this.wrappedPrimitives = data\n } else {\n this.value = this.isObjectSource\n ? (data && data.length > 0 ? data[0] : null)\n : data\n }\n }\n },\n\n objectData: {\n get() {\n // Always go through `listData` internally, which does all the\n // processing of `wrapPrimitives`, etc.\n return this.listData[0] || null\n },\n\n set(data) {\n this.listData = data ? [data] : []\n }\n },\n\n sourceSchema() {\n // The sourceSchema of a list is the list's schema itself.\n return this.schema\n },\n\n path() {\n // This is used in TypeList for DitoFormChooser.\n return this.routeComponent.getChildPath(this.schema.path)\n },\n\n defaultQuery() {\n const { defaultOrder: order } = this\n return order ? { order } : {}\n },\n\n query: getStoreAccessor('query', {\n get(query) {\n return {\n ...this.defaultQuery,\n ...query\n }\n },\n\n set(query) {\n // Always keep the displayed query parameters in sync with the stored\n // ones. Use scope and page from the list schema as defaults, but allow\n // the route query parameters to override them.\n const {\n scope = this.defaultScope?.name,\n page = this.schema.page\n } = this.query\n // Preserve / merge currently stored values.\n query = {\n ...this.query,\n ...(scope != null && { scope }),\n ...(page != null && { page }),\n ...query\n }\n if (!equals(query, this.$route.query)) {\n // Tell the `$route` watcher to ignore the changed triggered here:\n this.ignoreRouteChange = true\n this.$router.replace({ query, hash: this.$route.hash })\n }\n return query // Let getStoreAccessor() do the actual setting\n }\n }),\n\n total: getStoreAccessor('total'),\n\n columns() {\n return getNamedSchemas(this.schema.columns)\n },\n\n scopes() {\n return getNamedSchemas(this.schema.scopes)\n },\n\n defaultScope() {\n if (this.scopes) {\n let first = null\n for (const scope of Object.values(this.scopes)) {\n if (scope.defaultScope) {\n return scope\n }\n if (!first) {\n first = scope\n }\n }\n return first\n }\n },\n\n defaultOrder() {\n if (this.columns) {\n for (const column of Object.values(this.columns)) {\n const { defaultSort } = column\n if (defaultSort) {\n const direction = isString(defaultSort) ? defaultSort : 'asc'\n return `${column.name} ${direction}`\n }\n }\n }\n },\n\n nestedMeta() {\n return {\n ...this.meta,\n schema: this.schema\n }\n },\n\n forms() {\n return Object.values(getFormSchemas(this.schema, this.context))\n },\n\n // Returns the linked view schema if this source edits it its items through\n // a linked view.\n view() {\n return getViewSchema(this.schema, this.context)\n },\n\n linksToView() {\n return !!this.view\n },\n\n buttonSchemas() {\n return getButtonSchemas(this.schema.buttons)\n },\n\n hasLabels() {\n return this.forms.some(hasLabels)\n },\n\n isCompact() {\n return this.forms.every(isCompact)\n },\n\n isInlined() {\n return isInlined(this.schema)\n },\n\n paginate: getSchemaAccessor('paginate', {\n type: Number\n }),\n\n render: getSchemaAccessor('render', {\n type: Function,\n default: null\n }),\n\n creatable: getSchemaAccessor('creatable', {\n type: Boolean,\n default: false,\n get(creatable) {\n return creatable && hasFormSchema(this.schema)\n ? this.isObjectSource\n ? !this.value\n : true\n : false\n }\n }),\n\n editable: getSchemaAccessor('editable', {\n type: Boolean,\n default: false,\n get(editable) {\n return editable && !this.isInlined\n }\n }),\n\n deletable: getSchemaAccessor('deletable', {\n type: Boolean,\n default: false\n }),\n\n draggable: getSchemaAccessor('draggable', {\n type: Boolean,\n default: false,\n get(draggable) {\n return this.isListSource && this.listData.length > 1 && draggable\n }\n }),\n\n collapsible: getSchemaAccessor('collapsible', {\n type: Boolean,\n default: null, // so that `??` below can do its thing:\n get(collapsible) {\n return this.isInlined && !!(collapsible ?? this.collapsed !== null)\n }\n }),\n\n collapsed: getSchemaAccessor('collapsed', {\n type: Boolean,\n default: null\n })\n },\n\n watch: {\n $route(to, from) {\n if (this.ignoreRouteChange) {\n this.ignoreRouteChange = false\n return\n }\n if (from.path === to.path && from.hash === to.hash) {\n // Paths and hashes remain the same, so only queries have changed.\n // Update filter and reload data without clearing.\n this.query = to.query\n this.loadData(false)\n }\n },\n\n wrappedPrimitives: {\n deep: true,\n handler(newValue, oldValue) {\n const { wrapPrimitives } = this\n // Skip the initial setting of wrappedPrimitives array\n if (wrapPrimitives && oldValue !== null) {\n // Whenever the wrappedPrimitives change, map their values back to\n // the array of primitives, in a primitive way :)\n // But set `unwrappingPrimitives = true`, so the `listData` computed\n // property knows about it, which sets it to `false` again.\n this.unwrappingPrimitives = true\n this.value = newValue.map(object => object[wrapPrimitives])\n }\n }\n }\n },\n\n methods: {\n setupData() {\n this.query = this.$route.query\n this.ensureData()\n },\n\n // @override ResourceMixin.clearData()\n clearData() {\n this.total = 0\n this.value = null\n },\n\n // @override ResourceMixin.setData()\n setData(data) {\n // When new data is loaded, we can store it right back in the data of the\n // view or form that created this list component.\n // Support two formats for list data:\n // - Array: `[...]`\n // - Object: `{ results: [...], total }`, see `unwrapListData()`\n if (\n !data ||\n this.isListSource && isArray(data) ||\n this.isObjectSource && isObject(data)\n ) {\n this.value = data\n } else if (this.unwrapListData(data)) {\n // The format didn't match, see if we received a `{ results, total }`\n // object, in which case `this.value` was already set by\n // `unwrapListData()` and we're done now.\n } else if (isObject(data) && this.isInView) {\n // The controller is sending data for a full multi-component view,\n // including the nested list data.\n this.viewComponent.setData(data)\n }\n },\n\n unwrapListData(data) {\n if (\n this.isListSource &&\n isObject(data) &&\n isNumber(data.total) &&\n isArray(data.results)\n ) {\n // If @ditojs/server sends data in the form of `{ results, total }`\n // replace the value with result, but remember the total in the store.\n this.total = data.total\n this.value = data.results\n return this.value\n }\n },\n\n createItem(schema, type) {\n const item = this.createData(schema, type)\n if (this.isObjectSource) {\n this.objectData = item\n } else {\n this.listData.push(item)\n }\n if (this.collapsible) {\n this.$nextTick(() => this.openSchemaComponent(-1))\n }\n this.onChange()\n return item\n },\n\n removeItem(item) {\n if (this.isObjectSource) {\n this.objectData = null\n this.onChange()\n } else {\n const { listData } = this\n const index = listData && listData.indexOf(item)\n if (index >= 0) {\n listData.splice(index, 1)\n this.onChange()\n }\n }\n },\n\n deleteItem(item, index) {\n const label = item && this.getItemLabel(this.schema, item, {\n index,\n extended: true\n })\n\n const notify = () => this.notify({\n type: this.isTransient ? 'info' : 'success',\n title: 'Successfully Removed',\n text: [\n `${label} was ${this.verbs.deleted}.`,\n this.transientNote\n ]\n })\n\n if (item && window.confirm(\n `Do you really want to ${this.verbs.delete} ${label}?`)\n ) {\n if (this.isTransient) {\n this.removeItem(item)\n notify()\n } else {\n const itemId = this.getItemId(this.schema, item)\n const resource = getMemberResource(itemId, this.resource)\n if (resource) {\n this.handleRequest({ method: 'delete', resource }, err => {\n if (!err) {\n this.removeItem(item)\n notify()\n }\n this.reloadData()\n })\n }\n }\n }\n },\n\n getSchemaComponent(index) {\n const { schemaComponents } = this\n const { length } = schemaComponents\n return schemaComponents[((index % length) + length) % length]\n },\n\n openSchemaComponent(index) {\n const schemaComponent = this.getSchemaComponent(index)\n if (schemaComponent) {\n schemaComponent.opened = true\n }\n },\n\n async navigateToComponent(dataPath, onComplete) {\n if (this.collapsible) {\n const index = dataPath.startsWith(this.dataPath)\n ? this.isListSource\n ? parseDataPath(dataPath.slice(this.dataPath.length + 1))[0] ?? null\n : 0\n : null\n if (index !== null && isNumber(+index)) {\n const schemaComponent = this.getSchemaComponent(+index)\n if (schemaComponent) {\n const { opened } = schemaComponent\n if (!opened) {\n schemaComponent.opened = true\n await this.$nextTick()\n }\n const components = schemaComponent.getComponentsByDataPath(dataPath)\n if (components.length > 0 && (onComplete?.(components) ?? true)) {\n return true\n } else {\n schemaComponent.opened = opened\n }\n }\n }\n }\n return this.navigateToRouteComponent(dataPath, onComplete)\n },\n\n navigateToRouteComponent(dataPath, onComplete) {\n return new Promise((resolve, reject) => {\n const callOnComplete = () => {\n // Retrieve the last route component, which will be the component that\n // we just navigated to, and pass it on to `onComplete()`\n const { routeComponents } = this.appState\n const routeComponent = routeComponents[routeComponents.length - 1]\n resolve(onComplete?.([routeComponent]) ?? true)\n }\n\n const dataPathParts = parseDataPath(dataPath)\n // See if we can find a route that can serve part of the given dataPath,\n // and take it from there:\n while (dataPathParts.length > 0) {\n const path = this.routeComponent.getChildPath(\n this.api.normalizePath(normalizeDataPath(dataPathParts))\n )\n // See if there actually is a route for this sub-component:\n const { matched } = this.$router.match(path)\n if (matched.length) {\n if (this.$route.path === path) {\n // We're already there, so just call `onComplete()`:\n callOnComplete()\n } else {\n // Navigate to the component's path, then call `onComplete()`_:\n this.$router.push(\n { path },\n // Wait for the last route component to be mounted in the next\n // tick before calling `onComplete()`\n () => this.$nextTick(callOnComplete),\n reject\n )\n }\n }\n // Keep removing the last part until we find a match.\n dataPathParts.pop()\n }\n resolve(false)\n })\n }\n }, // end of `methods`\n\n async processSchema(\n api, schema, name, routes, level,\n nested = false, flatten = false,\n process = null\n ) {\n processRouteSchema(api, schema, name)\n const inlined = isInlined(schema)\n if (inlined && schema.resource) {\n throw new Error(\n 'Lists with nested forms cannot load data from their own resources'\n )\n }\n // Use differently named url parameters on each nested level for id as\n // otherwise they would clash and override each other inside $route.params\n // See: https://github.com/vuejs/vue-router/issues/1345\n const param = `id${level + 1}`\n const meta = {\n api,\n schema\n }\n const formMeta = {\n ...meta,\n // When children are flattened (e.g. tree-lists), include the `flatten`\n // setting also, for flattening below.\n flatten,\n nested,\n param\n }\n const childRoutes = await processForms(api, schema, level)\n if (process) {\n await process(childRoutes, level + 1)\n }\n // Inlined forms don't need to actually add routes.\n if (hasFormSchema(schema) && !inlined) {\n const getPathWithParam = (path, param) => param\n ? path\n ? `${path}/:${param}`\n : `:${param}`\n : path\n\n // Lists in single-component-views (level === 0) use their view's path,\n // while all others need their path prefixed with the parent's path:\n const sourcePath = level === 0 ? '' : schema.path\n const formRoute = {\n // Object sources don't need id params in their form paths, as they\n // directly edit one object.\n path: getPathWithParam(sourcePath, isListSource(schema) && param),\n component: DitoComponent.component(\n nested ? 'dito-form-nested' : 'dito-form'\n ),\n meta: formMeta\n }\n if (isObjectSource(schema)) {\n // Also add a param route, simply to handle '/create' links the same\n // way that lists do, where it overlaps with :id for item ids.\n routes.push({\n ...formRoute,\n path: getPathWithParam(sourcePath, param)\n })\n }\n if (sourcePath) {\n // Just redirect back to the parent when a nested source route is hit.\n routes.push({\n path: sourcePath,\n redirect: '.',\n meta\n })\n }\n // Partition childRoutes into those that need flattening (e.g. tree-lists)\n // and those that don't, and process each group separately after.\n const [flatRoutes, subRoutes] = childRoutes.reduce(\n (res, route) => {\n res[route.meta.flatten ? 0 : 1].push(route)\n return res\n },\n [[], []]\n )\n if (subRoutes.length) {\n formRoute.children = subRoutes\n }\n routes.push(formRoute)\n // Add the prefixed formRoutes with their children for nested lists.\n if (flatRoutes.length) {\n for (const childRoute of flatRoutes) {\n routes.push({\n ...(childRoute.redirect ? childRoute : formRoute),\n path: `${formRoute.path}/${childRoute.path}`,\n meta: {\n ...childRoute.meta,\n flatten\n }\n })\n }\n }\n }\n },\n\n processValue(schema, value, dataPath, graph) {\n graph.addSource(dataPath, schema)\n return value\n }\n}\n","import { isArray, asArray, labelize } from '@ditojs/utils'\n\nexport const filterComponents = {\n text(filter) {\n const options = [\n {\n label: 'contains',\n value: 'contains'\n },\n {\n label: 'equals',\n value: 'equals'\n },\n {\n label: 'starts with',\n value: 'starts-with'\n },\n {\n label: 'ends with',\n value: 'ends-with'\n }\n ]\n return {\n operator: filter.operators\n ? {\n type: 'select',\n options:\n isArray(filter.operators)\n ? options.filter(\n option => filter.operators.includes(option.value)\n )\n : options,\n width: '40%'\n }\n : null,\n text: {\n type: 'text',\n width: filter.operators ? '60%' : 'fill'\n }\n }\n },\n\n 'date-range'() {\n // Use shorter date format in date-range filters:\n const dateFormat = {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric'\n }\n return {\n from: {\n type: 'datetime',\n width: '50%',\n dateFormat\n },\n to: {\n type: 'datetime',\n width: '50%',\n dateFormat\n }\n }\n }\n}\n\nexport function getFiltersPanel(filters, dataPath, proxy) {\n const panel = {\n label: 'Filters',\n name: '$filters',\n target: dataPath,\n // Override the default value\n disabled: false,\n // NOTE: On panels, the data() callback does something else than on normal\n // schema: It produces the `data` property to be passed to the panel's\n // schema, not the data to be used for the panel component directly.\n data() {\n return parseFiltersData(\n panel,\n proxy.query\n )\n },\n components: getFiltersComponents(filters),\n buttons: {\n clear: {\n text: 'Clear',\n events: {\n click({ schemaComponent }) {\n schemaComponent.resetData()\n schemaComponent.applyFilters()\n }\n }\n },\n\n filter: {\n type: 'submit',\n text: 'Filter',\n events: {\n click({ schemaComponent }) {\n schemaComponent.applyFilters()\n }\n }\n }\n },\n methods: {\n applyFilters() {\n proxy.query = {\n ...proxy.query,\n filter: formatFiltersData(this.schema, this.data),\n // Clear pagination when applying or clearing filters:\n page: undefined\n }\n }\n }\n }\n return panel\n}\n\nfunction getFiltersComponents(filters) {\n const comps = {}\n for (const filter of Object.values(filters || {})) {\n // Support both custom forms and default filter components, through the\n // `filterComponents` registry. Even for default filters, still use the\n // properties in `filter` as the base for `form`, so things like `label`\n // can be changed on the resulting form.\n const { filter: type, ...form } = filter\n const components = type\n ? filterComponents[type]?.(filter)\n : filter.components\n if (components) {\n form.components = {}\n // Convert labels to placeholders:\n for (const [key, component] of Object.entries(components)) {\n if (component) {\n const label = component.label || labelize(component.name || key)\n form.components[key] = {\n ...component,\n label: false,\n placeholder: label\n }\n }\n }\n comps[filter.name] = {\n label: form.label,\n type: 'object',\n default: () => ({}),\n form,\n inlined: true\n }\n } else {\n throw new Error(\n `Invalid filter '${filter.name}': Unknown filter type '${type}'.`\n )\n }\n }\n return comps\n}\n\nfunction getComponentsForFilter(schema, name) {\n const component = schema.components[name]\n return component?.form?.components\n}\n\nfunction formatFiltersData(schema, data) {\n const filters = []\n for (const name in data) {\n const entry = data[name]\n if (entry) {\n // Map components sequence to arguments:\n const args = Object.keys(getComponentsForFilter(schema, name)).map(\n key => entry[key] ?? null\n )\n // Only apply filter if there are some arguments that aren't null:\n if (args.some(value => value !== null)) {\n filters.push(`${name}:${args.map(JSON.stringify).join(',')}`)\n }\n }\n }\n return filters.length ? filters : undefined\n}\n\nfunction parseFiltersData(schema, query) {\n const filters = {}\n // Same as @ditojs/server's QueryParameters.filter: Translate the string data\n // from $route.query back to param lists per filter:\n if (query) {\n for (const filter of asArray(query.filter)) {\n const [, name, json] = filter.match(/^(\\w+):(.*)$/)\n try {\n filters[name] = asArray(JSON.parse(`[${json}]`))\n } catch (error) {\n }\n }\n }\n const filtersData = {}\n for (const name in schema.components) {\n const data = {}\n // If we have retrieved params from the query, fetch the associated\n // form components so we can map the values back to object keys:\n const args = filters[name]\n if (args) {\n const components = getComponentsForFilter(schema, name)\n if (components) {\n let index = 0\n for (const key in components) {\n data[key] = args[index++]\n }\n }\n }\n filtersData[name] = data\n }\n return filtersData\n}\n","<template lang=\"pug\">\n .dito-list(\n v-if=\"isReady\"\n :id=\"dataPath\"\n :class=\"schema.class\"\n :style=\"schema.style\"\n )\n .dito-navigation\n dito-scopes(\n v-if=\"scopes\"\n :query=\"query\"\n :scopes=\"scopes\"\n )\n // When there's only pagination without scopes, we need a good ol' spacer\n // div, for the layout not to break...\n .dito-spacer(\n v-else-if=\"paginate\"\n )\n dito-pagination(\n v-if=\"paginate\"\n :query=\"query\"\n :limit=\"paginate\"\n :total=\"total || 0\"\n )\n table.dito-table(\n :class=`{\n 'dito-table-separators': isInlined,\n 'dito-table-larger-padding': hasEditButtons && !isInlined,\n 'dito-table-alternate-colors': !isInlined,\n 'dito-table-even-count': hasEvenCount\n }`\n )\n dito-table-head(\n v-if=\"columns\"\n :query=\"query\"\n :columns=\"columns\"\n :hasEditButtons=\"hasEditButtons\"\n )\n vue-draggable(\n tag=\"tbody\"\n v-bind=\"getDragOptions(draggable)\"\n :list=\"updateOrder(sourceSchema, listData, paginationRange)\"\n @start=\"onStartDrag\"\n @end=\"onEndDrag\"\n )\n tr(\n v-for=\"item, index in listData\"\n :key=\"getItemUid(schema, item)\"\n :id=\"getDataPath(index)\"\n )\n template(v-if=\"columns\")\n dito-table-cell(\n v-for=\"column in columns\"\n v-if=\"shouldRender(column)\"\n :key=\"column.name\"\n :class=\"getCellClass(column)\"\n :cell=\"column\"\n :schema=\"schema\"\n :dataPath=\"getDataPath(index)\"\n :data=\"item\"\n :meta=\"nestedMeta\"\n :store=\"store\"\n :nested=\"false\"\n :disabled=\"disabled || isLoading\"\n )\n template(v-else)\n td\n dito-schema-inlined(\n v-if=\"isInlined\"\n :label=\"getItemLabel(schema, item, { index, asObject: true })\"\n :schema=\"getItemFormSchema(schema, item, context)\"\n :dataPath=\"getDataPath(index)\"\n :data=\"item\"\n :meta=\"nestedMeta\"\n :store=\"getChildStore(index)\"\n :disabled=\"disabled || isLoading\"\n :collapsed=\"collapsed\"\n :collapsible=\"collapsible\"\n :deletable=\"deletable\"\n :draggable=\"draggable\"\n :editable=\"editable\"\n :editPath=\"getEditPath(item, index)\"\n @delete=\"deleteItem(item, index)\"\n )\n component(\n v-else-if=\"component\"\n :is=\"component\"\n :dataPath=\"getDataPath(index)\"\n :data=\"item\"\n :nested=\"false\"\n )\n span(\n v-else-if=\"render\"\n v-html=\"render(getContext(item, index))\"\n )\n span(\n v-else\n v-html=\"getItemLabel(schema, item, { index })\"\n )\n td.dito-cell-edit-buttons(\n v-if=\"hasCellEditButtons\"\n )\n dito-edit-buttons(\n :deletable=\"deletable\"\n :draggable=\"draggable\"\n :editable=\"editable\"\n :editPath=\"getEditPath(item, index)\"\n :schema=\"getItemFormSchema(schema, item, context)\"\n :dataPath=\"getDataPath(index)\"\n :data=\"item\"\n :meta=\"nestedMeta\"\n :store=\"getChildStore(index)\"\n @delete=\"deleteItem(item, index)\"\n )\n // Render create buttons inside table when not in a single component view:\n tfoot(\n v-if=\"hasListButtons && !single\"\n )\n tr\n td.dito-cell-edit-buttons(\n :colspan=\"numColumns\"\n )\n dito-edit-buttons(\n :creatable=\"creatable\"\n :createPath=\"path\"\n :buttons=\"buttonSchemas\"\n :schema=\"schema\"\n :dataPath=\"dataPath\"\n :data=\"listData\"\n :meta=\"meta\"\n :store=\"store\"\n )\n // Render create buttons outside table when in a single component view:\n dito-edit-buttons.dito-buttons-main.dito-buttons-large(\n v-if=\"hasListButtons && single\"\n :creatable=\"creatable\"\n :createPath=\"path\"\n :buttons=\"buttonSchemas\"\n :schema=\"schema\"\n :dataPath=\"dataPath\"\n :data=\"listData\"\n :meta=\"meta\"\n :store=\"store\"\n )\n</template>\n\n<style lang=\"sass\">\n .dito-list\n position: relative\n .dito-navigation\n display: flex\n justify-content: space-between\n padding-bottom: $content-padding-half\n +user-select(none)\n &:empty\n display: none\n .dito-scopes,\n .dito-pagination\n display: flex\n flex: 0 1 auto\n min-width: 0\n &.dito-single\n // So that list buttons can be sticky to the bottom:\n display: grid\n grid-template-rows: min-content\n height: 100%\n</style>\n\n<script>\nimport TypeComponent from '@/TypeComponent'\nimport DitoContext from '@/DitoContext'\nimport SourceMixin from '@/mixins/SourceMixin'\nimport OrderedMixin from '@/mixins/OrderedMixin'\nimport VueDraggable from 'vuedraggable'\nimport { getNamedSchemas, getViewEditPath } from '@/utils/schema'\nimport { getFiltersPanel } from '@/utils/filter'\nimport { appendDataPath } from '@/utils/data'\nimport { pickBy, equals, hyphenate } from '@ditojs/utils'\n\n// @vue/component\nexport default TypeComponent.register('list', {\n components: { VueDraggable },\n mixins: [SourceMixin, OrderedMixin],\n\n getSourceType(type) {\n // No need for transformation here. See TypeTreeList for details.\n return type\n },\n\n getPanelSchema(schema, dataPath, schemaComponent) {\n const { filters } = schema\n // See if this list component wants to display a filter panel, and if so,\n // create the panel schema for it through `getFiltersPanel()`.\n if (filters) {\n // At the time of the creation of the panel schema, the schemaComponent is\n // not filled yet, so we can't get the target component (dataPath) right\n // away. Use a proxy and a getter instead, to get around this:\n const getListComponent = () => schemaComponent.getComponentByDataPath(\n dataPath,\n component => component.type === 'list'\n )\n\n return getFiltersPanel(\n getNamedSchemas(filters),\n dataPath,\n { // Create a simple proxy to get / set the query, see getFiltersPanel()\n get query() {\n return getListComponent()?.query\n },\n set query(query) {\n const component = getListComponent()\n if (component) {\n // Filter out undefined values for comparing with equals()\n const filter = obj => pickBy(obj, value => value !== undefined)\n if (!equals(filter(query), filter(component.query))) {\n component.query = query\n component.loadData(false)\n }\n }\n }\n }\n )\n }\n },\n\n computed: {\n hasListButtons() {\n return !!(\n this.buttonSchemas ||\n this.creatable\n )\n },\n\n hasEditButtons() {\n const { listData } = this\n return listData.length > 0 && (\n this.editable ||\n this.deletable ||\n this.draggable\n )\n },\n\n hasCellEditButtons() {\n return !this.isInlined && this.hasEditButtons\n },\n\n hasEvenCount() {\n return !(this.listData.length % 2)\n },\n\n numColumns() {\n return (\n (this.columns ? Object.keys(this.columns).length : 1) +\n (this.hasCellEditButtons ? 1 : 0)\n )\n }\n },\n\n methods: {\n getDataPath(index) {\n return appendDataPath(this.dataPath, index)\n },\n\n getEditPath(item, index) {\n if (this.editable) {\n const path = getViewEditPath(this.schema, this.context) || this.path\n const id = this.getItemId(this.schema, item, index)\n return `${path}/${id}`\n }\n return null\n },\n\n getCellClass(column) {\n return `dito-cell-${hyphenate(column.name)}`\n },\n\n getContext(item, index) {\n return new DitoContext(this, {\n data: item,\n value: item,\n index,\n dataPath: this.getDataPath(index)\n })\n },\n\n onFilterErrors(errors) {\n const filtersDataPath = appendDataPath(this.dataPath, '$filters')\n const panel = this.schemaComponent.getPanelByDataPath(filtersDataPath)\n if (panel) {\n panel.showValidationErrors(errors, true)\n return true\n }\n }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TypeList.vue?vue&type=template&id=4a217a22&lang=pug&\"\nimport script from \"./TypeList.vue?vue&type=script&lang=js&\"\nexport * from \"./TypeList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TypeList.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('dito-label',{staticClass:\"dito-label-component\",attrs:{\"label\":_vm.value,\"dataPath\":_vm.dataPath}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n dito-label.dito-label-component(:label=\"value\" :dataPath=\"dataPath\")\n</template>\n\n<style lang=\"sass\">\n .dito-label-component\n display: flex\n height: 2em\n</style>\n\n<script>\nimport TypeComponent from '@/TypeComponent'\n\n// @vue/component\nexport default TypeComponent.register('label', {\n generateLabel: false\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeLabel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeLabel.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TypeLabel.vue?vue&type=template&id=192dda81&lang=pug&\"\nimport script from \"./TypeLabel.vue?vue&type=script&lang=js&\"\nexport * from \"./TypeLabel.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TypeLabel.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dito-markup\",attrs:{\"id\":_vm.dataPath}},[_c('editor-menu-bar',{staticClass:\"dito-markup-toolbar\",attrs:{\"editor\":_vm.editor}},[(_vm.groupedButtons.length > 0)?_c('div',{staticClass:\"dito-buttons dito-buttons-toolbar\"},_vm._l((_vm.groupedButtons),function(buttons){return _c('div',{staticClass:\"dito-button-group\"},_vm._l((buttons),function(ref){\nvar name = ref.name;\nvar icon = ref.icon;\nvar isActive = ref.isActive;\nvar onClick = ref.onClick;\nreturn _c('button',{staticClass:\"dito-button\",class:{ 'dito-active': isActive },on:{\"click\":onClick}},[_c('icon',{attrs:{\"name\":icon}})],1)}),0)}),0):_vm._e()]),_c('editor-content',{ref:\"editor\",staticClass:\"dito-markup-editor\",style:(_vm.styles),attrs:{\"editor\":_vm.editor}}),(_vm.resizable)?_c('div',{staticClass:\"dito-resize\",on:{\"mousedown\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.onDragResize.apply(null, arguments)}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n .dito-markup(\n :id=\"dataPath\"\n )\n editor-menu-bar.dito-markup-toolbar(:editor=\"editor\")\n .dito-buttons.dito-buttons-toolbar(\n v-if=\"groupedButtons.length > 0\"\n )\n .dito-button-group(\n v-for=\"buttons in groupedButtons\"\n )\n button.dito-button(\n v-for=\"{ name, icon, isActive, onClick } in buttons\"\n :class=\"{ 'dito-active': isActive }\",\n @click=\"onClick\"\n )\n icon(:name=\"icon\")\n editor-content.dito-markup-editor(\n ref=\"editor\"\n :editor=\"editor\"\n :style=\"styles\"\n )\n .dito-resize(\n v-if=\"resizable\"\n @mousedown.stop.prevent=\"onDragResize\"\n )\n</template>\n\n<style lang=\"sass\">\n .dito-markup\n @extend %input\n position: relative\n\n .dito-resize\n @extend %icon-resize\n position: absolute\n top: unset\n left: unset\n right: 0\n bottom: 0\n width: 1em\n height: 1em\n\n .ProseMirror\n height: 100%\n outline: none\n\n .dito-markup-editor\n overflow-y: scroll\n // Move padding \"inside\" editor to correctly position scrollbar\n margin-right: -$input-padding-hor\n padding-right: $input-padding-hor\n\n .dito-buttons-toolbar\n margin: $input-padding-ver 0\n\n h1,\n h2,\n h3,\n p,\n ul,\n ol,\n pre,\n blockquote\n margin: 1rem 0\n &:first-child\n margin-top: 0\n &:last-child\n margin-bottom: 0\n h1,\n h2,\n h3\n font-weight: bold\n h1\n font-size: 1.4rem\n h2\n font-size: 1.2rem\n ul\n list-style: disc\n code\n font-family: $font-family-mono\n pre\n padding: 0.7rem 1rem\n border-radius: $border-radius\n background: $color-darker\n color: $color-white\n overflow-x: auto\n code\n display: block\n p code\n display: inline-block\n padding: 0 0.3rem\n border-radius: $border-radius\n background: $color-lighter\n a\n pointer-events: none\n cursor: default\n color: blue\n text-decoration: underline\n ul,\n ol\n padding-left: 2rem\n li\n & > p,\n & > ol,\n & > ul\n margin: 0\n blockquote\n border-left: 3px solid $color-lighter\n padding-left: 1rem\n font-style: italic\n p\n margin: 0\n\n</style>\n\n<script>\nimport TypeComponent from '@/TypeComponent'\nimport DomMixin from '@/mixins/DomMixin'\nimport { getSchemaAccessor } from '@/utils/accessor'\nimport { Editor, EditorContent, EditorMenuBar, Mark } from 'tiptap'\nimport { toggleMark } from 'tiptap-commands'\nimport {\n // Marks:\n Bold, Code, Italic, Link, Strike, Underline,\n // Nodes:\n Blockquote, CodeBlock, HardBreak, Heading, HorizontalRule,\n OrderedList, BulletList, ListItem,\n // TODO:\n // - Image, Mention, CodeBlockHighlight\n // - Table, TableCell, TableHeader, TableNodes, TableRow,\n // - TodoItem, TodoList\n // Tools:\n History\n} from 'tiptap-extensions'\nimport { Icon } from '@ditojs/ui'\nimport {\n isArray, isObject, underscore, hyphenate, debounce\n} from '@ditojs/utils'\n\n// @vue/component\nexport default TypeComponent.register('markup', {\n components: {\n EditorContent,\n EditorMenuBar,\n Icon\n },\n\n mixins: [DomMixin],\n\n data() {\n return {\n editor: null,\n height: null\n }\n },\n\n computed: {\n lines() {\n return this.schema.lines || 10\n },\n\n styles() {\n return {\n height: this.height || `calc(${this.lines}em * var(--line-height))`\n }\n },\n\n markButtons() {\n return this.getButtons('marks', {\n bold: true,\n italic: true,\n underline: true,\n strike: true,\n small: true,\n code: true,\n link: {\n onClick: command => this.onClickLink(command)\n }\n })\n },\n\n basicNodeButtons() {\n return this.getButtons('nodes', {\n paragraph: {\n // Do not show the paragraph command as active if any of the block\n // commands are also active:\n ignoreActive: () =>\n this.otherNodeButtons.some(button => button.isActive)\n },\n heading: {\n attr: 'level',\n values: [1, 2, 3, 4, 5, 6]\n }\n })\n },\n\n otherNodeButtons() {\n return this.getButtons('nodes', {\n bulletList: true,\n orderedList: true,\n blockquote: true,\n codeBlock: true\n })\n },\n\n toolButtons() {\n return this.getButtons('tools', {\n undo: true,\n redo: true\n })\n },\n\n groupedButtons() {\n const {\n markButtons,\n basicNodeButtons,\n otherNodeButtons,\n toolButtons\n } = this\n return [\n markButtons,\n basicNodeButtons,\n otherNodeButtons,\n toolButtons\n ].filter(buttons => buttons.length > 0)\n },\n\n parseOptions() {\n return {\n preserveWhitespace: {\n 'collapse': false,\n 'preserve': true,\n 'preserve-all': 'full'\n }[this.whitespace]\n }\n },\n\n editorOptions() {\n return {\n editable: !this.readyonly,\n autoFocus: this.autofocus,\n disableInputRules: !this.enableRules.input,\n disablePasteRules: !this.enableRules.paste,\n parseOptions: this.parseOptions\n }\n },\n\n resizable: getSchemaAccessor('resizable', {\n type: Boolean,\n default: false\n }),\n\n whitespace: getSchemaAccessor('whitespace', {\n type: String,\n default: 'collapse'\n // Possible values are: 'collapse', 'preserve', 'preserve-all'\n }),\n\n enableRules: getSchemaAccessor('enableRules', {\n type: [Object, Boolean],\n default: false,\n get(enableRules) {\n return isObject(enableRules)\n ? enableRules\n : {\n input: !!enableRules,\n paste: !!enableRules\n }\n }\n })\n },\n\n watch: {\n readyonly: 'updateEditorOptions',\n autofocus: 'updateEditorOptions',\n enableRules: 'updateEditorOptions'\n },\n\n created() {\n let changed = false\n let ignoreWatch = false\n\n const onChange = () => {\n if (!this.focused && changed) {\n changed = false\n this.onChange()\n }\n }\n\n const onFocus = () => this.onFocus()\n\n const onBlur = () => {\n this.onBlur()\n onChange()\n }\n\n const setValueDebounced = debounce(getValue => {\n ignoreWatch = true\n this.value = getValue()\n changed = true\n onChange()\n }, 100)\n\n const onUpdate = ({ getHTML }) => {\n setValueDebounced(getHTML)\n this.onInput()\n }\n\n this.$watch('value', value => {\n if (ignoreWatch) {\n ignoreWatch = false\n } else {\n this.editor.setContent(value, false, this.parseOptions)\n }\n })\n\n this.editor = new Editor({\n ...this.editorOptions,\n onFocus,\n onBlur,\n onUpdate,\n extensions: this.createExtensions(),\n content: this.value || ''\n })\n },\n\n beforeDestroy() {\n this.editor.destroy()\n },\n\n methods: {\n onDragResize(event) {\n const getPoint = ({ clientX: x, clientY: y }) => ({ x, y })\n\n let prevY = getPoint(event).y\n let height = parseFloat(getComputedStyle(this.$refs.editor.$el).height)\n\n const mousemove = event => {\n const { y } = getPoint(event)\n height += y - prevY\n prevY = y\n this.height = `${Math.max(height, 0)}px`\n }\n\n const handlers = this.domOn(document, {\n mousemove,\n\n mouseup(event) {\n mousemove(event)\n handlers.remove()\n }\n })\n },\n\n updateEditorOptions() {\n this.editor.setOptions(this.editorOptions)\n },\n\n async onClickLink(command) {\n const attrs = await this.showDialog({\n components: {\n href: {\n type: 'url',\n label: 'Link',\n autofocus: true\n },\n title: {\n type: 'text',\n label: 'Title'\n }\n },\n buttons: {\n cancel: {},\n apply: { type: 'submit' },\n remove: {\n events: {\n click({ dialogComponent }) {\n dialogComponent.resolve({\n href: null,\n title: null\n })\n }\n }\n }\n },\n data: this.editor.getMarkAttrs('link')\n })\n if (attrs) {\n let { href, title } = attrs\n if (href) {\n // See if `href` can be parsed as a URL, and if not, prefix it with\n // a default protocol.\n try {\n new URL(href)\n } catch {\n href = `http://${href}`\n }\n }\n command({ href, title })\n }\n },\n\n createExtensions() {\n const {\n marks = {},\n nodes = {},\n tools = {}\n } = this.schema\n return [\n // schema.marks:\n marks.bold && new Bold(),\n marks.italic && new Italic(),\n marks.underline && new Underline(),\n marks.strike && new Strike(),\n marks.small && new Small(),\n marks.code && new Code(),\n marks.link && new LinkWithTitle(),\n\n // schema.nodes:\n nodes.blockquote && new Blockquote(),\n nodes.codeBlock && new CodeBlock(),\n new HardBreak(), // TODO: Should this always on?\n nodes.heading && new Heading({ levels: nodes.heading }),\n nodes.horizontalRule && new HorizontalRule(),\n (nodes.orderedList || nodes.bulletList) && new ListItem(),\n nodes.bulletList && new BulletList(),\n nodes.orderedList && new OrderedList(),\n // TODO:\n // nodes.todoList && new TodoItem(),\n // nodes.todoList && new TodoList(),\n\n // schema.tools:\n tools.history && new History()\n ].filter(extension => !!extension)\n },\n\n getButtons(settingsName, descriptions) {\n const list = []\n\n const addButton = ({ name, icon, attrs, ignoreActive, onClick }) => {\n const isActive = this.editor.isActive[name]\n const command = this.editor.commands[name]\n list.push({\n name,\n icon,\n isActive: (\n isActive?.(attrs) &&\n (ignoreActive == null || !ignoreActive())\n ),\n onClick: () => onClick\n ? onClick(command, attrs)\n : command(attrs)\n })\n }\n\n const settings = this.schema[settingsName]\n if (settings) {\n for (const [key, description] of Object.entries(descriptions)) {\n const settingName = ['undo', 'redo'].includes(key) ? 'history' : key\n const setting = settings[settingName]\n const name = underscore(key)\n const icon = hyphenate(key)\n if (setting) {\n if (description === true) {\n addButton({ name, icon })\n } else if (isObject(description)) {\n const { attr, values, ignoreActive, onClick } = description\n if (attr) {\n if (isArray(values) && isArray(setting)) {\n // Support heading level attrs:\n for (const value of values) {\n if (setting.includes(value)) {\n addButton({\n name,\n icon: `${icon}-${value}`,\n attrs: { [attr]: value },\n ignoreActive,\n onClick\n })\n }\n }\n }\n } else {\n addButton({ name, icon, ignoreActive, onClick })\n }\n }\n }\n }\n }\n return list\n },\n\n focusElement() {\n this.$el.scrollIntoView?.()\n this.editor.focus()\n }\n }\n})\n\nclass Small extends Mark {\n get name() {\n return 'small'\n }\n\n get schema() {\n return {\n parseDOM: [\n { tag: 'small' }\n ],\n toDOM: () => ['small', 0]\n }\n }\n\n commands({ type }) {\n return () => toggleMark(type)\n }\n}\nclass LinkWithTitle extends Link {\n get schema() {\n return {\n attrs: {\n href: {\n default: null\n },\n title: {\n default: null\n }\n },\n inclusive: false,\n parseDOM: [{\n tag: 'a',\n getAttrs: dom => ({\n href: dom.getAttribute('href'),\n title: dom.getAttribute('title')\n })\n }],\n toDOM: node => ['a', node.attrs, 0]\n }\n }\n}\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeMarkup.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeMarkup.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TypeMarkup.vue?vue&type=template&id=6222e768&lang=pug&\"\nimport script from \"./TypeMarkup.vue?vue&type=script&lang=js&\"\nexport * from \"./TypeMarkup.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TypeMarkup.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dito-multiselect\",class:{\n 'dito-multiselect-single': !_vm.multiple,\n 'dito-multiselect-multiple': _vm.multiple\n }},[_c('vue-multiselect',_vm._g(_vm._b({ref:\"element\",attrs:{\"show-labels\":false,\"placeholder\":_vm.placeholder,\"tag-placeholder\":\"Press enter to add new tag\",\"options\":_vm.populate && _vm.activeOptions || [],\"custom-label\":_vm.getLabelForOption,\"track-by\":_vm.optionValue,\"group-label\":_vm.groupByLabel,\"group-values\":_vm.groupByOptions,\"multiple\":_vm.multiple,\"taggable\":_vm.taggable,\"searchable\":_vm.searchable,\"internal-search\":!_vm.searchFilter,\"preserve-search\":!!_vm.searchFilter,\"clear-on-select\":!_vm.searchFilter,\"close-on-select\":!_vm.stayOpen,\"loading\":_vm.isLoading},on:{\"open\":function($event){_vm.populate = true},\"tag\":_vm.onAddTag,\"search-change\":_vm.onSearchChange},model:{value:(_vm.selectedOptions),callback:function ($$v) {_vm.selectedOptions=$$v},expression:\"selectedOptions\"}},'vue-multiselect',_vm.attributes,false),_vm.listeners)),(_vm.showClearButton)?_c('button',{staticClass:\"dito-button-clear dito-button-overlay\",attrs:{\"type\":\"button\",\"disabled\":_vm.disabled},on:{\"click\":_vm.clear}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n .dito-multiselect(\n :class=`{\n 'dito-multiselect-single': !multiple,\n 'dito-multiselect-multiple': multiple\n }`\n )\n vue-multiselect(\n ref=\"element\"\n v-model=\"selectedOptions\"\n v-bind=\"attributes\"\n v-on=\"listeners\"\n :show-labels=\"false\"\n :placeholder=\"placeholder\"\n tag-placeholder=\"Press enter to add new tag\",\n :options=\"populate && activeOptions || []\"\n :custom-label=\"getLabelForOption\"\n :track-by=\"optionValue\"\n :group-label=\"groupByLabel\"\n :group-values=\"groupByOptions\"\n :multiple=\"multiple\"\n :taggable=\"taggable\"\n :searchable=\"searchable\"\n :internal-search=\"!searchFilter\"\n :preserve-search=\"!!searchFilter\"\n :clear-on-select=\"!searchFilter\"\n :close-on-select=\"!stayOpen\"\n :loading=\"isLoading\"\n @open=\"populate = true\"\n @tag=\"onAddTag\"\n @search-change=\"onSearchChange\"\n )\n button.dito-button-clear.dito-button-overlay(\n type=\"button\"\n v-if=\"showClearButton\"\n @click=\"clear\"\n :disabled=\"disabled\"\n )\n</template>\n\n<style lang=\"sass\">\n // Temporary fix for this vue-cli issue:\n // https://github.com/vuejs/vue-cli/issues/2055#issuecomment-417817527\n // @import '~vue-multiselect/dist/vue-multiselect.min.css'\n $spinner-width: $select-arrow-width\n $tag-icon-width: 1.8em\n $tag-margin: 2px\n $tag-padding: 3px\n $tag-line-height: 1.1em\n\n .dito-multiselect\n position: relative\n\n .multiselect\n font-size: inherit\n min-height: inherit\n color: $color-black\n\n .multiselect__tags\n font-size: inherit\n overflow: auto\n min-height: inherit\n padding: 0 $spinner-width 0 0\n // So tags can float on multiple lines and have proper margins:\n padding-bottom: $tag-margin\n\n .multiselect__tag\n float: left\n margin: $tag-margin 0 0 $tag-margin\n border-radius: 1em\n padding: $tag-padding $tag-icon-width $tag-padding 0.8em\n line-height: $tag-line-height\n\n .multiselect__tags-wrap\n overflow: auto\n line-height: 0\n\n .multiselect__single,\n .multiselect__placeholder,\n .multiselect__input\n font-size: inherit\n line-height: inherit\n min-height: 0\n margin: 0 0 1px 0\n // Sadly, vue-select sets style=\"padding: ...;\" in addition to using\n // classes, so `!important` is necessary:\n padding: $input-padding !important\n // So input can float next to tags and have proper margins with\n // .multiselect__tags:\n padding-bottom: 0 !important\n background: none\n\n .multiselect__placeholder,\n .multiselect__input::placeholder\n color: $color-placeholder\n\n .multiselect--active\n .multiselect__placeholder\n // Don't use `display: none` to hide place-holder, as the layout would\n // collapse.\n display: inline-block\n visibility: hidden\n\n .multiselect__select,\n .multiselect__spinner\n padding: 0\n // $border-width to prevent masking border with .multiselect__spinner\n top: $border-width\n right: $border-width\n bottom: $border-width\n height: inherit\n border-radius: $border-radius\n\n .multiselect__select\n width: 0\n margin-right: calc($select-arrow-width / 2)\n &::before\n +arrow($select-arrow-size)\n bottom: $select-arrow-bottom\n right: calc(-1 * $select-arrow-size / 2)\n\n .multiselect__spinner\n width: $spinner-width\n &::before,\n &::after\n // Change the width of the loading spinner\n border-width: 3px\n border-top-color: $color-active\n inset: 0\n margin: auto\n\n .multiselect__option\n min-height: unset\n height: unset\n line-height: $tag-line-height\n padding: $input-padding\n &::after\n // Instruction text for options\n padding: $input-padding\n line-height: $tag-line-height\n .multiselect__option--highlight\n &::after\n diplay: block\n position: absolute\n background: transparent\n color: $color-white\n .multiselect__option--disabled\n background: none\n color: $color-disabled\n\n .multiselect__tag-icon\n background: none\n border-radius: 1em\n font-weight: inherit\n line-height: 1.4em\n width: $tag-icon-width\n &::after\n color: $color-text-inverted\n font-size: 1.3em\n &:hover::after\n color: $color-text\n\n .multiselect__option--selected\n background: $color-highlight\n color: $color-text\n font-weight: normal\n &.multiselect__option--highlight\n color: $color-text-inverted\n\n .multiselect__tag,\n .multiselect__option--highlight\n background: $color-active\n color: $color-text-inverted\n\n .multiselect__tags,\n .multiselect__content-wrapper\n border: $border-style\n border-radius: $border-radius\n\n &.dito-multiselect-single\n --input-width: 100%\n &.dito-multiselect-multiple\n --input-width: auto\n\n .multiselect--active\n .multiselect__single,\n .multiselect__input\n // Sadly, vue-select sets `style=\"width\"` in addition to using classes\n // so `!important` is necessary:\n width: var(--input-width) !important\n\n .multiselect__tags\n border-color: $color-active\n border-bottom-left-radius: 0\n border-bottom-right-radius: 0\n\n .multiselect__content-wrapper\n border: $border-width solid $color-active\n border-top-color: $border-color\n margin: -1px 0 0\n border-top-left-radius: 0\n border-top-right-radius: 0\n\n &.multiselect--above\n .multiselect__tags\n border-radius: $border-radius\n border-top-left-radius: 0\n border-top-right-radius: 0\n .multiselect__content-wrapper\n border: $border-width solid $color-active\n border-bottom-color: $border-color\n margin: 0 0 -1px\n border-radius: $border-radius\n border-bottom-left-radius: 0\n border-bottom-right-radius: 0\n\n &.dito-has-errors\n .multiselect__tags\n border-color: $color-error\n\n .dito-button-clear\n width: $spinner-width\n</style>\n\n<script>\nimport TypeComponent from '@/TypeComponent'\nimport DitoContext from '@/DitoContext'\nimport OptionsMixin from '@/mixins/OptionsMixin'\nimport VueMultiselect from 'vue-multiselect'\nimport { getSchemaAccessor } from '@/utils/accessor'\nimport 'vue-multiselect/dist/vue-multiselect.min.css'\n\n// @vue/component\nexport default TypeComponent.register('multiselect', {\n components: { VueMultiselect },\n mixins: [OptionsMixin],\n\n data() {\n return {\n searchedOptions: null,\n populate: false\n }\n },\n\n computed: {\n selectedOptions: {\n get() {\n return this.multiple\n ? (this.selectedValue || [])\n .map(\n // If an option cannot be found, we may be in taggable mode and\n // can add it.\n value => this.getOptionForValue(value) || this.addTagOption(value)\n )\n // Filter out options that we couldn't match.\n // TODO: We really should display an error instead\n .filter(value => value)\n : this.selectedOption\n },\n\n set(option) {\n // Convert value to options object, since vue-multiselect can't map that\n // itself unfortunately. `track-by` is used for :key mapping it seems.\n this.selectedValue = this.multiple\n ? (option || []).map(value => this.getValueForOption(value))\n : this.getValueForOption(option)\n }\n },\n\n activeOptions() {\n return this.searchedOptions || this.options\n },\n\n multiple: getSchemaAccessor('multiple', {\n type: Boolean,\n default: false\n }),\n\n searchable: getSchemaAccessor('searchable', {\n type: Boolean,\n default: false\n }),\n\n taggable: getSchemaAccessor('taggable', {\n type: Boolean,\n default: false\n }),\n\n stayOpen: getSchemaAccessor('stayOpen', {\n type: Boolean,\n default: false\n }),\n\n placeholder() {\n const { placeholder, searchable, taggable } = this.schema\n return placeholder || (\n searchable && taggable ? 'Search or add a tag'\n : searchable ? 'Select or search entry'\n : undefined\n )\n }\n },\n\n mounted() {\n if (this.autofocus) {\n // vue-multiselect doesn't support the autofocus attribute. We need to\n // handle it here.\n this.focus()\n }\n },\n\n methods: {\n // @override\n getListeners() {\n // override `TypeMixin.getListeners()` to re-route 'input' to `onChange()`\n return {\n focus: this.onFocus,\n blur: this.onBlur,\n input: this.onChange\n }\n },\n\n addTagOption(tag) {\n if (this.taggable) {\n const { optionLabel, optionValue } = this\n const option = optionLabel && optionValue\n ? {\n [optionLabel]: tag,\n // TODO: Define a simple schema option to convert the tag value to\n // something else, e.g. `toTag: tag => underscore(tag)`\n [optionValue]: tag\n }\n : tag\n this.options.push(option)\n return option\n }\n },\n\n focusElement() {\n this.$refs.element.activate()\n },\n\n onAddTag(tag) {\n const option = this.addTagOption(tag)\n if (option) {\n this.value.push(this.getValueForOption(option))\n }\n },\n\n async onSearchChange(query) {\n if (this.searchFilter) {\n if (query) {\n // Set `searchedOptions` to an empty array, before it will be\n // populated asynchronously with the actual results.\n this.searchedOptions = []\n this.searchedOptions = await this.resolveData(\n () => this.searchFilter(new DitoContext(this, { query }))\n )\n } else {\n // Clear `searchedOptions` when the query is cleared.\n this.searchedOptions = null\n }\n }\n }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeMultiselect.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeMultiselect.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TypeMultiselect.vue?vue&type=template&id=056b97b3&lang=pug&\"\nimport script from \"./TypeMultiselect.vue?vue&type=script&lang=js&\"\nexport * from \"./TypeMultiselect.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TypeMultiselect.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('input-field',_vm._g(_vm._b({ref:\"element\",staticClass:\"dito-number\",attrs:{\"id\":_vm.dataPath,\"type\":\"number\",\"min\":_vm.min,\"max\":_vm.max,\"step\":_vm.stepValue},model:{value:(_vm.inputValue),callback:function ($$v) {_vm.inputValue=$$v},expression:\"inputValue\"}},'input-field',_vm.attributes,false),_vm.listeners))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { getSchemaAccessor } from '@/utils/accessor'\nimport { isArray } from '@ditojs/utils'\n\n// @vue/component\nexport default {\n computed: {\n inputValue: {\n get() {\n return this.value !== null ? this.value : ''\n },\n\n set(value) {\n this.value = value !== ''\n ? this.isInteger ? parseInt(value, 10) : parseFloat(value)\n : null\n }\n },\n\n // @overridable\n isInteger() {\n return false\n },\n\n stepValue() {\n return this.step == null && !this.isInteger ? 'any' : this.step\n },\n\n decimals: getSchemaAccessor('decimals', {\n type: Number\n }),\n\n step: getSchemaAccessor('step', {\n type: Number,\n get(step) {\n // For integers, round the steps to the next bigger integer value:\n return this.isInteger && step != null ? Math.ceil(step) : step\n }\n }),\n\n min: getSchemaAccessor('min', {\n type: Number,\n get(min) {\n min = min === undefined\n ? this.getSchemaValue('range', { type: Array })?.[0]\n : min\n return this.isInteger && min != null ? Math.floor(min) : min\n }\n }),\n\n max: getSchemaAccessor('max', {\n type: Number,\n get(max) {\n max = max === undefined\n ? this.getSchemaValue('range', { type: Array })?.[1]\n : max\n return this.isInteger && max != null ? Math.ceil(max) : max\n }\n }),\n\n range: getSchemaAccessor('range', {\n type: Array,\n get() {\n // `this.min`, `this.max` already support `schema.range`,\n // so redirect there.\n const { min, max } = this\n return min != null && max != null ? [min, max] : undefined\n },\n\n set(range) {\n // Provide a setter that delegates to `[this.min, this.max]`,\n // since those already handle `schema.range`.\n if (isArray(range)) {\n [this.min, this.max] = range\n }\n }\n })\n },\n\n methods: {\n getValidations() {\n const validations = {}\n const { range, min, max, decimals, step } = this\n if (range) {\n validations.range = range\n } else {\n if (min != null) {\n validations.min = min\n }\n if (max != null) {\n validations.max = max\n }\n }\n if (decimals != null) {\n validations.decimals = decimals\n } else if (step) {\n const decimals = (`${step}`.split('.')[1] || '').length\n if (decimals > 0) {\n validations.decimals = decimals\n } else {\n validations.integer = true\n }\n }\n if (this.isInteger) {\n validations.integer = true\n }\n return validations\n }\n }\n}\n","<template lang=\"pug\">\n input-field.dito-number(\n ref=\"element\"\n :id=\"dataPath\"\n type=\"number\"\n v-model=\"inputValue\"\n v-bind=\"attributes\"\n v-on=\"listeners\"\n :min=\"min\"\n :max=\"max\"\n :step=\"stepValue\"\n )\n</template>\n\n<style lang=\"sass\">\n // Only show spin buttons if the number component defines a step size.\n input[type=\"number\"]:not([step])\n &::-webkit-inner-spin-button,\n &::-webkit-outer-spin-button\n -webkit-appearance: none\n margin: 0\n</style>\n\n<script>\nimport TypeComponent from '@/TypeComponent'\nimport NumberMixin from '@/mixins/NumberMixin'\nimport { InputField } from '@ditojs/ui'\n\nexport default TypeComponent.register([\n 'number', 'integer'\n],\n// @vue/component\n{\n components: { InputField },\n mixins: [NumberMixin],\n nativeField: true,\n textField: true,\n\n computed: {\n isInteger() {\n return this.type === 'integer'\n }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeNumber.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeNumber.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TypeNumber.vue?vue&type=template&id=539269e1&lang=pug&\"\nimport script from \"./TypeNumber.vue?vue&type=script&lang=js&\"\nexport * from \"./TypeNumber.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TypeNumber.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isReady)?_c('div',{staticClass:\"dito-object\",class:_vm.schema.class,style:(_vm.schema.style),attrs:{\"id\":_vm.dataPath}},[(_vm.objectData)?_c('div',{staticClass:\"dito-object-content\"},[(_vm.isInlined)?_c('dito-schema-inlined',{attrs:{\"schema\":_vm.getItemFormSchema(_vm.schema, _vm.objectData, _vm.context),\"dataPath\":_vm.dataPath,\"data\":_vm.objectData,\"meta\":_vm.nestedMeta,\"store\":_vm.store,\"disabled\":_vm.disabled || _vm.isLoading,\"collapsed\":_vm.collapsed,\"collapsible\":_vm.collapsible}}):(_vm.component)?_c(_vm.component,{tag:\"component\",attrs:{\"dataPath\":_vm.dataPath,\"data\":_vm.objectData,\"nested\":false}}):(_vm.render)?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.render(_vm.getContext()))}}):_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.getItemLabel(_vm.schema, _vm.objectData))}})],1):_vm._e(),_c('dito-edit-buttons',{attrs:{\"creatable\":_vm.creatable,\"deletable\":_vm.objectData && _vm.deletable,\"editable\":_vm.objectData && _vm.editable,\"createPath\":_vm.path,\"editPath\":_vm.path,\"buttons\":_vm.buttonSchemas,\"schema\":_vm.schema,\"dataPath\":_vm.dataPath,\"data\":_vm.objectData,\"path\":_vm.path,\"meta\":_vm.meta,\"store\":_vm.store},on:{\"delete\":function($event){return _vm.deleteItem(_vm.objectData)}}})],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n .dito-object(\n v-if=\"isReady\"\n :id=\"dataPath\"\n :class=\"schema.class\"\n :style=\"schema.style\"\n )\n .dito-object-content(\n v-if=\"objectData\"\n )\n // Support the same rendering options as TypeList:\n dito-schema-inlined(\n v-if=\"isInlined\"\n :schema=\"getItemFormSchema(schema, objectData, context)\"\n :dataPath=\"dataPath\"\n :data=\"objectData\"\n :meta=\"nestedMeta\"\n :store=\"store\"\n :disabled=\"disabled || isLoading\"\n :collapsed=\"collapsed\"\n :collapsible=\"collapsible\"\n )\n component(\n v-else-if=\"component\"\n :is=\"component\"\n :dataPath=\"dataPath\"\n :data=\"objectData\"\n :nested=\"false\"\n )\n span(\n v-else-if=\"render\"\n v-html=\"render(getContext())\"\n )\n span(\n v-else\n v-html=\"getItemLabel(schema, objectData)\"\n )\n dito-edit-buttons(\n :creatable=\"creatable\"\n :deletable=\"objectData && deletable\"\n :editable=\"objectData && editable\"\n :createPath=\"path\"\n :editPath=\"path\"\n :buttons=\"buttonSchemas\"\n :schema=\"schema\"\n :dataPath=\"dataPath\"\n :data=\"objectData\"\n :path=\"path\"\n :meta=\"meta\"\n :store=\"store\"\n @delete=\"deleteItem(objectData)\"\n )\n</template>\n\n<style lang=\"sass\">\n .dito-object\n display: flex\n border: $border-style\n border-radius: $border-radius\n margin: 0\n padding: $form-spacing\n box-sizing: border-box\n .dito-object-content\n flex: 0 1 100%\n > .dito-buttons\n flex: 1 0 0%\n margin-left: $form-spacing\n</style>\n\n<script>\nimport TypeComponent from '@/TypeComponent'\nimport DitoContext from '@/DitoContext'\nimport SourceMixin from '@/mixins/SourceMixin'\n\n// @vue/component\nexport default TypeComponent.register('object', {\n mixins: [SourceMixin],\n\n getSourceType(type) {\n // No need for transformation here. See TypeTreeList for details.\n return type\n },\n\n methods: {\n getContext() {\n return new DitoContext(this, { data: this.objectData })\n }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeObject.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeObject.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TypeObject.vue?vue&type=template&id=37239fa7&lang=pug&\"\nimport script from \"./TypeObject.vue?vue&type=script&lang=js&\"\nexport * from \"./TypeObject.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TypeObject.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","<script>\nimport TypeComponent from '@/TypeComponent'\n\n// @vue/component\nexport default TypeComponent.register('panel', {\n defaultValue: () => undefined, // Callback to override `defaultValue: null`\n excludeValue: true,\n generateLabel: false,\n omitPadding: true,\n\n getPanelSchema(schema) {\n // For a TypePanel, the component schema is also the panel schema, but\n // remove the added name, so it doesn't get appended twice to data-path.\n const { name, ...panel } = schema\n return panel\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypePanel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypePanel.vue?vue&type=script&lang=js&\"","var render, staticRenderFns\nimport script from \"./TypePanel.vue?vue&type=script&lang=js&\"\nexport * from \"./TypePanel.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('progress',_vm._g(_vm._b({ref:\"element\",staticClass:\"dito-progress\",attrs:{\"id\":_vm.dataPath,\"max\":_vm.progressMax},domProps:{\"value\":_vm.progressValue}},'progress',_vm.attributes,false),_vm.listeners))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n progress.dito-progress(\n ref=\"element\"\n :id=\"dataPath\"\n :value=\"progressValue\"\n :max=\"progressMax\"\n v-bind=\"attributes\"\n v-on=\"listeners\"\n )\n</template>\n\n<script>\nimport TypeComponent from '@/TypeComponent'\nimport NumberMixin from '@/mixins/NumberMixin'\n\n// @vue/component\nexport default TypeComponent.register('progress', {\n mixins: [NumberMixin],\n computed: {\n progressValue() {\n let { value, range, step } = this\n if (value !== null) {\n if (range) {\n value -= range[0]\n }\n if (step) {\n value = Math.round(value / step) * step\n }\n } else {\n value = ''\n }\n return value\n },\n\n progressMax() {\n const { range } = this\n if (range) {\n return range[1] - range[0]\n }\n }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeProgress.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeProgress.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TypeProgress.vue?vue&type=template&id=54b10f8f&lang=pug&\"\nimport script from \"./TypeProgress.vue?vue&type=script&lang=js&\"\nexport * from \"./TypeProgress.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"dito-radio-buttons\",class:(\"dito-layout-\" + (_vm.schema.layout || 'vertical')),attrs:{\"id\":_vm.dataPath}},_vm._l((_vm.options),function(option){return _c('li',[_c('label',[_c('input',_vm._g(_vm._b({directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedValue),expression:\"selectedValue\"}],ref:\"element\",refInFor:true,staticClass:\"dito-radio-button\",attrs:{\"type\":\"radio\"},domProps:{\"value\":_vm.getValueForOption(option),\"checked\":_vm._q(_vm.selectedValue,_vm.getValueForOption(option))},on:{\"change\":function($event){_vm.selectedValue=_vm.getValueForOption(option)}}},'input',_vm.attributes,false),_vm.listeners)),_vm._v(_vm._s(_vm.getLabelForOption(option)))])])}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n ul.dito-radio-buttons(\n :id=\"dataPath\"\n :class=\"`dito-layout-${schema.layout || 'vertical'}`\"\n )\n li(v-for=\"option in options\")\n label\n input.dito-radio-button(\n ref=\"element\"\n type=\"radio\"\n :value=\"getValueForOption(option)\"\n v-model=\"selectedValue\"\n v-bind=\"attributes\"\n v-on=\"listeners\"\n )\n | {{ getLabelForOption(option) }}\n</template>\n\n<style lang=\"sass\">\n .dito-radio-buttons\n label\n @extend %input-borderless\n .dito-radio-button\n margin-right: $form-spacing\n</style>\n\n<script>\nimport TypeComponent from '@/TypeComponent'\nimport OptionsMixin from '@/mixins/OptionsMixin'\n\n// @vue/component\nexport default TypeComponent.register('radio', {\n mixins: [OptionsMixin],\n\n nativeField: true\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeRadio.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeRadio.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TypeRadio.vue?vue&type=template&id=dfaaa4e4&lang=pug&\"\nimport script from \"./TypeRadio.vue?vue&type=script&lang=js&\"\nexport * from \"./TypeRadio.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TypeRadio.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dito-section\",class:{ 'dito-section-labelled' : !!_vm.schema.label }},[_c('dito-pane',{staticClass:\"dito-section-pane\",attrs:{\"schema\":_vm.getItemFormSchema(_vm.schema, _vm.item, _vm.context),\"dataPath\":_vm.dataPath,\"data\":_vm.item,\"meta\":_vm.meta,\"store\":_vm.store,\"disabled\":_vm.disabled}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n .dito-section(\n :class=\"{ 'dito-section-labelled' : !!schema.label }\"\n )\n dito-pane.dito-section-pane(\n :schema=\"getItemFormSchema(schema, item, context)\"\n :dataPath=\"dataPath\"\n :data=\"item\"\n :meta=\"meta\"\n :store=\"store\"\n :disabled=\"disabled\"\n )\n</template>\n\n<style lang=\"sass\">\n .dito-section\n &.dito-section-labelled\n border: $border-style\n border-radius: $border-radius\n padding: $form-spacing\n box-sizing: border-box\n</style>\n\n<script>\nimport TypeComponent from '@/TypeComponent'\nimport { getItemFormSchema } from '@/utils/schema'\n\n// @vue/component\nexport default TypeComponent.register('section', {\n defaultValue: () => undefined, // Callback to override `defaultValue: null`\n ignoreMissingValue: schema => !schema.nested && !('default' in schema),\n defaultNested: false,\n generateLabel: false,\n omitFlexGrow: true,\n\n computed: {\n item() {\n return this.nested ? this.value : this.data\n }\n },\n\n methods: {\n getItemFormSchema\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TypeSection.vue?vue&type=template&id=db37b7d4&lang=pug&\"\nimport script from \"./TypeSection.vue?vue&type=script&lang=js&\"\nexport * from \"./TypeSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TypeSection.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dito-select\"},[_c('select',_vm._g(_vm._b({directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedValue),expression:\"selectedValue\"}],ref:\"element\",attrs:{\"id\":_vm.dataPath},on:{\"mousedown\":function($event){_vm.populate = true},\"focus\":function($event){_vm.populate = true},\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.selectedValue=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},'select',_vm.attributes,false),_vm.listeners),[(_vm.populate)?[_vm._l((_vm.options),function(option){return [(_vm.groupBy)?_c('optgroup',{attrs:{\"label\":option[_vm.groupByLabel]}},_vm._l((option[_vm.groupByOptions]),function(opt){return _c('option',{domProps:{\"value\":_vm.getValueForOption(opt)}},[_vm._v(_vm._s(_vm.getLabelForOption(opt)))])}),0):_c('option',{domProps:{\"value\":_vm.getValueForOption(option)}},[_vm._v(_vm._s(_vm.getLabelForOption(option)))])]})]:(_vm.selectedOption)?[_c('option',{domProps:{\"value\":_vm.selectedValue}},[_vm._v(_vm._s(_vm.getLabelForOption(_vm.selectedOption)))])]:_vm._e()],2),(_vm.showClearButton)?_c('button',{staticClass:\"dito-button-clear dito-button-overlay\",attrs:{\"disabled\":_vm.disabled},on:{\"click\":_vm.clear}}):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n //- Nesting is needed to make an arrow appear over the select item:\n .dito-select\n select(\n ref=\"element\"\n :id=\"dataPath\"\n v-model=\"selectedValue\"\n v-bind=\"attributes\"\n v-on=\"listeners\"\n @mousedown=\"populate = true\"\n @focus=\"populate = true\"\n )\n template(\n v-if=\"populate\"\n )\n template(\n v-for=\"option in options\"\n )\n optgroup(\n v-if=\"groupBy\"\n :label=\"option[groupByLabel]\"\n )\n option(\n v-for=\"opt in option[groupByOptions]\"\n :value=\"getValueForOption(opt)\"\n ) {{ getLabelForOption(opt) }}\n option(\n v-else\n :value=\"getValueForOption(option)\"\n ) {{ getLabelForOption(option) }}\n template(\n v-else-if=\"selectedOption\"\n )\n option(\n :value=\"selectedValue\"\n ) {{ getLabelForOption(selectedOption) }}\n button.dito-button-clear.dito-button-overlay(\n v-if=\"showClearButton\"\n @click=\"clear\"\n :disabled=\"disabled\"\n )\n</template>\n\n<style lang=\"sass\">\n // TODO: Move to dito-ui\n $select-arrow-right: calc(($select-arrow-width - $select-arrow-size) / 2)\n\n .dito-select\n display: inline-block\n position: relative\n\n select\n padding-right: $select-arrow-width\n\n // Handle .dito-width-fill separately due to required nesting of select:\n &.dito-width-fill\n select\n width: 100%\n\n &::after\n position: absolute\n +arrow($select-arrow-size)\n bottom: $select-arrow-bottom\n right: calc(#{$select-arrow-right} + #{$border-width})\n\n &.dito-disabled::after\n border-color: $border-color\n</style>\n\n<script>\nimport TypeComponent from '@/TypeComponent'\nimport OptionsMixin from '@/mixins/OptionsMixin'\n\n// @vue/component\nexport default TypeComponent.register('select', {\n mixins: [OptionsMixin],\n\n nativeField: true,\n\n data() {\n return {\n // Disable lazy-population for now.\n // TODO: Set to `false` Once lineto e2e tests address their issues.\n populate: true\n }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeSelect.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeSelect.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TypeSelect.vue?vue&type=template&id=9ebcf57a&lang=pug&\"\nimport script from \"./TypeSelect.vue?vue&type=script&lang=js&\"\nexport * from \"./TypeSelect.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TypeSelect.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dito-slider\"},[_c('input',_vm._g(_vm._b({directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.inputValue),expression:\"inputValue\"}],ref:\"element\",staticClass:\"dito-range\",attrs:{\"id\":_vm.dataPath,\"type\":\"range\",\"min\":_vm.min,\"max\":_vm.max,\"step\":_vm.stepValue},domProps:{\"value\":(_vm.inputValue)},on:{\"__r\":function($event){_vm.inputValue=$event.target.value}}},'input',_vm.attributes,false),_vm.listeners)),(_vm.input)?_c('input-field',_vm._g(_vm._b({staticClass:\"dito-number\",attrs:{\"type\":\"number\",\"min\":_vm.min,\"max\":_vm.max,\"step\":_vm.stepValue},model:{value:(_vm.inputValue),callback:function ($$v) {_vm.inputValue=$$v},expression:\"inputValue\"}},'input-field',_vm.attributes,false),_vm.listeners)):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n .dito-slider\n input.dito-range(\n ref=\"element\"\n :id=\"dataPath\"\n type=\"range\"\n v-model=\"inputValue\"\n v-bind=\"attributes\"\n v-on=\"listeners\"\n :min=\"min\"\n :max=\"max\"\n :step=\"stepValue\"\n )\n input-field.dito-number(\n v-if=\"input\"\n type=\"number\"\n v-model=\"inputValue\"\n v-bind=\"attributes\"\n v-on=\"listeners\"\n :min=\"min\"\n :max=\"max\"\n :step=\"stepValue\"\n )\n</template>\n\n<style lang=\"sass\">\n .dito-slider\n @extend %input\n display: flex\n .dito-range\n flex: auto\n height: calc(1em * var(--line-height))\n .dito-number\n border: 0\n padding: 0\n text-align: right\n font-variant-numeric: tabular-nums\n</style>\n\n<script>\nimport TypeComponent from '@/TypeComponent'\nimport NumberMixin from '@/mixins/NumberMixin'\nimport { getSchemaAccessor } from '@/utils/accessor'\nimport { InputField } from '@ditojs/ui'\n\n// @vue/component\nexport default TypeComponent.register('slider', {\n components: { InputField },\n mixins: [NumberMixin],\n nativeField: true,\n\n computed: {\n input: getSchemaAccessor('input', {\n type: Boolean,\n default: true\n })\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeSlider.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeSlider.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TypeSlider.vue?vue&type=template&id=166cd654&lang=pug&\"\nimport script from \"./TypeSlider.vue?vue&type=script&lang=js&\"\nexport * from \"./TypeSlider.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TypeSlider.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('switch-button',_vm._g(_vm._b({ref:\"element\",staticClass:\"dito-switch\",attrs:{\"id\":_vm.dataPath,\"sync\":true,\"labels\":_vm.labels},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}},'switch-button',_vm.attributes,false),_vm.listeners))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n switch-button.dito-switch(\n ref=\"element\"\n :id=\"dataPath\"\n :sync=\"true\"\n :labels=\"labels\"\n v-model=\"value\"\n v-bind=\"attributes\"\n v-on=\"listeners\"\n )\n</template>\n\n<style lang=\"sass\">\n .dito-switch\n .dito-switch-label\n font-size: $font-size-small\n</style>\n\n<script>\nimport TypeComponent from '@/TypeComponent'\nimport { SwitchButton } from '@ditojs/ui'\n\n// @vue/component\nexport default TypeComponent.register('switch', {\n defaultValue: false,\n defaultWidth: 'auto',\n\n components: {\n SwitchButton\n },\n\n computed: {\n labels() {\n return this.schema.labels\n }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeSwitch.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeSwitch.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TypeSwitch.vue?vue&type=template&id=ea67bb8a&lang=pug&\"\nimport script from \"./TypeSwitch.vue?vue&type=script&lang=js&\"\nexport * from \"./TypeSwitch.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TypeSwitch.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('input-field',_vm._g(_vm._b({ref:\"element\",staticClass:\"dito-text\",attrs:{\"id\":_vm.dataPath,\"type\":_vm.inputType},model:{value:(_vm.inputValue),callback:function ($$v) {_vm.inputValue=$$v},expression:\"inputValue\"}},'input-field',_vm.attributes,false),_vm.listeners))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n input-field.dito-text(\n ref=\"element\"\n :id=\"dataPath\"\n :type=\"inputType\"\n v-model=\"inputValue\"\n v-bind=\"attributes\"\n v-on=\"listeners\"\n )\n</template>\n\n<script>\nimport TypeComponent from '@/TypeComponent'\nimport { InputField } from '@ditojs/ui'\n\nconst maskedPassword = '****************'\n\nexport default TypeComponent.register([\n 'text', 'email', 'url', 'hostname', 'domain', 'tel', 'password', 'creditcard'\n],\n// @vue/component\n{\n components: { InputField },\n nativeField: true,\n textField: true,\n ignoreMissingValue: schema => schema.type === 'password',\n\n computed: {\n inputType() {\n return {\n creditcard: 'text',\n hostname: 'text',\n domain: 'text'\n }[this.type] || this.type\n },\n\n inputValue: {\n get() {\n return (\n this.type === 'password' &&\n this.value === undefined &&\n !this.focused\n )\n ? maskedPassword\n : this.value\n },\n\n set(value) {\n this.value = value\n }\n }\n },\n\n methods: {\n getValidations() {\n const rule = {\n email: 'email',\n url: 'url',\n hostname: 'hostname',\n domain: 'domain',\n password: 'password',\n creditcard: 'creditcard'\n }[this.type]\n return rule ? { [rule]: true } : {}\n }\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeText.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeText.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TypeText.vue?vue&type=template&id=6ec29473&lang=pug&\"\nimport script from \"./TypeText.vue?vue&type=script&lang=js&\"\nexport * from \"./TypeText.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('textarea',_vm._g(_vm._b({directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.value),expression:\"value\"}],ref:\"element\",staticClass:\"dito-textarea dito-input\",class:{ 'dito-resizable': _vm.resizable },attrs:{\"id\":_vm.dataPath,\"rows\":_vm.lines},domProps:{\"value\":(_vm.value)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.value=$event.target.value}}},'textarea',_vm.attributes,false),_vm.listeners))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n textarea.dito-textarea.dito-input(\n ref=\"element\"\n :id=\"dataPath\"\n v-model=\"value\"\n v-bind=\"attributes\"\n v-on=\"listeners\"\n :rows=\"lines\"\n :class=\"{ 'dito-resizable': resizable }\"\n )\n</template>\n\n<style lang=\"sass\">\n .dito-textarea\n display: block\n resize: none\n min-height: calc(1em * var(--line-height) + #{ 2 * $input-padding-ver })\n &.dito-resizable\n resize: vertical\n</style>\n\n<script>\nimport TypeComponent from '@/TypeComponent'\nimport { getSchemaAccessor } from '@/utils/accessor'\n\n// @vue/component\nexport default TypeComponent.register('textarea', {\n nativeField: true,\n textField: true,\n\n computed: {\n lines() {\n return this.schema.lines || 4\n },\n\n resizable: getSchemaAccessor('resizable', {\n type: Boolean,\n default: false\n })\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeTextarea.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeTextarea.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TypeTextarea.vue?vue&type=template&id=023157c6&lang=pug&\"\nimport script from \"./TypeTextarea.vue?vue&type=script&lang=js&\"\nexport * from \"./TypeTextarea.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TypeTextarea.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dito-tree-list\"},[(_vm.scopes)?_c('dito-scopes',{attrs:{\"query\":_vm.query,\"scopes\":_vm.scopes}}):_vm._e(),_c('div',{staticClass:\"dito-tree-panel\"},[_c('dito-tree-item',{attrs:{\"schema\":_vm.treeSchema,\"dataPath\":_vm.treeDataPath,\"data\":_vm.treeData,\"draggable\":_vm.draggable,\"open\":true}}),(_vm.hasEditableForms)?_c('div',{staticClass:\"dito-tree-form-container\"},[_c('router-view')],1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"pug\">\n .dito-tree-list\n dito-scopes(\n v-if=\"scopes\"\n :query=\"query\"\n :scopes=\"scopes\"\n )\n .dito-tree-panel\n dito-tree-item(\n :schema=\"treeSchema\"\n :dataPath=\"treeDataPath\"\n :data=\"treeData\"\n :draggable=\"draggable\"\n :open=\"true\"\n )\n .dito-tree-form-container(\n v-if=\"hasEditableForms\"\n )\n // Include a router-view for the optional DitoFormInlined\n router-view\n</template>\n\n<style lang=\"sass\">\n .dito-tree-list\n @extend %field\n .dito-tree-panel\n display: flex\n justify-content: space-between\n > .dito-tree-item\n flex: 1 1 25%\n > .dito-tree-form-container\n flex: 0 1 75%\n align-self: stretch\n background: $content-color-background\n border-left: $border-style\n border-top-right-radius: $border-radius - 1\n border-bottom-right-radius: $border-radius - 1\n margin: (-$input-padding-ver) (-$input-padding-hor)\n margin-left: $input-padding-hor\n</style>\n\n<script>\nimport TypeComponent from '@/TypeComponent'\nimport SourceMixin from '@/mixins/SourceMixin'\nimport { hasFormSchema, getFormSchemas } from '@/utils/schema'\n\nexport default TypeComponent.register([\n 'tree-list', 'tree-object'\n],\n// @vue/component\n{\n mixins: [SourceMixin],\n\n provide() {\n return { container: this }\n },\n\n getSourceType(type) {\n return type === 'tree-object' ? 'object' : 'list'\n },\n\n computed: {\n path() {\n // Accessed from DitoTreeItem through `container.path`:\n return this.formComponent?.path\n },\n\n editPath() {\n // Accessed from DitoTreeItem through `container.editPath`:\n return this.$route.path.slice(this.path?.length)\n },\n\n treeData() {\n return this.isListSource\n ? { [this.name]: this.value }\n : this.value\n },\n\n treeDataPath() {\n // Remove `name` from `dataPath`, as it is addeed\n // to `treeData` and `treeSchema`\n return this.isListSource\n ? this.dataPath.slice(0, this.dataPath.length - this.name.length)\n : this.dataPath\n },\n\n treeSchema() {\n return this.isListSource\n ? {\n children: {\n name: this.name,\n ...this.schema\n }\n }\n : this.schema\n },\n\n hasEditableForms() {\n const hasEditableForms = schema => {\n return (\n hasFormSchema(schema) && (\n this.getSchemaValue('editable', {\n type: Boolean,\n default: false,\n schema\n }) ||\n schema.children &&\n hasEditableForms(schema.children)\n )\n )\n }\n return hasEditableForms(this.schema)\n }\n },\n\n async processSchema(\n api, schema, name, routes, level,\n nested = true, flatten = false,\n process = null\n ) {\n return SourceMixin.processSchema(\n api, schema, name, routes, level,\n nested, flatten,\n // Pass process() to add more routes to childRoutes:\n (childRoutes, level) => {\n const { children } = schema\n if (children) {\n // Add `type` to the nested tree list.\n children.type = 'tree-list'\n return this.processSchema(\n api, children, children.name, childRoutes, level,\n nested, true, // Pass `true` for `flatten` in tree lists.\n process\n )\n }\n }\n )\n },\n\n getFormSchemasForProcessing(schema, context) {\n // Convert nested children schema to stand-alone schema component,\n // present in each of the forms, as required by `processSchemaData()`\n const { children } = schema\n return getFormSchemas(schema, context, children\n ? form => ({\n ...form,\n components: {\n ...form.components,\n [children.name]: children\n }\n })\n : null\n )\n }\n})\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeTreeList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeTreeList.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TypeTreeList.vue?vue&type=template&id=736bc7d5&lang=pug&\"\nimport script from \"./TypeTreeList.vue?vue&type=script&lang=js&\"\nexport * from \"./TypeTreeList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TypeTreeList.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dito-upload\"},[_c('table',{staticClass:\"dito-table dito-table-separators dito-table-background\"},[_vm._m(0),_c('vue-draggable',_vm._b({attrs:{\"tag\":\"tbody\",\"list\":_vm.files},on:{\"start\":_vm.onStartDrag,\"end\":_vm.onEndDrag}},'vue-draggable',_vm.getDragOptions(_vm.draggable),false),_vm._l((_vm.files),function(file,index){return _c('tr',{key:file.key},[_c('td',{domProps:{\"innerHTML\":_vm._s(_vm.renderFile(file, index))}}),_c('td',[_vm._v(_vm._s(_vm._f(\"formatFileSize\")(file.size)))]),_c('td',[(file.upload)?[(file.upload.error)?[_vm._v(\"Error: \"+_vm._s(file.upload.error))]:(file.upload.active)?[_vm._v(\"Uploading...\")]:(file.upload.success)?[_vm._v(\"Uploaded\")]:_vm._e()]:[_vm._v(\"Stored\")]],2),_c('td',{staticClass:\"dito-cell-edit-buttons\"},[_c('div',{staticClass:\"dito-buttons dito-buttons-round\"},[(_vm.draggable)?_c('a',_vm._b({staticClass:\"dito-button\"},'a',_vm.getButtonAttributes(_vm.verbs.drag),false)):_vm._e(),(_vm.deletable)?_c('button',_vm._b({staticClass:\"dito-button\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.deleteFile(file, index)}}},'button',_vm.getButtonAttributes(_vm.verbs.delete),false)):_vm._e()])])])}),0),_c('tfoot',[_c('tr',[_c('td',{attrs:{\"colspan\":4}},[_c('div',{staticClass:\"dito-upload-footer\"},[(_vm.isUploadActive)?_c('progress',{staticClass:\"dito-progress\",attrs:{\"max\":\"100\"},domProps:{\"value\":_vm.uploadProgress}}):_vm._e(),_c('div',{staticClass:\"dito-buttons dito-buttons-round\"},[(_vm.isUploadActive)?_c('button',{staticClass:\"dito-button\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){$event.preventDefault();_vm.upload.active = false}}},[_vm._v(\"Cancel All\")]):(_vm.isUploadReady)?_c('button',{staticClass:\"dito-button\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){$event.preventDefault();_vm.upload.active = true}}},[_vm._v(\"Upload All\")]):_vm._e(),_c('vue-upload',{ref:\"upload\",staticClass:\"dito-button dito-button-add-upload\",attrs:{\"input-id\":_vm.dataPath,\"name\":_vm.dataPath,\"disabled\":_vm.disabled,\"post-action\":_vm.uploadPath,\"extensions\":_vm.extensions,\"accept\":_vm.accept,\"multiple\":_vm.multiple,\"size\":_vm.maxSize,\"title\":\"Upload Files\"},on:{\"input-filter\":_vm.inputFilter,\"input-file\":_vm.inputFile},model:{value:(_vm.uploads),callback:function ($$v) {_vm.uploads=$$v},expression:\"uploads\"}})],1)])])])])],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',{staticClass:\"dito-table-head\"},[_c('tr',[_c('th',[_c('span',[_vm._v(\"Name\")])]),_c('th',[_c('span',[_vm._v(\"Size\")])]),_c('th',[_c('span',[_vm._v(\"Status\")])]),_c('th',[_c('span')])])])}]\n\nexport { render, staticRenderFns }","import filesize from 'filesize'\n\nexport function formatFileSize(size) {\n return filesize(size, { base: 10 })\n}\n","<template lang=\"pug\">\n .dito-upload\n table.dito-table.dito-table-separators.dito-table-background\n //- Styling comes from DitoTableHead\n thead.dito-table-head\n tr\n th\n span Name\n th\n span Size\n th\n span Status\n th\n span\n vue-draggable(\n tag=\"tbody\"\n v-bind=\"getDragOptions(draggable)\"\n :list=\"files\"\n @start=\"onStartDrag\"\n @end=\"onEndDrag\"\n )\n tr(\n v-for=\"(file, index) in files\"\n :key=\"file.key\"\n )\n td(v-html=\"renderFile(file, index)\")\n td {{ file.size | formatFileSize }}\n td\n template(v-if=\"file.upload\")\n template(v-if=\"file.upload.error\")\n | Error: {{ file.upload.error }}\n template(v-else-if=\"file.upload.active\")\n | Uploading...\n template(v-else-if=\"file.upload.success\")\n | Uploaded\n template(v-else)\n | Stored\n td.dito-cell-edit-buttons\n .dito-buttons.dito-buttons-round\n //- Firefox doesn't like <button> here, so use <a> instead:\n a.dito-button(\n v-if=\"draggable\"\n v-bind=\"getButtonAttributes(verbs.drag)\"\n )\n button.dito-button(\n v-if=\"deletable\"\n type=\"button\"\n @click=\"deleteFile(file, index)\"\n v-bind=\"getButtonAttributes(verbs.delete)\"\n )\n tfoot\n tr\n td(:colspan=\"4\")\n .dito-upload-footer\n progress.dito-progress(\n v-if=\"isUploadActive\"\n :value=\"uploadProgress\"\n max=\"100\"\n )\n .dito-buttons.dito-buttons-round\n button.dito-button(\n v-if=\"isUploadActive\"\n type=\"button\"\n @click.prevent=\"upload.active = false\"\n ) Cancel All\n button.dito-button(\n v-else-if=\"isUploadReady\"\n type=\"button\"\n @click.prevent=\"upload.active = true\"\n ) Upload All\n vue-upload.dito-button.dito-button-add-upload(\n :input-id=\"dataPath\"\n :name=\"dataPath\"\n :disabled=\"disabled\"\n :post-action=\"uploadPath\"\n :extensions=\"extensions\"\n :accept=\"accept\"\n :multiple=\"multiple\"\n :size=\"maxSize\"\n v-model=\"uploads\"\n @input-filter=\"inputFilter\"\n @input-file=\"inputFile\"\n ref=\"upload\"\n title=\"Upload Files\"\n )\n</template>\n\n<style lang=\"sass\">\n .dito-upload\n .dito-table\n tr\n vertical-align: middle\n .dito-button-add-upload\n padding: 0\n > *\n position: absolute\n cursor: pointer\n .dito-upload-footer\n display: flex\n justify-content: flex-end\n align-items: center\n .dito-progress\n flex: auto\n margin-right: $form-spacing\n</style>\n\n<script>\nimport TypeComponent from '@/TypeComponent'\nimport DitoContext from '@/DitoContext'\nimport OrderedMixin from '@/mixins/OrderedMixin'\nimport VueUpload from 'vue-upload-component'\nimport VueDraggable from 'vuedraggable'\nimport parseFileSize from 'filesize-parser'\nimport { getSchemaAccessor } from '@/utils/accessor'\nimport { formatFileSize } from '@/utils/units'\nimport { appendDataPath } from '@/utils/data'\nimport { isArray, asArray, escapeHtml } from '@ditojs/utils'\n\n// @vue/component\nexport default TypeComponent.register('upload', {\n components: { VueUpload, VueDraggable },\n filters: { formatFileSize },\n mixins: [OrderedMixin],\n\n data() {\n return {\n uploads: []\n }\n },\n\n computed: {\n upload() {\n return this.$refs.upload\n },\n\n files() {\n return asFiles(this.value)\n },\n\n multiple: getSchemaAccessor('multiple', {\n type: Boolean,\n default: false,\n // No callback as it's used in `processValue()`\n callback: false\n }),\n\n extensions: getSchemaAccessor('extensions', {\n type: [Array, String, RegExp]\n }),\n\n accept: getSchemaAccessor('accept', {\n type: Array,\n get(accept) {\n return isArray(accept) ? accept.join(',') : accept\n }\n }),\n\n maxSize: getSchemaAccessor('maxSize', {\n type: [String, Number],\n get(maxSize) {\n return maxSize ? parseFileSize(maxSize) : undefined\n }\n }),\n\n draggable: getSchemaAccessor('draggable', {\n type: Boolean,\n default: false,\n get(draggable) {\n return draggable && this.files.length > 1\n }\n }),\n\n deletable: getSchemaAccessor('deletable', {\n type: Boolean,\n default: false\n }),\n\n isUploadReady() {\n return this.uploads.length &&\n !(this.upload.active || this.upload.uploaded)\n },\n\n isUploadActive() {\n return this.uploads.length && this.upload.active\n },\n\n uploadProgress() {\n return (\n this.uploads.reduce((total, file) => total + file.progress, 0) /\n this.uploads.length\n )\n },\n\n uploadPath() {\n return this.getResourceUrl({\n type: 'upload',\n path: this.api.normalizePath(this.dataPath)\n })\n }\n },\n\n methods: {\n renderFile(file, index) {\n const { render } = this.schema\n return render\n ? render.call(\n this,\n new DitoContext(this, {\n value: file,\n data: this.files,\n index,\n dataPath: appendDataPath(this.dataPath, index)\n })\n )\n : escapeHtml(file.name)\n },\n\n deleteFile(file, index) {\n const { name } = file\n\n if (file && window.confirm(\n `Do you really want to ${this.verbs.remove} ${name}?`)\n ) {\n if (this.multiple) {\n this.value.splice(index, 1)\n } else {\n this.value = null\n }\n if (file.upload) {\n this.upload.remove(file.upload)\n }\n this.onChange()\n this.notify({\n type: 'info',\n title: 'Successfully Removed',\n text: `${name} was ${this.verbs.deleted}.`\n })\n }\n },\n\n getFileIndex(file) {\n return this.multiple && this.value\n ? this.value.findIndex(it => it.id === file.id)\n : -1\n },\n\n addFile(file) {\n if (this.multiple) {\n if (this.value) {\n this.value.push(file)\n } else {\n this.value = [file]\n }\n } else {\n this.value = file\n }\n },\n\n replaceFile(file, newFile) {\n if (this.multiple) {\n const index = this.getFileIndex(file)\n if (index >= 0) {\n if (newFile) {\n this.$set(this.value, index, newFile)\n } else {\n this.value.splice(index, 1)\n }\n }\n } else {\n this.value = newFile\n }\n },\n\n removeFile(file) {\n this.replaceFile(file, null)\n },\n\n inputFile(newFile, oldFile) {\n if (newFile && !oldFile) {\n const { id, name, size } = newFile\n this.addFile({ id, name, size, upload: newFile })\n }\n if (newFile && oldFile) {\n const { success, error } = newFile\n if (success) {\n this.onChange()\n const file = newFile.response[0]\n if (file) {\n file.upload = newFile\n // Replace the upload file object with the file object received\n // from the upload response.\n this.replaceFile(newFile, file)\n } else {\n this.removeFile(newFile)\n }\n } else if (error) {\n const text = {\n abort: 'Upload aborted',\n denied: 'Upload denied',\n extension: `Unsupported file-type: ${newFile.name}`,\n network: 'Network error encountered during upload',\n server: 'Server error occurred during upload',\n size: `File is too large: ${formatFileSize(newFile.size)}`,\n timeout: 'Timeout occurred during upload'\n\n }[error] || `Unknown File Upload Error: '${error}'`\n this.notify({\n type: 'error',\n title: 'File Upload Error',\n text\n })\n this.removeFile(newFile)\n }\n }\n },\n\n inputFilter(newFile/*, oldFile, prevent */) {\n const xhr = newFile?.xhr\n if (this.api.cors?.credentials && xhr && !xhr.withCredentials) {\n xhr.withCredentials = true\n }\n }\n },\n\n processValue(schema, value) {\n // Filter out all newly added files that weren't actually uploaded.\n const files = asFiles(value)\n .map(\n ({ upload, ...file }) => !upload || upload.success ? file : null\n )\n .filter(file => file)\n return schema.multiple ? files : files[0] || null\n }\n})\n\nfunction asFiles(value) {\n return value ? asArray(value) : []\n}\n\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeUpload.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/@vue/cli-service/node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeUpload.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TypeUpload.vue?vue&type=template&id=49c8e6a0&lang=pug&\"\nimport script from \"./TypeUpload.vue?vue&type=script&lang=js&\"\nexport * from \"./TypeUpload.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TypeUpload.vue?vue&type=style&index=0&lang=sass&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// NOTE: index.js exports nothing, but type components will be registered in\n// DitoComponent and can be retrieved through TypeComponent.get(type) and\n// rendered through their component-names (e.g. dito-type-list).\n\nimport './TypeButton'\nimport './TypeCheckbox'\nimport './TypeCheckboxes'\nimport './TypeCode'\nimport './TypeColor'\nimport './TypeComponent'\nimport './TypeComputed'\nimport './TypeDate'\nimport './TypeList'\nimport './TypeLabel'\nimport './TypeMarkup'\nimport './TypeMultiselect'\nimport './TypeNumber'\nimport './TypeObject'\nimport './TypePanel'\nimport './TypeProgress'\nimport './TypeRadio'\nimport './TypeSection'\nimport './TypeSelect'\nimport './TypeSlider'\nimport './TypeSwitch'\nimport './TypeText'\nimport './TypeTextarea'\nimport './TypeTreeList'\nimport './TypeUpload'\n","export default [\n 'create', 'created',\n 'save', 'saved',\n 'submit', 'submitted',\n 'delete', 'deleted',\n 'edit', 'edited',\n 'close', 'closed',\n 'cancel', 'cancelled',\n 'drag', 'dragged'\n].reduce((verbs, verb) => {\n verbs[verb] = verb\n return verbs\n}, {})\n","import Vue from 'vue'\nimport VueModal from 'vue-js-modal'\nimport VueRouter from 'vue-router'\nimport VueNotifications from 'vue-notification'\nimport axios from 'axios'\nimport './components'\nimport './types'\nimport verbs from './verbs'\nimport TypeComponent from './TypeComponent'\nimport DitoRoot from './components/DitoRoot'\nimport { getResource } from './utils/resource'\nimport {\n isString, isAbsoluteUrl, merge, hyphenate, camelize, defaultFormats\n} from '@ditojs/utils'\n\nVue.config.productionTip = false\n\n// All global plugins that need to be registered on `Vue`:\nVue.use(VueRouter)\nVue.use(VueModal, {\n dynamic: true\n})\nVue.use(VueNotifications)\n\nexport default class DitoAdmin {\n constructor(el, {\n module,\n // `dito` contains the base and api settings passed from `AdminController`\n dito = {},\n api,\n views = {},\n ...options\n } = {}) {\n // Activate hot reloading if the module is provided.\n module?.hot?.accept()\n\n this.el = el\n // Merge in `api` settings as passed from `config.admin` and through the\n // `AdminController` with `api` values from from 'admin/index.js'\n // NOTE: `AdminController` provides `dito.api.base`\n this.api = api = merge({ base: '/' }, dito.api, api)\n this.options = options\n\n // Setup default api setttings:\n api.locale ||= 'en-US'\n\n api.formats = merge({}, defaultFormats, api.formats)\n\n api.request ||= options => this.request(options)\n\n // Setting `api.normalizePaths = true (plural) sets both:\n // `api.normalizePath = hyphenate` and `api.denormalizePath = camelize`\n api.normalizePath = (\n api.normalizePath ||\n api.normalizePaths\n ? hyphenate\n : val => val\n )\n api.denormalizePath = (\n api.denormalizePath ||\n api.normalizePaths\n ? camelize\n : val => val\n )\n\n // Allow the configuration of all auth resources, like so:\n // api.users = {\n // path: '/admins',\n // // These are the defaults:\n // login: {\n // path: 'login',\n // method: 'post'\n // },\n // logout: {\n // path: 'logout',\n // method: 'post'\n // },\n // session: {\n // path: 'session',\n // method: 'get'\n // }\n // }\n const users = api.users = getResource(api.users, {\n type: 'collection'\n }) || {}\n users.login = getResource(users.login || 'login', {\n method: 'post',\n parent: users\n })\n users.logout = getResource(users.logout || 'logout', {\n method: 'post',\n parent: users\n })\n users.session = getResource(users.session || 'session', {\n method: 'get',\n parent: users\n })\n\n // Allow overriding of resource path handlers:\n // api.resources = {\n // collection(resource) {\n // return resource.parent\n // ? `${resource.path}?${resource.parent.path}_id=${\n // resource.parent.id}`\n // : resource.path\n // }\n // }\n\n api.resources = {\n any(resource) {\n const handler = this[resource?.type] || this.default\n return resource && handler.call(this, resource)\n },\n\n default(resource) {\n const parentPath = this.any(resource.parent)\n return parentPath\n ? `${parentPath}/${resource.path}`\n : resource.path\n },\n\n collection(resource) {\n return this.default(resource)\n },\n\n member(resource) {\n // NOTE: We assume that all members have root-level collection routes,\n // to avoid excessive nesting of (sub-)collection routes.\n return `${resource.path}/${resource.id}`\n },\n\n upload(resource) {\n // Dito Server handles upload routes on the collection resource:\n return `${this.collection(resource.parent)}/upload/${resource.path}`\n },\n\n ...api.resources\n }\n\n // Allow overriding / extending of headers:\n // api.headers = {\n // 'Content-Type': 'application/json'\n // }\n api.headers = {\n 'Content-Type': 'application/json',\n ...api.headers\n }\n\n api.isApiRequest = api.isApiRequest || function(url) {\n return !isAbsoluteUrl(url) || url.startsWith(api.url)\n }\n\n if (isString(el)) {\n el = document.querySelector(el)\n }\n\n this.root = new Vue({\n el,\n router: new VueRouter({\n mode: 'history',\n base: dito.base,\n linkActiveClass: '',\n linkExactActiveClass: ''\n }),\n components: { DitoRoot },\n // Most injects are defined as functions, to preserve reactiveness across\n // provide/inject, see:\n // https://github.com/vuejs/vue/issues/7017#issuecomment-480906691\n provide: {\n api,\n // A default list of verbs are provided by $verbs() and can be\n // overridden at any point in the component hierarchy.\n $verbs: () => verbs,\n // Provide defaults so DitoMixin can inject them for all components:\n // inject: [ '$isPopulated', '$schemaComponent', '$routeComponent' ]\n $views: () => {},\n $isPopulated: () => true,\n $schemaComponent: () => null,\n $schemaParentComponent: () => null,\n $routeComponent: () => null,\n $dataComponent: () => null,\n $sourceComponent: () => null,\n $resourceComponent: () => null,\n $dialogComponent: () => null,\n $panelComponent: () => null,\n $tabComponent: () => null\n },\n\n render: createElement => createElement(DitoRoot, {\n // Preserve the root container's id, as required by hot-reloading:\n attrs: {\n id: el.id\n },\n props: {\n unresolvedViews: views,\n options\n }\n })\n })\n }\n\n register(type, options) {\n return TypeComponent.register(type, options)\n }\n\n request({\n url,\n method = 'get',\n data = null,\n params = null,\n headers = null\n }) {\n const isApiRequest = this.api.isApiRequest(url)\n return axios.request({\n url,\n method,\n params,\n ...(data && { data }),\n baseURL: isApiRequest ? this.api.url : null,\n headers: {\n ...(isApiRequest && this.api.headers),\n ...headers\n },\n withCredentials: isApiRequest && !!this.api.cors?.credentials\n })\n }\n}\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","module.exports = require(\"codeflask\");","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = require(\"@ditojs/ui\");","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"input[type=number]:not([step])::-webkit-inner-spin-button,input[type=number]:not([step])::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","module.exports = require(\"tiptap-commands\");","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar anObject = require('../internals/an-object');\nvar bind = require('../internals/function-bind-context');\nvar getSetIterator = require('../internals/get-set-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Set.prototype.some` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Set', proto: true, real: true, forced: true }, {\n some: function some(callbackfn /* , thisArg */) {\n var set = anObject(this);\n var iterator = getSetIterator(set);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return iterate(iterator, function (value, stop) {\n if (boundFunction(value, value, set)) return stop();\n }, { IS_ITERATOR: true, INTERRUPTED: true }).stopped;\n }\n});\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoAccount.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"38dc1653\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","module.exports = require(\"vuedraggable\");","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-switch .dito-switch-label{font-size:11px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoTabs.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"2f82617f\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var global = require('../internals/global');\nvar classof = require('../internals/classof');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return String(argument);\n};\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeTreeList.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"6dfeea8c\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","export * from \"-!../../vue-style-loader/index.js??ref--7-oneOf-1-0!../../css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../vue-loader/lib/loaders/stylePostLoader.js!../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-3!../../cache-loader/dist/cjs.js??ref--1-0!../../vue-loader/lib/index.js??vue-loader-options!./PulseLoader.vue?vue&type=style&index=0&lang=css&\"","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoErrors.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"c231f742\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","'use strict';\nvar $ = require('../internals/export');\nvar $groupBy = require('../internals/array-group-by');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.groupBy` method\n// https://github.com/tc39/proposal-array-grouping\n// https://bugs.webkit.org/show_bug.cgi?id=236541\n$({ target: 'Array', proto: true, forced: !arrayMethodIsStrict('groupBy') }, {\n groupBy: function groupBy(callbackfn /* , thisArg */) {\n var thisArg = arguments.length > 1 ? arguments[1] : undefined;\n return $groupBy(this, callbackfn, thisArg);\n }\n});\n\naddToUnscopables('groupBy');\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar anObject = require('../internals/an-object');\nvar toString = require('../internals/to-string');\nvar getSetIterator = require('../internals/get-set-iterator');\nvar iterate = require('../internals/iterate');\n\nvar arrayJoin = uncurryThis([].join);\nvar push = [].push;\n\n// `Set.prototype.join` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Set', proto: true, real: true, forced: true }, {\n join: function join(separator) {\n var set = anObject(this);\n var iterator = getSetIterator(set);\n var sep = separator === undefined ? ',' : toString(separator);\n var result = [];\n iterate(iterator, push, { that: result, IS_ITERATOR: true });\n return arrayJoin(result, sep);\n }\n});\n","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeSelect.vue?vue&type=style&index=0&lang=sass&\"","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoScopes.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"778c6cdf\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var global = require('../internals/global');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar Object = global.Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar speciesConstructor = require('../internals/species-constructor');\nvar iterate = require('../internals/iterate');\n\n// `Set.prototype.intersection` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: true }, {\n intersection: function intersection(iterable) {\n var set = anObject(this);\n var newSet = new (speciesConstructor(set, getBuiltIn('Set')))();\n var hasCheck = aCallable(set.has);\n var adder = aCallable(newSet.add);\n iterate(iterable, function (value) {\n if (call(hasCheck, set, value)) call(adder, newSet, value);\n });\n return newSet;\n }\n});\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-code:disabled button,.dito-disabled.dito-code button{opacity:.6;pointer-events:none}.dito-code{border:1px solid #c7c7c7;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;background:#fff}.dito-has-errors.dito-code{border-color:#ff3860}.dito-code:disabled,.dito-disabled.dito-code{color:grey;pointer-events:none;cursor:text}.dito-code{-webkit-appearance:none;-moz-appearance:none;appearance:none}.dito-code::-webkit-input-placeholder{color:grey}.dito-code::-moz-placeholder{color:grey}.dito-code::placeholder{color:grey}.dito-code:focus,.dito-code:focus-within,.dito-code:focus-within .dito-inherit-focus,.dito-code:focus .dito-inherit-focus,.dito-focus.dito-code,.dito-focus.dito-code .dito-inherit-focus{border-color:#3898ff}.dito-code{position:relative;padding:3px 6px}.dito-code.dito-width-fill{width:auto}.dito-code .codeflask{background:none;top:0;left:0}.dito-code .codeflask__pre,.dito-code .codeflask__textarea{padding:3px 6px}.dito-code .codeflask__code,.dito-code .codeflask__lines,.dito-code .codeflask__textarea{font-family:Menlo,Consolas,Monaco,Vera Mono,Andale Mono,Ubuntu Mono,monospace;font-size:var(--font-size);line-height:var(--line-height)}.dito-code .codeflask__lines{padding:3px 6px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"@-webkit-keyframes v-pulseStretchDelay{0%,80%{transform:scale(1);-webkit-opacity:1;opacity:1}45%{transform:scale(.1);-webkit-opacity:.7;opacity:.7}}@keyframes v-pulseStretchDelay{0%,80%{transform:scale(1);-webkit-opacity:1;opacity:1}45%{transform:scale(.1);-webkit-opacity:.7;opacity:.7}}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeMultiselect.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"b35a26f0\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || '').concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-textarea{display:block;resize:none;min-height:calc(1em*var(--line-height) + 6px)}.dito-textarea.dito-resizable{resize:vertical}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoSchemaInlined.vue?vue&type=style&index=0&lang=sass&\"","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoDialog.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"4420987f\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoMenu.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"663683df\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-section.dito-section-labelled{border:1px solid #c7c7c7;border-radius:4px;padding:6px;-webkit-box-sizing:border-box;box-sizing:border-box}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar deleteAll = require('../internals/collection-delete-all');\n\n// `WeakMap.prototype.deleteAll` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'WeakMap', proto: true, real: true, forced: true }, {\n deleteAll: deleteAll\n});\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../vue-loader/lib/loaders/stylePostLoader.js!../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-3!../../cache-loader/dist/cjs.js??ref--1-0!../../vue-loader/lib/index.js??vue-loader-options!./PulseLoader.vue?vue&type=style&index=0&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"2739a28f\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aConstructor(S);\n};\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoTreeItem.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"6e6dd4c2\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeCode.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"4757f024\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar bind = require('../internals/function-bind-context');\nvar speciesConstructor = require('../internals/species-constructor');\nvar getSetIterator = require('../internals/get-set-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Set.prototype.filter` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Set', proto: true, real: true, forced: true }, {\n filter: function filter(callbackfn /* , thisArg */) {\n var set = anObject(this);\n var iterator = getSetIterator(set);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var newSet = new (speciesConstructor(set, getBuiltIn('Set')))();\n var adder = aCallable(newSet.add);\n iterate(iterator, function (value) {\n if (boundFunction(value, value, set)) call(adder, newSet, value);\n }, { IS_ITERATOR: true });\n return newSet;\n }\n});\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoButtons.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"297c55fb\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var global = require('../internals/global');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n try {\n return String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoErrors.vue?vue&type=style&index=0&lang=sass&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-label-component{display:-webkit-box;display:flex;height:2em}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var global = require('../internals/global');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw TypeError('Incorrect invocation');\n};\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.21.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.21.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","module.exports = require(\"tinycolor2\");","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\n// https://github.com/tc39/proposal-iterator-helpers\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar createIteratorProxy = require('../internals/iterator-create-proxy');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar TypeError = global.TypeError;\n\nvar IteratorProxy = createIteratorProxy(function () {\n var iterator = this.iterator;\n var mapper = this.mapper;\n var result, mapped, iteratorMethod, innerIterator;\n\n while (true) {\n try {\n if (innerIterator = this.innerIterator) {\n result = anObject(call(this.innerNext, innerIterator));\n if (!result.done) return result.value;\n this.innerIterator = this.innerNext = null;\n }\n\n result = anObject(call(this.next, iterator));\n\n if (this.done = !!result.done) return;\n\n mapped = mapper(result.value);\n iteratorMethod = getIteratorMethod(mapped);\n\n if (!iteratorMethod) {\n throw TypeError('.flatMap callback should return an iterable object');\n }\n\n this.innerIterator = innerIterator = anObject(call(iteratorMethod, mapped));\n this.innerNext = aCallable(innerIterator.next);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n }\n});\n\n$({ target: 'Iterator', proto: true, real: true, forced: true }, {\n flatMap: function flatMap(mapper) {\n return new IteratorProxy({\n iterator: anObject(this),\n mapper: aCallable(mapper),\n innerIterator: null,\n innerNext: null\n });\n }\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoHeader.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"1f211d9f\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\n// `InstallErrorCause` abstract operation\n// https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause\nmodule.exports = function (O, options) {\n if (isObject(options) && 'cause' in options) {\n createNonEnumerableProperty(O, 'cause', options.cause);\n }\n};\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-radio-buttons label{height:2em;line-height:2em;display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center}.dito-radio-buttons .dito-radio-button{margin-right:6px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","'use strict';\n// https://github.com/tc39/proposal-iterator-helpers\nvar $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\n\n$({ target: 'Iterator', proto: true, real: true, forced: true }, {\n every: function every(fn) {\n anObject(this);\n aCallable(fn);\n return !iterate(this, function (value, stop) {\n if (!fn(value)) return stop();\n }, { IS_ITERATOR: true, INTERRUPTED: true }).stopped;\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeSwitch.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"bfbf9488\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","'use strict';\n// https://github.com/tc39/proposal-iterator-helpers\nvar $ = require('../internals/export');\nvar $every = require('../internals/async-iterator-iteration').every;\n\n$({ target: 'AsyncIterator', proto: true, real: true, forced: true }, {\n every: function every(fn) {\n return $every(this, fn);\n }\n});\n","module.exports = {};\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeMarkup.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"194290b8\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","'use strict';\n// https://github.com/tc39/proposal-iterator-helpers\nvar $ = require('../internals/export');\nvar apply = require('../internals/function-apply');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');\n\nvar AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) {\n var state = this;\n var mapper = state.mapper;\n\n return Promise.resolve(anObject(apply(state.next, state.iterator, args))).then(function (step) {\n if (anObject(step).done) {\n state.done = true;\n return { done: true, value: undefined };\n }\n return Promise.resolve(mapper(step.value)).then(function (value) {\n return { done: false, value: value };\n });\n });\n});\n\n$({ target: 'AsyncIterator', proto: true, real: true, forced: true }, {\n map: function map(mapper) {\n return new AsyncIteratorProxy({\n iterator: anObject(this),\n mapper: aCallable(mapper)\n });\n }\n});\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-form-nested,.dito-form-nested .dito-scroll{overflow:visible}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var aCallable = require('../internals/a-callable');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return func == null ? undefined : aCallable(func);\n};\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeLabel.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"0939d368\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","module.exports = require(\"vue-router\");","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a function');\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeLabel.vue?vue&type=style&index=0&lang=sass&\"","module.exports = require(\"@ditojs/utils\");","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","module.exports = require(\"vue-multiselect\");","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoRoot.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"152b5eff\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoFormNested.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"73112b42\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoPane.vue?vue&type=style&index=0&lang=sass&\"","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar uncurryThis = NATIVE_BIND && bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? function (fn) {\n return fn && uncurryThis(fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\n};\n","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeNumber.vue?vue&type=style&index=0&lang=sass&\"","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoSchema.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"6b35f21f\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-edit-buttons{cursor:default;-webkit-box-flex:0;flex:none}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeMarkup.vue?vue&type=style&index=0&lang=sass&\"","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoLabel.vue?vue&type=style&index=0&lang=sass&\"","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar speciesConstructor = require('../internals/species-constructor');\nvar iterate = require('../internals/iterate');\n\n// `Set.prototype.symmetricDifference` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: true }, {\n symmetricDifference: function symmetricDifference(iterable) {\n var set = anObject(this);\n var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(set);\n var remover = aCallable(newSet['delete']);\n var adder = aCallable(newSet.add);\n iterate(iterable, function (value) {\n call(remover, newSet, value) || call(adder, newSet, value);\n });\n return newSet;\n }\n});\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-panels{max-width:360px;min-width:180px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoPanel.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"78ab5601\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-pane{display:-webkit-box;display:flex;position:relative;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row wrap;align-content:flex-start;-webkit-box-align:baseline;align-items:baseline;margin:-6px -3px;max-width:906px;-webkit-box-flex:0%;flex:0%}.dito-pane.dito-pane-main{-webkit-box-flex:100%;flex:100%}.dito-schema-header:not(.dito-schema-menu-header)+.dito-pane{margin-top:0}.dito-container.dito-omit-padding>.dito-pane{margin:0;max-width:unset}.dito-pane .dito-break{-webkit-box-flex:100%;flex:100%;height:0}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../css-loader/dist/cjs.js??ref--7-oneOf-3-1!../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--7-oneOf-3-2!../../@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--7-oneOf-3-3!./vue-multiselect.min.css\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"92a1d258\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-scopes{white-space:nowrap;display:-webkit-box;display:flex}.dito-scopes .dito-button{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:0;min-width:3em;-webkit-box-flex:0;flex:0 1 auto}.dito-scopes .dito-button:first-child{border-top-left-radius:1em;border-bottom-left-radius:1em;padding-left:1em}.dito-scopes .dito-button:last-child{border-top-right-radius:1em;border-bottom-right-radius:1em;padding-right:1em}.dito-scopes .dito-button+.dito-button{margin-left:-1px}.dito-scopes .dito-button:focus{z-index:1}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoMenu.vue?vue&type=style&index=0&lang=sass&\"","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeTreeList.vue?vue&type=style&index=0&lang=sass&\"","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call -- required for testing\n method.call(null, argument || function () { return 1; }, 1);\n });\n};\n","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoEditButtons.vue?vue&type=style&index=0&lang=sass&\"","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","module.exports = require(\"vue-upload-component\");","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoPanels.vue?vue&type=style&index=0&lang=sass&\"","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar iterate = require('../internals/iterate');\n\n// `Set.prototype.isDisjointFrom` method\n// https://tc39.github.io/proposal-set-methods/#Set.prototype.isDisjointFrom\n$({ target: 'Set', proto: true, real: true, forced: true }, {\n isDisjointFrom: function isDisjointFrom(iterable) {\n var set = anObject(this);\n var hasCheck = aCallable(set.has);\n return !iterate(iterable, function (value, stop) {\n if (call(hasCheck, set, value) === true) return stop();\n }, { INTERRUPTED: true }).stopped;\n }\n});\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-button-overlay.dito-button-clear:before,.dito-buttons.dito-buttons-round .dito-button-add-upload:before,.dito-buttons.dito-buttons-round .dito-button-copy:empty:before,.dito-buttons.dito-buttons-round .dito-button-delete:empty:before,.dito-buttons.dito-buttons-round .dito-button-drag:empty:before,.dito-buttons.dito-buttons-round .dito-button-edit:empty:before,.dito-buttons.dito-buttons-round .dito-button-paste:empty:before,.dito-buttons.dito-buttons-round .dito-button-remove:empty:before,.dito-buttons.dito-buttons-small .dito-button-add-upload:before,.dito-buttons.dito-buttons-small .dito-button-copy:empty:before,.dito-buttons.dito-buttons-small .dito-button-delete:empty:before,.dito-buttons.dito-buttons-small .dito-button-drag:empty:before,.dito-buttons.dito-buttons-small .dito-button-edit:empty:before,.dito-buttons.dito-buttons-small .dito-button-paste:empty:before,.dito-buttons.dito-buttons-small .dito-button-remove:empty:before{width:1em;position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;content:\\\"\\\";background:currentColor;-webkit-mask:none no-repeat center content-box;mask:none no-repeat center content-box}.dito-buttons.dito-buttons-round .dito-button-add-upload:before,.dito-buttons.dito-buttons-small .dito-button-add-upload:before{-webkit-mask-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' preserveAspectRatio='xMinYMid' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2v20M2 12h20'/%3E%3C/svg%3E\\\");mask-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' preserveAspectRatio='xMinYMid' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2v20M2 12h20'/%3E%3C/svg%3E\\\")}.dito-button-overlay.dito-button-clear:before{-webkit-mask-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' preserveAspectRatio='xMinYMid' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4l16 16M20 4L4 20'/%3E%3C/svg%3E\\\");mask-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' preserveAspectRatio='xMinYMid' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4l16 16M20 4L4 20'/%3E%3C/svg%3E\\\")}.dito-buttons.dito-buttons-round .dito-button-copy:empty:before,.dito-buttons.dito-buttons-small .dito-button-copy:empty:before{-webkit-mask-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' preserveAspectRatio='xMinYMid' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='13' height='13' rx='2' ry='2'/%3E%3Cpath d='M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1'/%3E%3C/svg%3E\\\");mask-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' preserveAspectRatio='xMinYMid' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='13' height='13' rx='2' ry='2'/%3E%3Cpath d='M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1'/%3E%3C/svg%3E\\\")}.dito-buttons.dito-buttons-round .dito-button-drag:empty:before,.dito-buttons.dito-buttons-small .dito-button-drag:empty:before{-webkit-mask-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' preserveAspectRatio='xMinYMid' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8l7-7 7 7M5 16l7 7 7-7'/%3E%3C/svg%3E\\\");mask-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' preserveAspectRatio='xMinYMid' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8l7-7 7 7M5 16l7 7 7-7'/%3E%3C/svg%3E\\\")}.dito-buttons.dito-buttons-round .dito-button-edit:empty:before,.dito-buttons.dito-buttons-small .dito-button-edit:empty:before{-webkit-mask-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' preserveAspectRatio='xMinYMid' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 16L16 2l4 4L6 20M14 4l4 4'/%3E%3Cpath fill='%23000' d='M6 20H2v-4z'/%3E%3C/svg%3E\\\");mask-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' preserveAspectRatio='xMinYMid' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 16L16 2l4 4L6 20M14 4l4 4'/%3E%3Cpath fill='%23000' d='M6 20H2v-4z'/%3E%3C/svg%3E\\\")}.dito-buttons.dito-buttons-round .dito-button-paste:empty:before,.dito-buttons.dito-buttons-small .dito-button-paste:empty:before{-webkit-mask-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' preserveAspectRatio='xMinYMid' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='8' y='2' width='8' height='4' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 012 2v14a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2h2'/%3E%3C/svg%3E\\\");mask-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' preserveAspectRatio='xMinYMid' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='8' y='2' width='8' height='4' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 012 2v14a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2h2'/%3E%3C/svg%3E\\\")}.dito-buttons.dito-buttons-round .dito-button-delete:empty:before,.dito-buttons.dito-buttons-round .dito-button-remove:empty:before,.dito-buttons.dito-buttons-small .dito-button-delete:empty:before,.dito-buttons.dito-buttons-small .dito-button-remove:empty:before{-webkit-mask-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' preserveAspectRatio='xMinYMid' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12h20'/%3E%3C/svg%3E\\\");mask-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' preserveAspectRatio='xMinYMid' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12h20'/%3E%3C/svg%3E\\\")}button,h1,h2,h3,h4,h5,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;margin:0}a{color:inherit;text-decoration:none}a:focus,button:focus,input:focus,select:focus,textarea:focus{outline:none}a::-moz-focus-inner,a::-moz-focus-outer,button::-moz-focus-inner,button::-moz-focus-outer,input::-moz-focus-inner,input::-moz-focus-outer,select::-moz-focus-inner,select::-moz-focus-outer,textarea::-moz-focus-inner,textarea::-moz-focus-outer{border:none}select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--color-text,#000)}ul{list-style:none;padding:0}ul,ul li{margin:0}table{border-spacing:0}a,button{cursor:pointer}label,label *{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}:root{--font-size:13px;--line-height:1.38462;--color-text:#0a0a0a;font-size:var(--font-size);line-height:var(--line-height);color:var(--color-text);background:#ededed;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;overflow-x:hidden;max-width:100%}.dito-button .dito-order-arrows{display:inline-block;width:6px;padding-left:6px}.dito-button .dito-order-arrows:before{-webkit-transform:rotate(135deg);transform:rotate(135deg);top:0;bottom:0;bottom:3px}.dito-button .dito-order-arrows:after,.dito-button .dito-order-arrows:before{position:absolute;border:1px solid #3898ff;border-right:0;border-top:0;content:\\\"\\\";width:4px;height:4px;pointer-events:none;margin:auto}.dito-button .dito-order-arrows:after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);top:0;bottom:0;top:3px}.dito-button.dito-order-asc .dito-order-arrows:before{bottom:0}.dito-button.dito-order-asc .dito-order-arrows:after,.dito-button.dito-order-desc .dito-order-arrows:before{display:none}.dito-button.dito-order-desc .dito-order-arrows:after{top:0}.dito-button-create:empty:before{content:\\\"Create\\\"}.dito-button-add:empty:before{content:\\\"Add\\\"}.dito-button-delete:empty:before{content:\\\"Delete\\\"}.dito-button-remove:empty:before{content:\\\"Remove\\\"}.dito-button-edit:empty:before{content:\\\"Edit\\\"}.dito-button-save:empty:before{content:\\\"Save\\\"}.dito-button-apply:empty:before{content:\\\"Apply\\\"}.dito-button-login:empty:before{content:\\\"Login\\\"}.dito-button-ok:empty:before{content:\\\"OK\\\"}.dito-button-cancel:empty:before{content:\\\"Cancel\\\"}.dito-button-close:empty:before{content:\\\"Close\\\"}.dito-button-drag:empty:before{content:\\\"Drag\\\"}.dito-button-copy:empty:before{content:\\\"Copy\\\"}.dito-button-paste:empty:before{content:\\\"Paste\\\"}.dito-button-drag{cursor:-webkit-grab;cursor:grab}.dito-button-drag:active{cursor:-webkit-grabbing;cursor:grabbing}.dito-buttons.dito-buttons-large{--button-margin:3px;font-size:14px;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-flow:row wrap;-webkit-box-pack:center;justify-content:center}.dito-buttons.dito-buttons-large .dito-container{margin-top:16px}.dito-buttons.dito-buttons-large .dito-button{border-radius:2em;padding:.3em .9em}.dito-buttons.dito-buttons-main{position:sticky;bottom:0;width:100%;align-self:flex-end;z-index:500;padding-bottom:16px;margin-bottom:-16px;margin-top:32px;-webkit-box-shadow:0 -16px 16px -16px rgba(10,10,10,.25);box-shadow:0 -16px 16px -16px rgba(10,10,10,.25);background:#ededed}.dito-button-overlay{position:absolute;right:1px;top:1px;bottom:1px;border:0;border-radius:4px;cursor:pointer}.dito-button-overlay.dito-button-clear{width:2em;z-index:1;background:#fff;display:none}.dito-component:hover>*>*>.dito-button-overlay.dito-button-clear,.dito-component:hover>*>.dito-button-overlay.dito-button-clear,.dito-component:hover>.dito-button-overlay.dito-button-clear{display:block}.dito-button-overlay.dito-button-clear:before{color:grey}.dito-button-overlay.dito-button-clear:hover:before{color:#0a0a0a}ul.dito-pulldown{display:none;position:absolute;top:0;z-index:1000;border-radius:.5em;-webkit-box-shadow:0 2px 6px 0 rgba(10,10,10,.25);box-shadow:0 2px 6px 0 rgba(10,10,10,.25)}ul.dito-pulldown.dito-open{display:block}ul.dito-pulldown li{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}ul.dito-pulldown li a{display:block;text-align:center;padding:.5em 1em;line-height:1;background:#e0e0e0}ul.dito-pulldown li a:hover{background:#3898ff;color:#fff}ul.dito-pulldown li:first-child a{border-top-left-radius:.5em;border-top-right-radius:.5em}ul.dito-pulldown li:last-child a{border-bottom-left-radius:.5em;border-bottom-right-radius:.5em}.dito-layout-vertical{display:table}.dito-layout-horizontal,.dito-layout-vertical>*{display:table-row}.dito-layout-horizontal>*{display:table-cell}.dito-layout-horizontal>*+*{padding-left:6px}.dito-scroll{-webkit-box-flex:1;flex:1;max-height:100%;overflow-x:hidden;overflow-y:auto}.dito-scroll-parent{-webkit-box-flex:1;flex:1;display:-webkit-box;display:flex;position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column;overflow:hidden}.dito-drag-fallback{-webkit-filter:drop-shadow(0 2px 4px rgba(10,10,10,.25));filter:drop-shadow(0 2px 4px rgba(10,10,10,.25))}.dito-drag-fallback,.dito-drag-fallback td{display:-webkit-box;display:flex}.dito-drag-fallback>*,.dito-drag-fallback td>*{-webkit-box-flex:1;flex:1}table.dito-table{--separator-width:1px;width:100%;height:-webkit-min-content;height:-moz-min-content;height:min-content;border-radius:4px}table.dito-table>tbody>tr,table.dito-table>tfoot>tr{vertical-align:baseline}table.dito-table>tbody>tr>td,table.dito-table>tfoot>tr>td{padding:6px 0 6px 6px;background:#ededed}table.dito-table>tbody>tr>td:last-child,table.dito-table>tfoot>tr>td:last-child{padding-right:6px}table.dito-table>tbody>tr>td.dito-cell-edit-buttons,table.dito-table>tfoot>tr>td.dito-cell-edit-buttons{width:1%}table.dito-table>tbody>tr>td.dito-cell-edit-buttons,table.dito-table>tbody>tr>td.dito-cell-edit-buttons .dito-button,table.dito-table>tfoot>tr>td.dito-cell-edit-buttons,table.dito-table>tfoot>tr>td.dito-cell-edit-buttons .dito-button{vertical-align:top}table.dito-table.dito-table-larger-padding td:not(.dito-cell-edit-buttons){padding:9px 0 9px 9px}table.dito-table.dito-table-separators>tbody:not(:empty)+tfoot>tr>td,table.dito-table.dito-table-separators>tbody>tr+tr>td{border-top:var(--separator-width) solid #c7c7c7}table.dito-table.dito-table-alternate-colors.dito-table-even-count>tfoot>tr>td,table.dito-table.dito-table-alternate-colors>tbody>tr:nth-child(odd)>td,table.dito-table.dito-table-background>tbody>tr>td,table.dito-table.dito-table-background>tfoot>tr>td{background:#fff}table.dito-table>thead>tr>th>*{-webkit-box-sizing:content-box;box-sizing:content-box}table.dito-table>thead>tr>th>:not(:focus){border-style:solid;border-color:#c7c7c7}table.dito-table>thead>tr>th>*{border-top-width:1px;border-bottom-width:1px;border-left-width:1px;border-right-width:1px}table.dito-table>thead>tr>th:first-child>*{border-top-width:1px;border-left-width:1px;border-top-left-radius:4px}table.dito-table>thead>tr>th:last-child>*{border-top-width:1px;border-right-width:1px;border-top-right-radius:4px}table.dito-table>thead>tr>th+th>*{margin-left:-1px}table.dito-table>thead>tr>th+th>:focus{z-index:1}table.dito-table>tbody>tr>td{border:0;border-style:solid;border-color:#c7c7c7}table.dito-table>tbody>tr>td:first-child{border-left-width:1px}table.dito-table>tbody>tr>td:last-child{border-right-width:1px}table.dito-table>tbody:first-child:empty+tfoot>tr>td,table.dito-table>tbody:first-child>tr:first-child>td{border-top-width:1px}table.dito-table>tbody:first-child:empty+tfoot>tr>td:first-child,table.dito-table>tbody:first-child>tr:first-child>td:first-child{border-top-width:1px;border-left-width:1px;border-top-left-radius:4px}table.dito-table>tbody:first-child:empty+tfoot>tr>td:last-child,table.dito-table>tbody:first-child>tr:first-child>td:last-child{border-top-width:1px;border-right-width:1px;border-top-right-radius:4px}table.dito-table>tbody:last-child>tr:last-child>td{border-bottom-width:1px}table.dito-table>tbody:last-child>tr:last-child>td:first-child{border-bottom-width:1px;border-left-width:1px;border-bottom-left-radius:4px}table.dito-table>tbody:last-child>tr:last-child>td:last-child{border-bottom-width:1px;border-right-width:1px;border-bottom-right-radius:4px}table.dito-table>tfoot>tr>td{border-width:0;border-style:solid;border-color:#c7c7c7;border-bottom-width:1px}table.dito-table>tfoot>tr>td:first-child{border-bottom-width:1px;border-left-width:1px;border-bottom-left-radius:4px}table.dito-table>tfoot>tr>td:last-child{border-bottom-width:1px;border-right-width:1px;border-bottom-right-radius:4px}.dito-form-nested table.dito-table,table.dito-table table.dito-table{margin:0}.dito-notifications .dito-notification{padding:8px;margin:12px 12px 0;font-size:inherit;color:#fff;border-radius:4px;-webkit-box-shadow:0 2px 6px 0 rgba(10,10,10,.25);box-shadow:0 2px 6px 0 rgba(10,10,10,.25)}.dito-notifications .dito-notification .notification-title{font-weight:700;padding-bottom:8px}.dito-notifications .dito-notification .notification-content p{margin:0}.dito-notifications .dito-notification .notification-content p+p{margin-top:8px}.dito-notifications .dito-notification,.dito-notifications .dito-notification.info{background:#52a5ff;color:#fff;border-left:12px solid #057eff}.dito-notifications .dito-notification.success{background:#32dc6e;color:#fff;border-left:12px solid #1ca64c}.dito-notifications .dito-notification.warning{background:#ffd561;color:#fff;border-left:12px solid #ffc014}.dito-notifications .dito-notification.error{background:#ff5274;color:#fff;border-left:12px solid #ff0537}.dito-notifications .vue-notification-wrapper{overflow:visible}.dito-root{height:100%;display:-webkit-box;display:flex}.dito-root .dito-page{background:#ededed}.dito-root .dito-page>.dito-form,.dito-root .dito-page>.dito-view{margin-top:-42px;padding-top:42px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeList.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"e8c34ae0\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-color .dito-input{display:block;position:relative}.dito-color .dito-input input{-webkit-box-sizing:border-box;box-sizing:border-box;font-variant-numeric:tabular-nums;padding-right:24px}.dito-color .dito-button-clear{margin-right:24px}.dito-color .dito-color-picker{margin:2px 0;border:1px solid #c7c7c7;border-radius:4px;background:#fff;-webkit-box-shadow:0 2px 6px 0 rgba(10,10,10,.25);box-shadow:0 2px 6px 0 rgba(10,10,10,.25)}.dito-color .dito-color-preview{background:repeating-conic-gradient(transparent 0 25%,#eee 0 50%) 0 0/24px 24px;border-left:1px solid #c7c7c7}.dito-color .dito-color-preview,.dito-color .dito-color-preview div{position:absolute;width:24px;top:0;right:0;bottom:0;border-top-right-radius:3px;border-bottom-right-radius:3px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeMultiselect.vue?vue&type=style&index=0&lang=sass&\"","var global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar Object = global.Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : Object(it);\n} : Object;\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\n\n// https://github.com/tc39/collection-methods\nmodule.exports = function addAll(/* ...elements */) {\n var set = anObject(this);\n var adder = aCallable(set.add);\n for (var k = 0, len = arguments.length; k < len; k++) {\n call(adder, set, arguments[k]);\n }\n return set;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar emplace = require('../internals/map-emplace');\n\n// `WeakMap.prototype.emplace` method\n// https://github.com/tc39/proposal-upsert\n$({ target: 'WeakMap', proto: true, real: true, forced: true }, {\n emplace: emplace\n});\n","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoButtons.vue?vue&type=style&index=0&lang=sass&\"","'use strict';\n// https://github.com/tc39/proposal-iterator-helpers\n// https://github.com/tc39/proposal-array-from-async\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getBuiltIn = require('../internals/get-built-in');\nvar getMethod = require('../internals/get-method');\n\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar TypeError = global.TypeError;\n\nvar createMethod = function (TYPE) {\n var IS_TO_ARRAY = TYPE == 0;\n var IS_FOR_EACH = TYPE == 1;\n var IS_EVERY = TYPE == 2;\n var IS_SOME = TYPE == 3;\n return function (iterator, fn, target) {\n anObject(iterator);\n var Promise = getBuiltIn('Promise');\n var next = aCallable(iterator.next);\n var index = 0;\n var MAPPING = fn !== undefined;\n if (MAPPING || !IS_TO_ARRAY) aCallable(fn);\n\n return new Promise(function (resolve, reject) {\n var closeIteration = function (method, argument) {\n try {\n var returnMethod = getMethod(iterator, 'return');\n if (returnMethod) {\n return Promise.resolve(call(returnMethod, iterator)).then(function () {\n method(argument);\n }, function (error) {\n reject(error);\n });\n }\n } catch (error2) {\n return reject(error2);\n } method(argument);\n };\n\n var onError = function (error) {\n closeIteration(reject, error);\n };\n\n var loop = function () {\n try {\n if (IS_TO_ARRAY && (index > MAX_SAFE_INTEGER) && MAPPING) {\n throw TypeError('The allowed number of iterations has been exceeded');\n }\n Promise.resolve(anObject(call(next, iterator))).then(function (step) {\n try {\n if (anObject(step).done) {\n if (IS_TO_ARRAY) {\n target.length = index;\n resolve(target);\n } else resolve(IS_SOME ? false : IS_EVERY || undefined);\n } else {\n var value = step.value;\n if (MAPPING) {\n Promise.resolve(IS_TO_ARRAY ? fn(value, index) : fn(value)).then(function (result) {\n if (IS_FOR_EACH) {\n loop();\n } else if (IS_EVERY) {\n result ? loop() : closeIteration(resolve, false);\n } else if (IS_TO_ARRAY) {\n target[index++] = result;\n loop();\n } else {\n result ? closeIteration(resolve, IS_SOME || value) : loop();\n }\n }, onError);\n } else {\n target[index++] = value;\n loop();\n }\n }\n } catch (error) { onError(error); }\n }, onError);\n } catch (error2) { onError(error2); }\n };\n\n loop();\n });\n };\n};\n\nmodule.exports = {\n toArray: createMethod(0),\n forEach: createMethod(1),\n every: createMethod(2),\n some: createMethod(3),\n find: createMethod(4)\n};\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-disabled.dito-tree-list button,.dito-tree-list:disabled button{opacity:.6;pointer-events:none}.dito-tree-list{border:1px solid #c7c7c7;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:3px 6px;background:#fff}.dito-has-errors.dito-tree-list{border-color:#ff3860}.dito-disabled.dito-tree-list,.dito-tree-list:disabled{color:grey;pointer-events:none;cursor:text}.dito-tree-list .dito-tree-panel{display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between}.dito-tree-list .dito-tree-panel>.dito-tree-item{-webkit-box-flex:1;flex:1 1 25%}.dito-tree-list .dito-tree-panel>.dito-tree-form-container{-webkit-box-flex:0;flex:0 1 75%;align-self:stretch;background:#ededed;border-left:1px solid #c7c7c7;border-top-right-radius:3px;border-bottom-right-radius:3px;margin:-3px -6px;margin-left:6px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar installErrorCause = require('../internals/install-error-cause');\nvar clearErrorStack = require('../internals/clear-error-stack');\nvar ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');\nvar IS_PURE = require('../internals/is-pure');\n\nmodule.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) {\n var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1;\n var path = FULL_NAME.split('.');\n var ERROR_NAME = path[path.length - 1];\n var OriginalError = getBuiltIn.apply(null, path);\n\n if (!OriginalError) return;\n\n var OriginalErrorPrototype = OriginalError.prototype;\n\n // V8 9.3- bug https://bugs.chromium.org/p/v8/issues/detail?id=12006\n if (!IS_PURE && hasOwn(OriginalErrorPrototype, 'cause')) delete OriginalErrorPrototype.cause;\n\n if (!FORCED) return OriginalError;\n\n var BaseError = getBuiltIn('Error');\n\n var WrappedError = wrapper(function (a, b) {\n var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, undefined);\n var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError();\n if (message !== undefined) createNonEnumerableProperty(result, 'message', message);\n if (ERROR_STACK_INSTALLABLE) createNonEnumerableProperty(result, 'stack', clearErrorStack(result.stack, 2));\n if (this && isPrototypeOf(OriginalErrorPrototype, this)) inheritIfRequired(result, this, WrappedError);\n if (arguments.length > OPTIONS_POSITION) installErrorCause(result, arguments[OPTIONS_POSITION]);\n return result;\n });\n\n WrappedError.prototype = OriginalErrorPrototype;\n\n if (ERROR_NAME !== 'Error') {\n if (setPrototypeOf) setPrototypeOf(WrappedError, BaseError);\n else copyConstructorProperties(WrappedError, BaseError, { name: true });\n }\n\n copyConstructorProperties(WrappedError, OriginalError);\n\n if (!IS_PURE) try {\n // Safari 13- bug: WebAssembly errors does not have a proper `.name`\n if (OriginalErrorPrototype.name !== ERROR_NAME) {\n createNonEnumerableProperty(OriginalErrorPrototype, 'name', ERROR_NAME);\n }\n OriginalErrorPrototype.constructor = WrappedError;\n } catch (error) { /* empty */ }\n\n return WrappedError;\n};\n","module.exports = require(\"vue\");","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-schema{-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:flex;min-height:100%}.dito-schema>.dito-schema-content{-webkit-box-flex:1;flex:1 1 100%;display:grid;grid-template-rows:-webkit-min-content;grid-template-rows:min-content;max-width:900px;padding:16px}.dito-schema>.dito-schema-content>:only-child{grid-row-end:none}.dito-schema>.dito-buttons,.dito-schema>.dito-panels{-webkit-box-flex:1;flex:1 1 0%}.dito-schema>.dito-buttons{margin-left:6px}.dito-schema>.dito-panels{padding:16px 16px 16px 0}.dito-schema .dito-pane-tab+.dito-pane-main:before{display:block;content:\\\"\\\";width:100%;border-bottom:1px solid #c7c7c7;margin:16px 3px 3px}.dito-schema-header{display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between}.dito-schema-header .dito-clipboard,.dito-schema-header .dito-tabs{display:-webkit-box;display:flex;align-self:flex-end}.dito-schema-header .dito-clipboard:only-child{margin-left:auto}.dito-schema-header .dito-clipboard .dito-button{margin:0 0 6px 6px}.dito-schema-header.dito-schema-menu-header{position:absolute;height:42px;padding:0 16px;max-width:900px;top:0;left:0;right:0;z-index:1000;pointer-events:none}.dito-schema-header.dito-schema-menu-header .dito-buttons,.dito-schema-header.dito-schema-menu-header .dito-tabs{pointer-events:auto;line-height:1;font-size:14px}.dito-schema-header button.dito-label{width:100%;z-index:1}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getSetIterator = require('../internals/get-set-iterator');\nvar iterate = require('../internals/iterate');\n\nvar TypeError = global.TypeError;\n\n// `Set.prototype.reduce` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Set', proto: true, real: true, forced: true }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n var set = anObject(this);\n var iterator = getSetIterator(set);\n var noInitial = arguments.length < 2;\n var accumulator = noInitial ? undefined : arguments[1];\n aCallable(callbackfn);\n iterate(iterator, function (value) {\n if (noInitial) {\n noInitial = false;\n accumulator = value;\n } else {\n accumulator = callbackfn(accumulator, value, value, set);\n }\n }, { IS_ITERATOR: true });\n if (noInitial) throw TypeError('Reduce of empty set with no initial value');\n return accumulator;\n }\n});\n","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","module.exports = require(\"tiptap\");","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\n\n// https://github.com/tc39/collection-methods\nmodule.exports = function deleteAll(/* ...elements */) {\n var collection = anObject(this);\n var remover = aCallable(collection['delete']);\n var allDeleted = true;\n var wasDeleted;\n for (var k = 0, len = arguments.length; k < len; k++) {\n wasDeleted = call(remover, collection, arguments[k]);\n allDeleted = allDeleted && wasDeleted;\n }\n return !!allDeleted;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeSection.vue?vue&type=style&index=0&lang=sass&\"","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- safe\n return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoEditButtons.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"4643eab2\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-container{align-self:stretch;-webkit-box-sizing:border-box;box-sizing:border-box;max-width:100%;padding:6px 3px}.dito-container.dito-omit-padding,.dito-container:empty{padding:0}.dito-container.dito-omit-padding>.dito-label{margin:6px 3px 0}.dito-container.dito-single{height:100%}.dito-component.dito-width-fill{width:100%}.dito-component.dito-width-fill.dito-checkbox,.dito-component.dito-width-fill.dito-radio-button{display:inline-block;width:auto}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-label{--label-padding:0;display:-webkit-box;display:flex;position:relative;-webkit-box-align:center;align-items:center;padding:var(--label-padding);margin:0 0 3px 0}.dito-label label{display:inline;cursor:inherit;font-weight:700;white-space:nowrap}.dito-label .dito-label-prefix:nth-last-child(2),.dito-label .dito-label-suffix:nth-last-child(2),.dito-label label:nth-last-child(2){-webkit-box-flex:1;flex:1 1 auto}.dito-label .dito-label-prefix:after,.dito-label .dito-label-suffix:after,.dito-label label:after{content:\\\" \\\"}.dito-label .dito-label-prefix,.dito-label .dito-label-suffix{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dito-label .dito-buttons{margin:calc(var(--label-padding)*-1);margin-left:0;padding:var(--label-padding)}.dito-label.dito-width-fill{width:100%}.dito-label.dito-width-fill label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:absolute;max-width:100%}.dito-label.dito-width-fill:after{content:\\\" \\\"}a.dito-label:hover .dito-chevron{color:#2e2e2e}a.dito-label:focus:not(:active):not(.dito-active) .dito-chevron{-webkit-text-stroke:1px #3898ff}.dito-schema-compact>.dito-schema-content>.dito-pane>.dito-container>.dito-label:not(.dito-label-component){display:inline-block}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar iterate = require('../internals/iterate');\n\n// `Set.prototype.isSupersetOf` method\n// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSupersetOf\n$({ target: 'Set', proto: true, real: true, forced: true }, {\n isSupersetOf: function isSupersetOf(iterable) {\n var set = anObject(this);\n var hasCheck = aCallable(set.has);\n return !iterate(iterable, function (value, stop) {\n if (call(hasCheck, set, value) === false) return stop();\n }, { INTERRUPTED: true }).stopped;\n }\n});\n","module.exports = require(\"filesize-parser\");","'use strict';\n// https://github.com/tc39/proposal-iterator-helpers\nvar $ = require('../internals/export');\nvar apply = require('../internals/function-apply');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');\n\nvar AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise, args) {\n var state = this;\n var filterer = state.filterer;\n\n return new Promise(function (resolve, reject) {\n var loop = function () {\n try {\n Promise.resolve(anObject(apply(state.next, state.iterator, args))).then(function (step) {\n try {\n if (anObject(step).done) {\n state.done = true;\n resolve({ done: true, value: undefined });\n } else {\n var value = step.value;\n Promise.resolve(filterer(value)).then(function (selected) {\n selected ? resolve({ done: false, value: value }) : loop();\n }, reject);\n }\n } catch (err) { reject(err); }\n }, reject);\n } catch (error) { reject(error); }\n };\n\n loop();\n });\n});\n\n$({ target: 'AsyncIterator', proto: true, real: true, forced: true }, {\n filter: function filter(filterer) {\n return new AsyncIteratorProxy({\n iterator: anObject(this),\n filterer: aCallable(filterer)\n });\n }\n});\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeTextarea.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"0e263cc8\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-menu{-webkit-box-flex:initial;flex:initial;font-size:14px;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.dito-menu ul{background:#e0e0e0;border-right:1px solid #c7c7c7}.dito-menu a,.dito-menu h1{display:block}.dito-menu h1{font-weight:700;background:#2e2e2e;border-right:1px solid #141414;color:#fff}.dito-menu .dito-link,.dito-menu h1{padding:14px 16px;line-height:1}.dito-menu .dito-link.dito-active{color:#fff;background:#3898ff}.dito-link:focus:not(:active):not(.dito-active){-webkit-box-shadow:0 0 0 1px #3898ff;box-shadow:0 0 0 1px #3898ff}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-disabled.dito-slider button,.dito-slider:disabled button{opacity:.6;pointer-events:none}.dito-slider{border:1px solid #c7c7c7;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:3px 6px;background:#fff}.dito-has-errors.dito-slider{border-color:#ff3860}.dito-disabled.dito-slider,.dito-slider:disabled{color:grey;pointer-events:none;cursor:text}.dito-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none}.dito-slider::-webkit-input-placeholder{color:grey}.dito-slider::-moz-placeholder{color:grey}.dito-slider::placeholder{color:grey}.dito-focus.dito-slider,.dito-focus.dito-slider .dito-inherit-focus,.dito-slider:focus,.dito-slider:focus-within,.dito-slider:focus-within .dito-inherit-focus,.dito-slider:focus .dito-inherit-focus{border-color:#3898ff}.dito-slider{display:-webkit-box;display:flex}.dito-slider .dito-range{-webkit-box-flex:1;flex:auto;height:calc(1em*var(--line-height))}.dito-slider .dito-number{border:0;padding:0;text-align:right;font-variant-numeric:tabular-nums}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeList.vue?vue&type=style&index=0&lang=sass&\"","module.exports = require(\"vue-color\");","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeUpload.vue?vue&type=style&index=0&lang=sass&\"","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeUpload.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"4a7b6456\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-list{position:relative}.dito-list .dito-navigation{display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;padding-bottom:8px;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.dito-list .dito-navigation:empty{display:none}.dito-list .dito-navigation .dito-pagination,.dito-list .dito-navigation .dito-scopes{display:-webkit-box;display:flex;-webkit-box-flex:0;flex:0 1 auto;min-width:0}.dito-list.dito-single{display:grid;grid-template-rows:-webkit-min-content;grid-template-rows:min-content;height:100%}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-schema-inlined>.dito-schema-content{padding:0}.dito-schema-inlined>.dito-schema-content>.dito-schema-header{margin:-6px}.dito-schema-inlined>.dito-schema-content>.dito-schema-header .dito-label{--label-padding:6px;margin:0;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;max-width:900px}.dito-schema-inlined>.dito-schema-content>.dito-schema-header+.dito-pane{min-height:6px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-object{display:-webkit-box;display:flex;border:1px solid #c7c7c7;border-radius:4px;margin:0;padding:6px;-webkit-box-sizing:border-box;box-sizing:border-box}.dito-object .dito-object-content{-webkit-box-flex:0;flex:0 1 100%}.dito-object>.dito-buttons{-webkit-box-flex:1;flex:1 0 0%;margin-left:6px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeRadio.vue?vue&type=style&index=0&lang=sass&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-account{position:relative}.dito-account .dito-pulldown{top:.5em}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeTextarea.vue?vue&type=style&index=0&lang=sass&\"","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeColor.vue?vue&type=style&index=0&lang=sass&\"","var toString = require('../internals/to-string');\n\nmodule.exports = function (argument, $default) {\n return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);\n};\n","var call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeSlider.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"750acbd4\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar TypeError = global.TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\n// https://github.com/tc39/proposal-iterator-helpers\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar IS_PURE = require('../internals/is-pure');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nvar NativeIterator = global.Iterator;\n\n// FF56- have non-standard global helper `Iterator`\nvar FORCED = IS_PURE\n || !isCallable(NativeIterator)\n || NativeIterator.prototype !== IteratorPrototype\n // FF44- non-standard `Iterator` passes previous tests\n || !fails(function () { NativeIterator({}); });\n\nvar IteratorConstructor = function Iterator() {\n anInstance(this, IteratorPrototype);\n};\n\nif (!hasOwn(IteratorPrototype, TO_STRING_TAG)) {\n createNonEnumerableProperty(IteratorPrototype, TO_STRING_TAG, 'Iterator');\n}\n\nif (FORCED || !hasOwn(IteratorPrototype, 'constructor') || IteratorPrototype.constructor === Object) {\n createNonEnumerableProperty(IteratorPrototype, 'constructor', IteratorConstructor);\n}\n\nIteratorConstructor.prototype = IteratorPrototype;\n\n$({ global: true, forced: FORCED }, {\n Iterator: IteratorConstructor\n});\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-multiselect{position:relative}.dito-multiselect .multiselect{font-size:inherit;min-height:inherit;color:#0a0a0a}.dito-multiselect .multiselect__tags{font-size:inherit;overflow:auto;min-height:inherit;padding:0 2em 0 0;padding-bottom:2px}.dito-multiselect .multiselect__tag{float:left;margin:2px 0 0 2px;border-radius:1em;padding:3px 1.8em 3px .8em;line-height:1.1em}.dito-multiselect .multiselect__tags-wrap{overflow:auto;line-height:0}.dito-multiselect .multiselect__input,.dito-multiselect .multiselect__placeholder,.dito-multiselect .multiselect__single{font-size:inherit;line-height:inherit;min-height:0;margin:0 0 1px 0;padding:3px 6px!important;padding-bottom:0!important;background:none}.dito-multiselect .multiselect__input::-webkit-input-placeholder{color:grey}.dito-multiselect .multiselect__input::-moz-placeholder{color:grey}.dito-multiselect .multiselect__input::placeholder,.dito-multiselect .multiselect__placeholder{color:grey}.dito-multiselect .multiselect--active .multiselect__placeholder{display:inline-block;visibility:hidden}.dito-multiselect .multiselect__select,.dito-multiselect .multiselect__spinner{padding:0;top:1px;right:1px;bottom:1px;height:inherit;border-radius:4px}.dito-multiselect .multiselect__select{width:0;margin-right:1em}.dito-multiselect .multiselect__select:before{position:absolute;border:1px solid #3898ff;border-right:0;border-top:0;content:\\\"\\\";width:.5em;height:.5em;pointer-events:none;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);margin:auto;top:0;bottom:0;bottom:2px;right:-.25em}.dito-multiselect .multiselect__spinner{width:2em}.dito-multiselect .multiselect__spinner:after,.dito-multiselect .multiselect__spinner:before{border-width:3px;border-top-color:#3898ff;top:0;right:0;bottom:0;left:0;margin:auto}.dito-multiselect .multiselect__option{min-height:unset;height:unset;line-height:1.1em;padding:3px 6px}.dito-multiselect .multiselect__option:after{padding:3px 6px;line-height:1.1em}.dito-multiselect .multiselect__option--highlight:after{diplay:block;position:absolute;background:transparent;color:#fff}.dito-multiselect .multiselect__option--disabled{background:none;color:grey}.dito-multiselect .multiselect__tag-icon{background:none;border-radius:1em;font-weight:inherit;line-height:1.4em;width:1.8em}.dito-multiselect .multiselect__tag-icon:after{color:#fff;font-size:1.3em}.dito-multiselect .multiselect__tag-icon:hover:after{color:#0a0a0a}.dito-multiselect .multiselect__option--selected{background:#b3d7ff;color:#0a0a0a;font-weight:400}.dito-multiselect .multiselect__option--selected.multiselect__option--highlight{color:#fff}.dito-multiselect .multiselect__option--highlight,.dito-multiselect .multiselect__tag{background:#3898ff;color:#fff}.dito-multiselect .multiselect__content-wrapper,.dito-multiselect .multiselect__tags{border:1px solid #c7c7c7;border-radius:4px}.dito-multiselect.dito-multiselect-single{--input-width:100%}.dito-multiselect.dito-multiselect-multiple{--input-width:auto}.dito-multiselect .multiselect--active .multiselect__input,.dito-multiselect .multiselect--active .multiselect__single{width:var(--input-width)!important}.dito-multiselect .multiselect--active .multiselect__tags{border-color:#3898ff;border-bottom-left-radius:0;border-bottom-right-radius:0}.dito-multiselect .multiselect--active .multiselect__content-wrapper{border:1px solid #3898ff;border-top-color:#c7c7c7;margin:-1px 0 0;border-top-left-radius:0;border-top-right-radius:0}.dito-multiselect .multiselect--active.multiselect--above .multiselect__tags{border-radius:4px;border-top-left-radius:0;border-top-right-radius:0}.dito-multiselect .multiselect--active.multiselect--above .multiselect__content-wrapper{border:1px solid #3898ff;border-bottom-color:#c7c7c7;margin:0 0 -1px;border-radius:4px;border-bottom-left-radius:0;border-bottom-right-radius:0}.dito-multiselect.dito-has-errors .multiselect__tags{border-color:#ff3860}.dito-multiselect .dito-button-clear{width:2em}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeColor.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"5d8c20f0\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoContainer.vue?vue&type=style&index=0&lang=sass&\"","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoTreeItem.vue?vue&type=style&index=0&lang=sass&\"","module.exports = require(\"vue-notification\");","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar $ = require('../internals/export');\nvar addAll = require('../internals/collection-add-all');\n\n// `Set.prototype.addAll` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Set', proto: true, real: true, forced: true }, {\n addAll: addAll\n});\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","module.exports = require(\"vue-js-modal\");","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\n\n// `Map.prototype.emplace` method\n// https://github.com/thumbsupep/proposal-upsert\nmodule.exports = function emplace(key, handler) {\n var map = anObject(this);\n var get = aCallable(map.get);\n var has = aCallable(map.has);\n var set = aCallable(map.set);\n var value = (call(has, map, key) && 'update' in handler)\n ? handler.update(call(get, map, key), key, map)\n : handler.insert(key, map);\n call(set, map, key, value);\n return value;\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\n// https://github.com/tc39/proposal-iterator-helpers\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar createAsyncIteratorProxy = require('../internals/async-iterator-create-proxy');\nvar getAsyncIterator = require('../internals/get-async-iterator');\n\nvar AsyncIteratorProxy = createAsyncIteratorProxy(function (Promise) {\n var state = this;\n var mapper = state.mapper;\n var innerIterator;\n\n return new Promise(function (resolve, reject) {\n var outerLoop = function () {\n try {\n Promise.resolve(anObject(call(state.next, state.iterator))).then(function (step) {\n try {\n if (anObject(step).done) {\n state.done = true;\n resolve({ done: true, value: undefined });\n } else {\n Promise.resolve(mapper(step.value)).then(function (mapped) {\n try {\n state.innerIterator = innerIterator = getAsyncIterator(mapped);\n state.innerNext = aCallable(innerIterator.next);\n return innerLoop();\n } catch (error2) { reject(error2); }\n }, reject);\n }\n } catch (error1) { reject(error1); }\n }, reject);\n } catch (error) { reject(error); }\n };\n\n var innerLoop = function () {\n if (innerIterator = state.innerIterator) {\n try {\n Promise.resolve(anObject(call(state.innerNext, innerIterator))).then(function (result) {\n try {\n if (anObject(result).done) {\n state.innerIterator = state.innerNext = null;\n outerLoop();\n } else resolve({ done: false, value: result.value });\n } catch (error1) { reject(error1); }\n }, reject);\n } catch (error) { reject(error); }\n } else outerLoop();\n };\n\n innerLoop();\n });\n});\n\n$({ target: 'AsyncIterator', proto: true, real: true, forced: true }, {\n flatMap: function flatMap(mapper) {\n return new AsyncIteratorProxy({\n iterator: anObject(this),\n mapper: aCallable(mapper),\n innerIterator: null,\n innerNext: null\n });\n }\n});\n","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar TypeError = global.TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar anObject = require('../internals/an-object');\nvar getIterator = require('../internals/get-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Set.prototype.isSubsetOf` method\n// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSubsetOf\n$({ target: 'Set', proto: true, real: true, forced: true }, {\n isSubsetOf: function isSubsetOf(iterable) {\n var iterator = getIterator(this);\n var otherSet = anObject(iterable);\n var hasCheck = otherSet.has;\n if (!isCallable(hasCheck)) {\n otherSet = new (getBuiltIn('Set'))(iterable);\n hasCheck = aCallable(otherSet.has);\n }\n return !iterate(iterator, function (value, stop) {\n if (call(hasCheck, otherSet, value) === false) return stop();\n }, { IS_ITERATOR: true, INTERRUPTED: true }).stopped;\n }\n});\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoContainer.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"95a08b0a\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var name = options && options.name !== undefined ? options.name : key;\n var state;\n if (isCallable(value)) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n createNonEnumerableProperty(value, 'name', name);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar speciesConstructor = require('../internals/species-constructor');\nvar iterate = require('../internals/iterate');\n\n// `Set.prototype.union` method\n// https://github.com/tc39/proposal-set-methods\n$({ target: 'Set', proto: true, real: true, forced: true }, {\n union: function union(iterable) {\n var set = anObject(this);\n var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(set);\n iterate(iterable, aCallable(newSet.add), { that: newSet });\n return newSet;\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar deleteAll = require('../internals/collection-delete-all');\n\n// `Set.prototype.deleteAll` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Set', proto: true, real: true, forced: true }, {\n deleteAll: deleteAll\n});\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoPanels.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"46d67edf\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var call = require('../internals/function-call');\n\nmodule.exports = function (it) {\n // eslint-disable-next-line es/no-set -- safe\n return call(Set.prototype.values, it);\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared-store');\nvar isCallable = require('../internals/is-callable');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar USE_FUNCTION_CONSTRUCTOR = 'USE_FUNCTION_CONSTRUCTOR';\nvar ASYNC_ITERATOR = wellKnownSymbol('asyncIterator');\nvar AsyncIterator = global.AsyncIterator;\nvar PassedAsyncIteratorPrototype = shared.AsyncIteratorPrototype;\nvar AsyncIteratorPrototype, prototype;\n\nif (PassedAsyncIteratorPrototype) {\n AsyncIteratorPrototype = PassedAsyncIteratorPrototype;\n} else if (isCallable(AsyncIterator)) {\n AsyncIteratorPrototype = AsyncIterator.prototype;\n} else if (shared[USE_FUNCTION_CONSTRUCTOR] || global[USE_FUNCTION_CONSTRUCTOR]) {\n try {\n // eslint-disable-next-line no-new-func -- we have no alternatives without usage of modern syntax\n prototype = getPrototypeOf(getPrototypeOf(getPrototypeOf(Function('return async function*(){}()')())));\n if (getPrototypeOf(prototype) === Object.prototype) AsyncIteratorPrototype = prototype;\n } catch (error) { /* empty */ }\n}\n\nif (!AsyncIteratorPrototype) AsyncIteratorPrototype = {};\nelse if (IS_PURE) AsyncIteratorPrototype = create(AsyncIteratorPrototype);\n\nif (!isCallable(AsyncIteratorPrototype[ASYNC_ITERATOR])) {\n redefine(AsyncIteratorPrototype, ASYNC_ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = AsyncIteratorPrototype;\n","/* eslint-disable no-proto -- safe */\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoAccount.vue?vue&type=style&index=0&lang=sass&\"","'use strict';\n// https://github.com/tc39/proposal-iterator-helpers\nvar $ = require('../internals/export');\nvar $forEach = require('../internals/async-iterator-iteration').forEach;\n\n$({ target: 'AsyncIterator', proto: true, real: true, forced: true }, {\n forEach: function forEach(fn) {\n return $forEach(this, fn);\n }\n});\n","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoCreateButton.vue?vue&type=style&index=0&lang=sass&\"","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoPane.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"166a653f\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","'use strict';\n// https://github.com/tc39/proposal-iterator-helpers\nvar $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar anObject = require('../internals/an-object');\n\n$({ target: 'Iterator', proto: true, real: true, forced: true }, {\n forEach: function forEach(fn) {\n iterate(anObject(this), fn, { IS_ITERATOR: true });\n }\n});\n","module.exports = require(\"nanoid\");","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar replace = uncurryThis(''.replace);\n\nvar TEST = (function (arg) { return String(Error(arg).stack); })('zxcasd');\nvar V8_OR_CHAKRA_STACK_ENTRY = /\\n\\s*at [^:]*:[^\\n]*/;\nvar IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);\n\nmodule.exports = function (stack, dropEntries) {\n if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string') {\n while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');\n } return stack;\n};\n","var lengthOfArrayLike = require('../internals/length-of-array-like');\n\nmodule.exports = function (Constructor, list) {\n var index = 0;\n var length = lengthOfArrayLike(list);\n var result = new Constructor(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-checkboxes label{height:2em;line-height:2em;display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center}.dito-checkboxes .dito-checkbox{margin-right:6px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeSelect.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"3bd0194c\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","module.exports = require(\"axios\");","var global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Object = global.Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it));\n};\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeCheckboxes.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"5dcb8394\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeCheckboxes.vue?vue&type=style&index=0&lang=sass&\"","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeObject.vue?vue&type=style&index=0&lang=sass&\"","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeCheckbox.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"53f2d49a\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-upload .dito-table tr{vertical-align:middle}.dito-upload .dito-button-add-upload{padding:0}.dito-upload .dito-button-add-upload>*{position:absolute;cursor:pointer}.dito-upload .dito-upload-footer{display:-webkit-box;display:flex;-webkit-box-pack:end;justify-content:flex-end;-webkit-box-align:center;align-items:center}.dito-upload .dito-upload-footer .dito-progress{-webkit-box-flex:1;flex:auto;margin-right:6px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoCreateButton.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"1fcb1b02\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","'use strict';\n// https://github.com/tc39/proposal-iterator-helpers\nvar $ = require('../internals/export');\nvar iterate = require('../internals/iterate');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\n\n$({ target: 'Iterator', proto: true, real: true, forced: true }, {\n some: function some(fn) {\n anObject(this);\n aCallable(fn);\n return iterate(this, function (value, stop) {\n if (fn(value)) return stop();\n }, { IS_ITERATOR: true, INTERRUPTED: true }).stopped;\n }\n});\n","module.exports = {};\n","var global = require('../internals/global');\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar Object = global.Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeRadio.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"f69926f0\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-header{background:#0a0a0a;font-size:14px;line-height:1;z-index:1000;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.dito-header span{display:inline-block;padding:14px 16px;color:#fff}.dito-header .dito-trail{-webkit-box-sizing:border-box;box-sizing:border-box;height:3em;width:100%;max-width:916px}.dito-header .dito-trail,.dito-header .dito-trail ul{display:-webkit-box;display:flex}.dito-header .dito-trail a{position:relative;display:block;padding-right:.4em}.dito-header .dito-trail a:hover{color:#999}.dito-header .dito-trail a:after,.dito-header .dito-trail a:before{position:absolute;content:\\\"\\\";width:1px;height:1.2em;right:-1px;background:#474747}.dito-header .dito-trail a:before{top:50%;-webkit-transform:rotate(33deg);transform:rotate(33deg);-webkit-transform-origin:top;transform-origin:top}.dito-header .dito-trail a:after{bottom:50%;-webkit-transform:rotate(-33deg);transform:rotate(-33deg);-webkit-transform-origin:bottom;transform-origin:bottom}.dito-header .dito-spinner{margin-top:14px}.dito-header .dito-dirty:after{content:\\\"\\\";display:inline-block;background-color:#fff;width:8px;height:8px;margin:2px;margin-left:.5em;border-radius:100%}.dito-header .dito-account,.dito-header .dito-login{position:absolute;top:0;cursor:pointer}.dito-header .dito-account{left:932px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoSchema.vue?vue&type=style&index=0&lang=sass&\"","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar speciesConstructor = require('../internals/species-constructor');\nvar getSetIterator = require('../internals/get-set-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Set.prototype.map` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Set', proto: true, real: true, forced: true }, {\n map: function map(callbackfn /* , thisArg */) {\n var set = anObject(this);\n var iterator = getSetIterator(set);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var newSet = new (speciesConstructor(set, getBuiltIn('Set')))();\n var adder = aCallable(newSet.add);\n iterate(iterator, function (value) {\n call(adder, newSet, boundFunction(value, value, set));\n }, { IS_ITERATOR: true });\n return newSet;\n }\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar $ = require('../internals/export');\nvar anObject = require('../internals/an-object');\nvar bind = require('../internals/function-bind-context');\nvar getSetIterator = require('../internals/get-set-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Set.prototype.find` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Set', proto: true, real: true, forced: true }, {\n find: function find(callbackfn /* , thisArg */) {\n var set = anObject(this);\n var iterator = getSetIterator(set);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return iterate(iterator, function (value, stop) {\n if (boundFunction(value, value, set)) return stop(value);\n }, { IS_ITERATOR: true, INTERRUPTED: true }).result;\n }\n});\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-select{display:inline-block;position:relative}.dito-select select{padding-right:2em}.dito-select.dito-width-fill select{width:100%}.dito-select:after{position:absolute;border:1px solid #3898ff;border-right:0;border-top:0;content:\\\"\\\";width:.5em;height:.5em;pointer-events:none;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);margin:auto;top:0;bottom:0;bottom:2px;right:calc(.75em + 1px)}.dito-select.dito-disabled:after{border-color:#c7c7c7}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar objectCreate = require('../internals/object-create');\nvar arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\n\nvar Array = global.Array;\nvar push = uncurryThis([].push);\n\nmodule.exports = function ($this, callbackfn, that, specificConstructor) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that);\n var target = objectCreate(null);\n var length = lengthOfArrayLike(self);\n var index = 0;\n var Constructor, key, value;\n for (;length > index; index++) {\n value = self[index];\n key = toPropertyKey(boundFunction(value, index, O));\n // in some IE10 builds, `hasOwnProperty` returns incorrect result on integer keys\n // but since it's a `null` prototype object, we can safely use `in`\n if (key in target) push(target[key], value);\n else target[key] = [value];\n }\n // TODO: Remove this block from `core-js@4`\n if (specificConstructor) {\n Constructor = specificConstructor(O);\n if (Constructor !== Array) {\n for (key in target) target[key] = arrayFromConstructorAndList(Constructor, target[key]);\n }\n } return target;\n};\n","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoPanel.vue?vue&type=style&index=0&lang=sass&\"","module.exports = require(\"tiptap-extensions\");","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoTableHead.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"49a4d315\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-tree-item{--chevron-indent:1.2em}.dito-tree-item>.dito-tree-header>.dito-tree-branch,.dito-tree-item>.dito-tree-header>.dito-tree-leaf{padding-left:calc(var(--chevron-indent)*(var(--level, 1) - 1))}.dito-tree-item .dito-tree-branch{cursor:pointer}.dito-tree-item .dito-tree-header{display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between}.dito-tree-item .dito-tree-branch,.dito-tree-item .dito-tree-leaf{display:-webkit-box;display:flex;-webkit-box-flex:1;flex:auto;position:relative;margin:1px 0;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.dito-tree-item .dito-tree-info,.dito-tree-item .dito-tree-label{white-space:nowrap}.dito-tree-item .dito-tree-info{padding-left:.35em;color:rgba(10,10,10,.2)}.dito-tree-item .dito-buttons{display:-webkit-box;display:flex;visibility:hidden;height:100%;margin-left:1em;margin:1px 0 1px 1em}.dito-tree-item .dito-tree-header:hover>.dito-buttons{visibility:visible}.dito-tree-item.dito-dragging .dito-tree-header>.dito-buttons{visibility:hidden}.dito-tree-item.dito-active>.dito-tree-header{background:#3898ff;padding:0 6px;margin:0 -6px}.dito-tree-item.dito-active>.dito-tree-header>*>.dito-tree-label,.dito-tree-item.dito-active>.dito-tree-header>.dito-tree-branch>.dito-chevron:before{color:#fff}.dito-tree-item .dito-properties{display:block;margin-left:1.2em}.dito-tree-item .dito-properties>tr{vertical-align:baseline}.dito-tree-item .dito-properties .dito-label{margin:0}.dito-tree-item .dito-properties .dito-label:after{content:\\\": \\\"}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var fails = require('../internals/fails');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = !fails(function () {\n var error = Error('a');\n if (!('stack' in error)) return true;\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));\n return error.stack !== 7;\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar anObject = require('../internals/an-object');\nvar bind = require('../internals/function-bind-context');\nvar getSetIterator = require('../internals/get-set-iterator');\nvar iterate = require('../internals/iterate');\n\n// `Set.prototype.every` method\n// https://github.com/tc39/proposal-collection-methods\n$({ target: 'Set', proto: true, real: true, forced: true }, {\n every: function every(callbackfn /* , thisArg */) {\n var set = anObject(this);\n var iterator = getSetIterator(set);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return !iterate(iterator, function (value, stop) {\n if (!boundFunction(value, value, set)) return stop();\n }, { IS_ITERATOR: true, INTERRUPTED: true }).stopped;\n }\n});\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar TypeError = global.TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeSlider.vue?vue&type=style&index=0&lang=sass&\"","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".v--modal-overlay{z-index:2000}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","'use strict';\nvar apply = require('../internals/function-apply');\nvar anObject = require('../internals/an-object');\nvar create = require('../internals/object-create');\nvar getMethod = require('../internals/get-method');\nvar redefineAll = require('../internals/redefine-all');\nvar InternalStateModule = require('../internals/internal-state');\nvar getBuiltIn = require('../internals/get-built-in');\nvar AsyncIteratorPrototype = require('../internals/async-iterator-prototype');\n\nvar Promise = getBuiltIn('Promise');\n\nvar ASYNC_FROM_SYNC_ITERATOR = 'AsyncFromSyncIterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ASYNC_FROM_SYNC_ITERATOR);\n\nvar asyncFromSyncIteratorContinuation = function (result, resolve, reject) {\n var done = result.done;\n Promise.resolve(result.value).then(function (value) {\n resolve({ done: done, value: value });\n }, reject);\n};\n\nvar AsyncFromSyncIterator = function AsyncIterator(iterator) {\n setInternalState(this, {\n type: ASYNC_FROM_SYNC_ITERATOR,\n iterator: anObject(iterator),\n next: iterator.next\n });\n};\n\nAsyncFromSyncIterator.prototype = redefineAll(create(AsyncIteratorPrototype), {\n next: function next(arg) {\n var state = getInternalState(this);\n var hasArg = !!arguments.length;\n return new Promise(function (resolve, reject) {\n var result = anObject(apply(state.next, state.iterator, hasArg ? [arg] : []));\n asyncFromSyncIteratorContinuation(result, resolve, reject);\n });\n },\n 'return': function (arg) {\n var iterator = getInternalState(this).iterator;\n var hasArg = !!arguments.length;\n return new Promise(function (resolve, reject) {\n var $return = getMethod(iterator, 'return');\n if ($return === undefined) return resolve({ done: true, value: arg });\n var result = anObject(apply($return, iterator, hasArg ? [arg] : []));\n asyncFromSyncIteratorContinuation(result, resolve, reject);\n });\n },\n 'throw': function (arg) {\n var iterator = getInternalState(this).iterator;\n var hasArg = !!arguments.length;\n return new Promise(function (resolve, reject) {\n var $throw = getMethod(iterator, 'throw');\n if ($throw === undefined) return reject(arg);\n var result = anObject(apply($throw, iterator, hasArg ? [arg] : []));\n asyncFromSyncIteratorContinuation(result, resolve, reject);\n });\n }\n});\n\nmodule.exports = AsyncFromSyncIterator;\n","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoScopes.vue?vue&type=style&index=0&lang=sass&\"","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeObject.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"7e89c4d2\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","/* eslint-disable no-unused-vars -- required for functions `.length` */\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar wrapErrorConstructorWithCause = require('../internals/wrap-error-constructor-with-cause');\n\nvar WEB_ASSEMBLY = 'WebAssembly';\nvar WebAssembly = global[WEB_ASSEMBLY];\n\nvar FORCED = Error('e', { cause: 7 }).cause !== 7;\n\nvar exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) {\n var O = {};\n O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED);\n $({ global: true, forced: FORCED }, O);\n};\n\nvar exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) {\n if (WebAssembly && WebAssembly[ERROR_NAME]) {\n var O = {};\n O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED);\n $({ target: WEB_ASSEMBLY, stat: true, forced: FORCED }, O);\n }\n};\n\n// https://github.com/tc39/proposal-error-cause\nexportGlobalErrorCauseWrapper('Error', function (init) {\n return function Error(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('EvalError', function (init) {\n return function EvalError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('RangeError', function (init) {\n return function RangeError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('ReferenceError', function (init) {\n return function ReferenceError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('SyntaxError', function (init) {\n return function SyntaxError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('TypeError', function (init) {\n return function TypeError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('URIError', function (init) {\n return function URIError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('CompileError', function (init) {\n return function CompileError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('LinkError', function (init) {\n return function LinkError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) {\n return function RuntimeError(message) { return apply(init, this, arguments); };\n});\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-create-button{position:relative}.dito-create-button .dito-pulldown{right:0}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument)) return argument;\n throw TypeError(\"Can't set \" + String(argument) + ' as a prototype');\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoTableHead.vue?vue&type=style&index=0&lang=sass&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-buttons>.dito-container{padding:0}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-panel{margin-bottom:16px}.dito-panel .dito-panel-title{display:block;-webkit-box-sizing:border-box;box-sizing:border-box;padding:3px 6px;background:#e0e0e0;border:1px solid #c7c7c7;border-top-left-radius:4px;border-top-right-radius:4px}.dito-panel .dito-panel-schema{font-size:11px;background:#ededed;border:1px solid #c7c7c7;border-top:0;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.dito-panel .dito-panel-schema>.dito-schema-content{padding:3px 6px}.dito-panel .dito-panel-schema>.dito-schema-content>.dito-buttons{--button-margin:6px;padding:3px 0}.dito-panel .dito-panel-schema .dito-object{border:0;padding:0}.dito-panel .dito-panel-schema .dito-label{margin:0}.dito-panel .dito-panel-schema .dito-label label{font-weight:400}.dito-panel .dito-panel-schema .dito-pane{margin:0 -3px}.dito-panel .dito-panel-schema .dito-container{padding:3px}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TypeSection.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"f45319f0\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoTabs.vue?vue&type=style&index=0&lang=sass&\"","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dito-table-head{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.dito-table-head tr th{padding:0;font-weight:400;text-align:left;white-space:nowrap}.dito-table-head tr th .dito-button{padding:0;width:100%;text-align:inherit;border-radius:0}.dito-table-head tr th span{display:inline-block;padding:3px 6px}.dito-table-head tr th span:empty:after{content:\\\" \\\"}.dito-table-head tr th>span{display:block}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoHeader.vue?vue&type=style&index=0&lang=sass&\"","'use strict';\n// https://github.com/tc39/proposal-iterator-helpers\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar getBuiltIn = require('../internals/get-built-in');\n\nvar Promise = getBuiltIn('Promise');\nvar TypeError = global.TypeError;\n\n$({ target: 'AsyncIterator', proto: true, real: true, forced: true }, {\n reduce: function reduce(reducer /* , initialValue */) {\n var iterator = anObject(this);\n var next = aCallable(iterator.next);\n var noInitial = arguments.length < 2;\n var accumulator = noInitial ? undefined : arguments[1];\n aCallable(reducer);\n\n return new Promise(function (resolve, reject) {\n var loop = function () {\n try {\n Promise.resolve(anObject(call(next, iterator))).then(function (step) {\n try {\n if (anObject(step).done) {\n noInitial ? reject(TypeError('Reduce of empty iterator with no initial value')) : resolve(accumulator);\n } else {\n var value = step.value;\n if (noInitial) {\n noInitial = false;\n accumulator = value;\n loop();\n } else {\n Promise.resolve(reducer(accumulator, value)).then(function (result) {\n accumulator = result;\n loop();\n }, reject);\n }\n }\n } catch (err) { reject(err); }\n }, reject);\n } catch (error) { reject(error); }\n };\n\n loop();\n });\n }\n});\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"fieldset[disabled] .multiselect{pointer-events:none}.multiselect__spinner{position:absolute;right:1px;top:1px;width:48px;height:35px;background:#fff;display:block}.multiselect__spinner:after,.multiselect__spinner:before{position:absolute;content:\\\"\\\";top:50%;left:50%;margin:-8px 0 0 -8px;width:16px;height:16px;border-radius:100%;border:2px solid transparent;border-top-color:#41b883;box-shadow:0 0 0 1px transparent}.multiselect__spinner:before{-webkit-animation:spinning 2.4s cubic-bezier(.41,.26,.2,.62);animation:spinning 2.4s cubic-bezier(.41,.26,.2,.62);-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.multiselect__spinner:after{-webkit-animation:spinning 2.4s cubic-bezier(.51,.09,.21,.8);animation:spinning 2.4s cubic-bezier(.51,.09,.21,.8);-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.multiselect__loading-enter-active,.multiselect__loading-leave-active{transition:opacity .4s ease-in-out;opacity:1}.multiselect__loading-enter,.multiselect__loading-leave-active{opacity:0}.multiselect,.multiselect__input,.multiselect__single{font-family:inherit;font-size:16px;touch-action:manipulation}.multiselect{box-sizing:content-box;display:block;position:relative;width:100%;min-height:40px;text-align:left;color:#35495e}.multiselect *{box-sizing:border-box}.multiselect:focus{outline:none}.multiselect--disabled{background:#ededed;pointer-events:none;opacity:.6}.multiselect--active{z-index:50}.multiselect--active:not(.multiselect--above) .multiselect__current,.multiselect--active:not(.multiselect--above) .multiselect__input,.multiselect--active:not(.multiselect--above) .multiselect__tags{border-bottom-left-radius:0;border-bottom-right-radius:0}.multiselect--active .multiselect__select{transform:rotate(180deg)}.multiselect--above.multiselect--active .multiselect__current,.multiselect--above.multiselect--active .multiselect__input,.multiselect--above.multiselect--active .multiselect__tags{border-top-left-radius:0;border-top-right-radius:0}.multiselect__input,.multiselect__single{position:relative;display:inline-block;min-height:20px;line-height:20px;border:none;border-radius:5px;background:#fff;padding:0 0 0 5px;width:100%;transition:border .1s ease;box-sizing:border-box;margin-bottom:8px;vertical-align:top}.multiselect__input:-ms-input-placeholder{color:#35495e}.multiselect__input::-moz-placeholder{color:#35495e}.multiselect__input::placeholder{color:#35495e}.multiselect__tag~.multiselect__input,.multiselect__tag~.multiselect__single{width:auto}.multiselect__input:hover,.multiselect__single:hover{border-color:#cfcfcf}.multiselect__input:focus,.multiselect__single:focus{border-color:#a8a8a8;outline:none}.multiselect__single{padding-left:5px;margin-bottom:8px}.multiselect__tags-wrap{display:inline}.multiselect__tags{min-height:40px;display:block;padding:8px 40px 0 8px;border-radius:5px;border:1px solid #e8e8e8;background:#fff;font-size:14px}.multiselect__tag{position:relative;display:inline-block;padding:4px 26px 4px 10px;border-radius:5px;margin-right:10px;color:#fff;line-height:1;background:#41b883;margin-bottom:5px;white-space:nowrap;overflow:hidden;max-width:100%;text-overflow:ellipsis}.multiselect__tag-icon{cursor:pointer;margin-left:7px;position:absolute;right:0;top:0;bottom:0;font-weight:700;font-style:normal;width:22px;text-align:center;line-height:22px;transition:all .2s ease;border-radius:5px}.multiselect__tag-icon:after{content:\\\"\\\\D7\\\";color:#266d4d;font-size:14px}.multiselect__tag-icon:focus,.multiselect__tag-icon:hover{background:#369a6e}.multiselect__tag-icon:focus:after,.multiselect__tag-icon:hover:after{color:#fff}.multiselect__current{min-height:40px;overflow:hidden;padding:8px 30px 0 12px;white-space:nowrap;border-radius:5px;border:1px solid #e8e8e8}.multiselect__current,.multiselect__select{line-height:16px;box-sizing:border-box;display:block;margin:0;text-decoration:none;cursor:pointer}.multiselect__select{position:absolute;width:40px;height:38px;right:1px;top:1px;padding:4px 8px;text-align:center;transition:transform .2s ease}.multiselect__select:before{position:relative;right:0;top:65%;color:#999;margin-top:4px;border-color:#999 transparent transparent;border-style:solid;border-width:5px 5px 0;content:\\\"\\\"}.multiselect__placeholder{color:#adadad;display:inline-block;margin-bottom:10px;padding-top:2px}.multiselect--active .multiselect__placeholder{display:none}.multiselect__content-wrapper{position:absolute;display:block;background:#fff;width:100%;max-height:240px;overflow:auto;border:1px solid #e8e8e8;border-top:none;border-bottom-left-radius:5px;border-bottom-right-radius:5px;z-index:50;-webkit-overflow-scrolling:touch}.multiselect__content{list-style:none;display:inline-block;padding:0;margin:0;min-width:100%;vertical-align:top}.multiselect--above .multiselect__content-wrapper{bottom:100%;border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom:none;border-top:1px solid #e8e8e8}.multiselect__content::webkit-scrollbar{display:none}.multiselect__element{display:block}.multiselect__option{display:block;padding:12px;min-height:40px;line-height:16px;text-decoration:none;text-transform:none;vertical-align:middle;position:relative;cursor:pointer;white-space:nowrap}.multiselect__option:after{top:0;right:0;position:absolute;line-height:40px;padding-right:12px;padding-left:20px;font-size:13px}.multiselect__option--highlight{background:#41b883;outline:none;color:#fff}.multiselect__option--highlight:after{content:attr(data-select);background:#41b883;color:#fff}.multiselect__option--selected{background:#f3f3f3;color:#35495e;font-weight:700}.multiselect__option--selected:after{content:attr(data-selected);color:silver}.multiselect__option--selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect--disabled .multiselect__current,.multiselect--disabled .multiselect__select{background:#ededed;color:#a6a6a6}.multiselect__option--disabled{background:#ededed!important;color:#a6a6a6!important;cursor:text;pointer-events:none}.multiselect__option--group{background:#ededed;color:#35495e}.multiselect__option--group.multiselect__option--highlight{background:#35495e;color:#fff}.multiselect__option--group.multiselect__option--highlight:after{background:#35495e}.multiselect__option--disabled.multiselect__option--highlight{background:#dedede}.multiselect__option--group-selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--group-selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect-enter-active,.multiselect-leave-active{transition:all .15s ease}.multiselect-enter,.multiselect-leave-active{opacity:0}.multiselect__strong{margin-bottom:8px;line-height:20px;display:inline-block;vertical-align:top}[dir=rtl] .multiselect{text-align:right}[dir=rtl] .multiselect__select{right:auto;left:1px}[dir=rtl] .multiselect__tags{padding:8px 8px 0 40px}[dir=rtl] .multiselect__content{text-align:right}[dir=rtl] .multiselect__option:after{right:auto;left:0}[dir=rtl] .multiselect__clear{right:auto;left:12px}[dir=rtl] .multiselect__spinner{right:auto;left:1px}@-webkit-keyframes spinning{0%{transform:rotate(0)}to{transform:rotate(2turn)}}@keyframes spinning{0%{transform:rotate(0)}to{transform:rotate(2turn)}}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","export * from \"-!../../../../node_modules/vue-style-loader/index.js??ref--10-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../../node_modules/@vue/cli-service/node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--10-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DitoDialog.vue?vue&type=style&index=0&lang=sass&\"","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n redefine(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","module.exports = require(\"filesize\");"],"sourceRoot":""}
|