@vcmap/ui 5.0.0-rc.8 → 5.0.0-rc.9
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 +69 -22
- package/build/build.js +0 -3
- package/build/buildHelpers.js +0 -1
- package/build/commonViteConfig.js +1 -1
- package/config/dev.config.json +4 -4
- package/dist/assets/{cesium.6b5bb6.js → cesium.4e40f4.js} +0 -0
- package/dist/assets/cesium.js +1 -1
- package/dist/assets/core.edcf5e.js +4 -0
- package/dist/assets/core.js +1 -1
- package/dist/assets/{index.0be2842f.js → index.889d0f3a.js} +1 -1
- package/dist/assets/{ol.0561aa.js → ol.246fd4.js} +0 -0
- package/dist/assets/ol.js +1 -1
- package/dist/assets/ui.df4f6d.css +1 -0
- package/dist/assets/ui.df4f6d.js +43 -0
- package/dist/assets/ui.js +1 -1
- package/dist/assets/{vue-composition-api.f926fa.js → vue-composition-api.a520f3.js} +1 -1
- package/dist/assets/vue-composition-api.js +2 -2
- package/dist/assets/{vue.ddcb6b.js → vue.2cee44.js} +0 -0
- package/dist/assets/vue.js +1 -1
- package/dist/assets/{vuetify.d21163.css → vuetify.cc817b.css} +0 -0
- package/dist/assets/{vuetify.d21163.js → vuetify.cc817b.js} +1 -1
- package/dist/assets/vuetify.js +2 -2
- package/dist/index.html +1 -1
- package/index.js +39 -1
- package/package.json +2 -3
- package/plugins/@vcmap/pluginExample/index.js +5 -5
- package/plugins/@vcmap/pluginExample/pluginExampleComponent.vue +1 -1
- package/plugins/@vcmap/project-selector/ContextsListComponent.vue +1 -1
- package/plugins/@vcmap/project-selector/index.js +5 -5
- package/plugins/@vcmap/project-selector/package.json +1 -2
- package/plugins/@vcmap/theme-changer/index.js +6 -6
- package/plugins/buttonExamples/ButtonExamples.vue +1 -1
- package/plugins/buttonExamples/index.js +5 -4
- package/plugins/categoryTest/Categories.vue +1 -1
- package/plugins/categoryTest/Category.vue +1 -1
- package/plugins/categoryTest/index.js +5 -5
- package/plugins/example/index.js +33 -14
- package/plugins/test/allIconsComponent.vue +34 -0
- package/plugins/test/editor.vue +1 -1
- package/plugins/test/index.js +40 -17
- package/plugins/test/toolbox-data.js +106 -26
- package/plugins/test/windowManagerExample.vue +1 -2
- package/src/actions/actionHelper.js +2 -1
- package/src/actions/styleSelector.vue +1 -1
- package/src/application/Navbar.vue +18 -6
- package/src/application/VcsApp.vue +34 -28
- package/src/assets/logo-mobile.svg +9 -0
- package/src/assets/logo.svg +23 -23
- package/src/components/buttons/VcsActionButtonList.vue +99 -0
- package/src/components/buttons/VcsButton.vue +201 -0
- package/src/components/form-inputs-controls/VcsCheckbox.vue +73 -0
- package/src/components/form-inputs-controls/VcsColorPicker.vue +81 -0
- package/src/components/form-inputs-controls/VcsFormSection.vue +46 -0
- package/src/components/form-inputs-controls/VcsLabel.vue +38 -0
- package/src/components/form-inputs-controls/VcsSelect.vue +97 -0
- package/src/components/form-inputs-controls/VcsTextArea.vue +130 -0
- package/src/components/form-inputs-controls/VcsTextField.vue +129 -0
- package/src/components/form-output/VcsFormattedNumber.vue +103 -0
- package/src/components/lists/VcsActionList.vue +100 -0
- package/src/components/lists/VcsTreeview.vue +109 -0
- package/src/components/lists/VcsTreeviewLeaf.vue +105 -0
- package/src/components/lists/VcsTreeviewSearchbar.vue +156 -0
- package/src/components/notification/VcsBadge.vue +27 -0
- package/src/components/notification/VcsTooltip.vue +154 -0
- package/src/components/notification/validation.js +19 -0
- package/src/contentTree/LayerTree.vue +1 -1
- package/src/contentTree/contentTreeCollection.js +6 -2
- package/src/icons/+all.js +359 -0
- package/src/icons/2DAreaIcon.vue +21 -0
- package/src/icons/2DDistanceIcon.vue +18 -0
- package/src/icons/3DAreaIcon.vue +21 -0
- package/src/icons/3DDistanceIcon.vue +18 -0
- package/src/icons/3DHeightIcon.vue +18 -0
- package/src/icons/AngleIcon.vue +8 -0
- package/src/icons/AssociationsIcon.vue +34 -0
- package/src/icons/AxisIcon.vue +10 -0
- package/src/icons/BoundingBoxIcon.vue +15 -0
- package/src/icons/CheckboxCheckedIcon.vue +16 -0
- package/src/icons/CheckboxIcon.vue +23 -0
- package/src/icons/CheckboxIndeterminateIcon.vue +24 -0
- package/src/icons/CircleIcon.vue +10 -0
- package/src/icons/ColorSwatchIcon.vue +17 -0
- package/src/icons/CommentIcon.vue +19 -0
- package/src/icons/CompassIcon.vue +8 -0
- package/src/icons/ComponentsIcon.vue +7 -0
- package/src/icons/ConeIcon.vue +11 -0
- package/src/icons/DimensionsHouseIcon.vue +14 -0
- package/src/icons/ElevationProfileIcon.vue +111 -0
- package/src/icons/ExportAreaIcon.vue +7 -0
- package/src/icons/ExportFlightIcon.vue +7 -0
- package/src/icons/ExportIcon.vue +8 -0
- package/src/icons/ExternalLinkIcon.vue +10 -0
- package/src/icons/EyeIcon.vue +7 -0
- package/src/icons/FastForwardIcon.vue +7 -0
- package/src/icons/FilterIcon.vue +8 -0
- package/src/icons/GlobeNatureIcon.vue +14 -0
- package/src/icons/HealthCareIndustriesIcon.vue +118 -0
- package/src/icons/HelpIcon.vue +7 -0
- package/src/icons/HomePointIcon.vue +8 -0
- package/src/icons/HospitalsIcon.vue +237 -0
- package/src/icons/HouseIcon.vue +25 -0
- package/src/icons/ImportIcon.vue +8 -0
- package/src/icons/InfoIcon.vue +10 -0
- package/src/icons/KebabIcon.vue +36 -0
- package/src/icons/LabelIcon.vue +7 -0
- package/src/icons/LayersIcon.vue +26 -0
- package/src/icons/LegendIcon.vue +65 -0
- package/src/icons/LineIcon.vue +7 -0
- package/src/icons/LinkIcon.vue +7 -0
- package/src/icons/MapIcon.vue +8 -0
- package/src/icons/MenuIcon.vue +34 -0
- package/src/icons/MinusIcon.vue +8 -0
- package/src/icons/ObjectAttributeIcon.vue +18 -0
- package/src/icons/ObjectSelectIcon.vue +8 -0
- package/src/icons/ObliqueViewIcon.vue +13 -0
- package/src/icons/PdfIcon.vue +10 -0
- package/src/icons/PedestrianIcon.vue +8 -0
- package/src/icons/PenIcon.vue +14 -0
- package/src/icons/PlayCircleIcon.vue +10 -0
- package/src/icons/PlusIcon.vue +9 -0
- package/src/icons/PoiIcon.vue +7 -0
- package/src/icons/PointSelectIcon.vue +7 -0
- package/src/icons/PolygonIcon.vue +38 -0
- package/src/icons/PresentationModeIcon.vue +7 -0
- package/src/icons/ProgressIcon.vue +24 -0
- package/src/icons/QueryIcon.vue +15 -0
- package/src/icons/RectangleIcon.vue +9 -0
- package/src/icons/ReturnIcon.vue +7 -0
- package/src/icons/RewindIcon.vue +6 -0
- package/src/icons/SearchIcon.vue +8 -0
- package/src/icons/ShadowIcon.vue +9 -0
- package/src/icons/ShapesIcon.vue +28 -0
- package/src/icons/ShareIcon.vue +22 -0
- package/src/icons/SimpleCircleFilledIcon.vue +15 -0
- package/src/icons/SimpleCircleHalfFilledIcon.vue +12 -0
- package/src/icons/SimpleCircleOutlinedIcon.vue +15 -0
- package/src/icons/SkipNextIcon.vue +7 -0
- package/src/icons/SkipPreviousIcon.vue +9 -0
- package/src/icons/SplitViewIcon.vue +19 -0
- package/src/icons/TextStyleIcon.vue +14 -0
- package/src/icons/ThreeDimensionsIcon.vue +7 -0
- package/src/icons/ToolsIcon.vue +35 -0
- package/src/icons/TouchIcon.vue +8 -0
- package/src/icons/TrashCanIcon.vue +7 -0
- package/src/icons/TriangleIcon.vue +15 -0
- package/src/icons/TwoDimensionsIcon.vue +8 -0
- package/src/icons/UploadIcon.vue +14 -0
- package/src/icons/VideoRecorderIcon.vue +14 -0
- package/src/icons/WalkingIcon.vue +7 -0
- package/src/icons/WallIcon.vue +14 -0
- package/src/manager/buttonManager.js +5 -53
- package/src/manager/navbarManager.js +81 -0
- package/src/manager/toolbox/ToolboxGroupComponent.vue +128 -0
- package/src/manager/toolbox/ToolboxManager.vue +119 -76
- package/src/manager/toolbox/toolboxManager.js +204 -0
- package/src/manager/window/WindowComponentHeader.vue +1 -1
- package/src/manager/window/WindowManager.vue +18 -1
- package/src/manager/window/windowManager.js +3 -5
- package/src/navigation/mapNavigation.vue +9 -5
- package/src/navigation/orientationToolsButton.vue +1 -1
- package/src/navigation/tiltSlider.vue +1 -1
- package/src/styles/_theming.scss +10 -0
- package/src/styles/main.scss +3 -0
- package/src/styles/variables.scss +70 -0
- package/src/styles/vcsFont.scss +5 -0
- package/src/styles/vcsGrid.scss +4 -0
- package/src/vcsUiApp.js +4 -3
- package/src/vuePlugins/vuetify.js +1 -1
- package/dist/assets/core.98f9bb.js +0 -4
- package/dist/assets/ui.b7c1e3.css +0 -1
- package/dist/assets/ui.b7c1e3.js +0 -39
- package/dist/assets/uicomponents.682c5f.css +0 -1
- package/dist/assets/uicomponents.682c5f.js +0 -32
- package/dist/assets/uicomponents.js +0 -1
- package/lib/uicomponents.js +0 -1
- package/src/manager/toolbox/ToolboxMultiSelectButton.vue +0 -96
- package/src/manager/toolbox/ToolboxSingleSelectButton.vue +0 -98
- package/src/manager/toolbox/toolbox-manager.js +0 -203
package/dist/assets/ui.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export * from "./ui.
|
1
|
+
export * from "./ui.df4f6d.js";
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import un from"./vue.
|
1
|
+
import un from"./vue.2cee44.js";var on=function(e){return Object.prototype.toString.call(e)};function Se(e){return typeof e=="function"&&/native code/.test(e.toString())}var be=typeof Symbol!="undefined"&&Se(Symbol)&&typeof Reflect!="undefined"&&Se(Reflect.ownKeys),I=function(e){return e};function y(e,n,r){var t=r.get,i=r.set;Object.defineProperty(e,n,{enumerable:!0,configurable:!0,get:t||I,set:i||I})}function J(e,n,r,t){Object.defineProperty(e,n,{value:r,enumerable:!!t,writable:!0,configurable:!0})}function C(e,n){return Object.hasOwnProperty.call(e,n)}function an(e,n){if(!e)throw new Error("[vue-composition-api] ".concat(n))}function S(e){return Array.isArray(e)}var fn=Object.prototype.toString,$e=function(e){return fn.call(e)},cn=function(e){return $e(e)==="[object Map]"},sn=function(e){return $e(e)==="[object Set]"},ln=4294967295;function me(e){var n=parseFloat(String(e));return n>=0&&Math.floor(n)===n&&isFinite(e)&&n<=ln}function F(e){return e!==null&&typeof e=="object"}function O(e){return on(e)==="[object Object]"}function $(e){return typeof e=="function"}function vn(e,n){un.util.warn(e,n)}function dn(e,n,r){if(typeof window!="undefined"&&typeof console!="undefined")console.error(e);else throw e}/*! *****************************************************************************
|
2
2
|
Copyright (c) Microsoft Corporation.
|
3
3
|
|
4
4
|
Permission to use, copy, modify, and/or distribute this software for any
|
@@ -1,2 +1,2 @@
|
|
1
|
-
export * from "./vue-composition-api.
|
2
|
-
export { default } from "./vue-composition-api.
|
1
|
+
export * from "./vue-composition-api.a520f3.js";
|
2
|
+
export { default } from "./vue-composition-api.a520f3.js";
|
File without changes
|
package/dist/assets/vue.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export { default } from "./vue.
|
1
|
+
export { default } from "./vue.2cee44.js";
|
File without changes
|
@@ -10,7 +10,7 @@ function loadCss(href) {
|
|
10
10
|
elem.onerror = reject;
|
11
11
|
document.head.appendChild(elem);
|
12
12
|
});
|
13
|
-
} await loadCss('./assets/vuetify.
|
13
|
+
} await loadCss('./assets/vuetify.cc817b.css');var Qr=Object.defineProperty,Jr=Object.defineProperties;var ta=Object.getOwnPropertyDescriptors;var ae=Object.getOwnPropertySymbols;var Xi=Object.prototype.hasOwnProperty,Ki=Object.prototype.propertyIsEnumerable;var Ui=(t,e,i)=>e in t?Qr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i,l=(t,e)=>{for(var i in e||(e={}))Xi.call(e,i)&&Ui(t,i,e[i]);if(ae)for(var i of ae(e))Ki.call(e,i)&&Ui(t,i,e[i]);return t},p=(t,e)=>Jr(t,ta(e));var Z=(t,e)=>{var i={};for(var s in t)Xi.call(t,s)&&e.indexOf(s)<0&&(i[s]=t[s]);if(t!=null&&ae)for(var s of ae(t))e.indexOf(s)<0&&Ki.call(t,s)&&(i[s]=t[s]);return i};import $ from"./vue.2cee44.js";var qu="";const Ye=$.extend().extend({name:"themeable",provide(){return{theme:this.themeableProvide}},inject:{theme:{default:{isDark:!1}}},props:{dark:{type:Boolean,default:null},light:{type:Boolean,default:null}},data(){return{themeableProvide:{isDark:!1}}},computed:{appIsDark(){return this.$vuetify.theme.dark||!1},isDark(){return this.dark===!0?!0:this.light===!0?!1:this.theme.isDark},themeClasses(){return{"theme--dark":this.isDark,"theme--light":!this.isDark}},rootIsDark(){return this.dark===!0?!0:this.light===!0?!1:this.appIsDark},rootThemeClasses(){return{"theme--dark":this.rootIsDark,"theme--light":!this.rootIsDark}}},watch:{isDark:{handler(t,e){t!==e&&(this.themeableProvide.isDark=this.isDark)},immediate:!0}}});var S=Ye;function qi(t){const e=l(l({},t.props),t.injections),i=Ye.options.computed.isDark.call(e);return Ye.options.computed.themeClasses.call({isDark:i})}function f(...t){return $.extend({mixins:t})}var ea=f(S).extend({name:"v-app",props:{dark:{type:Boolean,default:void 0},id:{type:String,default:"app"},light:{type:Boolean,default:void 0}},computed:{isDark(){return this.$vuetify.theme.dark}},beforeCreate(){if(!this.$vuetify||this.$vuetify===this.$root)throw new Error("Vuetify is not properly initialized, see https://vuetifyjs.com/getting-started/quick-start#bootstrapping-the-vuetify-object")},render(t){const e=t("div",{staticClass:"v-application--wrap"},this.$slots.default);return t("div",{staticClass:"v-application",class:l({"v-application--is-rtl":this.$vuetify.rtl,"v-application--is-ltr":!this.$vuetify.rtl},this.themeClasses),attrs:{"data-app":!0},domProps:{id:this.id}},[e])}}),Zu="",Qu="",Ju="";function Zi(t){return function(e,i){for(const s in i)Object.prototype.hasOwnProperty.call(e,s)||this.$delete(this.$data[t],s);for(const s in e)this.$set(this.$data[t],s,e[s])}}var wt=$.extend({data:()=>({attrs$:{},listeners$:{}}),created(){this.$watch("$attrs",Zi("attrs$"),{immediate:!0}),this.$watch("$listeners",Zi("listeners$"),{immediate:!0})}});function je(t,e={}){if(je.installed)return;je.installed=!0,$!==t&&X(`Multiple instances of Vue detected
|
14
14
|
See https://github.com/vuetifyjs/vuetify/issues/4068
|
15
15
|
|
16
16
|
If you're seeing "$attrs is readonly", it's caused by this`);const i=e.components||{},s=e.directives||{};for(const n in s){const r=s[n];t.directive(n,r)}(function n(r){if(r){for(const a in r){const o=r[a];o&&!n(o.$_vuetify_subcomponents)&&t.component(a,o)}return!0}return!1})(i),!t.$_vuetify_installed&&(t.$_vuetify_installed=!0,t.mixin({beforeCreate(){const n=this.$options;n.vuetify?(n.vuetify.init(this,this.$ssrContext),this.$vuetify=t.observable(n.vuetify.framework)):this.$vuetify=n.parent&&n.parent.$vuetify||this},beforeMount(){this.$options.vuetify&&this.$el&&this.$el.hasAttribute("data-server-rendered")&&(this.$vuetify.isHydrating=!0,this.$vuetify.breakpoint.update(!0))},mounted(){this.$options.vuetify&&this.$vuetify.isHydrating&&(this.$vuetify.isHydrating=!1,this.$vuetify.breakpoint.update())}}))}class mt{constructor(){this.framework={}}init(e,i){}}class Qi extends mt{constructor(){super(...arguments);this.bar=0,this.top=0,this.left=0,this.insetFooter=0,this.right=0,this.bottom=0,this.footer=0,this.application={bar:{},top:{},left:{},insetFooter:{},right:{},bottom:{},footer:{}}}register(e,i,s){this.application[i][e]=s,this.update(i)}unregister(e,i){this.application[i][e]!=null&&(delete this.application[i][e],this.update(i))}update(e){this[e]=Object.values(this.application[e]).reduce((i,s)=>i+s,0)}}Qi.property="application";class Ne extends mt{constructor(e){super();this.xs=!1,this.sm=!1,this.md=!1,this.lg=!1,this.xl=!1,this.xsOnly=!1,this.smOnly=!1,this.smAndDown=!1,this.smAndUp=!1,this.mdOnly=!1,this.mdAndDown=!1,this.mdAndUp=!1,this.lgOnly=!1,this.lgAndDown=!1,this.lgAndUp=!1,this.xlOnly=!1,this.name="xs",this.height=0,this.width=0,this.mobile=!0,this.resizeTimeout=0;const{mobileBreakpoint:i,scrollBarWidth:s,thresholds:n}=e[Ne.property];this.mobileBreakpoint=i,this.scrollBarWidth=s,this.thresholds=n}init(){this.update(),typeof window!="undefined"&&window.addEventListener("resize",this.onResize.bind(this),{passive:!0})}update(e=!1){const i=e?0:this.getClientHeight(),s=e?0:this.getClientWidth(),n=s<this.thresholds.xs,r=s<this.thresholds.sm&&!n,a=s<this.thresholds.md-this.scrollBarWidth&&!(r||n),o=s<this.thresholds.lg-this.scrollBarWidth&&!(a||r||n),h=s>=this.thresholds.lg-this.scrollBarWidth;switch(this.height=i,this.width=s,this.xs=n,this.sm=r,this.md=a,this.lg=o,this.xl=h,this.xsOnly=n,this.smOnly=r,this.smAndDown=(n||r)&&!(a||o||h),this.smAndUp=!n&&(r||a||o||h),this.mdOnly=a,this.mdAndDown=(n||r||a)&&!(o||h),this.mdAndUp=!(n||r)&&(a||o||h),this.lgOnly=o,this.lgAndDown=(n||r||a||o)&&!h,this.lgAndUp=!(n||r||a)&&(o||h),this.xlOnly=h,!0){case n:this.name="xs";break;case r:this.name="sm";break;case a:this.name="md";break;case o:this.name="lg";break;default:this.name="xl";break}if(typeof this.mobileBreakpoint=="number"){this.mobile=s<parseInt(this.mobileBreakpoint,10);return}const c={xs:0,sm:1,md:2,lg:3,xl:4},u=c[this.name],d=c[this.mobileBreakpoint];this.mobile=u<=d}onResize(){clearTimeout(this.resizeTimeout),this.resizeTimeout=window.setTimeout(this.update.bind(this),200)}getClientWidth(){return typeof document=="undefined"?0:Math.max(document.documentElement.clientWidth,window.innerWidth||0)}getClientHeight(){return typeof document=="undefined"?0:Math.max(document.documentElement.clientHeight,window.innerHeight||0)}}Ne.property="breakpoint";const ia=t=>t,sa=t=>t**2,na=t=>t*(2-t),ra=t=>t<.5?2*t**2:-1+(4-2*t)*t,aa=t=>t**3,oa=t=>--t**3+1,Ji=t=>t<.5?4*t**3:(t-1)*(2*t-2)*(2*t-2)+1,la=t=>t**4,ha=t=>1- --t**4,ca=t=>t<.5?8*t*t*t*t:1-8*--t*t*t*t,ua=t=>t**5,da=t=>1+--t**5,pa=t=>t<.5?16*t**5:1+16*--t**5;var fa=Object.freeze({__proto__:null,[Symbol.toStringTag]:"Module",linear:ia,easeInQuad:sa,easeOutQuad:na,easeInOutQuad:ra,easeInCubic:aa,easeOutCubic:oa,easeInOutCubic:Ji,easeInQuart:la,easeOutQuart:ha,easeInOutQuart:ca,easeInQuint:ua,easeOutQuint:da,easeInOutQuint:pa});function Ge(t){if(typeof t=="number")return t;let e=es(t);if(!e)throw typeof t=="string"?new Error(`Target element "${t}" not found.`):new TypeError(`Target must be a Number/Selector/HTMLElement/VueComponent, received ${ts(t)} instead.`);let i=0;for(;e;)i+=e.offsetTop,e=e.offsetParent;return i}function ma(t){const e=es(t);if(e)return e;throw typeof t=="string"?new Error(`Container element "${t}" not found.`):new TypeError(`Container must be a Selector/HTMLElement/VueComponent, received ${ts(t)} instead.`)}function ts(t){return t==null?t:t.constructor.name}function es(t){return typeof t=="string"?document.querySelector(t):t&&t._isVue?t.$el:t instanceof HTMLElement?t:null}function gt(t,e={}){const i=l({container:document.scrollingElement||document.body||document.documentElement,duration:500,offset:0,easing:"easeInOutCubic",appOffset:!0},e),s=ma(i.container);if(i.appOffset&>.framework.application){const h=s.classList.contains("v-navigation-drawer"),c=s.classList.contains("v-navigation-drawer--clipped"),{bar:u,top:d}=gt.framework.application;i.offset+=u,(!h||c)&&(i.offset+=d)}const n=performance.now();let r;typeof t=="number"?r=Ge(t)-i.offset:r=Ge(t)-Ge(s)-i.offset;const a=s.scrollTop;if(r===a)return Promise.resolve(r);const o=typeof i.easing=="function"?i.easing:fa[i.easing];if(!o)throw new TypeError(`Easing function "${i.easing}" not found.`);return new Promise(h=>requestAnimationFrame(function c(u){const d=u-n,g=Math.abs(i.duration?Math.min(d/i.duration,1):1);s.scrollTop=Math.floor(a+(r-a)*o(g));const b=(s===document.body?document.documentElement.clientHeight:s.clientHeight)+s.scrollTop>=s.scrollHeight;if(g===1||r>s.scrollTop&&b)return h(r);requestAnimationFrame(c)}))}gt.framework={},gt.init=()=>{};class is extends mt{constructor(){super();return gt}}is.property="goTo";function N(t,e="div",i){return $.extend({name:i||t.replace(/__/g,"-"),functional:!0,props:{tag:{type:String,default:e}},render(s,{data:n,props:r,children:a}){return n.staticClass=`${t} ${n.staticClass||""}`.trim(),s(r.tag,n,a)}})}function Ue(t,e,i,s=!1){const n=r=>{i(r),t.removeEventListener(e,n,s)};t.addEventListener(e,n,s)}let vt=!1;try{if(typeof window!="undefined"){const t=Object.defineProperty({},"passive",{get:()=>{vt=!0}});window.addEventListener("testListener",t,t),window.removeEventListener("testListener",t,t)}}catch(t){console.warn(t)}function ga(t,e,i,s){t.addEventListener(e,i,vt?s:!1)}function Xe(t,e,i){const s=e.length-1;if(s<0)return t===void 0?i:t;for(let n=0;n<s;n++){if(t==null)return i;t=t[e[n]]}return t==null||t[e[s]]===void 0?i:t[e[s]]}function A(t,e){if(t===e)return!0;if(t instanceof Date&&e instanceof Date&&t.getTime()!==e.getTime()||t!==Object(t)||e!==Object(e))return!1;const i=Object.keys(t);return i.length!==Object.keys(e).length?!1:i.every(s=>A(t[s],e[s]))}function y(t,e,i){return t==null||!e||typeof e!="string"?i:t[e]!==void 0?t[e]:(e=e.replace(/\[(\w+)\]/g,".$1"),e=e.replace(/^\./,""),Xe(t,e.split("."),i))}function ot(t,e,i){if(e==null)return t===void 0?i:t;if(t!==Object(t))return i===void 0?t:i;if(typeof e=="string")return y(t,e,i);if(Array.isArray(e))return Xe(t,e,i);if(typeof e!="function")return i;const s=e(t,i);return typeof s=="undefined"?i:s}function et(t){return Array.from({length:t},(e,i)=>i)}function Ht(t){if(!t||t.nodeType!==Node.ELEMENT_NODE)return 0;const e=+window.getComputedStyle(t).getPropertyValue("z-index");return e||Ht(t.parentNode)}const va={"&":"&","<":"<",">":">"};function Ft(t){return t.replace(/[&<>]/g,e=>va[e]||e)}function ya(t,e){const i={};for(let s=0;s<e.length;s++){const n=e[s];typeof t[n]!="undefined"&&(i[n]=t[n])}return i}function m(t,e="px"){if(!(t==null||t===""))return isNaN(+t)?String(t):`${Number(t)}${e}`}function oe(t){return(t||"").replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function ss(t){return t!==null&&typeof t=="object"}const v=Object.freeze({enter:13,tab:9,delete:46,esc:27,space:32,up:38,down:40,left:37,right:39,end:35,home:36,del:46,backspace:8,insert:45,pageup:33,pagedown:34,shift:16});function ba(t,e){const i=t.$vuetify.icons.component;if(e.startsWith("$")){const s=`$vuetify.icons.values.${e.split("$").pop().split(".").pop()}`,n=y(t,s,e);if(typeof n=="string")e=n;else return n}return i==null?e:{component:i,props:{icon:e}}}function le(t){return Object.keys(t)}const $a=/-(\w)/g,ns=t=>t.replace($a,(e,i)=>i?i.toUpperCase():"");function Sa(t,e){const i=[];for(let s=0;s<e.length;s++)t.indexOf(e[s])<0&&i.push(e[s]);return i}function he(t){return t.charAt(0).toUpperCase()+t.slice(1)}function xa(t,e,i){const s=e[0],n=[];let r;for(let a=0;a<t.length;a++){const o=t[a],h=y(o,s,null);r!==h&&(r=h,n.push({name:h!=null?h:"",items:[]})),n[n.length-1].items.push(o)}return n}function O(t){return t!=null?Array.isArray(t)?t:[t]:[]}function Ca(t,e,i,s,n){if(e===null||!e.length)return t;const r=new Intl.Collator(s,{sensitivity:"accent",usage:"sort"});return t.sort((a,o)=>{for(let h=0;h<e.length;h++){const c=e[h];let u=y(a,c),d=y(o,c);if(i[h]&&([u,d]=[d,u]),n&&n[c]){const g=n[c](u,d);if(!g)continue;return g}if(!(u===null&&d===null)){if(u instanceof Date&&d instanceof Date)return u.getTime()-d.getTime();if([u,d]=[u,d].map(g=>(g||"").toString().toLocaleLowerCase()),u!==d)return!isNaN(u)&&!isNaN(d)?Number(u)-Number(d):r.compare(u,d)}}return 0})}function Ke(t,e,i){return t!=null&&e!=null&&typeof t!="boolean"&&t.toString().toLocaleLowerCase().indexOf(e.toLocaleLowerCase())!==-1}function wa(t,e){return!e||(e=e.toString().toLowerCase(),e.trim()==="")?t:t.filter(i=>Object.keys(i).some(s=>Ke(y(i,s),e)))}function rs(t,e,i){if(t.$slots.hasOwnProperty(e)&&t.$scopedSlots.hasOwnProperty(e)&&t.$scopedSlots[e].name)return i?"v-slot":"scoped";if(t.$slots.hasOwnProperty(e))return"normal";if(t.$scopedSlots.hasOwnProperty(e))return"scoped"}function ka(t,e){let i=0;return(...s)=>{clearTimeout(i),i=setTimeout(()=>t(...s),e)}}function Ia(t,e){let i=!1;return(...s)=>{if(!i)return i=!0,setTimeout(()=>i=!1,e),t(...s)}}function ce(t,e){return Object.keys(e).filter(i=>i.startsWith(t)).reduce((i,s)=>(i[s.replace(t,"")]=e[s],i),{})}function x(t,e="default",i,s=!1){if(t.$scopedSlots.hasOwnProperty(e))return t.$scopedSlots[e](i instanceof Function?i():i);if(t.$slots.hasOwnProperty(e)&&(!i||s))return t.$slots[e]}function qe(t,e=0,i=1){return Math.max(e,Math.min(i,t))}function Ze(t,e,i="0"){return t+i.repeat(Math.max(0,e-t.length))}function Ta(t,e=1){const i=[];let s=0;for(;s<t.length;)i.push(t.substr(s,e)),s+=e;return i}function as(t,e=!1){const i=e?1024:1e3;if(t<i)return`${t} B`;const s=e?["Ki","Mi","Gi"]:["k","M","G"];let n=-1;for(;Math.abs(t)>=i&&n<s.length-1;)t/=i,++n;return`${t.toFixed(1)} ${s[n]}B`}function os(t){return t?Object.keys(t).reduce((e,i)=>(e[ns(i)]=t[i],e),{}):{}}function Nt(t={},e={}){for(const i in e){const s=t[i],n=e[i];if(ss(s)&&ss(n)){t[i]=Nt(s,n);continue}t[i]=n}return t}function ls(t,e){return Array(t).fill(e)}function hs(t){if(t.composedPath)return t.composedPath();const e=[];let i=t.target;for(;i;){if(e.push(i),i.tagName==="HTML")return e.push(document),e.push(window),e;i=i.parentElement}return e}const _a={complete:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z",cancel:"M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z",close:"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z",delete:"M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z",clear:"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z",success:"M12,2C17.52,2 22,6.48 22,12C22,17.52 17.52,22 12,22C6.48,22 2,17.52 2,12C2,6.48 6.48,2 12,2M11,16.5L18,9.5L16.59,8.09L11,13.67L7.91,10.59L6.5,12L11,16.5Z",info:"M13,9H11V7H13M13,17H11V11H13M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2Z",warning:"M11,4.5H13V15.5H11V4.5M13,17.5V19.5H11V17.5H13Z",error:"M13,14H11V10H13M13,18H11V16H13M1,21H23L12,2L1,21Z",prev:"M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z",next:"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z",checkboxOn:"M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.89 20.1,3 19,3Z",checkboxOff:"M19,3H5C3.89,3 3,3.89 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.89 20.1,3 19,3M19,5V19H5V5H19Z",checkboxIndeterminate:"M17,13H7V11H17M19,3H5C3.89,3 3,3.89 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.89 20.1,3 19,3Z",delimiter:"M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2Z",sort:"M13,20H11V8L5.5,13.5L4.08,12.08L12,4.16L19.92,12.08L18.5,13.5L13,8V20Z",expand:"M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z",menu:"M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z",subgroup:"M7,10L12,15L17,10H7Z",dropdown:"M7,10L12,15L17,10H7Z",radioOn:"M12,20C7.58,20 4,16.42 4,12C4,7.58 7.58,4 12,4C16.42,4 20,7.58 20,12C20,16.42 16.42,20 12,20M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2M12,7C9.24,7 7,9.24 7,12C7,14.76 9.24,17 12,17C14.76,17 17,14.76 17,12C17,9.24 14.76,7 12,7Z",radioOff:"M12,20C7.58,20 4,16.42 4,12C4,7.58 7.58,4 12,4C16.42,4 20,7.58 20,12C20,16.42 16.42,20 12,20M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2Z",edit:"M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z",ratingEmpty:"M12,15.39L8.24,17.66L9.23,13.38L5.91,10.5L10.29,10.13L12,6.09L13.71,10.13L18.09,10.5L14.77,13.38L15.76,17.66M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z",ratingFull:"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z",ratingHalf:"M12,15.4V6.1L13.71,10.13L18.09,10.5L14.77,13.39L15.76,17.67M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z",loading:"M19,8L15,12H18C18,15.31 15.31,18 12,18C11,18 10.03,17.75 9.2,17.3L7.74,18.76C8.97,19.54 10.43,20 12,20C16.42,20 20,16.42 20,12H23M6,12C6,8.69 8.69,6 12,6C13,6 13.97,6.25 14.8,6.7L16.26,5.24C15.03,4.46 13.57,4 12,4C7.58,4 4,7.58 4,12H1L5,16L9,12",first:"M18.41,16.59L13.82,12L18.41,7.41L17,6L11,12L17,18L18.41,16.59M6,6H8V18H6V6Z",last:"M5.59,7.41L10.18,12L5.59,16.59L7,18L13,12L7,6L5.59,7.41M16,6H18V18H16V6Z",unfold:"M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z",file:"M16.5,6V17.5C16.5,19.71 14.71,21.5 12.5,21.5C10.29,21.5 8.5,19.71 8.5,17.5V5C8.5,3.62 9.62,2.5 11,2.5C12.38,2.5 13.5,3.62 13.5,5V15.5C13.5,16.05 13.05,16.5 12.5,16.5C11.95,16.5 11.5,16.05 11.5,15.5V6H10V15.5C10,16.88 11.12,18 12.5,18C13.88,18 15,16.88 15,15.5V5C15,2.79 13.21,1 11,1C8.79,1 7,2.79 7,5V17.5C7,20.54 9.46,23 12.5,23C15.54,23 18,20.54 18,17.5V6H16.5Z",plus:"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z",minus:"M19,13H5V11H19V13Z"};var Aa=_a;const Da={complete:"check",cancel:"cancel",close:"close",delete:"cancel",clear:"clear",success:"check_circle",info:"info",warning:"priority_high",error:"warning",prev:"chevron_left",next:"chevron_right",checkboxOn:"check_box",checkboxOff:"check_box_outline_blank",checkboxIndeterminate:"indeterminate_check_box",delimiter:"fiber_manual_record",sort:"arrow_upward",expand:"keyboard_arrow_down",menu:"menu",subgroup:"arrow_drop_down",dropdown:"arrow_drop_down",radioOn:"radio_button_checked",radioOff:"radio_button_unchecked",edit:"edit",ratingEmpty:"star_border",ratingFull:"star",ratingHalf:"star_half",loading:"cached",first:"first_page",last:"last_page",unfold:"unfold_more",file:"attach_file",plus:"add",minus:"remove"};var Ba=Da;const Ea={complete:"mdi-check",cancel:"mdi-close-circle",close:"mdi-close",delete:"mdi-close-circle",clear:"mdi-close",success:"mdi-check-circle",info:"mdi-information",warning:"mdi-exclamation",error:"mdi-alert",prev:"mdi-chevron-left",next:"mdi-chevron-right",checkboxOn:"mdi-checkbox-marked",checkboxOff:"mdi-checkbox-blank-outline",checkboxIndeterminate:"mdi-minus-box",delimiter:"mdi-circle",sort:"mdi-arrow-up",expand:"mdi-chevron-down",menu:"mdi-menu",subgroup:"mdi-menu-down",dropdown:"mdi-menu-down",radioOn:"mdi-radiobox-marked",radioOff:"mdi-radiobox-blank",edit:"mdi-pencil",ratingEmpty:"mdi-star-outline",ratingFull:"mdi-star",ratingHalf:"mdi-star-half-full",loading:"mdi-cached",first:"mdi-page-first",last:"mdi-page-last",unfold:"mdi-unfold-more-horizontal",file:"mdi-paperclip",plus:"mdi-plus",minus:"mdi-minus"};var Ma=Ea;const Va={complete:"fas fa-check",cancel:"fas fa-times-circle",close:"fas fa-times",delete:"fas fa-times-circle",clear:"fas fa-times-circle",success:"fas fa-check-circle",info:"fas fa-info-circle",warning:"fas fa-exclamation",error:"fas fa-exclamation-triangle",prev:"fas fa-chevron-left",next:"fas fa-chevron-right",checkboxOn:"fas fa-check-square",checkboxOff:"far fa-square",checkboxIndeterminate:"fas fa-minus-square",delimiter:"fas fa-circle",sort:"fas fa-sort-up",expand:"fas fa-chevron-down",menu:"fas fa-bars",subgroup:"fas fa-caret-down",dropdown:"fas fa-caret-down",radioOn:"far fa-dot-circle",radioOff:"far fa-circle",edit:"fas fa-edit",ratingEmpty:"far fa-star",ratingFull:"fas fa-star",ratingHalf:"fas fa-star-half",loading:"fas fa-sync",first:"fas fa-step-backward",last:"fas fa-step-forward",unfold:"fas fa-arrows-alt-v",file:"fas fa-paperclip",plus:"fas fa-plus",minus:"fas fa-minus"};var cs=Va;const La={complete:"fa fa-check",cancel:"fa fa-times-circle",close:"fa fa-times",delete:"fa fa-times-circle",clear:"fa fa-times-circle",success:"fa fa-check-circle",info:"fa fa-info-circle",warning:"fa fa-exclamation",error:"fa fa-exclamation-triangle",prev:"fa fa-chevron-left",next:"fa fa-chevron-right",checkboxOn:"fa fa-check-square",checkboxOff:"fa fa-square-o",checkboxIndeterminate:"fa fa-minus-square",delimiter:"fa fa-circle",sort:"fa fa-sort-up",expand:"fa fa-chevron-down",menu:"fa fa-bars",subgroup:"fa fa-caret-down",dropdown:"fa fa-caret-down",radioOn:"fa fa-dot-circle-o",radioOff:"fa fa-circle-o",edit:"fa fa-pencil",ratingEmpty:"fa fa-star-o",ratingFull:"fa fa-star",ratingHalf:"fa fa-star-half-o",loading:"fa fa-refresh",first:"fa fa-step-backward",last:"fa fa-step-forward",unfold:"fa fa-angle-double-down",file:"fa fa-paperclip",plus:"fa fa-plus",minus:"fa fa-minus"};var Oa=La;function Pa(t,e){const i={};for(const s in e)i[s]={component:t,props:{icon:e[s].split(" fa-")}};return i}var Ha=Pa("font-awesome-icon",cs),Fa=Object.freeze({mdiSvg:Aa,md:Ba,mdi:Ma,fa:cs,fa4:Oa,faSvg:Ha});class We extends mt{constructor(e){super();const{iconfont:i,values:s,component:n}=e[We.property];this.component=n,this.iconfont=i,this.values=Nt(Fa[i],s)}}We.property="icons";const us="$vuetify.",ds=Symbol("Lang fallback");function ps(t,e,i=!1,s){const n=e.replace(us,"");let r=y(t,n,ds);return r===ds&&(i?(X(`Translation key "${n}" not found in fallback`),r=e):(V(`Translation key "${n}" not found, falling back to default`),r=ps(s,e,!0,s))),r}class ze extends mt{constructor(e){super();this.defaultLocale="en";const{current:i,locales:s,t:n}=e[ze.property];this.current=i,this.locales=s,this.translator=n||this.defaultTranslator}currentLocale(e){const i=this.locales[this.current],s=this.locales[this.defaultLocale];return ps(i,e,!1,s)}t(e,...i){return e.startsWith(us)?this.translator(e,...i):this.replace(e,i)}defaultTranslator(e,...i){return this.replace(this.currentLocale(e),i)}replace(e,i){return e.replace(/\{(\d+)\}/g,(s,n)=>String(i[+n]))}}ze.property="lang";var td="",Na={badge:"Badge",close:"Close",dataIterator:{noResultsText:"No matching records found",loadingText:"Loading items..."},dataTable:{itemsPerPageText:"Rows per page:",ariaLabel:{sortDescending:"Sorted descending.",sortAscending:"Sorted ascending.",sortNone:"Not sorted.",activateNone:"Activate to remove sorting.",activateDescending:"Activate to sort descending.",activateAscending:"Activate to sort ascending."},sortBy:"Sort by"},dataFooter:{itemsPerPageText:"Items per page:",itemsPerPageAll:"All",nextPage:"Next page",prevPage:"Previous page",firstPage:"First page",lastPage:"Last page",pageText:"{0}-{1} of {2}"},datePicker:{itemsSelected:"{0} selected",nextMonthAriaLabel:"Next month",nextYearAriaLabel:"Next year",prevMonthAriaLabel:"Previous month",prevYearAriaLabel:"Previous year"},noDataText:"No data available",carousel:{prev:"Previous visual",next:"Next visual",ariaLabel:{delimiter:"Carousel slide {0} of {1}"}},calendar:{moreEvents:"{0} more"},fileInput:{counter:"{0} files",counterSize:"{0} files ({1} in total)"},timePicker:{am:"AM",pm:"PM"},pagination:{ariaLabel:{wrapper:"Pagination Navigation",next:"Next page",previous:"Previous page",page:"Goto Page {0}",currentPage:"Current Page, Page {0}"}},rating:{ariaLabel:{icon:"Rating {0} of {1}"}}};const Wa={breakpoint:{mobileBreakpoint:1264,scrollBarWidth:16,thresholds:{xs:600,sm:960,md:1280,lg:1920}},icons:{iconfont:"mdi",values:{}},lang:{current:"en",locales:{en:Na},t:void 0},rtl:!1,theme:{dark:!1,default:"light",disable:!1,options:{cspNonce:void 0,customProperties:void 0,minifyTheme:void 0,themeCache:void 0,variations:!0},themes:{light:{primary:"#1976D2",secondary:"#424242",accent:"#82B1FF",error:"#FF5252",info:"#2196F3",success:"#4CAF50",warning:"#FB8C00"},dark:{primary:"#2196F3",secondary:"#424242",accent:"#FF4081",error:"#FF5252",info:"#2196F3",success:"#4CAF50",warning:"#FB8C00"}}}};class fs extends mt{constructor(e,i){super();const s=Nt({},Wa),{userPreset:n}=i,o=n,{preset:r={}}=o,a=Z(o,["preset"]);r.preset!=null&&V("Global presets do not support the **preset** option, it can be safely omitted"),i.preset=Nt(Nt(s,r),a)}}fs.property="presets";const za=[[3.2406,-1.5372,-.4986],[-.9689,1.8758,.0415],[.0557,-.204,1.057]],Ra=t=>t<=.0031308?t*12.92:1.055*t**(1/2.4)-.055,Ya=[[.4124,.3576,.1805],[.2126,.7152,.0722],[.0193,.1192,.9505]],ja=t=>t<=.04045?t/12.92:((t+.055)/1.055)**2.4;function ms(t){const e=Array(3),i=Ra,s=za;for(let n=0;n<3;++n)e[n]=Math.round(qe(i(s[n][0]*t[0]+s[n][1]*t[1]+s[n][2]*t[2]))*255);return(e[0]<<16)+(e[1]<<8)+(e[2]<<0)}function ue(t){const e=[0,0,0],i=ja,s=Ya,n=i((t>>16&255)/255),r=i((t>>8&255)/255),a=i((t>>0&255)/255);for(let o=0;o<3;++o)e[o]=s[o][0]*n+s[o][1]*r+s[o][2]*a;return e}function gs(t){return!!t&&!!t.match(/^(#|var\(--|(rgb|hsl)a?\()/)}function Qe(t){let e;if(typeof t=="number")e=t;else if(typeof t=="string"){let i=t[0]==="#"?t.substring(1):t;i.length===3&&(i=i.split("").map(s=>s+s).join("")),i.length!==6&&V(`'${t}' is not a valid rgb color`),e=parseInt(i,16)}else throw new TypeError(`Colors can only be numbers or strings, recieved ${t==null?t:t.constructor.name} instead`);return e<0?(V(`Colors cannot be negative: '${t}'`),e=0):(e>16777215||isNaN(e))&&(V(`'${t}' is not a valid rgb color`),e=16777215),e}function Wt(t){let e=t.toString(16);return e.length<6&&(e="0".repeat(6-e.length)+e),"#"+e}function Ga(t){return Wt(Qe(t))}function de(t){const{h:e,s:i,v:s,a:n}=t,r=o=>{const h=(o+e/60)%6;return s-s*i*Math.max(Math.min(h,4-h,1),0)},a=[r(5),r(3),r(1)].map(o=>Math.round(o*255));return{r:a[0],g:a[1],b:a[2],a:n}}function vs(t){if(!t)return{h:0,s:1,v:1,a:1};const e=t.r/255,i=t.g/255,s=t.b/255,n=Math.max(e,i,s),r=Math.min(e,i,s);let a=0;n!==r&&(n===e?a=60*(0+(i-s)/(n-r)):n===i?a=60*(2+(s-e)/(n-r)):n===s&&(a=60*(4+(e-i)/(n-r)))),a<0&&(a=a+360);const o=n===0?0:(n-r)/n,h=[a,o,n];return{h:h[0],s:h[1],v:h[2],a:t.a}}function Je(t){const{h:e,s:i,v:s,a:n}=t,r=s-s*i/2,a=r===1||r===0?0:(s-r)/Math.min(r,1-r);return{h:e,s:a,l:r,a:n}}function Ua(t){const{h:e,s:i,l:s,a:n}=t,r=s+i*Math.min(s,1-s),a=r===0?0:2-2*s/r;return{h:e,s:a,v:r,a:n}}function ys(t){return`rgba(${t.r}, ${t.g}, ${t.b}, ${t.a})`}function Xa(t){return ys(p(l({},t),{a:1}))}function bs(t){const e=i=>{const s=Math.round(i).toString(16);return("00".substr(0,2-s.length)+s).toUpperCase()};return`#${[e(t.r),e(t.g),e(t.b),e(Math.round(t.a*255))].join("")}`}function Ka(t){const e=Ta(t.slice(1),2).map(i=>parseInt(i,16));return{r:e[0],g:e[1],b:e[2],a:Math.round(e[3]/255*100)/100}}function qa(t){const e=Ka(t);return vs(e)}function $s(t){return bs(de(t))}function ti(t){return t.startsWith("#")&&(t=t.slice(1)),t=t.replace(/([^0-9a-f])/gi,"F"),(t.length===3||t.length===4)&&(t=t.split("").map(e=>e+e).join("")),t.length===6?t=Ze(t,8,"F"):t=Ze(Ze(t,6),8,"F"),`#${t}`.toUpperCase().substr(0,9)}function Ss(t){return(t.r<<16)+(t.g<<8)+t.b}function xs(t,e){const[,i]=ue(Ss(t)),[,s]=ue(Ss(e));return(Math.max(i,s)+.05)/(Math.min(i,s)+.05)}const pe=.20689655172413793,Za=t=>t>pe**3?Math.cbrt(t):t/(3*pe**2)+4/29,Qa=t=>t>pe?t**3:3*pe**2*(t-4/29);function Cs(t){const e=Za,i=e(t[1]);return[116*i-16,500*(e(t[0]/.95047)-i),200*(i-e(t[2]/1.08883))]}function ws(t){const e=Qa,i=(t[0]+16)/116;return[e(i+t[1]/500)*.95047,e(i),e(i-t[2]/200)*1.08883]}function ks(t,e=!1,i=!0){const o=t,{anchor:s}=o,n=Z(o,["anchor"]),r=Object.keys(n),a={};for(let h=0;h<r.length;++h){const c=r[h],u=t[c];u!=null&&(i?e?(c==="base"||c.startsWith("lighten")||c.startsWith("darken"))&&(a[c]=Ga(u)):typeof u=="object"?a[c]=ks(u,!0,i):a[c]=io(c,Qe(u)):a[c]={base:Wt(Qe(u))})}return e||(a.anchor=s||a.base||a.primary.base),a}const Ja=(t,e)=>`
|
package/dist/assets/vuetify.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export * from "./vuetify.
|
2
|
-
export { default } from "./vuetify.
|
1
|
+
export * from "./vuetify.cc817b.js";
|
2
|
+
export { default } from "./vuetify.cc817b.js";
|
package/dist/index.html
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
rel="stylesheet"
|
8
8
|
href="https://fonts.googleapis.com/css?family=Titillium+Web"
|
9
9
|
/>
|
10
|
-
<script type="module" crossorigin src="./assets/index.
|
10
|
+
<script type="module" crossorigin src="./assets/index.889d0f3a.js"></script>
|
11
11
|
<link rel="stylesheet" href="./assets/index.60dea538.css">
|
12
12
|
</head>
|
13
13
|
<body style="height: 100vH;">
|
package/index.js
CHANGED
@@ -43,7 +43,8 @@ export { default as WindowComponentHeader } from './src/manager/window/WindowCom
|
|
43
43
|
export { default as VcsWindowManager } from './src/manager/window/WindowManager.vue';
|
44
44
|
export { WindowManager, WindowSlot, WindowPositions } from './src/manager/window/windowManager.js';
|
45
45
|
|
46
|
-
export {
|
46
|
+
export { ButtonManager } from './src/manager/buttonManager.js';
|
47
|
+
export { NavbarManager, ButtonLocation, getActionsByLocation } from './src/manager/navbarManager.js';
|
47
48
|
|
48
49
|
export { default as MapNavCompass } from './src/navigation/mapNavCompass.vue';
|
49
50
|
export { default as MapNavigation } from './src/navigation/mapNavigation.vue';
|
@@ -67,4 +68,41 @@ export {
|
|
67
68
|
deserializePlugin,
|
68
69
|
} from './src/pluginHelper.js';
|
69
70
|
export { default as VcsUiApp } from './src/vcsUiApp.js';
|
71
|
+
export { default as Icons } from './src/icons/+all.js';
|
70
72
|
|
73
|
+
export { default as VcsButton } from './src/components/buttons/VcsButton.vue';
|
74
|
+
export { default as VcsActionButtonList } from './src/components/buttons/VcsActionButtonList.vue';
|
75
|
+
export { default as VcsTooltip } from './src/components/notification/VcsTooltip.vue';
|
76
|
+
|
77
|
+
// export { default as VcsConfirmationDialog } from './src/components/dialogs/VcsConfirmationDialog.vue';
|
78
|
+
|
79
|
+
export { default as VcsLabel } from './src/components/form-inputs-controls/VcsLabel.vue';
|
80
|
+
export { default as VcsCheckbox } from './src/components/form-inputs-controls/VcsCheckbox.vue';
|
81
|
+
// export { default as VcsColorPicker } from './src/components/form-inputs-controls/VcsColorPicker.vue';
|
82
|
+
export { default as VcsFormSection } from './src/components/form-inputs-controls/VcsFormSection.vue';
|
83
|
+
// export { default as VcsInputColumnCoordinates } from './src/components/form-inputs-controls/VcsInputColumnCoordinates.vue';
|
84
|
+
// export { default as VcsInputColumnDimensions } from './src/components/form-inputs-controls/VcsInputColumnDimensions.vue';
|
85
|
+
// export { default as VcsMinimalCheckbox } from './src/components/form-inputs-controls/VcsMinimalCheckbox.vue';
|
86
|
+
export { default as VcsSelect } from './src/components/form-inputs-controls/VcsSelect.vue';
|
87
|
+
export { default as VcsTextField } from './src/components/form-inputs-controls/VcsTextField.vue';
|
88
|
+
export { default as VcsTextArea } from './src/components/form-inputs-controls/VcsTextArea.vue';
|
89
|
+
|
90
|
+
export { default as VcsFormattedNumber } from './src/components/form-output/VcsFormattedNumber.vue';
|
91
|
+
|
92
|
+
export { default as VcsActionList, validateActions } from './src/components/lists/VcsActionList.vue';
|
93
|
+
// export { default as VcsEndlessList } from './src/components/lists/VcsEndlessList.vue';
|
94
|
+
export { default as VcsTreeview } from './src/components/lists/VcsTreeview.vue';
|
95
|
+
export { default as VcsTreeviewLeaf } from './src/components/lists/VcsTreeviewLeaf.vue';
|
96
|
+
// export { default as VcsTreeviewSearchbar } from './src/components/lists/VcsTreeviewSearchbar.vue';
|
97
|
+
|
98
|
+
// export { default as VcsMediaControls } from './src/components/media-controls/VcsMediaControls.vue';
|
99
|
+
|
100
|
+
// export { default as VcsContextMenu } from './src/components/menus/VcsContextMenu.vue';
|
101
|
+
// export { default as VcsMenu } from './src/components/menus/VcsMenu.vue';
|
102
|
+
// export { default as VcsOverflowMenu } from './src/components/menus/VcsOverflowMenu.vue';
|
103
|
+
|
104
|
+
|
105
|
+
// export { default as VcsBadge } from './src/components/notification/VcsBadge.vue';
|
106
|
+
|
107
|
+
// export { default as VcsFileNamePopover } from './src/components/popovers/VcsFileNamePopover.vue';
|
108
|
+
// export { default as VcsTexturePopover } from './src/components/popovers/VcsTexturePopover.vue';
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@vcmap/ui",
|
3
|
-
"version": "5.0.0-rc.
|
3
|
+
"version": "5.0.0-rc.9",
|
4
4
|
"author": "Virtual City Systems",
|
5
5
|
"license": "MIT",
|
6
6
|
"scripts": {
|
@@ -42,8 +42,7 @@
|
|
42
42
|
},
|
43
43
|
"peerDependencies": {
|
44
44
|
"@vcmap/cesium": "~1.93.1",
|
45
|
-
"@vcmap/core": "^5.0.0-rc.
|
46
|
-
"@vcsuite/ui-components": "~0.1.15",
|
45
|
+
"@vcmap/core": "^5.0.0-rc.12",
|
47
46
|
"@vue/composition-api": "~1.4.5",
|
48
47
|
"ol": "~6.13.0",
|
49
48
|
"vue": "~2.6.14",
|
@@ -166,11 +166,11 @@ export default function (config) {
|
|
166
166
|
app.windowManager,
|
167
167
|
packageJSON.name,
|
168
168
|
);
|
169
|
-
app.navbarManager.add(
|
170
|
-
id: 'pluginExample',
|
171
|
-
|
172
|
-
|
173
|
-
|
169
|
+
app.navbarManager.add(
|
170
|
+
{ id: 'pluginExample', action },
|
171
|
+
packageJSON.name,
|
172
|
+
ButtonLocation.TOOL,
|
173
|
+
);
|
174
174
|
this._destroyAction = destroy;
|
175
175
|
},
|
176
176
|
toJSON: async () => {
|
@@ -224,11 +224,11 @@ export default async function projectSelector(config) {
|
|
224
224
|
app.windowManager,
|
225
225
|
packageJSON.name,
|
226
226
|
);
|
227
|
-
app.navbarManager.add(
|
228
|
-
id: 'project-selector',
|
229
|
-
|
230
|
-
|
231
|
-
|
227
|
+
app.navbarManager.add(
|
228
|
+
{ id: 'project-selector', action },
|
229
|
+
packageJSON.name,
|
230
|
+
ButtonLocation.PROJECT,
|
231
|
+
);
|
232
232
|
this._destroyAction = destroy;
|
233
233
|
|
234
234
|
pluginConfig.contexts.value.forEach(c => addContextFromOptions(c));
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { ref } from '@vue/composition-api';
|
2
2
|
import { check } from '@vcsuite/check';
|
3
|
-
import {
|
3
|
+
import { ButtonLocation, createToggleAction, vuetify } from '@vcmap/ui';
|
4
4
|
import ThemeChangerComponent from './ThemeChangerComponent.vue';
|
5
5
|
import packageJSON from './package.json';
|
6
6
|
import defaultConfig from './config.json';
|
@@ -85,11 +85,11 @@ export default async function themeChanger(config) {
|
|
85
85
|
app.windowManager,
|
86
86
|
packageJSON.name,
|
87
87
|
);
|
88
|
-
app.navbarManager.add(
|
89
|
-
id: 'theme-changer',
|
90
|
-
|
91
|
-
|
92
|
-
|
88
|
+
app.navbarManager.add(
|
89
|
+
{ id: 'theme-changer', action },
|
90
|
+
packageJSON.name,
|
91
|
+
ButtonLocation.MENU,
|
92
|
+
);
|
93
93
|
this._destroyAction = destroy;
|
94
94
|
},
|
95
95
|
destroy() {
|
@@ -24,10 +24,11 @@ export default async function buttonExamples() {
|
|
24
24
|
app.windowManager,
|
25
25
|
'buttonExamples',
|
26
26
|
);
|
27
|
-
app.navbarManager.add(
|
28
|
-
|
29
|
-
|
30
|
-
|
27
|
+
app.navbarManager.add(
|
28
|
+
{ action },
|
29
|
+
'buttonExamples',
|
30
|
+
ButtonLocation.TOOL,
|
31
|
+
);
|
31
32
|
this._destroyAction = destroy;
|
32
33
|
},
|
33
34
|
destroy() {
|
@@ -49,7 +49,7 @@
|
|
49
49
|
|
50
50
|
<script>
|
51
51
|
import { inject, nextTick, ref } from '@vue/composition-api';
|
52
|
-
import { VcsButton } from '@
|
52
|
+
import { VcsButton } from '@vcmap/ui';
|
53
53
|
import { getObjectFromClassRegistry } from '@vcmap/core';
|
54
54
|
|
55
55
|
export default {
|
@@ -24,11 +24,11 @@ export default async function categoryTest() {
|
|
24
24
|
app.windowManager,
|
25
25
|
'@vcmap/categoryTest',
|
26
26
|
);
|
27
|
-
app.navbarManager.add(
|
28
|
-
id: 'category-editor',
|
29
|
-
|
30
|
-
|
31
|
-
|
27
|
+
app.navbarManager.add(
|
28
|
+
{ id: 'category-editor', action },
|
29
|
+
'@vcmap/categoryTest',
|
30
|
+
ButtonLocation.TOOL,
|
31
|
+
);
|
32
32
|
this._destroyAction = destroy;
|
33
33
|
},
|
34
34
|
destroy() {
|
package/plugins/example/index.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/* eslint-disable no-console */
|
2
|
-
import { ButtonLocation, createToggleAction,
|
2
|
+
import { ButtonLocation, createToggleAction, WindowSlot } from '@vcmap/ui';
|
3
3
|
import mySuperComponent from './mySuperComponent.vue';
|
4
4
|
|
5
5
|
/**
|
@@ -19,6 +19,7 @@ export default async function (config) {
|
|
19
19
|
const { action, destroy } = createToggleAction(
|
20
20
|
{
|
21
21
|
name: 'Example',
|
22
|
+
icon: '$vcsPointSelect',
|
22
23
|
},
|
23
24
|
{
|
24
25
|
id: '228',
|
@@ -32,19 +33,37 @@ export default async function (config) {
|
|
32
33
|
'@vcmap/example',
|
33
34
|
);
|
34
35
|
this._destroyAction = destroy;
|
35
|
-
app.navbarManager.add(
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
36
|
+
app.navbarManager.add(
|
37
|
+
{
|
38
|
+
action,
|
39
|
+
},
|
40
|
+
'@vcmap/example',
|
41
|
+
ButtonLocation.TOOL,
|
42
|
+
);
|
43
|
+
const buttonComponents = [
|
44
|
+
{
|
45
|
+
id: 'distance3D',
|
46
|
+
action: {
|
47
|
+
name: 'distance3D',
|
48
|
+
title: '3D distance',
|
49
|
+
icon: '$vcs3dDistance',
|
50
|
+
active: false,
|
51
|
+
callback() { this.active = !this.active; },
|
52
|
+
},
|
53
|
+
},
|
54
|
+
{
|
55
|
+
id: 'area3D',
|
56
|
+
action: {
|
57
|
+
name: 'area3D',
|
58
|
+
title: '3D area',
|
59
|
+
icon: '$vcs3dArea',
|
60
|
+
active: false,
|
61
|
+
callback() { this.active = !this.active; },
|
62
|
+
},
|
63
|
+
},
|
64
|
+
];
|
65
|
+
const measurementGroup = app.toolboxManager.requestGroup('measurement');
|
66
|
+
buttonComponents.forEach(c => measurementGroup.buttonManager.add(c, '@vcmap/example'));
|
48
67
|
},
|
49
68
|
destroy() {
|
50
69
|
if (this._destroyAction) {
|
@@ -0,0 +1,34 @@
|
|
1
|
+
<template>
|
2
|
+
<v-sheet class="overflow-auto icons-window">
|
3
|
+
<v-list>
|
4
|
+
<v-list-item
|
5
|
+
v-for="icon in icons"
|
6
|
+
:key="icon"
|
7
|
+
>
|
8
|
+
<v-list-item-title>{{ icon }}</v-list-item-title>
|
9
|
+
<v-list-item-icon>
|
10
|
+
<v-icon>{{ icon }}</v-icon>
|
11
|
+
</v-list-item-icon>
|
12
|
+
</v-list-item>
|
13
|
+
</v-list>
|
14
|
+
</v-sheet>
|
15
|
+
</template>
|
16
|
+
|
17
|
+
<script>
|
18
|
+
import { Icons } from '@vcmap/ui';
|
19
|
+
|
20
|
+
export default {
|
21
|
+
name: 'AllIconsComponent',
|
22
|
+
computed: {
|
23
|
+
icons() {
|
24
|
+
return Object.keys(Icons).map(n => `$${n}`);
|
25
|
+
},
|
26
|
+
},
|
27
|
+
};
|
28
|
+
</script>
|
29
|
+
|
30
|
+
<style scoped>
|
31
|
+
.icons-window {
|
32
|
+
max-height: 600px;
|
33
|
+
}
|
34
|
+
</style>
|
package/plugins/test/editor.vue
CHANGED
package/plugins/test/index.js
CHANGED
@@ -4,6 +4,7 @@ import { ButtonLocation, createToggleAction, WindowSlot } from '@vcmap/ui';
|
|
4
4
|
import { toolboxData } from './toolbox-data.js';
|
5
5
|
import editor from './editor.vue';
|
6
6
|
import windowManagerExample from './windowManagerExample.vue';
|
7
|
+
import AllIconsComponent from './allIconsComponent.vue';
|
7
8
|
|
8
9
|
let source;
|
9
10
|
|
@@ -58,7 +59,21 @@ export default async function () {
|
|
58
59
|
app.windowManager,
|
59
60
|
'@vcmap/test',
|
60
61
|
);
|
61
|
-
|
62
|
+
const { action: iconAction, destroy: destroyIconAction } = createToggleAction(
|
63
|
+
{
|
64
|
+
name: 'Icons',
|
65
|
+
},
|
66
|
+
{
|
67
|
+
id: 'allIcons',
|
68
|
+
state: {
|
69
|
+
headerTitle: 'All Icons',
|
70
|
+
},
|
71
|
+
component: AllIconsComponent,
|
72
|
+
},
|
73
|
+
app.windowManager,
|
74
|
+
'@vcmap/test',
|
75
|
+
);
|
76
|
+
this._destroyActions = [destroyConfigEditorAction, destroyWindowAction, destroyIconAction];
|
62
77
|
const alertAction = {
|
63
78
|
name: 'VC Systems',
|
64
79
|
callback() {
|
@@ -66,22 +81,30 @@ export default async function () {
|
|
66
81
|
window.alert(`there are ${getSource().getFeatures().length} features ${app.maps.activeMap.name}`);
|
67
82
|
},
|
68
83
|
};
|
69
|
-
app.navbarManager.add(
|
70
|
-
id: 'config-editor',
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
app.navbarManager.add(
|
75
|
-
id: 'windowManagerExample',
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
app.navbarManager.add(
|
80
|
-
id: '
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
84
|
+
app.navbarManager.add(
|
85
|
+
{ id: 'config-editor', action: configEditorAction },
|
86
|
+
'@vcmap/test',
|
87
|
+
ButtonLocation.TOOL,
|
88
|
+
);
|
89
|
+
app.navbarManager.add(
|
90
|
+
{ id: 'windowManagerExample', action: windowAction },
|
91
|
+
'@vcmap/test',
|
92
|
+
ButtonLocation.TOOL,
|
93
|
+
);
|
94
|
+
app.navbarManager.add(
|
95
|
+
{ id: 'allIcons', action: iconAction },
|
96
|
+
'@vcmap/test',
|
97
|
+
ButtonLocation.TOOL,
|
98
|
+
);
|
99
|
+
app.navbarManager.add(
|
100
|
+
{ id: 'alert', action: alertAction },
|
101
|
+
'@vcmap/test',
|
102
|
+
ButtonLocation.TOOL,
|
103
|
+
);
|
104
|
+
toolboxData.forEach(([{ id, icon, title, buttonComponents }, owner]) => {
|
105
|
+
const group = app.toolboxManager.requestGroup(id, icon, title);
|
106
|
+
buttonComponents.forEach(c => group.buttonManager.add(c, owner));
|
107
|
+
});
|
85
108
|
},
|
86
109
|
destroy() {
|
87
110
|
if (this._destroyActions) {
|