@bildvitta/quasar-ui-asteroid 2.12.4 → 3.0.0-alpha.1

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.
Files changed (188) hide show
  1. package/dist/api/QasBox.json +16 -0
  2. package/dist/api/QasBreakline.json +32 -0
  3. package/dist/api/QasBtn.json +15 -0
  4. package/dist/api/QasDebugger.json +13 -0
  5. package/dist/asteroid.cjs.css +1 -0
  6. package/dist/asteroid.cjs.js +9154 -0
  7. package/dist/asteroid.cjs.min.js +6 -0
  8. package/dist/asteroid.esm.css +1 -0
  9. package/dist/asteroid.esm.js +9145 -0
  10. package/dist/asteroid.esm.min.js +6 -0
  11. package/dist/asteroid.umd.css +1 -0
  12. package/dist/asteroid.umd.js +9148 -0
  13. package/dist/asteroid.umd.min.js +6 -0
  14. package/dist/vetur/asteroid-attributes.json +30 -0
  15. package/dist/vetur/asteroid-tags.json +29 -0
  16. package/package.json +42 -56
  17. package/src/assets/logo-modular.svg +1 -0
  18. package/src/asteroid.js +1 -0
  19. package/src/components/actions/QasActions.vue +45 -0
  20. package/src/components/actions-menu/QasActionsMenu.vue +8 -19
  21. package/src/components/alert/QasAlert.vue +90 -0
  22. package/src/components/app-bar/QasAppBar.vue +59 -61
  23. package/src/components/app-menu/QasAppMenu.vue +128 -41
  24. package/src/components/avatar/QasAvatar.vue +7 -3
  25. package/src/components/box/QasBox.vue +12 -4
  26. package/src/components/box/QasBox.yml +13 -0
  27. package/src/components/breakline/QasBreakline.vue +37 -0
  28. package/src/components/breakline/QasBreakline.yml +25 -0
  29. package/src/components/btn/QasBtn.vue +27 -24
  30. package/src/components/btn/QasBtn.yml +12 -0
  31. package/src/components/card/QasCard.vue +29 -21
  32. package/src/components/checkbox-group/QasCheckboxGroup.vue +31 -17
  33. package/src/components/copy/QasCopy.vue +22 -11
  34. package/src/components/date-time-input/QasDateTimeInput.vue +16 -26
  35. package/src/components/debugger/QasDebugger.vue +2 -0
  36. package/src/components/debugger/QasDebugger.yml +10 -0
  37. package/src/components/delete/QasDelete.vue +28 -15
  38. package/src/components/dialog/QasDialog.vue +71 -67
  39. package/src/components/dialog-router/QasDialogRouter.vue +12 -4
  40. package/src/components/field/QasField.vue +22 -25
  41. package/src/components/filters/QasFilters.vue +31 -24
  42. package/src/components/form-generator/QasFormGenerator.vue +13 -15
  43. package/src/components/form-view/QasFormView.vue +117 -66
  44. package/src/components/gallery/QasGallery.vue +39 -26
  45. package/src/components/grid-generator/QasGridGenerator.vue +12 -6
  46. package/src/components/index.js +0 -0
  47. package/src/components/input/QasInput.vue +38 -36
  48. package/src/components/label/QasLabel.vue +14 -15
  49. package/src/components/layout/QasLayout.vue +81 -0
  50. package/src/components/list-items/QasListItems.vue +16 -8
  51. package/src/components/list-view/QasListView.vue +31 -28
  52. package/src/components/map/QasMap.vue +15 -25
  53. package/src/components/nested-fields/QasNestedFields.vue +39 -36
  54. package/src/components/numeric-input/QasNumericInput.vue +125 -0
  55. package/src/components/page-header/QasPageHeader.vue +19 -10
  56. package/src/components/password-input/QasPasswordInput.vue +20 -18
  57. package/src/components/password-strength-checker/QasPasswordStrengthChecker.vue +52 -31
  58. package/src/components/profile/QasProfile.vue +14 -12
  59. package/src/components/resizer/QasResizer.vue +1 -1
  60. package/src/components/search-box/QasSearchBox.vue +36 -20
  61. package/src/components/select/QasSelect.vue +43 -44
  62. package/src/components/select-list/QasSelectList.vue +64 -51
  63. package/src/components/signature-pad/QasSignaturePad.vue +57 -41
  64. package/src/components/signature-uploader/QasSignatureUploader.vue +15 -13
  65. package/src/components/single-view/QasSingleView.vue +31 -17
  66. package/src/components/sortable/QasSortable.vue +45 -27
  67. package/src/components/table-generator/QasTableGenerator.vue +95 -22
  68. package/src/components/tabs-generator/QasTabsGenerator.vue +36 -24
  69. package/src/components/text-truncate/QasTextTruncate.vue +25 -17
  70. package/src/components/transfer/QasTransfer.vue +57 -53
  71. package/src/components/uploader/QasUploader.vue +169 -48
  72. package/src/css/background.scss +1 -1
  73. package/src/css/border.scss +7 -6
  74. package/src/css/design-system.scss +0 -43
  75. package/src/css/fonts.scss +2 -28
  76. package/src/css/opacity.scss +0 -4
  77. package/src/css/set-brand.scss +15 -0
  78. package/src/css/transitions.scss +1 -1
  79. package/src/helpers/add-counter-suffix.js +3 -0
  80. package/src/helpers/{base64ToBlob.js → base-64-to-blob.js} +0 -0
  81. package/src/helpers/{constructObject.js → construct-object.js} +0 -0
  82. package/src/helpers/filter-object.js +8 -6
  83. package/src/helpers/filters.js +3 -4
  84. package/src/helpers/get-slot-children-text.js +15 -0
  85. package/src/helpers/{greatestCommonDivisor.js → greatest-common-divisor.js} +0 -0
  86. package/src/helpers/images.js +28 -0
  87. package/src/helpers/index.js +11 -57
  88. package/src/helpers/is-local-development.js +3 -0
  89. package/src/helpers/scroll-on-grap.js +61 -0
  90. package/src/index.cjs.js +1 -0
  91. package/src/index.esm.js +4 -0
  92. package/src/index.scss +18 -20
  93. package/src/index.umd.js +2 -0
  94. package/src/mixins/context.js +1 -1
  95. package/src/mixins/dialog-router.js +17 -0
  96. package/src/mixins/form.js +4 -12
  97. package/src/mixins/generator.js +14 -14
  98. package/src/mixins/index.js +2 -8
  99. package/src/mixins/password.js +73 -11
  100. package/src/mixins/screen.js +8 -6
  101. package/src/mixins/view.js +57 -20
  102. package/src/plugins/Dialog.js +14 -0
  103. package/src/plugins/NotifySuccess.js +3 -3
  104. package/src/plugins/index.js +4 -2
  105. package/src/store/history.js +43 -0
  106. package/src/store/index.js +1 -0
  107. package/src/vue-plugin.js +185 -0
  108. package/.babelrc +0 -12
  109. package/.storybook/main.js +0 -35
  110. package/.storybook/preview.js +0 -26
  111. package/debug.log +0 -1
  112. package/index.js +0 -4
  113. package/jest-setup.js +0 -1
  114. package/jest.config.json +0 -22
  115. package/postcss.config.js +0 -5
  116. package/src/components/Introduction.stories.mdx +0 -12
  117. package/src/components/actions-menu/QasActionsMenu.stories.js +0 -73
  118. package/src/components/app-bar/QasAppBar.stories.js +0 -88
  119. package/src/components/app-menu/QasAppMenu.stories.js +0 -62
  120. package/src/components/apps-menu/QasAppsMenu.spec.js +0 -58
  121. package/src/components/apps-menu/QasAppsMenu.stories.js +0 -54
  122. package/src/components/apps-menu/QasAppsMenu.vue +0 -48
  123. package/src/components/avatar/QasAvatar.spec.js +0 -14
  124. package/src/components/avatar/QasAvatar.stories.js +0 -52
  125. package/src/components/box/QasBox.spec.js +0 -18
  126. package/src/components/box/QasBox.stories.js +0 -35
  127. package/src/components/break-line/QasBreakLine.stories.js +0 -57
  128. package/src/components/break-line/QasBreakLine.vue +0 -52
  129. package/src/components/btn/QasBtn.stories.js +0 -45
  130. package/src/components/btn-actions/QasBtnActions.stories.js +0 -77
  131. package/src/components/btn-actions/QasBtnActions.vue +0 -54
  132. package/src/components/card/QasCard.stories.js +0 -126
  133. package/src/components/checkbox-group/QasCheckboxGroup.stories.js +0 -59
  134. package/src/components/copy/QasCopy.stories.js +0 -41
  135. package/src/components/date-time-input/QasDateTimeInput.stories.js +0 -67
  136. package/src/components/debugger/QasDebugger.stories.js +0 -33
  137. package/src/components/decimal-input/QasDecimalInput.stories.js +0 -82
  138. package/src/components/decimal-input/QasDecimalInput.vue +0 -92
  139. package/src/components/delete/QasDelete.stories.js +0 -80
  140. package/src/components/dialog/QasDialog.stories.js +0 -139
  141. package/src/components/dialog-router/QasDialogRouter.stories.js +0 -38
  142. package/src/components/field/QasField.stories.js +0 -181
  143. package/src/components/filters/QasFilters.stories.js +0 -121
  144. package/src/components/form-generator/QasFormGenerator.stories.js +0 -115
  145. package/src/components/form-view/QasFormView.stories.js +0 -236
  146. package/src/components/gallery/QasGallery.stories.js +0 -91
  147. package/src/components/grid-generator/QasGridGenerator.stories.js +0 -138
  148. package/src/components/input/QasInput.stories.js +0 -78
  149. package/src/components/label/QasLabel.stories.js +0 -60
  150. package/src/components/list-items/QasListItems.stories.js +0 -130
  151. package/src/components/list-view/QasListView.stories.js +0 -168
  152. package/src/components/map/QasMap.stories.js +0 -75
  153. package/src/components/nested-fields/QasNestedFields.stories.js +0 -255
  154. package/src/components/page-header/QasPageHeader.stories.js +0 -61
  155. package/src/components/password-input/QasPasswordInput.stories.js +0 -76
  156. package/src/components/password-strength-checker/QasPasswordStrengthChecker.stories.js +0 -54
  157. package/src/components/profile/QasProfile.stories.js +0 -131
  158. package/src/components/resizer/QasResizer.stories.js +0 -43
  159. package/src/components/search-box/QasSearchBox.stories.js +0 -111
  160. package/src/components/select/QasSelect.stories.js +0 -113
  161. package/src/components/select-list/QasSelectList.stories.js +0 -153
  162. package/src/components/signature-pad/QasSignaturePad.stories.js +0 -51
  163. package/src/components/signature-uploader/QasSignatureUploader.stories.js +0 -69
  164. package/src/components/single-view/QasSingleView.stories.js +0 -130
  165. package/src/components/sortable/QasSortable.stories.js +0 -80
  166. package/src/components/table-generator/QasTableGenerator.stories.js +0 -116
  167. package/src/components/tabs-generator/QasTabsGenerator.stories.js +0 -145
  168. package/src/components/text-truncate/QasTextTruncate.stories.js +0 -55
  169. package/src/components/tip/QasTip.stories.js +0 -57
  170. package/src/components/tip/QasTip.vue +0 -68
  171. package/src/components/tooltip/QasTooltip.stories.js +0 -63
  172. package/src/components/tooltip/QasTooltip.vue +0 -81
  173. package/src/components/transfer/QasTransfer.stories.js +0 -118
  174. package/src/components/uploader/QasCustomUploader.vue +0 -121
  175. package/src/components/uploader/QasUploader.stories.js +0 -139
  176. package/src/directives/Test.js +0 -13
  177. package/src/helpers/historyHandler.js +0 -52
  178. package/src/helpers/label.js +0 -3
  179. package/src/index.js +0 -245
  180. package/src/mixins/map-markers.js +0 -26
  181. package/src/mixins/unsaved-changes.js +0 -24
  182. package/src/mixins/uploader.js +0 -30
  183. package/src/mocks/json/user.json +0 -27
  184. package/src/mocks/json/users-new.json +0 -23
  185. package/src/mocks/json/users.json +0 -97
  186. package/src/mocks/storeModule.js +0 -71
  187. package/src/pages/Forbidden.vue +0 -6
  188. package/src/pages/NotFound.vue +0 -6
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * @bildvitta/quasar-ui-asteroid v3.0.0-alpha.1
3
+ * (c) 2022 Bild & Vitta <systemteam@bild.com.br>
4
+ * Released under the MIT License.
5
+ */
6
+ import{camelize as e,camelizeKeys as t}from"humps";import{get as s,isEqual as a,findLastIndex as l,isEqualWith as i,isObject as o,castArray as r,sortBy as n}from"lodash-es";import{markRaw as u,openBlock as d,createElementBlock as c,normalizeClass as m,createElementVNode as h,renderSlot as p,resolveComponent as f,createBlock as g,mergeProps as y,createSlots as b,withCtx as v,createTextVNode as x,toDisplayString as _,createCommentVNode as w,renderList as k,normalizeProps as S,guardReactiveProps as $,createVNode as q,Fragment as C,resolveDynamicComponent as V,resolveDirective as Q,withDirectives as O,vShow as F,withModifiers as B,reactive as L,normalizeStyle as P}from"vue";import{parseISO as D,format as I,isMatch as M}from"date-fns";import{ptBR as E}from"date-fns/locale";import{copyToClipboard as A,date as j,Dialog as R,Notify as U,Loading as T,extend as z,uid as N,Quasar as G}from"quasar";import H from"autonumeric";import K from"pica";import W from"axios";import Z from"signature_pad";import{onBeforeRouteLeave as Y}from"vue-router";import J from"fuse.js";import X from"sortablejs";import ee from"@fawmi/vue-google-maps";var te={computed:{mx_context(){const{limit:e,ordering:t,page:s,search:a,...l}=this.$route.query;return{filters:l,limit:e,ordering:t,page:s?parseInt(s):1,search:a}}}},se={computed:{mx_isEditMode(){return["replace","update"].includes(this.mx_mode)},mx_mode(){return this.$route.name.endsWith("Edit")?"replace":"create"}}};const ae=["col","col-auto","fit"];var le={props:{columns:{default:()=>[],type:[Array,String,Object]},fields:{default:()=>({}),type:Object},gutter:{default:"md",type:[String,Boolean],validator:e=>["xs","sm","md","lg","xl"].includes(e)}},computed:{mx_classes(){const e=["row"];return this.gutter&&e.push(`q-col-gutter-${this.gutter}`),e}},methods:{mx_getBreakpoint(e){const t=[],s={col:"col",xs:"col-xs",sm:"col-sm",md:"col-md",lg:"col-lg",xl:"col-xl"},{fieldProps:a,classes:l,...i}=e||{};for(const e in i){const a=i[e];t.push(ae.includes(a)?a:`${s[e]}-${a}`)}return[...t,l]},mx_getFieldClass(e,t){return"string"==typeof this.columns?ae.includes(this.columns)?this.columns:`col-${this.columns}`:Array.isArray(this.columns)?this.mx_handleColumnsByIndex(e,t):this.mx_handleColumnsByField(e,t)},mx_handleColumnsByField(e,t){return this.columns[e]?this.mx_getBreakpoint(this.columns[e]):this.mx_setDefaultColumnClass(t)},mx_handleColumnsByIndex(e,t){const s=t?this.fields:this.groupedFields.visible;Array.isArray(s)||(e=Object.keys(s).findIndex((t=>t===e)));return this.columns.length?this.mx_getBreakpoint(this.columns[e]):this.mx_setDefaultColumnClass(t)},mx_setDefaultColumnClass:e=>e?"col-6 col-xs-12 col-sm-4":"col-6"}};const ie={good:{color:"warning",label:"Good",progress:.5,textClass:"text-warning"},strong:{color:"positive",label:"Strong",progress:.75,textClass:"text-positive"},veryStrong:{color:"positive",label:"Very strong",progress:1,textClass:"text-positive"},veryWeak:{color:"negative",label:"Very weak",progress:0,textClass:"text-negative"},weak:{color:"warning",label:"Weak",progress:.25,textClass:"text-warning"}};var oe={props:{levels:{default:()=>ie,type:Object},minlength:{default:8,type:[Number,String]},specials:{default:/[!@#$%^&*()_+\-=[\]{}|;:'",<.>/?`~]/g,type:RegExp},trackColor:{default:"blue-grey-1",type:String},useLowercase:{default:!0,type:Boolean},useNumbers:{default:!0,type:Boolean},useSpecial:{default:!0,type:Boolean},useUppercase:{default:!0,type:Boolean}}},re={computed:{mx_isSmall(){return this.$q.screen.xs},mx_isMedium(){return this.$q.screen.sm},mx_isLarge(){return this.$q.screen.gt.sm},mx_untilMedium(){return this.$q.screen.lt.sm},mx_untilLarge(){return this.$q.screen.lt.md},mx_isMobile(){return this.$q.platform.is.mobile}}},ne={props:{dialog:{type:Boolean},entity:{required:!0,type:String},url:{default:"",type:String},fields:{default:()=>({}),type:Object},errors:{default:()=>({}),type:Object},metadata:{default:()=>({}),type:Object},fetching:{type:Boolean}},emits:["update:fields","update:errors","update:metadata","update:fetching"],data:()=>({mx_errors:{},mx_fields:{},mx_metadata:{},mx_isFetching:!1}),watch:{mx_isFetching(e){this.$emit("update:fetching",e)}},computed:{mx_componentTag(){return this.dialog?"div":"q-page"},mx_hasFooterSlot(){return!!this.$slots.footer},mx_hasHeaderSlot(){return!!this.$slots.header}},methods:{mx_fetchError(e){const{response:t}=e,a=s(t,"data.exception")||e.message;this.$qas.error("Ops! Erro ao obter os dados.",a);const l={403:"Forbidden",404:"NotFound"}[s(t,"status")];l&&this.$router.replace({name:l})},mx_setErrors(e={}){this.mx_errors=u(e)},mx_setFields(t={}){for(const s in t)t[s].name=e(t[s].name);this.mx_fields=u(t)},mx_setMetadata(e={}){this.mx_metadata=u(e)},mx_updateModels(e){for(const t in e)this.$emit(`update:${t}`,e[t])}}},ue={name:"QasActions",mixins:[re],props:{align:{default:"end",type:String,validator:e=>["start","around","between","center","end"].includes(e)},gutter:{default:"md",type:String,validator:e=>["xs","sm","md","lg","xl"].includes(e)}},computed:{classes(){return[`justify-${this.align}`,`q-col-gutter-${this.gutter}`,this.mx_isSmall?"column reverse":"row"]}}};const de={class:"col-12 col-sm-auto"},ce={class:"col-12 col-sm-auto"};ue.render=function(e,t,s,a,l,i){return d(),c("div",{class:m(i.classes)},[h("div",de,[p(e.$slots,"secondary")]),h("div",ce,[p(e.$slots,"primary")])],2)},ue.__file="src/components/actions/QasActions.vue";var me={name:"QasBtn",mixins:[re],inheritAttrs:!1,props:{hideLabelOnSmallScreen:{type:Boolean}},computed:{attributes(){const{label:e,...t}=this.$attrs;return t},hasLabel(){return!(!this.$attrs.label&&!this.$slots.default)},showLabel(){return this.hasLabel&&!(this.hideLabelOnSmallScreen&&this.mx_isSmall)},slots(){const{default:e,...t}=this.$slots;return t}}};me.render=function(e,t,s,a,l,i){const o=f("q-btn");return d(),g(o,y({color:"primary","no-caps":"",unelevated:""},i.attributes),b({default:v((()=>[i.showLabel?p(e.$slots,"default",{key:0},(()=>[x(_(e.$attrs.label),1)])):w("v-if",!0)])),_:2},[k(i.slots,((t,s)=>({name:s,fn:v((t=>[p(e.$slots,s,S($(t||{})))]))})))]),1040)},me.__file="src/components/btn/QasBtn.vue";var he={name:"QasActionsMenu",components:{QasBtn:me},props:{icon:{default:"o_settings",type:String},label:{default:"Configurações",type:String},list:{default:()=>({}),type:Object}},methods:{onClick(e){if("function"==typeof e.handler){const{handler:t,...s}=e;e.handler(s)}}}};const pe={class:"flex items-center justify-center q-gutter-x-md"};function fe(e){return e.map((e=>e.children&&"string"!=typeof e.children?Array.isArray(e.children)?fe(e.children):e.children.default?fe(e.children.default()):void 0:e.children||"")).join("")}function ge(t,s){const a={};for(const l in s){const i=e(l);if(!i.startsWith(t))continue;const o=i.replace(`${t}.`,""),[r,n,u]=o.split(".");a[r]||(a[r]={}),u?a[r][n]=ge([t,r,n].join("."),s):n?a[r][n]=s[l]:a[r]=s[l]}return a}function ye(e,t,s={}){return e?(e=e instanceof Date?e:D(e),I(e,t,{locale:E,...s})):""}function be(e,t="dd/MM/yyyy",s){return ye(e,t,s)}function ve(e=0){return(e=Number(e))?e.toLocaleString("pt-BR"):""}function xe(e){return e.replace(/^(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})/g,"$1.$2.$3/$4-$5")}function _e(e){return e.replace(/^(\d{3})\D*(\d{3})\D*(\d{3})\D*(\d{2})$/g,"$1.$2.$3-$4")}function we(e){return{"company-document":()=>xe(e),document:()=>function(e){return e.length<12?_e(e):xe(e)}(e),"personal-document":()=>_e(e),phone:()=>function(e){return e.replace(/^(\d{2})\D*(\d{5}|\d{4})\D*(\d{4})$/g,"($1) $2-$3")}(e),"postal-code":()=>function(e){return e.replace(/^(\d{5})\D*(\d{3})$/g,"$1-$2")}(e),decimal:()=>ve(e),money:()=>function(e=0,t={style:"currency",currency:"BRL"}){return e=Number(e),isNaN(e)?"":e.toLocaleString("pt-BR",t)}(e),"square-area":()=>function(e=0,t="m²"){return(e=ve(e))?`${e} ${t}`:""}(e)}}function ke(e={},t){if(!t)return t;const s=we(t);if(s[e.mask])return s[e.mask]();switch(e.type){case"boolean":return function(e,t="sim",s="não"){try{return JSON.parse(e)?t:s}catch{return e}}(t);case"select":return Se(e.options,t,e.multiple);case"date":return be(t);case"datetime":return function(e,t="dd/MM/yyyy HH:mm:ss",s){return ye(e,t,s)}(t);case"time":return function(e,t="HH:mm",s){return M(e,t)?e:ye(e,t,s)}(t);case"radio":return Se(e.options,t);default:return t}}function Se(e,t,s){return s?function(e,t){return t.map((t=>$e(e,t)))}(e,t):$e(e,t)}function $e(e=[],t){return(e.find((e=>String(e.value)===String(t)))||{}).label||""}function qe(e){try{return JSON.parse(e)}catch{return e}}he.render=function(e,t,s,a,l,i){const o=f("q-icon"),r=f("q-item-section"),n=f("q-item"),u=f("q-list"),m=f("q-menu"),b=f("qas-btn");return d(),g(b,{class:"qas-actions-menu",color:"primary","hide-label-on-small-screen":"",icon:s.icon,label:s.label,outline:""},{default:v((()=>[q(m,{class:"qas-actions-menu__menu"},{default:v((()=>[q(u,{class:"qas-actions-menu__list",separator:""},{default:v((()=>[(d(!0),c(C,null,k(s.list,((t,s)=>p(e.$slots,s,{item:t},(()=>[(d(),g(n,y({key:s,class:"text-bold text-primary",clickable:""},t.props,{onClick:e=>i.onClick(t)}),{default:v((()=>[q(r,null,{default:v((()=>[h("div",pe,[q(o,{name:t.icon,size:t.iconSize},null,8,["name","size"]),h("div",null,_(t.label),1)])])),_:2},1024)])),_:2},1040,["onClick"]))])))),256))])),_:3})])),_:3})])),_:3},8,["icon","label"])},he.__file="src/components/actions-menu/QasActionsMenu.vue";var Ce={name:"QasBreakline",props:{split:{default:"\n",type:String},tag:{default:"div",type:String},text:{default:"",type:String}},computed:{lines(){return(this.text||fe(this.$slots.default())).split(this.split)}}};Ce.render=function(e,t,s,a,l,i){return d(!0),c(C,null,k(i.lines,((t,a)=>(d(),g(V(s.tag),y({key:a},e.$attrs),{default:v((()=>[x(_(t),1)])),_:2},1040)))),128)},Ce.__file="src/components/breakline/QasBreakline.vue";var Ve={name:"QasAlert",components:{QasBreakline:Ce,QasBtn:me},props:{color:{default:"primary",type:String},modelValue:{default:!0,type:Boolean},text:{default:"",type:String},title:{default:"",type:String}},emits:["update:modelValue"],data:()=>({model:!0}),computed:{classes(){return{[`text-${this.color}`]:!0,[`bg-${this.color}-contrast`]:["primary","secondary"].includes(this.color)}}},watch:{modelValue:{handler(e){this.model=e},immediate:!0}},methods:{close(){this.$emit("update:modelValue",!1)}}};const Qe={class:"q-gutter-md q-mr-lg"},Oe={key:0,class:"text-bold text-h5"};Ve.render=function(e,t,s,a,l,i){const o=f("qas-btn"),r=f("qas-breakline");return l.model?(d(),c("div",{key:0,class:m(["q-pa-lg qas-alert relative-position rounded-borders",i.classes])},[q(o,{class:"absolute-top-right q-mr-md q-mt-sm",color:s.color,dense:"",flat:"",icon:"o_close",rounded:"",onClick:i.close},null,8,["color","onClick"]),h("div",Qe,[p(e.$slots,"header",{},(()=>[s.title?(d(),c("h5",Oe,_(s.title),1)):w("v-if",!0)])),p(e.$slots,"default",{},(()=>[q(r,{tag:"p",text:s.text},null,8,["text"])]))])],2)):w("v-if",!0)},Ve.__file="src/components/alert/QasAlert.vue";var Fe={name:"QasAvatar",props:{color:{default:"primary",type:String},dark:{type:Boolean},icon:{default:"o_error",type:String},image:{default:"",type:String},textColor:{default:"",type:String},title:{default:"",type:String}},data:()=>({hasImageError:!1}),computed:{avatarClass(){if(this.hasImage)return null;const e=this.textColor?this.textColor:this.contrastColor;return[this.dark?`bg-${this.color} text-${e}`:`bg-${e} text-${this.color}`]},contrastColor(){return`${this.color}-contrast`},firstLetter(){return this.title[0].toUpperCase()},hasImage(){return!this.hasImageError&&!!this.image},hasTitle(){return!!this.title}},watch:{image(){this.hasImageError=!1}},methods:{onImageLoadedError(){this.hasImageError=!0}}};Fe.render=function(e,t,s,a,l,i){const o=f("q-img"),r=f("q-icon"),n=f("q-avatar");return d(),g(n,{class:m(["text-bold",i.avatarClass]),rounded:""},{default:v((()=>[i.hasImage?(d(),g(o,{key:0,alt:s.title,ratio:1,"spinner-color":"primary","spinner-size":"16px",src:s.image,onError:i.onImageLoadedError},null,8,["alt","src","onError"])):i.hasTitle?(d(),c(C,{key:1},[x(_(i.firstLetter),1)],2112)):(d(),g(r,{key:2,name:s.icon},null,8,["name"]))])),_:1},8,["class"])},Fe.__file="src/components/avatar/QasAvatar.vue";var Be={name:"QasAppBar",components:{QasAvatar:Fe,QasBtn:me},props:{brand:{default:"",type:String},isAuth:{type:Boolean},title:{type:String,default:""},notifications:{default:()=>({}),type:Object},user:{default:()=>({}),require:!0,type:Object}},emits:["sign-out","toggle-menu"],data:()=>({menuDrawer:!0}),computed:{developmentBadgeLabel(){const e={localhost:"Local",develop:"Develop",release:"Release"};if(process.env.DEV)return e.localhost;const t=Object.keys(e).find((e=>location.hostname.includes(e)));return t?e[t]:""},hasDevelopmentBadge(){return!!this.developmentBadgeLabel},hasNotifications(){return!!Object.keys(this.notifications).length},showTitle(){return this.title&&!this.brand}},methods:{goToProfile(){return this.$router.push(this.user.to)},goToRoot(){this.$router.push({name:"Root"})},signOut(){this.$emit("sign-out")},toggleMenuDrawer(){this.$emit("toggle-menu")}}};const Le=["alt","src"],Pe={key:1,class:"text-bold text-grey-9 text-subtitle1 text-uppercase"},De={key:0,class:"q-mr-md"},Ie={class:"items-center no-wrap q-gutter-md row"},Me=["title"],Ee={class:"q-px-sm qas-app-bar__user-data qs-lh-lg text-caption"},Ae={class:"ellipsis"},je={class:"ellipsis text-bold"},Re={class:"qas-app-bar__user-menu"},Ue={class:"q-pa-lg text-center"},Te={class:"ellipsis q-mt-lg qs-lh-sm text-bold text-subtitle1"},ze={class:"ellipsis q-mt-xs text-caption"},Ne={class:"q-mt-sm"},Ge={class:"q-mt-sm"};Be.render=function(e,t,s,a,l,i){const o=f("q-ajax-bar"),r=f("q-btn"),n=f("q-badge"),u=f("q-toolbar-title"),m=f("qas-avatar"),y=f("qas-btn"),b=f("q-menu"),k=f("q-toolbar"),S=f("q-header"),$=Q("close-popup");return d(),g(S,{class:"bg-white qas-app-bar shadow-primary","height-hint":"70"},{default:v((()=>[q(k,{class:"qas-app-bar__toolbar",color:"bg-white"},{default:v((()=>[q(o,{color:"white",position:"top",size:"2px"}),q(r,{color:"grey-7",dense:"",flat:"",icon:"o_menu",round:"",onClick:i.toggleMenuDrawer},null,8,["onClick"]),q(u,{class:"flex"},{default:v((()=>[h("div",{class:"cursor-pointer",onClick:t[0]||(t[0]=(...e)=>i.goToRoot&&i.goToRoot(...e))},[s.brand?(d(),c("img",{key:0,alt:s.title,class:"q-mr-sm qas-app-bar__brand",src:s.brand},null,8,Le)):w("v-if",!0),i.showTitle?(d(),c("span",Pe,_(s.title),1)):w("v-if",!0),i.hasDevelopmentBadge?(d(),g(n,{key:2,align:"middle",class:"q-ml-sm",color:"negative",label:i.developmentBadgeLabel},null,8,["label"])):w("v-if",!0)])])),_:1}),i.hasNotifications?(d(),c("div",De,[q(r,{class:"q-mr-md",dense:"",icon:"o_notifications",round:"",unelevated:""},{default:v((()=>[s.notifications?(d(),g(n,{key:0,color:"red",floating:""},{default:v((()=>[x(_(s.notifications.count),1)])),_:1})):w("v-if",!0)])),_:1})])):w("v-if",!0),h("div",Ie,[p(e.$slots,"tools"),s.isAuth?(d(),c("div",{key:0,class:"cursor-pointer items-center q-mr-sm qas-app-bar__user rounded-borders row text-grey-9",title:s.user.name||s.user.givenName},[q(m,{class:"rounded-borders-left",color:"white",dark:"",image:s.user.photo,rounded:"",size:"42px","text-color":"primary",title:s.user.name||s.user.givenName},null,8,["image","title"]),h("div",Ee,[h("div",Ae,_(s.user.name||s.user.givenName),1),h("div",je,_(s.user.email),1)]),q(b,{anchor:"bottom end",class:"shadow-primary","max-height":"400px",offset:[0,5],self:"top end"},{default:v((()=>[h("div",Re,[h("div",Ue,[h("button",{class:"unset",onClick:t[1]||(t[1]=(...e)=>i.goToProfile&&i.goToProfile(...e))},[q(m,{image:s.user.photo,size:"145px",title:s.user.name||s.user.givenName},null,8,["image","title"])]),h("div",Te,_(s.user.name||s.user.givenName),1),h("div",ze,_(s.user.email),1),h("div",Ne,[q(y,{flat:"",icon:"o_edit",label:"Editar",to:s.user.to},null,8,["to"])]),h("div",Ge,[O(q(y,{class:"q-px-lg q-py-xs",dense:"",icon:"o_exit_to_app",label:"Sair",outline:"",onClick:i.signOut},null,8,["onClick"]),[[$]])]),p(e.$slots,"user",{user:s.user})])])])),_:3})],8,Me)):w("v-if",!0)])])),_:3})])),_:3})},Be.__file="src/components/app-bar/QasAppBar.vue";var He={name:"QasAppMenu",mixins:[re],props:{itemClass:{default:"",type:[Array,Object,String]},items:{default:()=>[],type:Array},modelValue:{default:!0,type:Boolean},title:{default:"",type:String},modules:{default:()=>[],type:Array}},emits:["update:modelValue"],data:()=>({miniMode:!1,module:"",isMini:!1}),computed:{activeItemClasses:()=>"bg-primary-contrast text-primary text-weight-bold",activeItemClassesSecondary:()=>"text-primary bg-secondary-contrast",defaultModules(){if(!["localhost","127.0.0.1"].includes(window.location.hostname))return this.modules;const e=[...this.modules],{host:t,protocol:s}=window.location,a=`${s}//${t}`;return e.unshift({label:"Localhost "+(this.title?`(${this.title})`:""),value:a}),e},model:{get(){return this.modelValue},set(e){return this.$emit("update:modelValue",e)}},currentModelOption(){return this.defaultModules.find((e=>e?.value===this.module))},displayModuleSection(){return!this.isMini&&this.defaultModules.length},currentModule(){const e=window.location.hostname;return this.defaultModules.find((t=>t?.value.includes(e)))?.value}},watch:{currentModule:{handler(e){this.module=e},immediate:!0}},methods:{hasChildren:({children:e})=>!!(e||[]).length,shouldExpand({children:e,to:t}){return e?.length&&this.$route.matched.some((e=>e?.path===t?.path))},beforeHide(){this.mx_isLarge&&(this.model=!0,this.miniMode=!this.miniMode)},setMiniState(e){this.isMini=e},redirectHandler({value:e}){e.includes(window.location.host)||(window.location.href=e)},toggleItem(e){const t=this.getComponent(e);t?.to&&this.isMini&&t.toggle()},getComponent(e){return this.$refs[`item-${e}`]?.[0]}}};const Ke={class:"column flex full-height justify-between no-wrap overflow-x-hidden"},We={key:0,class:"q-ma-md"},Ze=h("div",{class:"q-mb-sm text-caption text-grey-7 text-weight-medium"}," Você está no modulo: ",-1),Ye={class:"q-mx-md"},Je={key:0,alt:"Modular",class:"block q-mb-md q-mx-auto",src:"data:image/svg+xml,%3Csvg%20width%3D%22126%22%20height%3D%2226%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20opacity%3D%22.3%22%3E%3Cg%20clip-path%3D%22url%28%23a%29%22%3E%3Cpath%20d%3D%22M6.829%2010.909c.02-2.295.059-4.6.119-6.895C9.197%202.653%2011.41%201.3%2013.58%200c2.172%201.301%204.393%202.653%206.634%204.014.07%202.295.11%204.6.12%206.895a342.175%20342.175%200%200%200%206.048%203.417c-.02%202.504-.1%205.017-.238%207.521A575.699%20575.699%200%200%200%2019.392%2026a404.892%20404.892%200%200%201-5.81-3.388A525.05%20525.05%200%200%201%207.77%2026a574.702%20574.702%200%200%200-6.753-4.153%20158.72%20158.72%200%200%201-.238-7.52%20381.833%20381.833%200%200%200%206.049-3.418Zm6.752-9.24c-1.487.884-2.994%201.788-4.521%202.702%201.487.855%202.994%201.73%204.521%202.613a830.152%20830.152%200%200%201%204.522-2.613c-1.527-.904-3.034-1.818-4.522-2.702Zm.714%206.577v5.295c1.537-.884%203.064-1.768%204.591-2.642-.01-1.759-.03-3.507-.06-5.266-1.487.855-3.004%201.729-4.53%202.613Zm5.87%2015.658a402.133%20402.133%200%200%201%204.602-2.792c.079-1.719.128-3.438.158-5.156-1.547.884-3.084%201.788-4.62%202.692-.04%201.749-.08%203.507-.14%205.256Zm4.046-9.16c-1.517-.845-3.044-1.72-4.571-2.593a767.782%20767.782%200%200%200-4.601%202.652c1.527.884%203.044%201.759%204.551%202.613%201.547-.894%203.084-1.788%204.621-2.672Zm-15.806%209.21c1.468-.835%202.955-1.71%204.462-2.594%200-1.768-.01-3.546-.01-5.315a577.521%20577.521%200%200%201-4.56%202.623c.029%201.758.059%203.527.108%205.285Zm3.719-9.15c-1.537-.885-3.064-1.78-4.601-2.653a310.65%20310.65%200%200%201-4.572%202.593c1.537.874%203.084%201.768%204.621%202.672a573.757%20573.757%200%200%200%204.552-2.613Z%22%20fill%3D%22%2300314D%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22m47.676%2021.17-.022-10.315-5.113%208.536h-1.29l-5.112-8.403V21.17h-2.756V5.61h2.378l6.18%2010.314L48.01%205.61h2.378l.022%2015.56h-2.734ZM58.193%2021.325c-1.2%200-2.282-.26-3.245-.778a5.774%205.774%200%200%201-2.268-2.156c-.533-.934-.8-1.986-.8-3.157%200-1.17.267-2.215.8-3.134a5.774%205.774%200%200%201%202.267-2.156c.964-.52%202.045-.778%203.246-.778%201.215%200%202.304.259%203.268.778a5.619%205.619%200%200%201%202.245%202.156c.548.919.822%201.963.822%203.134%200%201.17-.274%202.223-.822%203.157a5.62%205.62%200%200%201-2.245%202.156c-.964.518-2.053.778-3.268.778Zm0-2.379c1.023%200%201.867-.34%202.534-1.022.667-.682%201-1.578%201-2.69%200-1.111-.333-2.008-1-2.69-.667-.681-1.511-1.022-2.534-1.022s-1.867.34-2.534%201.022c-.652.682-.978%201.579-.978%202.69%200%201.112.326%202.008.978%202.69.667.681%201.511%201.022%202.534%201.022ZM78.513%204.675V21.17h-2.667v-1.534c-.46.563-1.03.986-1.712%201.267-.667.282-1.408.423-2.223.423-1.14%200-2.17-.252-3.09-.756a5.47%205.47%200%200%201-2.133-2.134c-.52-.934-.779-2-.779-3.2%200-1.201.26-2.26.778-3.18a5.471%205.471%200%200%201%202.135-2.134c.918-.504%201.948-.755%203.09-.755.785%200%201.503.133%202.155.4a4.337%204.337%200%200%201%201.668%201.2v-6.09h2.778Zm-6.268%2014.271c.667%200%201.267-.148%201.8-.444a3.372%203.372%200%200%200%201.267-1.312c.312-.563.467-1.215.467-1.956%200-.74-.155-1.393-.467-1.956a3.217%203.217%200%200%200-1.267-1.29%203.507%203.507%200%200%200-1.8-.466c-.667%200-1.267.155-1.8.467a3.217%203.217%200%200%200-1.268%201.289c-.311.563-.467%201.215-.467%201.956%200%20.741.156%201.393.467%201.956.311.563.734%201%201.267%201.312a3.644%203.644%200%200%200%201.8.444ZM91.854%209.299v11.87H89.21v-1.511c-.444.533-1%20.948-1.667%201.244a5.487%205.487%200%200%201-2.156.423c-1.586%200-2.838-.437-3.757-1.312-.904-.889-1.356-2.2-1.356-3.934v-6.78h2.779V15.7c0%201.067.237%201.867.711%202.4.49.52%201.178.779%202.067.779.993%200%201.779-.304%202.357-.912.592-.622.889-1.511.889-2.667V9.299h2.778ZM93.805%204.675h2.78V21.17h-2.78V4.675ZM103.773%209.166c1.749%200%203.083.422%204.002%201.267.933.83%201.4%202.09%201.4%203.778v6.958h-2.623v-1.445c-.341.519-.83.92-1.467%201.2-.622.267-1.378.4-2.267.4-.89%200-1.668-.147-2.334-.444-.667-.311-1.186-.733-1.556-1.267a3.317%203.317%200%200%201-.534-1.845c0-1.067.393-1.919%201.178-2.556.8-.652%202.053-.978%203.757-.978h3.067v-.178c0-.83-.252-1.467-.755-1.912-.489-.444-1.223-.667-2.201-.667-.667%200-1.326.104-1.978.312-.638.207-1.179.496-1.623.867l-1.09-2.023c.623-.475%201.371-.838%202.246-1.09a9.984%209.984%200%200%201%202.778-.377Zm-.377%2010.136c.696%200%201.311-.156%201.845-.467a2.638%202.638%200%200%200%201.155-1.378v-1.378h-2.867c-1.601%200-2.401.526-2.401%201.578%200%20.504.2.904.6%201.2.4.297.956.445%201.668.445ZM113.997%2011.033c.8-1.245%202.208-1.867%204.224-1.867v2.645a3.532%203.532%200%200%200-.645-.067c-1.082%200-1.927.319-2.534.956-.608.622-.912%201.526-.912%202.712v5.757h-2.778V9.3h2.645v1.734Z%22%20fill%3D%22%2300314D%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20fill%3D%22%23fff%22%20transform%3D%22matrix%28-1%200%200%201%2026.383%200%29%22%20d%3D%22M0%200h25.603v26H0z%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E"};He.render=function(e,t,s,a,l,i){const o=f("qas-select"),r=f("q-icon"),n=f("q-item-section"),u=f("q-item-label"),m=f("q-item"),p=f("q-expansion-item"),y=f("q-list"),b=f("q-drawer"),S=Q("ripple");return d(),g(b,{modelValue:i.model,"onUpdate:modelValue":t[2]||(t[2]=e=>i.model=e),class:"qas-app-menu",mini:l.miniMode,width:230,onBeforeHide:i.beforeHide,onMiniState:i.setMiniState},{default:v((()=>[h("div",Ke,[h("div",null,[i.displayModuleSection?(d(),c("div",We,[Ze,q(o,{modelValue:l.module,"onUpdate:modelValue":[t[0]||(t[0]=e=>l.module=e),t[1]||(t[1]=e=>i.redirectHandler(i.currentModelOption))],options:i.defaultModules},null,8,["modelValue","options"])])):w("v-if",!0),q(y,{class:"text-grey-9 text-weight-medium"},{default:v((()=>[(d(!0),c(C,null,k(s.items,((e,t)=>(d(),c(C,null,[i.hasChildren(e)?(d(),g(p,{key:e.label,ref_for:!0,ref:`item-${t}`,"active-class":i.activeItemClassesSecondary,"default-opened":i.shouldExpand(e),"expand-icon":"o_keyboard_arrow_down","expand-separator":"",group:"item",icon:e.icon,label:e.label,to:e.to,onClick:e=>i.toggleItem(t)},{default:v((()=>[(d(!0),c(C,null,k(e.children,((e,t)=>O((d(),g(m,{key:t,"active-class":i.activeItemClasses,clickable:"",to:e.to},{default:v((()=>[e.icon?(d(),g(n,{key:0,avatar:""},{default:v((()=>[q(r,{name:e.icon},null,8,["name"])])),_:2},1024)):w("v-if",!0),q(n,null,{default:v((()=>[q(u,null,{default:v((()=>[x(_(e.label),1)])),_:2},1024)])),_:2},1024)])),_:2},1032,["active-class","to"])),[[S]]))),128))])),_:2},1032,["active-class","default-opened","icon","label","to","onClick"])):O((d(),g(m,{key:t,"active-class":i.activeItemClasses,clickable:"",to:e.to},{default:v((()=>[e.icon?(d(),g(n,{key:0,avatar:""},{default:v((()=>[q(r,{name:e.icon},null,8,["name"])])),_:2},1024)):w("v-if",!0),q(n,null,{default:v((()=>[q(u,null,{default:v((()=>[x(_(e.label),1)])),_:2},1024)])),_:2},1024)])),_:2},1032,["active-class","to"])),[[S]])],64)))),256))])),_:1})]),h("div",Ye,[w(" TODO: O Modular não é o Asteroid, então não podemos manter esse logo aqui. "),l.isMini?w("v-if",!0):(d(),c("img",Je))])])])),_:1},8,["modelValue","mini","onBeforeHide","onMiniState"])},He.__file="src/components/app-menu/QasAppMenu.vue";var Xe={name:"QasBox",props:{outlined:{type:Boolean},unelevated:{type:Boolean}},computed:{boxClass(){return{"border-primary-contrast":this.outlined,"shadow-primary":!this.unelevated}}}};Xe.render=function(e,t,s,a,l,i){return d(),c("div",{class:m(["bg-white q-px-md q-py-lg rounded-borders",i.boxClass])},[p(e.$slots,"default")],2)},Xe.__file="src/components/box/QasBox.vue";var et={name:"QasCard",props:{bgImagePosition:{type:String,default:"center"},formMode:{type:Boolean},gutter:{type:String,default:"sm"},images:{default:()=>[],type:Array},outlined:{type:Boolean},result:{default:()=>({}),type:Object},useHeader:{type:Boolean}},data:()=>({slideImage:0}),computed:{bgImagePositionClass(){return`bg-position-${this.bgImagePosition}`},cardClasses(){return this.formMode?"bg-white border-primary no-shadow":"box-shadow-1"},gutterClass(){return`q-col-gutter-${this.gutter}`},hasActionsSlot(){return!!this.$slots.actions},hasImages(){return this.images.length>1},imagesLength(){return this.images?.length},imagesList(){return this.imagesLength&&this.images.slice(0,3)}},methods:{getNavigationIcon:(e,t)=>e?"o_radio_button_checked":t.icon}};const tt={class:"col-12 col-lg-3 col-md-4 col-sm-6"},st={key:0,class:"overflow-hidden relative-position w-full"},at={class:"absolute-top flex items-center q-pa-md"},lt={key:1,class:"border-primary-contrast border-top overflow-hidden row"};et.render=function(e,t,s,a,l,i){const o=f("qas-btn"),r=f("q-carousel-slide"),n=f("q-carousel"),u=f("q-card-section"),y=f("q-card");return d(),c("div",tt,[q(y,{class:m(["border-radius-lg column full-height",i.cardClasses])},{default:v((()=>[s.useHeader?(d(),c("div",st,[p(e.$slots,"header",{},(()=>[q(n,{modelValue:l.slideImage,"onUpdate:modelValue":t[0]||(t[0]=e=>l.slideImage=e),animated:"",class:"cursor-pointer",height:"205px",infinite:"",navigation:i.hasImages,"navigation-icon":"o_fiber_manual_record",swipeable:""},{"navigation-icon":v((({active:e,btnProps:t,onClick:s})=>[q(o,{color:"white",dense:"",flat:"",icon:i.getNavigationIcon(e,t),round:"",size:"sm",onClick:s},null,8,["icon","onClick"])])),default:v((()=>[(d(!0),c(C,null,k(i.imagesList,((e,t)=>(d(),g(r,{key:t,class:m(["bg-no-repeat",i.bgImagePositionClass]),"img-src":e,name:t},null,8,["class","img-src","name"])))),128))])),_:1},8,["modelValue","navigation"]),h("div",at,[p(e.$slots,"carousel-header")])]))])):w("v-if",!0),q(u,{class:"col-grow column justify-between w-full"},{default:v((()=>[h("div",{class:m(["w-full",i.gutterClass])},[p(e.$slots,"default")],2)])),_:3}),i.hasActionsSlot?(d(),c("div",lt,[p(e.$slots,"actions")])):w("v-if",!0)])),_:3},8,["class"])])},et.__file="src/components/card/QasCard.vue";var it={name:"QasCheckboxGroup",props:{options:{default:()=>[],type:Array},modelValue:{default:()=>[],type:Array}},emits:["update:modelValue"],data:()=>({group:{}}),watch:{options(){this.handleParent()}},created(){this.handleParent()},methods:{handleParent(){for(const e in this.options){const t=this.options[e];this.hasChildren(t)&&this.setGroupIntersection(this.modelValue,t,e)}},hasChildren:e=>Object.prototype.hasOwnProperty.call(e,"children"),setGroupIntersection(e,t,s){const a=t.children.map((e=>e.value)),l=a.filter((t=>e.includes(t)));this.group[s]=!!l.length&&(l.length===a.length||null)},updateCheckbox(e,t,s){if(!this.hasChildren(t))return this.updateModelValue(this.modelValue);this.group[s]=e;const a=t.children.map((e=>e.value)),l=e?[...this.modelValue,...a]:this.modelValue.filter((e=>!a.includes(e)));this.updateModelValue(l)},updateChildren(e,t,s){this.setGroupIntersection(e,t,s),this.updateModelValue(e)},getCheckboxClass(e){return this.hasChildren(e)&&"text-weight-bold"},getModelValue(e,t){return this.hasChildren(e)?this.group[t]:e.value},updateModelValue(e){this.$emit("update:modelValue",e)}}};it.render=function(e,t,s,a,l,i){const o=f("q-checkbox"),r=f("q-option-group");return d(),c("div",null,[(d(!0),c(C,null,k(s.options,((e,t)=>(d(),c("div",{key:t},[q(o,{class:m(i.getCheckboxClass(e)),label:e.label,"model-value":i.getModelValue(e,t),"onUpdate:modelValue":s=>i.updateCheckbox(s,e,t)},null,8,["class","label","model-value","onUpdate:modelValue"]),i.hasChildren(e)?(d(),g(r,{key:0,class:"q-ml-sm",inline:"","model-value":s.modelValue,options:e.children,type:"checkbox","onUpdate:modelValue":s=>i.updateChildren(s,e,t)},null,8,["model-value","options","onUpdate:modelValue"])):w("v-if",!0)])))),128))])},it.__file="src/components/checkbox-group/QasCheckboxGroup.vue";var ot={name:"QasCopy",props:{icon:{default:"o_file_copy",type:String},size:{default:"xs",type:String},text:{required:!0,type:String}},data:()=>({isLoading:!1}),methods:{async copy(){this.isLoading=!0;try{await A(this.text),this.$qas.success("Copiado!",this.text)}catch(e){this.$qas.error("Não foi possível copiar.",this.text)}finally{setTimeout((()=>{this.isLoading=!1}),500)}}}};const rt=x("Copiar");ot.render=function(e,t,s,a,l,i){const o=f("q-tooltip"),r=f("qas-btn");return d(),c("span",null,[p(e.$slots,"default",{},(()=>[x(_(s.text),1)])),q(r,{class:"q-ml-xs",color:"grey-5",flat:"",icon:s.icon,loading:l.isLoading,round:"",size:s.size,onClick:i.copy},{default:v((()=>[q(o,null,{default:v((()=>[rt])),_:1})])),_:1},8,["icon","loading","size","onClick"])])},ot.__file="src/components/copy/QasCopy.vue";var nt={name:"QasDateTimeInput",props:{dateMask:{default:"DD/MM/YYYY",type:String},dateOnly:{type:Boolean},dateProps:{default:()=>({}),type:Object},gmt:{type:Boolean},timeMask:{default:"HH:mm",type:String},timeOnly:{type:Boolean},timeProps:{default:()=>({}),type:Object},modelValue:{default:"",type:String}},emits:["update:modelValue"],data:()=>({currentValue:"",lastValue:""}),computed:{attributes(){const{modelValue:e,...t}=this.$attrs;return{...t,mask:this.mask}},inputElement(){return this.$refs.input},mask(){return this.maskDate.replace(/\w/g,"#")},maskDate(){const e=[];return this.timeOnly||e.push(this.dateMask),this.dateOnly||e.push(this.timeMask),e.join(" ")}},watch:{value(e,t){e&&!this.timeOnly?e!==t&&e!==this.lastValue&&(this.currentValue=this.toMask(e)):this.currentValue=e}},created(){this.currentValue=this.toMask(this.modelValue)},methods:{blur(){this.inputElement.blur()},focus(){this.inputElement.focus()},updateModelValue(e){this.currentValue=e;const t=e.replace(/_/g,"").length;""!==e&&t!==this.mask.length||(this.lastValue=this.timeOnly?e:this.toISOString(e),this.$emit("update:modelValue",this.lastValue)),this.dateOnly&&this.$refs.dateProxy.hide(),this.timeOnly&&this.$refs.timeProxy.hide()},toISOString(e){return e?this.dateOnly&&!this.gmt?be(j.extractDate(e,this.maskDate),"yyyy-MM-dd"):this.timeOnly&&!this.gmt?j.extractDate(e,"HH:MM"):j.extractDate(e,this.maskDate).toISOString():""},toMask(e){if(!e||this.timeOnly)return e||"";const t=new Date(e).toISOString();return j.formatDate(this.dateOnly?t.slice(0,23):t,this.maskDate)}}};nt.render=function(e,t,s,a,l,i){const o=f("q-date"),r=f("q-popup-proxy"),n=f("q-icon"),u=f("q-time"),m=f("qas-input");return d(),c("div",null,[q(m,y({ref:"input"},i.attributes,{modelValue:l.currentValue,"onUpdate:modelValue":[t[2]||(t[2]=e=>l.currentValue=e),i.updateModelValue],"unmasked-value":!1}),{append:v((()=>[s.timeOnly?w("v-if",!0):(d(),g(n,{key:0,class:"cursor-pointer",name:"o_event"},{default:v((()=>[q(r,{ref:"dateProxy","transition-hide":"scale","transition-show":"scale"},{default:v((()=>[q(o,y({modelValue:l.currentValue,"onUpdate:modelValue":t[0]||(t[0]=e=>l.currentValue=e)},s.dateProps,{mask:i.maskDate,"onUpdate:modelValue":i.updateModelValue}),null,16,["modelValue","mask","onUpdate:modelValue"])])),_:1},512)])),_:1})),s.dateOnly?w("v-if",!0):(d(),g(n,{key:1,class:"cursor-pointer q-ml-md",name:"o_access_time"},{default:v((()=>[q(r,{ref:"timeProxy","transition-hide":"scale","transition-show":"scale"},{default:v((()=>[q(u,y({modelValue:l.currentValue,"onUpdate:modelValue":t[1]||(t[1]=e=>l.currentValue=e)},s.timeProps,{format24h:"",mask:i.maskDate,"onUpdate:modelValue":i.updateModelValue}),null,16,["modelValue","mask","onUpdate:modelValue"])])),_:1},512)])),_:1}))])),_:1},16,["modelValue","onUpdate:modelValue"])])},nt.__file="src/components/date-time-input/QasDateTimeInput.vue";var ut={name:"QasDebugger",props:{inspect:{default:()=>[],required:!0,type:Array}}};const dt={class:"bg-grey-3 q-my-md q-pa-md rounded-borders"},ct=h("summary",null,"Debugger",-1),mt={class:"row"};ut.render=function(e,t,s,a,l,i){return d(),c("details",dt,[ct,h("div",mt,[(d(!0),c(C,null,k(s.inspect,((e,t)=>(d(),c("pre",{key:t,class:"col q-pa-sm scroll",style:{"max-height":"300px"}},_(e),1)))),128))])])},ut.__file="src/components/debugger/QasDebugger.vue";var ht={name:"QasDialog",components:{QasBtn:me,QasActions:ue},mixins:[re],props:{btnActionsProps:{default:()=>({}),type:Object},cancel:{default:()=>({}),type:[Object,Boolean]},card:{default:()=>({}),type:Object},cardProps:{default:()=>({}),type:Object},maxWidth:{default:"",type:String},minWidth:{default:"",type:String},ok:{default:()=>({}),type:[Object,Boolean]},persistent:{default:!0,type:Boolean},useForm:{type:Boolean},modelValue:{type:Boolean},usePlugin:{type:Boolean},useCloseIcon:{type:Boolean}},emits:["update:modelValue","validate","ok","hide","update:open"],computed:{defaultCancel(){return{label:"Cancelar",outline:!0,...this.cancel?.props}},defaultOk(){return{label:"Ok",type:this.ok?.props?.type||this.useForm?"submit":"button",...this.ok?.props}},style(){return{maxWidth:this.maxWidth||(this.mx_isSmall?"":"600px"),minWidth:this.minWidth||(this.mx_isSmall?"":"400px")}},componentTag(){return this.useForm?"q-form":"div"},dialogProps(){return{...!this.usePlugin&&{modelValue:this.modelValue},...this.$attrs}}},methods:{async submitHandler(){this.useForm&&this.$emit("validate",await this.$refs.form.validate())},show(){this.$refs.dialog.show()},hide(){this.$refs.dialog.hide()},onDialogHide(){this.$emit("hide")},updateModelValue(e){this.$emit("update:modelValue",e)}}};const pt={class:"justify-between row"},ft={class:"text-bold text-h6"},gt={key:0};ht.render=function(e,t,s,a,l,i){const o=f("qas-btn"),r=f("q-card-section"),n=f("qas-actions"),u=f("q-card"),m=f("q-dialog"),b=Q("close-popup");return d(),g(m,y({ref:"dialog",persistent:s.persistent},i.dialogProps,{onHide:i.onDialogHide,"onUpdate:modelValue":i.updateModelValue}),{default:v((()=>[q(u,y(s.cardProps,{class:"q-pa-sm",style:i.style}),{default:v((()=>[q(r,null,{default:v((()=>[p(e.$slots,"header",{},(()=>[h("div",pt,[h("div",ft,_(s.card.title),1),s.useCloseIcon?O((d(),g(o,{key:0,dense:"",flat:"",icon:"o_close",rounded:""},null,512)),[[b]]):w("v-if",!0)])]))])),_:3}),q(r,{class:"q-pt-none"},{default:v((()=>[(d(),g(V(i.componentTag),{ref:"form"},{default:v((()=>[p(e.$slots,"description",{},(()=>[s.card.description?(d(),c("div",gt,_(s.card.description),1)):w("v-if",!0)]))])),_:3},512))])),_:3}),q(r,null,{default:v((()=>[p(e.$slots,"actions",{},(()=>[q(n,S($(s.btnActionsProps)),{primary:v((()=>[s.ok?O((d(),g(o,y({key:0,class:"full-width"},i.defaultOk,{onClick:i.submitHandler}),null,16,["onClick"])),[[b,!s.useForm]]):w("v-if",!0)])),secondary:v((()=>[s.cancel?O((d(),g(o,y({key:0,class:"full-width"},i.defaultCancel),null,16)),[[b]]):w("v-if",!0)])),_:1},16)]))])),_:3})])),_:3},16,["style"])])),_:3},16,["persistent","onHide","onUpdate:modelValue"])},ht.__file="src/components/dialog/QasDialog.vue";var yt=(e={})=>{R.create({component:ht,componentProps:{...e,usePlugin:!0}})};U.registerType("error",{color:"negative",progress:!0});var bt=(e,t)=>{U.create({caption:t,message:e,type:"error"})};U.registerType("success",{icon:"o_check",progress:!0});var vt=(e,t)=>{U?.create({caption:t,message:e,type:"success"})},xt={name:"QasDelete",components:{QasBtn:me,QasDialog:ht},props:{customId:{default:"",type:[Number,String]},dialogProps:{default:()=>({}),type:Object},entity:{required:!0,type:String},tag:{default:"qas-btn",type:String},url:{default:"",type:String}},emits:["success","error"],data:()=>({showDialog:!1}),computed:{defaultDialogProps(){return{card:{title:"Confirmar",description:"Tem certeza que deseja excluir este item?"},ok:{props:{label:"Excluir",onClick:this.destroy}},...this.dialogProps}},id(){return this.customId||this.$route.params.id}},methods:{openConfirmDialog(){this.showDialog=!0},async destroy(){T.show();try{await this.$store.dispatch(`${this.entity}/destroy`,{id:this.id,url:this.url}),vt("Item deletado com sucesso!"),this.createDeleteSuccessEvent(),this.$emit("success")}catch(e){bt("Ops! Não foi possível deletar o item."),this.$emit("error",e)}finally{T.hide()}},createDeleteSuccessEvent(){const e=new CustomEvent("delete-success",{bubbles:!1,cancelable:!1,detail:{entity:this.entity,url:this.url,id:this.id}});window.dispatchEvent(e)}}};xt.render=function(e,t,s,a,l,i){const o=f("qas-dialog");return d(),g(V(s.tag),{onClick:i.openConfirmDialog},{default:v((()=>[p(e.$slots,"default"),q(o,y({modelValue:l.showDialog,"onUpdate:modelValue":t[0]||(t[0]=e=>l.showDialog=e)},i.defaultDialogProps),null,16,["modelValue"])])),_:3},8,["onClick"])},xt.__file="src/components/delete/QasDelete.vue";var _t={name:"QasDialogRouter",emits:["error","hide"],data:()=>({component:null,parentRoute:"",route:null}),methods:{hide(){this.$refs.dialog.hide()},onDialogHide(){history&&this.parentRoute&&history.replaceState(null,null,this.parentRoute),this.component="",this.parentRoute="",this.route=null,this.$emit("hide")},resolveRoute(e){return this.$router.resolve(e)},async show(e){this.parentRoute=this.$route.fullPath,this.route=this.resolveRoute(e),history&&history.replaceState(null,null,this.route.fullPath);try{T.show();const e=u(z(!0,{},[...this.route.matched].pop().components.default));if("function"!=typeof e.value)this.component=e,this.$refs.dialog.show();else{const t=(await e()).default;this.component=t,this.$refs.dialog.show()}}catch(e){bt("Ops! Erro ao carregar item."),this.$emit("error",e)}finally{T.hide()}}}};_t.render=function(e,t,s,a,l,i){const o=f("q-card-section"),r=f("q-card"),n=f("q-dialog");return d(),g(n,{ref:"dialog",persistent:"",onHide:i.onDialogHide},{default:v((()=>[q(r,{class:"full-width",style:{"max-width":"80vw"}},{default:v((()=>[q(o,null,{default:v((()=>[l.component?(d(),g(V(l.component),{key:0,dialog:"",route:l.route,onHide:i.hide},null,8,["route","onHide"])):w("v-if",!0)])),_:1})])),_:1})])),_:1},8,["onHide"])},_t.__file="src/components/dialog-router/QasDialogRouter.vue";var wt={name:"QasInput",inheritAttrs:!1,props:{modelValue:{default:"",type:String},unmaskedValue:{default:!0,type:Boolean}},emits:["update:modelValue"],computed:{hasError(){return this.inputReference.hasError},inputReference(){return this.$refs.input},mask(){const{mask:e}=this.$attrs;return Object.prototype.hasOwnProperty.call(this.masks,e)?this.masks[e]():e},masks(){return{"company-document":()=>"##.###.###/####-##",document:()=>this.toggleMask("###.###.###-###","##.###.###/####-##"),"personal-document":()=>"###.###.###-##",phone:()=>this.toggleMask("(##) ####-#####","(##) #####-####"),"postal-code":()=>"#####-###"}},model:{get(){return this.modelValue},set(e){return this.$emit("update:modelValue",e)}}},watch:{mask(){const e=this.inputReference.$el?.querySelector("input");requestAnimationFrame((()=>{e.selectionStart=e.value?e.value.length:""}))}},methods:{focus(){return this.inputReference.focus()},resetValidation(){return this.inputReference.resetValidation()},toggleMask(e,t){const s=e.split("#").length-2;return this.modelValue?.length>s?t:e},validate(e){return this.inputReference.validate(e)}}};wt.render=function(e,t,s,a,l,i){const o=f("q-input");return d(),c("div",null,[q(o,y({ref:"input",modelValue:i.model,"onUpdate:modelValue":t[0]||(t[0]=e=>i.model=e),"bottom-slots":""},e.$attrs,{mask:i.mask,"unmasked-value":s.unmaskedValue}),b({_:2},[k(e.$slots,((t,s)=>({name:s,fn:v((t=>[p(e.$slots,s,S($(t||{})))]))})))]),1040,["modelValue","mask","unmasked-value"])])},wt.__file="src/components/input/QasInput.vue";const kt={decimal:"commaDecimalCharDotSeparator",integer:["commaDecimalCharDotSeparator","integer"],money:"Brazilian",percent:"percentageEU2dec"};var St={name:"QasNumericInput",props:{allowNegative:{default:!0,type:Boolean},allowPositive:{default:!0,type:Boolean},autonumericProps:{default:()=>({}),type:Object},decimalPlaces:{default:2,type:Number},mode:{default:"integer",type:String,validator:e=>["integer","decimal","percent","money"].includes(e)},modelValue:{default:"",validator:e=>"number"==typeof e||"string"==typeof e||""===e||null===e},preset:{default:!1,type:[Boolean,String]}},emits:["update:modelValue"],data:()=>({autoNumeric:null}),computed:{defaultMode(){return kt[this.mode]},model:{get(){return this.modelValue},set(){this.$emit("update:modelValue",this.autoNumeric.getNumber())}}},async created(){const e=H.getPredefinedOptions();let t=this.preset||this.defaultMode;Array.isArray(t)||(t=[t]);const s={};for(const a of t)Object.assign(s,e[a]);this.allowNegative||(s.minimumValue=0),this.allowPositive||(s.maximumValue=0),"integer"!==this.mode&&(s.decimalPlaces=this.decimalPlaces),Object.assign(s,this.autonumericProps),this.$nextTick((()=>{this.$refs.input.value=this.modelValue,this.autoNumeric=new H(this.$refs.input,s)}))},beforeUnmount(){this.autoNumeric.remove()}};const $t=["id","model-value","onInput"];St.render=function(e,t,s,a,l,i){const o=f("q-field");return d(),g(o,{modelValue:i.model,"onUpdate:modelValue":t[0]||(t[0]=e=>i.model=e)},{control:v((({emitValue:e,floatingLabel:t,id:s,value:a})=>[O(h("input",{id:s,ref:"input",class:"q-field__input","model-value":a,onInput:t=>e(t.target.value)},null,40,$t),[[F,t]])])),_:1},8,["modelValue"])},St.__file="src/components/numeric-input/QasNumericInput.vue";var qt={name:"QasPasswordStrengthChecker",mixins:[oe],props:{modelValue:{default:!1,type:Boolean},password:{default:"",type:String}},emits:["update:model-value"],computed:{length(){return this.password.length},level(){return this.levelsValues[this.score]},levelsValues(){return Object.values(this.levels)},score(){let e=0;return this.length>=parseInt(this.minlength)&&(e+=this.useLowercase?this.password.match(/[a-z]/g)?1:0:1,e+=this.useNumbers?this.password.match(/[0-9]/g)?1:0:1,e+=this.useSpecial?this.password.match(this.specials)?1:0:1,e+=this.useUppercase?this.password.match(/[A-Z]/g)?1:0:1),e}},watch:{password(){this.emitValue()}},created(){this.emitValue()},methods:{emitValue(){this.$emit("update:model-value",4===this.score)}}};const Ct={key:0};qt.render=function(e,t,s,a,l,i){const o=f("q-linear-progress");return i.length?(d(),c("div",Ct,[p(e.$slots,"default",{level:i.level},(()=>[q(o,{color:i.level.color,"track-color":e.trackColor,value:i.level.progress},null,8,["color","track-color","value"]),h("div",{class:m(["text-caption",i.level.textClass])},_(i.level.label),3)]))])):w("v-if",!0)},qt.__file="src/components/password-strength-checker/QasPasswordStrengthChecker.vue";var Vt={name:"QasPasswordInput",components:{QasPasswordStrengthChecker:qt},mixins:[oe],props:{hideStrengthChecker:{type:Boolean},iconColor:{type:String,default:"primary"},modelValue:{type:String,default:""}},emits:["update:modelValue"],data:()=>({key:"error",toggleType:!0}),computed:{icon(){return this.toggleType?"o_visibility_off":"o_visibility"},model:{get(){return this.modelValue},set(e){return this.$emit("update:modelValue",e)}},strengthCheckerProps(){const{modelValue:e,...t}=this.$props;return t},type(){return this.toggleType?"password":"text"}},watch:{modelValue(){this.$attrs.error&&(this.$attrs.error=!1,this.$attrs.errorMessage="")}},methods:{toggle(){this.toggleType=!this.toggleType}}};Vt.render=function(e,t,s,a,l,i){const o=f("q-icon"),r=f("qas-password-strength-checker"),n=f("q-input");return d(),g(n,{modelValue:i.model,"onUpdate:modelValue":t[0]||(t[0]=e=>i.model=e),"bottom-slots":"",type:i.type},b({append:v((()=>[q(o,{class:"cursor-pointer",color:s.iconColor,name:i.icon,onClick:i.toggle},null,8,["color","name","onClick"])])),_:2},[k(e.$slots,((t,s)=>({name:s,fn:v((t=>[p(e.$slots,s,S($(t||{})))]))}))),s.hideStrengthChecker?void 0:{name:"hint",fn:v((()=>[q(r,y(i.strengthCheckerProps,{password:i.model}),null,16,["password"])]))}]),1032,["modelValue","type"])},Vt.__file="src/components/password-input/QasPasswordInput.vue";var Qt={name:"QasUploader",components:{QasAvatar:Fe},inheritAttrs:!1,props:{acceptResizeTypes:{default:()=>["image/jpeg","image/png","image/gif","image/bmp","image/webp","image/jpg"],type:Array},entity:{required:!0,type:String},errorMessage:{default:"",type:String},hint:{default:"",type:String},maxFiles:{default:void 0,type:Number},picaResizeOptions:{default:()=>({}),type:Object},sizeLimit:{default:1280,type:Number},useResize:{default:!0,type:Boolean},readonly:{type:Boolean},modelValue:{default:"",type:[Array,String]},uploading:{type:Boolean}},emits:["update:modelValue","update:uploading"],data:()=>({isFetching:!1,isUploading:!1,hidenInputElement:null,uploader:null}),computed:{self(){return this},uploaderClasses(){return this.hasCustomUpload?"hidden":"fit"},showAddFile(){if(!this.readonly)return!this.maxFiles||this.modelValue.length<this.maxFiles},isMultiple(){return this.$attrs.multiple||""===this.$attrs.multiple},hasCustomUpload(){return this.$slots["custom-upload"]},itemClass(){return this.isMultiple?"col-12 col-md-3 col-sm-4":"col-12"},hintValue(){return this.hint||void 0},hasHeaderSlot(){return this.$slots.header},hasErrorMessage(){return!!this.errorMessage.length},attributes(){return{...this.$attrs,...this.$props}},defaultPicaResizeOptions(){return{unsharpAmount:160,unsharpRadius:.6,unsharpThreshold:1,...this.picaResizeOptions}}},mounted(){this.hidenInputElement=this.$refs.hidenInput,this.uploader=this.$refs.uploader,this.hidenInputElement?.addEventListener?.("change",this.addFiles)},unmounted(){this.hidenInputElement?.removeEventListener?.("change",this.addFiles)},methods:{async factory([e]){this.isMultiple||this.hasHeaderSlot||this.$refs.buttonCleanFiles.$el.click();const t=`${N()}.${e.name.split(".").pop()}`,{endpoint:s}=await this.fetchCredentials(t);return{headers:[{name:"Content-Type",value:e.type||"image/jpeg"},{name:"Content-Disposition",value:"Attachment"}],sendRaw:!0,url:s}},factoryFailed(){this.updateUploading(!1),bt("Ops! Erro ao enviar o arquivo.")},dispatchUpload(){this.$refs.buttonCleanFiles.$el.click(),this.hidenInputElement.click()},uploaded(e){const t=e.xhr.responseURL.split("?").shift();this.$emit("update:modelValue",this.isMultiple?[...this.modelValue,t]:t||""),this.updateUploading(!1)},async fetchCredentials(e){this.isFetching=!0;try{const{data:t}=await W.post("/upload-credentials/",{entity:this.entity,filename:e});return t}finally{this.isFetching=!1}},removeItem(e,t,s){if(s.isUploaded&&t.removeFile(t.files[s.indexToDelete]),s.isFailed)return;if(!this.isMultiple)return this.$emit("update:modelValue");const a=z(!0,[],this.modelValue),l=this.modelValue.findIndex((t=>this.getFileName(t)===e));a.splice(l,1),this.$emit("update:modelValue",a)},getFileName:e=>e.split("/").pop(),getFilesList(e){const t=Array.isArray(this.modelValue)?this.modelValue:this.modelValue?[this.modelValue]:[];e=e.map(((e,t)=>({isUploaded:!0,image:e.xhr?e.xhr.responseURL.split("?").shift():"",name:e.name,progressLabel:e.__progressLabel,sizeLabel:e.__sizeLabel,indexToDelete:t,isFailed:this.isFailed(e)})));const s=[...t,...e],a={};return s.forEach((e=>{if(e.isFailed)a[e.name]=e;else if("string"!=typeof e){if(e.image){const t=this.getFileName(e.image);a[t]=e}}else{const t=this.getFileName(e);a[t]={image:e,isUploaded:!1,name:t}}})),a},getFileNameClass:e=>e?"text-negative":"text-grey-8",isFailed:e=>"failed"===e.__status,getColorFileIcon(e){return this.isFailed(e)?"negative":"primary"},async addFiles(){const e=Array.from(this.hidenInputElement.files),t=[];e.forEach((e=>t.push(this.resizeImage(e)))),this.uploader.addFiles(await Promise.all(t))},async resizeImage(e){const{type:t}=e;if(!this.acceptResizeTypes.includes(t)||!this.useResize)return e;try{const s=new Image,a=document.createElement("canvas");s.src=URL.createObjectURL(e);const{width:l,height:i}=await function(e){return new Promise(((t,s)=>{e.addEventListener("load",(()=>{t({width:e.naturalWidth,height:e.naturalHeight})})),e.addEventListener("error",s)}))}(s);if(l<=this.sizeLimit)return e;const o=function(e,t,s){const a=e/Math.max(t,s);return a<1&&(t*=a,s*=a),{width:Math.round(t),height:Math.round(s)}}(this.sizeLimit,l,i);a.width=o.width,a.height=o.height,s.crossOrigin="",s.width=l,s.height=i;const r=K(),n=await r.resize(s,a,this.defaultPicaResizeOptions),u=await r.toBlob(n,t,.9);return new File([u],e.name,{type:t})}catch{return e}},updateUploading(e){this.$emit("update:uploading",e)}}};const Ot={class:"flex flex-center full-width justify-between no-border no-wrap q-gutter-xs q-pa-sm text-white transparent"},Ft={class:"col column items-start justify-center"},Bt={key:0,class:"q-uploader__title"},Lt={key:1,class:"q-uploader__subtitle"},Pt=["multiple"],Dt={class:"col-12 q-col-gutter-md row"},It={class:"col items-center no-wrap row"},Mt={key:0,class:"text-caption"},Et={class:"items-center q-ml-sm row"};Qt.render=function(e,t,s,a,l,i){const o=f("q-spinner"),r=f("qas-btn"),n=f("qas-avatar"),u=f("q-icon"),x=f("q-uploader"),S=f("q-field");return d(),g(S,{borderless:"",class:"qas-uploader",error:i.hasErrorMessage,"error-message":s.errorMessage,hint:i.hintValue,"no-error-icon":""},b({default:v((()=>[q(x,y({ref:"uploader","auto-upload":"",bordered:"",class:i.uploaderClasses,factory:i.factory,flat:"","max-files":s.maxFiles,method:"PUT",readonly:s.readonly},i.attributes,{onFactoryFailed:i.factoryFailed,onUploaded:i.uploaded,onUploading:t[1]||(t[1]=e=>i.updateUploading(!0))}),{header:v((s=>[p(e.$slots,"header",{scope:s},(()=>[h("div",Ot,[s.isUploading?(d(),g(o,{key:0,size:"24px"})):w("v-if",!0),h("div",Ft,[e.$attrs.label?(d(),c("div",Bt,_(e.$attrs.label),1)):w("v-if",!0),s.files.length?(d(),c("div",Lt,_(s.uploadProgressLabel)+" ("+_(s.uploadSizeLabel)+") ",1)):w("v-if",!0)]),i.showAddFile?(d(),g(r,{key:1,ref:"buttonUpload",color:"white",dense:"",flat:"",icon:"o_add",round:"",onClick:t[0]||(t[0]=t=>e.$refs.hidenInput.click())},null,512)):w("v-if",!0),h("input",{ref:"hidenInput",class:"qas-uploader__input",multiple:i.isMultiple,type:"file"},null,8,Pt),q(r,{ref:"buttonCleanFiles",class:"hidden",color:"white",onClick:s.removeUploadedFiles},null,8,["onClick"]),s.canUpload?(d(),g(r,{key:2,color:"white",dense:"",flat:"",icon:"o_cloud_upload",round:"",onClick:s.upload},null,8,["onClick"])):w("v-if",!0),s.isUploading?(d(),g(r,{key:3,color:"white",dense:"",flat:"",icon:"o_clear",round:"",onClick:s.abort},null,8,["onClick"])):w("v-if",!0)])]))])),list:v((t=>[p(e.$slots,"list",{scope:t},(()=>[h("div",Dt,[(d(!0),c(C,null,k(i.getFilesList(t.files,t),((e,s)=>(d(),c("div",{key:s,class:m(["row",i.itemClass])},[q(n,{class:"q-mr-sm",color:"grey-3",icon:"o_attach_file",image:e.image,rounded:"","text-color":i.getColorFileIcon(e)},null,8,["image","text-color"]),h("div",It,[h("div",{class:m(["column no-wrap",{col:i.isMultiple}])},[h("div",{class:m(["ellipsis",i.getFileNameClass(e.isFailed)])},_(e.name),3),e.isUploaded?(d(),c("div",Mt,_(e.progressLabel)+" ("+_(e.sizeLabel)+")",1)):w("v-if",!0)],2),h("div",Et,[e.isFailed?(d(),g(u,{key:0,color:"negative",name:"o_warning",size:"20px"})):w("v-if",!0),t.readonly?w("v-if",!0):(d(),g(r,{key:1,dense:"",flat:"",icon:"o_delete",round:"",onClick:a=>i.removeItem(s,t,e)},null,8,["onClick"]))])])],2)))),128))])]))])),_:3},16,["class","factory","max-files","readonly","onFactoryFailed","onUploaded"]),p(e.$slots,"custom-upload",{context:i.self})])),_:2},[i.hasErrorMessage?{name:"after",fn:v((()=>[q(u,{color:"negative",name:"o_error"})]))}:void 0]),1032,["error","error-message","hint"])},Qt.__file="src/components/uploader/QasUploader.vue";var At={name:"QasSignaturePad",components:{QasBtn:me},props:{empty:{type:Boolean,default:!0},height:{default:"250",type:String},signatureOptions:{default:()=>({}),type:Object},type:{default:"image/png",type:String}},emits:["update:empty"],expose:["clearSignature","saveSignature","updateEmptyModel"],data:()=>({canvasId:N(),hasEndStrokeEvent:!1,signaturePad:null,SignaturePad:null}),watch:{async signatureOptions(e,t){a(e,t)||(await this.setupSignaturePad(),this.updateEmptyModel())}},async mounted(){window.addEventListener("resize",this.setCanvasWidth),this.setCanvasWidth(),this.setupSignaturePad()},unmounted(){window.removeEventListener("resize",this.setCanvasWidth),this.signaturePad.off()},methods:{clearSignature(){this.signaturePad.clear(),this.updateEmptyModel()},saveSignature(){return this.signaturePad.toDataURL(this.type)},setCanvasWidth(){const e=this.$refs.signatureContainer;e.querySelector("canvas").setAttribute("width",e.offsetWidth)},setupSignaturePad(){const e=document.getElementById(this.canvasId);this.signaturePad=new Z(e,this.signatureOptions),this.hasEndStrokeEvent||this.signaturePad.addEventListener("endStroke",this.updateEmptyModel),this.hasEndStrokeEvent=!0,this.clearSignature()},updateEmptyModel(){this.$emit("update:empty",this.signaturePad.isEmpty())}}};const jt={ref:"signatureContainer",class:"qas-signature-pad relative-position"},Rt=["id","height"];At.render=function(e,t,s,a,l,i){const o=f("qas-btn");return d(),c("div",jt,[h("canvas",{id:l.canvasId,ref:e.$attrs.ref,class:"qas-signature-pad__canvas rounded-borders vertical-bottom",height:s.height},null,8,Rt),s.empty?w("v-if",!0):(d(),g(o,{key:0,class:"absolute-bottom-right q-mb-sm q-mr-sm",color:"primary",dense:"",icon:"o_delete",round:"",onClick:i.clearSignature},null,8,["onClick"]))],512)},At.__file="src/components/signature-pad/QasSignaturePad.vue";var Ut={name:"QasSignatureUploader",components:{QasDialog:ht,QasUploader:Qt,QasSignaturePad:At},props:{uploadLabel:{default:"Assinatura digital",type:String},signatureLabel:{default:"Assinatura",type:String},modelValue:{default:"",type:String},type:{default:"image/png",type:String},readonly:{type:Boolean}},emits:["update:modelValue"],data:()=>({isOpenedDialog:!1,isEmpty:!0,base64:""}),computed:{model:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}},headerClass(){return"q-pa-"+(this.readonly?"md":"sm")}},methods:{NotifyError:bt,openDialog(){this.readonly||(this.isOpenedDialog=!0)},saveSignature(){this.$refs.buttonCleanFiles.$el.click(),this.base64=this.$refs.signaturePadModal.saveSignature(),this.$refs.forceUpload.$el.click(),this.closeSignature()},closeSignature(){this.isOpenedDialog=!1},removeSignature(){this.$refs.buttonCleanFiles.$el.click(),this.$emit("update:modelValue")},upload(e){try{const t=this.signatureLabel.split(" ").join("-"),s=this.type.split("/").pop()||"png",a=function(e){const t=e.indexOf(";base64,"),s=e.substring(5,t),a=e.substr(t+8),l=atob(a),i=new ArrayBuffer(l.length),o=new Uint8Array(i);for(const e in[...l])o[e]=l.charCodeAt(e);return new Blob([i],{type:s})}(this.base64),l=new File([a],`${t}.${s}`,{type:this.type});e.addFiles([l])}catch{bt("Ops! Erro ao enviar sua assinatura.")}}}};const Tt={class:"col column items-start justify-center"},zt={key:0,class:"q-uploader__title"},Nt=h("div",{class:"text-bold text-center"},"Insira sua assinatura digital no campo abaixo",-1);Ut.render=function(e,t,s,a,l,i){const o=f("q-btn"),r=f("qas-uploader"),n=f("qas-signature-pad"),u=f("qas-dialog");return d(),c("div",null,[q(r,y({ref:"uploader",modelValue:i.model,"onUpdate:modelValue":t[1]||(t[1]=e=>i.model=e),label:s.uploadLabel,readonly:s.readonly,"use-resize":!1},e.$attrs),{header:v((({scope:e})=>[h("div",{class:m(["cursor-pointer flex flex-center full-width justify-between no-border no-wrap q-gutter-xs text-white transparent",i.headerClass]),onClick:t[0]||(t[0]=(...e)=>i.openDialog&&i.openDialog(...e))},[h("div",Tt,[s.uploadLabel?(d(),c("div",zt,_(s.uploadLabel),1)):w("v-if",!0)]),s.readonly?w("v-if",!0):(d(),g(o,{key:0,dense:"",flat:"",icon:"o_add",round:"",onClick:i.openDialog},null,8,["onClick"])),q(o,{ref:"forceUpload",class:"hidden",onClick:t=>i.upload(e)},null,8,["onClick"]),q(o,{ref:"buttonCleanFiles",class:"hidden",onClick:e.removeUploadedFiles},null,8,["onClick"])],2)])),_:1},16,["modelValue","label","readonly"]),q(u,{modelValue:l.isOpenedDialog,"onUpdate:modelValue":t[3]||(t[3]=e=>l.isOpenedDialog=e)},{header:v((()=>[Nt])),description:v((()=>[q(n,{ref:"signaturePadModal",empty:l.isEmpty,"onUpdate:empty":t[2]||(t[2]=e=>l.isEmpty=e),height:"250"},null,8,["empty"])])),actions:v((()=>[q(o,{class:"full-width",color:"primary",disable:l.isEmpty,label:"Salvar","no-caps":"",onClick:i.saveSignature},null,8,["disable","onClick"]),q(o,{class:"full-width q-mt-sm",color:"primary",flat:"",label:"Cancelar","no-caps":"",onClick:i.closeSignature},null,8,["onClick"])])),_:1},8,["modelValue"])])},Ut.__file="src/components/signature-uploader/QasSignatureUploader.vue";const Gt={maxLength:"maxlength",minLength:"minlength",readOnly:"readonly"};var Ht={name:"QasField",components:{QasCheckboxGroup:it,QasDateTimeInput:nt,QasInput:wt,QasNumericInput:St,QasPasswordInput:Vt,QasUploader:Qt,QasSignatureUploader:Ut},props:{error:{default:"",type:[Array,String]},field:{default:()=>({}),required:!0,type:Object},modelValue:{default:void 0,type:[Object,Array,String,Number,Boolean]}},emits:["update:modelValue"],computed:{component(){const{entity:e,extensions:t,label:s,maxlength:a,minlength:l,multiple:i,name:o,options:r,readonly:n,disable:u,filled:d=n,suffix:c,prefix:m,type:h,mask:p,pattern:f,maxFiles:g,searchable:y,gmt:b}=this.formatedField,v={error:this.hasError||void 0,errorMessage:this.errorMessage||void 0},x={label:s,hideBottomSpace:!v.error,outlined:!0,...v,readonly:n,disable:u,filled:d,maxlength:a,minlength:l,suffix:c,prefix:m,gmt:b},_={is:"qas-numeric-input",...x},w={is:"qas-date-time-input",gmt:b,...x},k=t&&t.length?t.map((e=>`.${e}`)).join(","):"",S={default:{is:"qas-input",...x,mask:p},textarea:{is:"q-input",type:h,...x},number:{is:"q-input",type:"number",...x},hidden:{is:"input",name:o,type:h},email:{is:"q-input",type:h,...x},password:{is:"qas-password-input",type:h,pattern:f,hideStrengthChecker:!f,...x},decimal:{..._,mode:"decimal"},money:{..._,mode:"money"},percent:{..._,mode:"percent"},date:{...w,dateOnly:!0},datetime:{...w},time:{...w,timeOnly:!0},boolean:{is:"q-toggle",label:s,...v},checkbox:{is:"qas-checkbox-group",label:s,options:r,...v},radio:{is:"q-option-group",label:s,options:r,type:"radio",...v},upload:{is:"qas-uploader",accept:k,autoUpload:!0,entity:e,label:s,multiple:i,readonly:n,maxFiles:g,...v},editor:{is:"q-editor",toolbar:[["undo","redo"],["bold","italic","underline"],["left","center","right","justify"],["hr","link"],["quote","unordered","ordered","outdent","indent"],["print","fullscreen"]],...v},"signature-uploader":{is:"qas-signature-uploader",entity:e,uploadLabel:s,...v},select:{is:"qas-select",multiple:i,options:r,searchable:y,...x}};return{...S[h]||S.default,...this.$attrs}},errorMessage(){return Array.isArray(this.error)?this.error.join(" "):this.error},formatedField(){const e={};for(const t in this.field)e[Gt[t]||t]=this.field[t];return e},formattedValue(){return this.isBoolean?this.isEmptyValue?!!this.modelValue:JSON.parse(this.modelValue):this.modelValue},hasError(){return!!(Array.isArray(this.error)?this.error.length:this.error)},isBoolean(){return"boolean"===this.field.type},isEmptyValue(){return!!this.isBoolean&&(!this.modelValue&&(void 0===this.modelValue||"string"==typeof this.modelValue))},isNumberType(){return"number"===this.field.type}},methods:{updateModel(e){this.$emit("update:modelValue",this.isNumberType?Number(e):e)}}};Ht.render=function(e,t,s,a,l,i){return d(),c("div",null,[(d(),g(V(i.component.is),y(i.component,{"data-cy":s.field.name,"model-value":i.formattedValue,"onUpdate:modelValue":i.updateModel}),b({_:2},[k(e.$slots,((t,s)=>({name:s,fn:v((t=>[p(e.$slots,s,S($(t||{})))]))})))]),1040,["data-cy","model-value","onUpdate:modelValue"]))])},Ht.__file="src/components/field/QasField.vue";var Kt={name:"QasFilters",components:{QasField:Ht},mixins:[te],props:{useBadges:{default:!0,type:Boolean},entity:{required:!0,type:String},useFilterButton:{default:!0,type:Boolean},useSearch:{default:!0,type:Boolean},searchOnType:{default:!0,type:Boolean},searchPlaceholder:{default:"Pesquisar...",type:String},url:{default:"",type:String}},emits:["fetch-success","fetch-error"],data:()=>({filters:{},hasFetchError:!1,isFetching:!1,search:""}),computed:{activeFilters(){if(!this.hasFields)return{};const e={},s=Object.keys(this.fields),a=t(this.mx_context.filters);for(const t in a){if(s.includes(t)){const s=ke(this.fields[t],this.normalizeValues(a[t],this.fields[t]?.multiple)),{label:l,name:i}=this.fields[t];e[t]={label:l,name:i,value:s}}}return e},debounce(){return this.searchOnType?"500":""},fields(){return this.$store.getters[`${this.entity}/filters`]},filterButtonColor(){return this.hasActiveFilters?"primary":"grey-8"},filterButtonLabel(){return this.$q.screen.gt.xs?"Filtrar":void 0},hasActiveFilters(){return!!Object.keys(this.activeFilters).length},hasFields(){return!!Object.keys(this.fields).length},hasSearch(){return this.search.length},showFilterButton(){return!!this.$slots.filterButton||this.useFilterButton},showFilters(){return this.useFilterButton||this.showSearch},showSearch(){return!!this.$slots.search||this.useSearch}},watch:{$route(e,t){e.name===t.name&&(this.fetchFilters(),this.updateValues())},search(){this.debounce&&this.filter()}},created(){this.fetchFilters(),this.watchOnceFields()},methods:{clearFilters(){const{filters:t,...s}=this.mx_context;if(this.hasFields){const a=Object.keys(this.fields);for(const l in t){const t=e(l);a.includes(t)&&(delete s[l],delete this.filters[l])}}else this.filters={};this.$router.push({query:s})},clearSearch(){this.search="",this.filter()},async fetchFilters(){if(this.hasFields||!this.useFilterButton)return null;this.hasFetchError=!1,this.isFetching=!0;try{const e=await this.$store.dispatch(`${this.entity}/fetchFilters`,{url:this.url});this.$emit("fetch-success",e)}catch(e){this.hasFetchError=!0,this.$emit("fetch-error",e)}finally{this.isFetching=!1}},filter(e){const{filters:t,page:s,...a}=this.mx_context,l={...t,...this.filters,...e,...a,search:this.search||void 0};this.$router.push({query:l})},getChipValue:e=>Array.isArray(e)?e.join(", "):e,removeFilter({name:e}){const t={...this.$route.query};delete t[e],delete this.filters[e],this.$router.push({query:t})},updateValues(){const{filters:e,search:t}=this.mx_context;this.search=t||"";for(const t in e)this.filters[t]=qe(this.normalizeValues(e[t],this.fields[t]?.multiple))},normalizeValues:(e,t)=>Array.isArray(e)?e:t?[e]:e,watchOnceFields(){const e=this.$watch("fields",(t=>{Object.keys(t).length&&(this.updateValues(),e())}))}}};const Wt={class:"q-mb-lg"},Zt={key:0,class:"q-gutter-x-md row"},Yt={key:0,class:"col"},Jt={key:0,class:"q-pa-xl text-center"},Xt={key:1,class:"q-pa-xl text-center"},es={class:"text-right"},ts={key:1,class:"q-mt-md"};Kt.render=function(e,t,s,a,l,i){const o=f("q-btn"),r=f("q-input"),n=f("q-form"),u=f("q-spinner"),m=f("q-icon"),y=f("qas-field"),b=f("q-menu"),S=f("q-chip");return d(),c("section",Wt,[i.showFilters?(d(),c("div",Zt,[i.showSearch?(d(),c("div",Yt,[p(e.$slots,"search",{filter:i.filter},(()=>[s.useSearch?(d(),g(n,{key:0,onSubmit:t[2]||(t[2]=B((e=>i.filter()),["prevent"]))},{default:v((()=>[q(r,{modelValue:l.search,"onUpdate:modelValue":t[1]||(t[1]=e=>l.search=e),debounce:i.debounce,dense:"",placeholder:s.searchPlaceholder,type:"search"},{append:v((()=>[i.hasSearch?(d(),g(o,{key:0,icon:"o_clear",unelevated:"",onClick:i.clearSearch},null,8,["onClick"])):w("v-if",!0),i.debounce?w("v-if",!0):(d(),g(o,{key:1,icon:"o_search",type:"submit",unelevated:"",onClick:t[0]||(t[0]=e=>i.filter())}))])),_:1},8,["modelValue","debounce","placeholder"])])),_:1})):w("v-if",!0)]))])):w("v-if",!0),i.showFilterButton?p(e.$slots,"filter-button",{key:1,filter:i.filter},(()=>[s.useFilterButton?(d(),g(o,{key:0,color:i.filterButtonColor,flat:"",icon:"o_filter_list",label:i.filterButtonLabel},{default:v((()=>[q(b,{onBeforeShow:i.fetchFilters},{default:v((()=>[l.isFetching?(d(),c("div",Jt,[q(u,{color:"grey",size:"2em"})])):l.hasFetchError?(d(),c("div",Xt,[q(m,{color:"negative",name:"o_warning",size:"2em"})])):(d(),g(n,{key:2,class:"q-gutter-y-md q-pa-md",onSubmit:t[3]||(t[3]=B((e=>i.filter()),["prevent"]))},{default:v((()=>[(d(!0),c(C,null,k(i.fields,((e,t)=>(d(),c("div",{key:t},[q(y,{modelValue:l.filters[e.name],"onUpdate:modelValue":t=>l.filters[e.name]=t,dense:"",field:e},null,8,["modelValue","onUpdate:modelValue","field"])])))),128)),h("div",es,[q(o,{class:"q-mr-sm",label:"Limpar",size:"12px",unelevated:"",onClick:i.clearFilters},null,8,["onClick"]),q(o,{color:"primary",label:"Filtrar",size:"12px",type:"submit",unelevated:""})])])),_:1}))])),_:1},8,["onBeforeShow"])])),_:1},8,["color","label"])):w("v-if",!0)])):w("v-if",!0)])):w("v-if",!0),s.useBadges&&i.hasActiveFilters?(d(),c("div",ts,[(d(!0),c(C,null,k(i.activeFilters,((e,t)=>(d(),g(S,{key:t,color:"grey-4",dense:"",removable:"",size:"md","text-color":"grey-8",onRemove:t=>i.removeFilter(e)},{default:v((()=>[x(_(e.label)+' = "'+_(i.getChipValue(e.value))+'"',1)])),_:2},1032,["onRemove"])))),128))])):w("v-if",!0),p(e.$slots,"default",{context:e.mx_context,filter:i.filter,filters:i.activeFilters,removeFilter:i.removeFilter})])},Kt.__file="src/components/filters/QasFilters.vue";var ss={name:"QasFormGenerator",components:{QasField:Ht},mixins:[le],props:{errors:{default:()=>({}),type:Object},fieldsProps:{default:()=>({}),type:Object},order:{default:()=>[],type:Array},modelValue:{default:()=>({}),required:!0,type:Object}},emits:["update:modelValue"],computed:{groupedFields(){const e={hidden:{},visible:{}};for(const t in this.fields){const s=this.fields[t];e["hidden"===s.type?"hidden":"visible"][t]=s}if(this.order.length){const t={};for(const s of this.order)e.visible[s]&&(t[s]=e.visible[s]);e.visible=t}return e}},methods:{updateModelValue(e,t){const s={...this.modelValue};s[e]=t,this.$emit("update:modelValue",s)}}};ss.render=function(e,t,s,a,l,i){const o=f("qas-field");return d(),c("div",null,[h("div",{class:m(e.mx_classes)},[(d(!0),c(C,null,k(i.groupedFields.visible,((t,a)=>(d(),c("div",{key:a,class:m(e.mx_getFieldClass(a))},[p(e.$slots,`field-${t.name}`,{field:t},(()=>[q(o,y(s.fieldsProps[t.name],{error:s.errors[a],field:t,"model-value":s.modelValue[t.name],"onUpdate:modelValue":e=>i.updateModelValue(t.name,e)}),null,16,["error","field","model-value","onUpdate:modelValue"])]))],2)))),128))],2),(d(!0),c(C,null,k(i.groupedFields.hidden,((t,a)=>(d(),c("div",{key:a},[p(e.$slots,`field-${t.name}`,{field:t},(()=>[q(o,y(s.fieldsProps[t.name],{field:t,"model-value":s.modelValue[t.name],"onUpdate:modelValue":e=>i.updateModelValue(t.name,e)}),null,16,["field","model-value","onUpdate:modelValue"])]))])))),128))])},ss.__file="src/components/form-generator/QasFormGenerator.vue";const as=L({hasPreviousRoute:!1,list:[]});var ls={name:"QasFormView",components:{QasBtn:me,QasDialog:ht},mixins:[ne,re],props:{cancelButton:{default:"Cancelar",type:String},cancelRoute:{default:"",type:[Boolean,Object,String]},customId:{default:"",type:[Number,String]},disable:{type:Boolean},mode:{default:"create",type:String},readOnly:{type:Boolean},route:{default:()=>({}),type:Object},showDialogOnUnsavedChanges:{default:!0,type:Boolean},ignoreKeysInUnsavedChanges:{default:()=>[],type:Array},submitButton:{default:"Salvar",type:String},modelValue:{default:()=>({}),type:Object},submiting:{type:Boolean}},emits:["submit-success","submit-error","fetch-success","fetch-error","update:modelValue","update:submiting","update:errors"],data:()=>({cachedResult:{},hasResult:!1,isSubmiting:!1,showDialog:!1,ignoreRouterGuard:!1,defaultDialogProps:{card:{title:"Atenção!",description:"Você está deixando a página e suas alterações serão perdidas. Tem certeza que deseja sair sem salvar?"},ok:{props:{label:"Continuar editando"}},cancel:{props:{label:"Sair"}}}}),computed:{cancelButtonClass(){return this.mx_isSmall&&"order-last"},fetchURL(){return this.url?`${this.url}/${this.isCreateMode?"new":"edit"}`:""},hasCancelButton(){return!("boolean"==typeof this.cancelRoute&&!this.cancelRoute)},id(){return this.customId||this.resolvedRoute.params.id},isCreateMode(){return"create"===this.mode},resolvedRoute(){return this.route&&Object.keys(this.route).length?this.route:this.$route},saveButtonClass(){return this.mx_isSmall&&"order-first"},isCancelButtonDisabled(){return this.disable||this.isSubmiting},history:()=>as.list},watch:{mx_fields(e){const t={...this.getModelsByFields(e),...this.modelValue};!this.hasResult&&this.showDialogOnUnsavedChanges&&(this.cachedResult=z(!0,{},t))},isSubmiting(e){this.$emit("update:submiting",e)}},created(){Y(this.beforeRouteLeave),window.addEventListener("delete-success",this.setIgnoreRouterGuard),this.fetch()},onUnmounted(){window.removeEventListener("delete-success",this.setIgnoreRouterGuard)},methods:{beforeRouteLeave(e,t,s){if(!this.showDialogOnUnsavedChanges||this.ignoreRouterGuard||i(this.modelValue,this.cachedResult,this.handleIgnoreKeysInUnsavedChanges))return s();this.handleDialog((()=>{this.ignoreRouterGuard=!0,s()}))},cancel(){this.dialog||this.handleCancelRoute()},async fetch(e){this.mx_isFetching=!0;try{const t=await this.$store.dispatch(`${this.entity}/fetchSingle`,{form:!0,id:this.id,params:e,url:this.fetchURL}),{errors:s,fields:a,metadata:l,result:i}=t.data;this.mx_setErrors(s),this.mx_setFields(a),this.mx_setMetadata(l),this.mx_updateModels({errors:s,fields:this.mx_fields,metadata:l}),i&&(this.hasResult=!0,this.$emit("update:modelValue",{...this.modelValue,...i}),this.cachedResult=this.showDialogOnUnsavedChanges&&z(!0,{},i)),this.$emit("fetch-success",t,this.modelValue)}catch(e){this.mx_fetchError(e),this.$emit("fetch-error",e)}finally{this.mx_isFetching=!1}},getModelsByFields(e){const t={};for(const s in e)t[s]=e[s].default;return t},handleCancelRoute(){if(this.cancelRoute&&["string","object"].includes(typeof this.cancelRoute))return this.$router.push(this.cancelRoute);const[,e]=this.$route.path.split("/"),t=this.$router.resolve(`/${e}`);this.$router.push(t)},handleDialog(e){this.openDialog(),this.defaultDialogProps.ok.props.onClick=()=>{return e=this.$route,void(as.list?.[as.list?.length-1]?.name===e.name||(as.list.push(e),as.hasPreviousRoute=as.list.length>1));var e},this.defaultDialogProps.cancel.props.onClick=e},openDialog(){this.showDialog=!0},handleIgnoreKeysInUnsavedChanges(e,t){this.ignoreKeysInUnsavedChanges.length&&this.ignoreKeysInUnsavedChanges.forEach((s=>{delete e[s],delete t[s]}))},async submit(e){if(e&&e.preventDefault(),this.disable||this.readyOnly)return null;this.isSubmiting=!0;try{const e=await this.$store.dispatch(`${this.entity}/${this.mode}`,{id:this.id,payload:this.modelValue,url:this.url});this.showDialogOnUnsavedChanges&&(this.cachedResult=z(!0,{},this.modelValue)),this.mx_setErrors(),vt(e.data.status.text||"Item salvo com sucesso!"),this.$emit("submit-success",e,this.modelValue)}catch(e){const t=e?.response?.data?.errors,s=e?.response?.data?.status?.text,a=e?.response?.data?.exception,l=t?"Existem erros de validação no formulário.":a||e.message;this.mx_setErrors(t),this.$emit("update:errors",this.mx_errors),bt(s||"Ops! Erro ao salvar item.",l),this.$emit("submit-error",e)}finally{this.isSubmiting=!1}},setIgnoreRouterGuard({detail:{id:e,entity:t}}){this.ignoreRouterGuard=this.id===e&&this.entity===t}}};const is={key:0},os={class:"justify-end q-col-gutter-md q-my-lg row"},rs={key:1};ls.render=function(e,t,s,a,l,i){const o=f("qas-btn"),r=f("q-form"),n=f("qas-dialog"),u=f("q-spinner"),b=f("q-inner-loading"),x=Q("close-popup");return d(),g(V(e.mx_componentTag),null,{default:v((()=>[e.mx_hasHeaderSlot?(d(),c("header",is,[p(e.$slots,"header",{errors:e.mx_errors,fields:e.mx_fields,metadata:e.mx_metadata})])):w("v-if",!0),q(r,{ref:"form",onSubmit:i.submit},{default:v((()=>[p(e.$slots,"default",{errors:e.mx_errors,fields:e.mx_fields,metadata:e.mx_metadata}),s.readOnly?w("v-if",!0):p(e.$slots,"actions",{key:0,errors:e.mx_errors,fields:e.mx_fields,metadata:e.mx_metadata},(()=>[h("div",os,[i.hasCancelButton?(d(),c("div",{key:0,class:m(["col-12 col-sm-2",i.cancelButtonClass])},[O(q(o,{class:"full-width","data-cy":`btnCancel-${e.entity}`,disable:i.isCancelButtonDisabled,label:s.cancelButton,outline:"",type:"button",onClick:i.cancel},null,8,["data-cy","disable","label","onClick"]),[[x,e.dialog]])],2)):w("v-if",!0),h("div",{class:m(["col-12 col-sm-2",i.saveButtonClass])},[q(o,{class:"full-width","data-cy":`btnSave-${e.entity}`,disable:s.disable,label:s.submitButton,loading:l.isSubmiting,type:"submit"},null,8,["data-cy","disable","label","loading"])],2)])]))])),_:3},8,["onSubmit"]),e.mx_hasFooterSlot?(d(),c("footer",rs,[p(e.$slots,"footer",{errors:e.mx_errors,fields:e.mx_fields,metadata:e.mx_metadata})])):w("v-if",!0),q(n,y({modelValue:l.showDialog,"onUpdate:modelValue":t[0]||(t[0]=e=>l.showDialog=e)},l.defaultDialogProps),null,16,["modelValue"]),q(b,{showing:e.mx_isFetching},{default:v((()=>[q(u,{color:"grey",size:"3em"})])),_:1},8,["showing"])])),_:3})},ls.__file="src/components/form-view/QasFormView.vue";var ns={name:"QasGallery",mixins:[re],props:{carouselNextIcon:{type:String,default:"o_chevron_right"},carouselPreviousIcon:{type:String,default:"o_chevron_left"},height:{type:String,default:""},initialLength:{type:Number,default:6},images:{type:Array,default:()=>[]},loadLength:{type:Number,default:6},showMoreLabel:{type:String,default:"Ver mais"}},data(){return{carouselDialog:!1,clonedImages:[],imageIndex:[],displayedImages:this.initialLength}},computed:{imageHeight(){return this.isSingleImage?this.height||"auto":this.mx_isSmall?"90px":"120px"},galleryColumnsClasses(){return this.isSingleImage?"col-12":this.mx_isSmall?"col-6":"col-2"},hideShowMore(){return this.clonedImages.length<=this.displayedImages},carouselImageHeight:()=>"calc((500/976) * 100vh)",showThumbnails(){return!this.isSingleImage},isSingleImage(){return 1===this.clonedImages.length}},watch:{images:{handler(e){this.clonedImages=[...e]},immediate:!0}},methods:{toggleCarouselDialog(e){this.imageIndex=e,this.carouselDialog=!this.carouselDialog},showMore(){this.displayedImages+=this.loadLength},onError(e){const t=this.clonedImages.findIndex((t=>t===e));~t&&(this.clonedImages.splice(t,1),this.$forceUpdate())},initialImages(){return this.clonedImages.slice(0,this.displayedImages)}}};const us={class:"q-col-gutter-md row"},ds={key:0,class:"full-width text-center"},cs={class:"text-right"},ms={key:0,class:"full-width justify-end row"};ns.render=function(e,t,s,a,l,i){const o=f("q-img"),r=f("qas-btn"),n=f("q-carousel-slide"),u=f("q-carousel"),y=f("qas-dialog"),b=f("qas-box"),x=Q("close-popup");return d(),g(b,{class:"gallery"},{default:v((()=>[h("div",us,[(d(!0),c(C,null,k(i.initialImages(),((e,t)=>(d(),c("div",{key:t,class:m(i.galleryColumnsClasses)},[q(o,{class:"cursor-pointer rounded-borders",height:i.imageHeight,src:e,onClick:e=>i.toggleCarouselDialog(t),onError:t=>i.onError(e)},null,8,["height","src","onClick","onError"])],2)))),128)),p(e.$slots,"default",{},(()=>[i.hideShowMore?w("v-if",!0):(d(),c("div",ds,[h("span",{class:"cursor-pointer justify-center text-primary text-weight-bolder",onClick:t[0]||(t[0]=(...e)=>i.showMore&&i.showMore(...e))},_(s.showMoreLabel),1)]))])),q(y,{modelValue:l.carouselDialog,"onUpdate:modelValue":t[2]||(t[2]=e=>l.carouselDialog=e),cancel:!1,class:"q-pa-xl","min-width":"1100px",ok:!1,persistent:!1},{header:v((()=>[h("div",cs,[O(q(r,{dense:"",flat:"",icon:"o_close",rounded:"",onClick:i.toggleCarouselDialog},null,8,["onClick"]),[[x]])])])),description:v((()=>[q(u,{modelValue:l.imageIndex,"onUpdate:modelValue":t[1]||(t[1]=e=>l.imageIndex=e),animated:"",arrows:!e.mx_isSmall,"control-text-color":"primary",fullscreen:e.mx_isSmall,height:i.carouselImageHeight,"next-icon":s.carouselNextIcon,"prev-icon":s.carouselPreviousIcon,swipeable:"",thumbnails:i.showThumbnails},{default:v((()=>[(d(!0),c(C,null,k(l.clonedImages,((t,s)=>(d(),g(n,{key:s,class:"bg-no-repeat bg-size-contain","img-src":t,name:s},{default:v((()=>[e.mx_isSmall?(d(),c("div",ms,[q(r,{dense:"",flat:"",icon:"o_close",onClick:i.toggleCarouselDialog},null,8,["onClick"])])):w("v-if",!0)])),_:2},1032,["img-src","name"])))),128))])),_:1},8,["modelValue","arrows","fullscreen","height","next-icon","prev-icon","thumbnails"])])),_:1},8,["modelValue"])])])),_:3})},ns.__file="src/components/gallery/QasGallery.vue";var hs={name:"QasGridGenerator",mixins:[le],props:{contentClass:{default:"",type:[Array,Object,String]},headerClass:{default:"text-bold",type:[Array,Object,String]},hideEmptyResult:{type:Boolean},result:{default:()=>({}),type:Object}},data:()=>({slotValue:{}}),computed:{formattedFields(){if(!this.hideEmptyResult)return this.fields;const e={};for(const t in this.fields){const s=this.result[t];(Array.isArray(s)?s.length:o(s)?Object.keys(s).length:s)&&(e[t]=this.fields[t])}return e},resultsByFields(){return this.getResultsByFields()}},methods:{getResultsByFields(){const e={},t=z(!0,{},this.result);for(const s in t)this.formattedFields[s]?.type&&(e[s]=ke(this.formattedFields[s],t[s]),this.slotValue[s]={...this.formattedFields[s],formattedResult:e[s]});return e}}};hs.render=function(e,t,s,a,l,i){return d(),c("div",{class:m(e.mx_classes)},[(d(!0),c(C,null,k(i.formattedFields,((t,a)=>(d(),c("div",{key:a,class:m(e.mx_getFieldClass(a,!0))},[p(e.$slots,`field-${t.name}`,{field:l.slotValue[a]},(()=>[p(e.$slots,"header",{field:l.slotValue[a]},(()=>[h("div",{class:m(s.headerClass)},_(t.label),3)])),p(e.$slots,"content",{field:l.slotValue[a]},(()=>[h("div",{class:m(s.contentClass)},_(i.resultsByFields[a]),3)]))]))],2)))),128))],2)},hs.__file="src/components/grid-generator/QasGridGenerator.vue";var ps={name:"QasLabel",props:{count:{default:0,type:[Number,String]},label:{default:"",type:String},margin:{default:"sm",type:String}},computed:{labelClass(){return`q-mb-${this.margin}`},labelWithSuffix(){return e=this.label,(t=parseFloat(this.count))?`${e} (${t})`:e;var e,t}}};ps.render=function(e,t,s,a,l,i){return d(),c("div",{class:m(["text-bold text-subtitle2",i.labelClass])},[p(e.$slots,"default",{labelWithSuffix:i.labelWithSuffix},(()=>[x(_(i.labelWithSuffix),1)]))],2)},ps.__file="src/components/label/QasLabel.vue";var fs={name:"QasLayout",components:{QasAppBar:Be,QasAppMenu:He},props:{appBarProps:{default:()=>({}),type:Object},appMenuProps:{default:()=>({}),type:Object},modelValue:{default:!0,type:Boolean}},emits:["update:modelValue"],data:()=>({menuDrawer:!0}),computed:{defaultAppMenuProps(){return{...this.appMenuProps,title:this.appBarProps?.title}}},watch:{modelValue:{handler(e){this.menuDrawer=e},immediate:!0}},methods:{toggleMenuDrawer(){this.menuDrawer=!this.menuDrawer,this.$emit("update:modelValue",this.menuDrawer)}}};fs.render=function(e,t,s,a,l,i){const o=f("qas-app-bar"),r=f("qas-app-menu"),n=f("router-view"),u=f("q-page-container"),c=f("q-layout");return d(),g(c,{view:"hHh Lpr lFf"},{default:v((()=>[p(e.$slots,"app-bar",{},(()=>[q(o,y(s.appBarProps,{onToggleMenu:i.toggleMenuDrawer}),null,16,["onToggleMenu"])])),p(e.$slots,"app-menu",{},(()=>[q(r,y({modelValue:l.menuDrawer,"onUpdate:modelValue":t[0]||(t[0]=e=>l.menuDrawer=e)},i.defaultAppMenuProps),null,16,["modelValue"])])),p(e.$slots,"default",{},(()=>[q(u,null,{default:v((()=>[q(n)])),_:1})]))])),_:3})},fs.__file="src/components/layout/QasLayout.vue";var gs={name:"QasListItems",components:{QasBtn:me},props:{iconProps:{default:()=>({color:"primary",name:"o_chevron_right"}),type:Object},list:{default:()=>[],type:Array},redirectKey:{default:"uuid",type:String},redirectOnIcon:{default:!0,type:Boolean},to:{default:()=>({}),type:Object},useSectionActions:{default:!0,type:Boolean}},methods:{getRedirectPayload(e){return{params:{[this.redirectKey]:e[this.redirectKey]},...this.to}},redirect(e){return this.redirectOnIcon?void 0:this.getRedirectPayload(e)}}};const ys={class:"qas-list-items shadow-primary"};gs.render=function(e,t,s,a,l,i){const o=f("q-item-section"),r=f("q-icon"),n=f("qas-btn"),u=f("q-item"),m=f("q-list"),h=Q("ripple");return d(),c("div",ys,[q(m,{bordered:"",class:"rounded-borders",separator:""},{default:v((()=>[(d(!0),c(C,null,k(s.list,((t,a)=>O((d(),g(u,{key:a,clickable:!s.redirectOnIcon,to:i.redirect(t)},{default:v((()=>[p(e.$slots,"item",{index:a,item:t},(()=>[q(o,null,{default:v((()=>[p(e.$slots,"item-section-left",{index:a,item:t})])),_:2},1024),s.useSectionActions?(d(),g(o,{key:0,side:""},{default:v((()=>[p(e.$slots,"item-section-side",{index:a,item:t},(()=>[q(n,{flat:"",round:"",to:i.getRedirectPayload(t)},{default:v((()=>[q(r,S($(s.iconProps)),null,16)])),_:2},1032,["to"])]))])),_:2},1024)):w("v-if",!0)]))])),_:2},1032,["clickable","to"])),[[h]]))),128))])),_:3})])},gs.__file="src/components/list-items/QasListItems.vue";var bs={components:{QasFilters:Kt},mixins:[te,ne],props:{disableRefresh:{type:Boolean},useFilter:{default:!0,type:Boolean},filtersProps:{default:()=>({}),type:Object}},emits:["fetch-success","fetch-error"],data:()=>({page:1}),computed:{hasHeaderSlot(){return!!this.$slots.header},hasPages(){return this.totalPages>1},hasResults(){return!!(this.results||[]).length},results(){return this.$store.getters[`${this.entity}/list`]},totalPages(){return this.$store.getters[`${this.entity}/totalPages`]}},watch:{$route(e,t){e.name===t.name&&(this.fetchList(),this.setCurrentPage())}},created(){this.fetchList(),this.setCurrentPage()},methods:{changePage(){const e={...this.$route.query,page:this.page};this.$router.push({query:e})},async fetchList(){this.mx_isFetching=!0;try{const e=await this.$store.dispatch(`${this.entity}/fetchList`,{...this.mx_context,url:this.url}),{errors:t,fields:s,metadata:a}=e.data;this.mx_setErrors(t),this.mx_setFields(s),this.mx_setMetadata(a),this.mx_updateModels({errors:t,fields:this.mx_fields,metadata:a}),this.$emit("fetch-success",e)}catch(e){this.mx_fetchError(e),this.$emit("fetch-error",e)}finally{this.mx_isFetching=!1}},async refresh(e){await this.fetchList(),"function"==typeof e&&e()},setCurrentPage(){this.page=parseInt(this.$route.query.page||1)}}};const vs={key:0},xs={class:"relative-position"},_s={key:0},ws={key:1},ks={class:"q-my-xl text-center"},Ss=h("div",{class:"text-grey-6"},"Nenhum item encontrado.",-1),$s={key:2,class:"q-py-lg text-center"},qs={key:3,class:"justify-center q-mt-lg"};bs.render=function(e,t,s,a,l,i){const o=f("qas-filters"),r=f("q-icon"),n=f("q-spinner"),u=f("q-pagination"),m=f("q-inner-loading"),b=f("q-pull-to-refresh");return d(),g(V(e.mx_componentTag),null,{default:v((()=>[q(b,{disable:s.disableRefresh,onRefresh:i.refresh},{default:v((()=>[i.hasHeaderSlot?(d(),c("header",vs,[p(e.$slots,"header",{fields:e.mx_fields,metadata:e.mx_metadata,results:i.results})])):w("v-if",!0),s.useFilter?p(e.$slots,"filter",{key:1,entity:e.entity,errors:e.mx_errors,fields:e.mx_fields,metadata:e.mx_metadata,results:i.results},(()=>[q(o,y(s.filtersProps,{entity:e.entity}),null,16,["entity"])])):w("v-if",!0),h("main",xs,[i.hasResults?(d(),c("div",_s,[p(e.$slots,"default",{fields:e.mx_fields,metadata:e.mx_metadata,results:i.results})])):e.mx_isFetching?(d(),c("div",$s,[q(n,{color:"grey",size:"3em"})])):(d(),c("div",ws,[p(e.$slots,"empty-results",{fields:e.mx_fields,metadata:e.mx_metadata},(()=>[h("div",ks,[q(r,{class:"q-mb-sm text-center",color:"grey-6",name:"o_search",size:"38px"}),Ss])]))])),i.hasPages?(d(),c("div",qs,[q(u,{modelValue:l.page,"onUpdate:modelValue":t[0]||(t[0]=e=>l.page=e),"boundary-links":"",class:"flex-center","direction-links":"",input:e.$q.screen.lt.sm,max:i.totalPages,"max-pages":6,onClick:i.changePage},null,8,["modelValue","input","max","onClick"])])):w("v-if",!0),q(m,{showing:i.hasResults&&e.mx_isFetching},{default:v((()=>[q(n,{color:"grey",size:"3em"})])),_:1},8,["showing"])])])),_:3},8,["disable","onRefresh"]),p(e.$slots,"footer")])),_:3})},bs.__file="src/components/list-view/QasListView.vue";var Cs={name:"QasMap",mixins:[se],props:{centerPosition:{type:Object,default:()=>({})},markers:{type:Array,default:()=>[]},showPopup:{type:Boolean},zoom:{type:Number,default:17}},emits:["update-position"],data:()=>({isPopupDisplayed:!1,currentPlace:null,indexMarker:null}),methods:{openPopup({title:e,description:t},s){this.indexMarker=s,this.isPopupDisplayed=!(!e&&!t)},canShowPopup(e){return this.isPopupDisplayed&&this.showPopup&&e===this.indexMarker},closePopup(){this.isPopupDisplayed=!1},updatePosition(e){this.$emit("update-position",e.latLng.toJSON())}}};const Vs={class:"qas-map"},Qs={class:"text-weight-bold"};Cs.render=function(e,t,s,a,l,i){const o=f("g-map-info-window"),r=f("g-map-marker"),n=f("g-map-map");return d(),c("div",Vs,[q(n,{center:s.centerPosition,class:"qas-map__draw",zoom:s.zoom},{default:v((()=>[(d(!0),c(C,null,k(s.markers,((e,t)=>(d(),g(r,{key:t,draggable:e.draggable,icon:e.icon,position:e.position,onDragend:i.updatePosition,onMouseout:i.closePopup,onMouseover:s=>i.openPopup(e,t)},{default:v((()=>[q(o,{opened:i.canShowPopup(t)},{default:v((()=>[h("div",Qs,_(e.title),1),h("div",null,_(e.description),1)])),_:2},1032,["opened"])])),_:2},1032,["draggable","icon","position","onDragend","onMouseout","onMouseover"])))),128))])),_:1},8,["center","zoom"])])},Cs.__file="src/components/map/QasMap.vue";var Os={name:"QasNestedFields",components:{QasBtn:me,QasFormGenerator:ss,QasInput:wt,QasLabel:ps},props:{addInputLabel:{type:String,default:"Inserir novo campo"},btnDestroyProps:{type:Object,default:()=>({label:"Remover",icon:"o_cancel",flat:!0,dense:!0})},btnDuplicateProps:{type:Object,default:()=>({label:"Duplicar",icon:"o_content_copy",flat:!0,hideMobileLabel:!0,dense:!0})},destroyKey:{type:String,default:"destroyed"},errors:{type:[Array,Object],default:()=>({})},field:{type:Object,default:()=>({})},fieldsProps:{type:Object,default:()=>({})},formColumns:{type:Object,default:()=>({})},formGutter:{type:String,default:"md",validator:e=>["xs","sm","md","lg","xl"].includes(e)},rowLabel:{type:String,default:""},rowObject:{type:Object,default:()=>({})},useAnimation:{type:Boolean,default:!0},useDestroyAlways:{type:Boolean},useDuplicate:{type:Boolean,default:!0},useIndexLabel:{type:Boolean},useInlineActions:{type:Boolean},useSingleLabel:{type:Boolean},modelValue:{type:Array,default:()=>[]}},emits:["update:modelValue"],data:()=>({nested:[]}),computed:{fieldLabel(){return this.field?.label},fieldName(){return this.field?.name},children(){const t=z(!0,{},this.field);for(const s in t?.children)t.children[s].name=e(t?.children[s].name);return t?.children},showDestroyBtn(){return this.nested.filter((e=>!e[this.destroyKey])).length>1||this.useDestroyAlways},formClasses(){return{col:!0,[`q-col-gutter-x-${this.formGutter}`]:this.useInlineActions}},transformedErrors(){return Array.isArray(this.errors)?this.errors:ge(this.fieldName,this.errors)},componentTag(){return this.useAnimation?"transition-group":"div"}},watch:{modelValue:{handler(e){this.nested=z(!0,[],e)},immediate:!0},field:{handler(){!this.modelValue.length&&this.setDefaultNestedValue()},immediate:!0}},methods:{add(e={}){return this.nested.push({...this.rowObject,...e}),this.$nextTick((()=>{this.useAnimation&&this.setScroll(),this.setFocus()})),this.updateModelValue()},setFocus(){const{formGenerator:e}=this.$refs,t=e.pop().querySelector("input, select, textarea");return t?.focus&&t.focus()},updateModelValue(e){return this.$emit("update:modelValue",e||this.nested)},destroy(e,t){return t.uuid?this.nested.splice(e,1,{[this.destroyKey]:!0,...t}):this.nested.splice(e,1),this.updateModelValue()},updateValuesFromInput(e,t){return this.nested.splice(t,1,e),this.updateModelValue(null,t)},setDefaultNestedValue(){this.nested.splice(0,0,{...this.rowObject})},setScroll(){const e=this.$refs.inputContent.children,t=e[e.length-1],{top:s}=t.getBoundingClientRect(),a=window.pageYOffset;window.scrollTo({behavior:"smooth",top:a+s})},setRowLabel(e){return this.rowLabel?this.useIndexLabel?`${this.rowLabel} ${e+1}`:this.rowLabel:this.fieldLabel}}};const Fs=["id"],Bs={class:"text-left"},Ls=["id"],Ps={class:"flex items-center justify-between q-py-xs"},Ds={key:1,class:"q-gutter-x-sm"},Is={key:0,class:"flex items-center qas-nested-fields__actions"},Ms={class:"col-auto"},Es={class:"col-auto"},As={class:"col-12"},js={class:"col"},Rs={class:"col-auto"},Us={key:1,class:"q-mt-lg"};Os.render=function(e,t,s,a,l,i){const o=f("qas-label"),r=f("qas-btn"),n=f("qas-form-generator"),u=f("qas-input");return d(),c("div",{id:i.fieldName,class:"qas-nested-fields"},[h("div",Bs,[s.useSingleLabel?(d(),g(o,{key:0,label:i.fieldLabel},null,8,["label"])):w("v-if",!0)]),h("div",null,[(d(),g(V(i.componentTag),{ref:"inputContent",name:"fade",tag:"div"},{default:v((()=>[(d(!0),c(C,null,k(l.nested,((t,a)=>(d(),c("div",{id:`row-${a}`,key:a,class:"full-width"},[(d(),g(V(i.componentTag),{name:"fade",tag:"div"},{default:v((()=>[t[s.destroyKey]?w("v-if",!0):(d(),c("div",{key:a,class:"col-12 q-mt-md"},[h("div",null,[h("div",Ps,[s.useSingleLabel?w("v-if",!0):(d(),g(o,{key:0,label:i.setRowLabel(a)},null,8,["label"])),s.useInlineActions?w("v-if",!0):(d(),c("div",Ds,[s.useDuplicate?(d(),g(r,y({key:0},s.btnDuplicateProps,{onClick:e=>i.add(t)}),null,16,["onClick"])):w("v-if",!0),i.showDestroyBtn?(d(),g(r,y({key:1},s.btnDestroyProps,{onClick:e=>i.destroy(a,t)}),null,16,["onClick"])):w("v-if",!0)]))]),h("div",{ref_for:!0,ref:"formGenerator",class:"col-12 justify-between q-col-gutter-x-md row"},[p(e.$slots,"fields",{errors:i.transformedErrors,fields:i.children,index:a,updateValue:i.updateValuesFromInput},(()=>[q(n,{modelValue:l.nested[a],"onUpdate:modelValue":[e=>l.nested[a]=e,e=>i.updateValuesFromInput(e,a)],class:m(i.formClasses),columns:s.formColumns,errors:i.transformedErrors[a],fields:i.children,"fields-props":s.fieldsProps},b({_:2},[k(e.$slots,((t,s)=>({name:s,fn:v((t=>[p(e.$slots,s,S($(t)))]))})))]),1032,["modelValue","onUpdate:modelValue","class","columns","errors","fields","fields-props"])])),s.useInlineActions?(d(),c("div",Is,[h("div",Ms,[s.useDuplicate?(d(),g(r,{key:0,color:"primary",flat:"",icon:"o_content_copy",round:"",onClick:e=>i.add(t)},null,8,["onClick"])):w("v-if",!0)]),h("div",Es,[i.showDestroyBtn?(d(),g(r,{key:0,color:"negative",flat:"",icon:"o_cancel",round:"",onClick:e=>i.destroy(a,t)},null,8,["onClick"])):w("v-if",!0)])])):w("v-if",!0)],512),h("div",As,[p(e.$slots,"custom-fields",{index:a,modelValue:l.nested[a],updateValue:i.updateValuesFromInput})])])]))])),_:2},1024))],8,Ls)))),128))])),_:3},512)),p(e.$slots,"add-input",{add:i.add},(()=>[s.useInlineActions?(d(),c("div",{key:0,class:"cursor-pointer items-center q-col-gutter-x-md q-mt-md row",onClick:t[1]||(t[1]=e=>i.add())},[h("div",js,[q(u,{class:"disabled no-pointer-events","hide-bottom-space":"",label:s.addInputLabel,outlined:"",onFocus:t[0]||(t[0]=e=>i.add())},null,8,["label"])]),h("div",Rs,[q(r,{color:"green",flat:"",icon:"o_add_circle_outline",round:""})])])):(d(),c("div",Us,[q(r,{class:"full-width q-py-sm",icon:"o_add",outline:"",onClick:t[2]||(t[2]=e=>i.add())},{default:v((()=>[x(_(s.addInputLabel),1)])),_:1})]))]))])],8,Fs)},Os.__file="src/components/nested-fields/QasNestedFields.vue";var Ts={name:"QasPageHeader",props:{breadcrumbs:{default:"",type:[Array,Boolean,String]},useBreadcrumbs:{default:!0,type:Boolean},root:{default:"",type:[Object,String]},title:{default:"",type:String}},computed:{hasPreviousRoute:()=>as.hasPreviousRoute,transformedBreadcrumbs(){const e=[...r(this.breadcrumbs||this.title)];return this.root&&e.unshift(this.root),e.map((e=>{if(e&&"string"==typeof e)return{label:e};!e.route&&e.routeName&&(e.route={name:e.routeName});const t=as.list;if(t.length&&e?.route?.name){const s=t.find((t=>t.name===e.route.name));e.route.query=s?s.query:null}return e}))}},methods:{back(){this.$router.push(function(e){const t=l(as.list,(t=>t.name===e.name));return~t&&as.list.splice(t,1),as.hasPreviousRoute=as.list.length>1,as.list[as.list.length-1]}(this.$route))},getBreadcrumbsClass(e){return this.transformedBreadcrumbs.length-1===e?"text-grey-7":"text-primary"}},meta(){return{title:this.title}}};const zs={class:"ellipsis"};Ts.render=function(e,t,s,a,l,i){const o=f("q-icon"),r=f("q-toolbar-title"),n=f("q-breadcrumbs-el"),u=f("q-breadcrumbs"),y=f("q-toolbar");return d(),g(y,{class:"justify-between q-mb-lg q-px-none"},{default:v((()=>[h("div",zs,[s.title?(d(),g(r,{key:0,class:"text-bold text-h5"},{default:v((()=>[i.hasPreviousRoute?(d(),g(o,{key:0,class:"cursor-pointer vertical-baseline",name:"o_arrow_back",size:"18px",onClick:i.back},null,8,["onClick"])):w("v-if",!0),x(" "+_(s.title),1)])),_:1})):w("v-if",!0),s.useBreadcrumbs?(d(),g(u,{key:1,class:"text-caption","separator-color":"grey-7"},{default:v((()=>[(d(!0),c(C,null,k(i.transformedBreadcrumbs,((e,t)=>(d(),g(n,{key:e.label,class:m(i.getBreadcrumbsClass(t)),label:e.label,to:e.route},null,8,["class","label","to"])))),128))])),_:1})):w("v-if",!0)]),p(e.$slots,"default")])),_:3})},Ts.__file="src/components/page-header/QasPageHeader.vue";var Ns={name:"QasProfile",components:{QasAvatar:Fe,QasBox:Xe,QasGridGenerator:hs},mixins:[re],props:{columns:{type:Object,default:()=>({})},fields:{type:Object,default:()=>({})},list:{type:Array,default:()=>[]},result:{type:Object,default:()=>({})},subtitle:{type:String,default:""},tag:{type:String,default:"qas-box"},title:{type:String,default:"",required:!0}},computed:{directionClasses(){return this.mx_untilMedium?"col":"row items-center"},userAvatarImage(){return this.result.image},avatarSize(){return this.mx_isSmall?"145px":"188px"}},methods:{filterObject:function(e={},t){if(!t.length)return e;if(!Object.keys(e).length)return{};if(!Object.keys(e).length)return{};const s={};return t.forEach((t=>{e[t]&&(s[t]=e[t])})),s}}};const Gs={class:"q-col-gutter-md row"},Hs={class:"col-lg-5 col-xs-12"},Ks={class:"justify-center lg:q-mb-none md:q-mr-lg row xs:q-mb-md"},Ws={class:"text-bold text-h6"},Zs={key:0};Ns.render=function(e,t,s,a,l,i){const o=f("qas-avatar"),r=f("qas-grid-generator");return d(),g(V(s.tag),null,{default:v((()=>[h("div",Gs,[h("div",Hs,[h("div",{class:m(["no-wrap q-col-gutter-md",i.directionClasses])},[h("div",Ks,[q(o,{image:i.userAvatarImage,size:i.avatarSize,title:s.title},null,8,["image","size","title"])]),p(e.$slots,"default",{},(()=>[h("h6",Ws,_(s.title),1),s.subtitle?(d(),c("div",Zs,_(s.subtitle),1)):w("v-if",!0)]))],2)]),p(e.$slots,"grid",{},(()=>[q(r,{class:"col-lg-7 col-xs-12 items-center",columns:s.columns,fields:i.filterObject(s.fields,s.list),"hide-empty-result":"",result:s.result},b({_:2},[k(e.$slots,((t,s)=>({name:s,fn:v((t=>[p(e.$slots,s,S($(t||{})))]))})))]),1032,["columns","fields","result"])]))])])),_:3})},Ns.__file="src/components/profile/QasProfile.vue";var Ys={name:"QasResizer",props:{size:{default:"",type:String},source:{required:!0,type:String},resize:{default:"cover",type:String,validator:e=>["cover","contain","fill","inside","outside"].includes(e)}},computed:{height(){return this.$attrs.height||this.imageSize.height},imageParameters(){const e={bucket:process.env.BUCKET,key:this.source,edits:{}};return(this.height||this.width)&&(e.edits.resize={fit:this.resize,height:this.height,width:this.width}),e},imageSize(){const[e,t]=this.size.split("x");return{height:t,width:e}},imageSource(){return"https://d17ouzaofz81f3.cloudfront.net/"+btoa(JSON.stringify(this.imageParameters))},ratio(){if(!this.height||!this.width)return;if(this.height===this.width)return 1;const e=parseInt(this.height),t=parseInt(this.width),s=function(e,t){if("number"!=typeof e||"number"!=typeof t)throw new Error("Arguments need to be a number.");for(e=Math.abs(e),t=Math.abs(t);t;){const s=t;t=e%t,e=s}return e}(e,t);return t/s/(e/s)},width(){return this.$attrs.width||this.imageSize.width}}};const Js=h("div",{class:"absolute-full bg-grey-2 flex flex-center text-grey"},"⚠︎",-1);Ys.render=function(e,t,s,a,l,i){const o=f("q-img");return d(),g(o,{ratio:i.ratio,"spinner-color":"grey-6",src:i.imageSource},{error:v((()=>[Js])),_:1},8,["ratio","src"])},Ys.__file="src/components/resizer/QasResizer.vue";var Xs={name:"QasSearchBox",components:{QasBox:Xe},props:{emptyListHeight:{default:"100px",type:String},fuseOptions:{default:()=>({}),type:Object},height:{default:"300px",type:String},list:{default:()=>[],type:Array},modelValue:{default:"",type:String},placeholder:{default:"Pesquisar",type:String},useEmptySlot:{default:!0,type:Boolean}},emits:["empty-result","update:modelValue"],data(){return{fuse:null,results:this.list,search:""}},computed:{contentStyle(){return{height:this.list.length?this.height:this.emptyListHeight}},defaultFuseOptions(){return{distance:100,location:0,maxPatternLength:32,minMatchCharLength:1,shouldSort:!0,threshold:.1,tokenize:!0,...this.fuseOptions}},hasResults(){return!!this.results.length},normalizedResults(){return this.results.map((e=>e?.item))||[]}},watch:{defaultFuseOptions(e){this.fuse.options={...this.fuse.options,...e}},hasResults(e){!e&&this.$emit("empty-result")},list:{handler(e){this.fuse.list=e,this.setResults(this.search)},deep:!0},search:{handler(e){this.setResults(e),this.$emit("update:modelValue",e)},immediate:!0}},async created(){this.search=this.modelValue,this.fuse=new J(this.list,this.defaultFuseOptions),this.setResults()},methods:{setResults(e){this.results=e?this.fuse.search(e):this.list.map((e=>({item:e})))}}};const ea={class:"absolute-center text-center"},ta=h("div",null,"Não há resultados disponíveis.",-1);Xs.render=function(e,t,s,a,l,i){const o=f("q-icon"),r=f("q-input"),n=f("qas-box");return d(),g(n,null,{default:v((()=>[q(r,{modelValue:l.search,"onUpdate:modelValue":t[0]||(t[0]=e=>l.search=e),clearable:"",disable:!s.list.length,outlined:"",placeholder:s.placeholder},{append:v((()=>[q(o,{color:"primary",name:"o_search"})])),_:1},8,["modelValue","disable","placeholder"]),h("div",{class:"overflow-auto q-mt-xs relative-position",style:P(i.contentStyle)},[i.hasResults?p(e.$slots,"default",{key:0,results:i.normalizedResults}):s.useEmptySlot?p(e.$slots,"empty-result",{key:1},(()=>[h("div",ea,[q(o,{class:"q-mb-sm text-center",color:"primary",name:"o_search",size:"38px"}),ta])])):w("v-if",!0)],4)])),_:3})},Xs.__file="src/components/search-box/QasSearchBox.vue";var sa={name:"QasSelect",props:{fuseOptions:{default:()=>({}),type:Object},labelKey:{default:"",type:String},modelValue:{default:()=>[],type:[Array,Object,String,Number]},noOptionLabel:{default:"Nenhum resultado foi encontrado.",type:String},options:{default:()=>[],type:Array},searchable:{type:Boolean},valueKey:{default:"",type:String}},emits:["update:modelValue"],data:()=>({filteredOptions:[],fuse:null}),computed:{attributes(){return{clearable:this.searchable,emitValue:!0,mapOptions:!0,outlined:!0,...this.$attrs,options:this.filteredOptions,useInput:this.searchable}},defaultFuseOptions(){return{distance:100,includeScore:!0,keys:["label","value"],location:0,maxPatternLength:32,minMatchCharLength:1,shouldSort:!0,threshold:.1,tokenize:!0,...this.fuseOptions}},formattedResult(){return this.labelKey||this.valueKey?this.options.map((e=>this.renameKey(e))):this.options},model:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}}},watch:{defaultFuseOptions(e){this.fuse.options={...this.fuse.options,...e}},options:{handler(){this.fuse&&(this.fuse.list=this.formattedResult),this.filteredOptions=this.formattedResult},immediate:!0}},async created(){this.searchable&&(this.fuse=new J(this.options,this.defaultFuseOptions))},methods:{filterOptions(e,t){t((()=>{if(this.searchable)if(""===e)this.filteredOptions=this.formattedResult;else{const t=this.fuse.search(e);this.filteredOptions=t.map((e=>e.item))}}))},renameKey(e){const t={label:this.labelKey,value:this.valueKey};for(const s in t)e.hasOwnProperty.call(s)||(e[s]=e[t[s]],delete e[t[s]]);return e}}};sa.render=function(e,t,s,a,l,i){const o=f("q-icon"),r=f("q-item-section"),n=f("q-item"),u=f("q-select");return d(),g(u,y({modelValue:i.model,"onUpdate:modelValue":t[0]||(t[0]=e=>i.model=e)},i.attributes,{onFilter:i.filterOptions}),b({append:v((()=>[p(e.$slots,"append",{},(()=>[s.searchable?(d(),g(o,{key:0,name:"o_search"})):w("v-if",!0)]))])),"no-option":v((()=>[p(e.$slots,"no-option",{},(()=>[q(n,null,{default:v((()=>[q(r,{class:"text-grey"},{default:v((()=>[x(_(s.noOptionLabel),1)])),_:1})])),_:1})]))])),_:2},[k(e.$slots,((t,s)=>({name:s,fn:v((t=>[p(e.$slots,s,S($(t||{})))]))})))]),1040,["modelValue","onFilter"])},sa.__file="src/components/select/QasSelect.vue";var aa={name:"QasSelectList",components:{QasBtn:me,QasSearchBox:Xs},mixins:[re],props:{deleteOnly:{type:Boolean},fuseOptions:{default:()=>({keys:["label"]}),type:Object},list:{default:()=>[],type:Array},modelValue:{type:Array,default:()=>[]},to:{default:()=>({}),type:Object},toIdentifier:{default:"value",type:String}},emits:["added","update:modelValue","removed"],data:()=>({sortedList:[],values:[]}),computed:{isRedirectEnabled(){return Object.keys(this.to).length},labelClass(){return this.isRedirectEnabled?"cursor-pointer":""},slotData(){return{add:this.add,handleClick:this.handleClick,remove:this.remove,updateModel:this.updateModel}}},watch:{list:{handler(e){this.sortedList.length||(this.sortedList=e)},immediate:!0},modelValue(e){this.values=[...e]}},created(){this.values=[...this.modelValue],this.handleOptions()},methods:{add(e){this.values.push(e.value),this.updateModel(),this.$emit("added",e)},getButtonProps({value:e}){const t=this.values.includes(e);return{dense:this.mx_isSmall,hideLabelOnSmallScreen:!0,icon:this.mx_isSmall?t?"o_close":"o_add":void 0,label:t?"Remover":"Adicionar",outline:t,size:"sm"}},handleClick(e){return this.values.includes(e.value)?this.remove(e):this.add(e)},handleOptions(){if(this.modelValue.length)return this.sortList();const e=this.$watch("modelValue",(()=>{this.sortedList.length||(this.sortList(),e())}))},redirectRoute(e){return this.isRedirectEnabled&&this.$router.push({params:{id:e[this.toIdentifier]},...this.to})},remove(e){const t=this.values.findIndex((t=>t===e.value));this.values.splice(t,1),this.updateModel(),this.$emit("removed",e,t)},sortList(){this.sortedList=this.deleteOnly?this.options.filter((e=>this.modelValue.includes(e.value))):n(this.options,(e=>!this.modelValue.includes(e.value)))},updateModel(e){this.$emit("update:modelValue",e||this.values)}}};const la=["onClick"];aa.render=function(e,t,s,a,l,i){const o=f("q-item-section"),r=f("qas-btn"),n=f("q-item"),u=f("q-list"),b=f("qas-search-box");return d(),g(b,{class:"q-pa-md","fuse-options":s.fuseOptions,list:l.sortedList},{default:v((({results:t})=>[q(u,{separator:""},{default:v((()=>[(d(!0),c(C,null,k(t,(t=>(d(),g(n,{key:t.value},{default:v((()=>[p(e.$slots,"item",S($(i.slotData)),(()=>[p(e.$slots,"item-section",{result:t},(()=>[q(o,{class:"items-start text-bold"},{default:v((()=>[h("div",{class:m(i.labelClass),onClick:e=>i.redirectRoute(t)},_(t.label),11,la)])),_:2},1024)])),q(o,{avatar:""},{default:v((()=>[p(e.$slots,"item-action",S($(i.slotData)),(()=>[q(r,y(i.getButtonProps(t),{onClick:e=>i.handleClick(t)}),null,16,["onClick"])]))])),_:2},1024)]))])),_:2},1024)))),128))])),_:2},1024)])),_:3},8,["fuse-options","list"])},aa.__file="src/components/select-list/QasSelectList.vue";var ia={name:"QasSingleView",mixins:[ne],props:{customId:{default:"",type:[Number,String]},modelValue:{default:()=>({}),type:Object}},emits:["update:modelValue","fetch-success","fetch-error"],computed:{hasResult(){return!!this.result},id(){return this.customId||this.$route.params.id},result(){return this.$store.getters[`${this.entity}/byId`](this.id)||{}}},watch:{$route(e,t){e.name===t.name&&this.fetchSingle()},result(e){this.$emit("update:modelValue",e)}},created(){this.fetchSingle()},methods:{async fetchSingle(){this.mx_isFetching=!0;try{const e=await this.$store.dispatch(`${this.entity}/fetchSingle`,{id:this.id,url:this.url}),{errors:t,fields:s,metadata:a}=e.data;this.mx_setErrors(t),this.mx_setFields(s),this.mx_setMetadata(a),this.mx_updateModels({errors:t,fields:this.mx_fields,metadata:a}),this.$emit("fetch-success",e)}catch(e){this.mx_fetchError(e),this.$emit("fetch-error",e)}finally{this.mx_isFetching=!1}}}};const oa={key:0},ra={key:2,class:"q-my-xl text-center"},na=h("div",{class:"text-grey-6"},"Nenhum item encontrado.",-1),ua={key:3};ia.render=function(e,t,s,a,l,i){const o=f("q-icon"),r=f("q-spinner"),n=f("q-inner-loading");return d(),g(V(e.mx_componentTag),null,{default:v((()=>[e.mx_hasHeaderSlot?(d(),c("header",oa,[p(e.$slots,"header",{errors:e.mx_errors,fields:e.mx_fields,metadata:e.mx_metadata,result:i.result})])):w("v-if",!0),i.hasResult?p(e.$slots,"default",{key:1,errors:e.mx_errors,fields:e.mx_fields,metadata:e.mx_metadata,result:i.result}):e.mx_isFetching?w("v-if",!0):(d(),c("div",ra,[q(o,{class:"q-mb-sm text-center",color:"grey-6",name:"o_search",size:"38px"}),na])),e.mx_hasFooterSlot?(d(),c("footer",ua,[p(e.$slots,"footer")])):w("v-if",!0),q(n,{showing:e.mx_isFetching},{default:v((()=>[q(r,{color:"grey",size:"3em"})])),_:1},8,["showing"])])),_:3})},ia.__file="src/components/single-view/QasSingleView.vue";var da={name:"QasSortable",props:{entity:{default:"",type:String},sortableOptions:{default:()=>({animation:500}),type:Object},results:{default:()=>[],type:Array},tag:{default:"div",type:String},url:{default:"",type:String},sorted:{default:()=>[],type:Array}},emits:["update:sorted","sort","success"],data:()=>({sortable:null,sortedList:null}),computed:{identifiers(){return this.sortedList.map((({id:e})=>e))}},watch:{sortableOptions(e){this.sortable.options={...this.sortable.options,...e}},results(e){this.setSortedValue(e),this.sortable.sort(this.sortable.toArray())}},created(){this.setSortedValue()},async mounted(){this.sortable=new X(this.$refs.sortableItems,{...this.sortableOptions,onUpdate:e=>{this.updateOrder(e),this.$emit("sort",e)}})},unmounted(){this.sortable.destroy()},methods:{setError(e){const{response:t}=e,s=t?.data?.exception||e.message;bt("Ops! Erro ao ordernar itens.",s)},async replace(){T.show();try{const e=await this.$store.dispatch(`${this.entity}/replace`,{payload:{order:this.identifiers},url:this.url||`${this.entity}/sort`});this.$emit("success",e)}catch(e){this.setError(e)}finally{T.hide()}},updateOrder({newIndex:e,oldIndex:t}){const s=this.sortedList.splice(t,1);this.sortedList.splice(e,0,s[0]),this.replace()},setSortedValue(e){this.sortedList=z(!0,[],e||this.results),this.updateSortedModel()},updateSortedModel(){return this.$emit("update:sorted",this.sortedList)}}};da.render=function(e,t,s,a,l,i){return d(),g(V(s.tag),{ref:"sortableItems"},{default:v((()=>[p(e.$slots,"default")])),_:3},512)},da.__file="src/components/sortable/QasSortable.vue";var ca={name:"QasTableGenerator",mixins:[re],props:{columns:{default:()=>[],type:Array},fields:{default:()=>({}),type:[Array,Object]},results:{default:()=>[],required:!0,type:Array},rowKey:{default:"name",type:String},emptyResultText:{default:"-",type:String},useScrollOnGrab:{type:Boolean,default:!0}},data:()=>({scrollableElement:null,scrollOnGrab:{}}),computed:{attributes(){return{columns:this.columnsByFields,rows:this.resultsByFields,flat:!0,hideBottom:!0,pagination:{rowsPerPage:0},rowKey:this.rowKey}},columnsByFields(){if(!this.hasFields)return this.columns.filter((e=>e instanceof Object));const e=[];function t(t){const{align:s,label:a,name:l}=t;e.push({align:s||"left",field:l,label:a,name:l,headerClasses:"text-primary"})}if(!this.columns.length){for(const e in this.fields)t(this.fields[e]);return e}return this.columns.forEach((e=>{e instanceof Object?t(e):this.fields[e]&&t(this.fields[e])})),e},hasBodySlot(){return!!this.$slots.body},hasFields(){return Object.keys(this.fields).length},resultsByFields(){return z(!0,[],this.results).map(((e,t)=>{for(const s in e)e.default=this.results[t],e[s]=ke(this.fields[s],e[s])||this.emptyResultText;return e}))},rowsPerPage(){return this.results.length},tableClass(){return this.mx_isSmall&&"qas-table-generator--mobile"},hasScrollOnGrab(){return!!Object.keys(this.scrollOnGrab).length}},mounted(){this.useScrollOnGrab||(this.handleScrollOnGrab(),window.addEventListener("resize",this.handleScrollOnGrab))},onUnmounted(){this.hasScrollOnGrab&&this.scrollOnGrab.destroyEvents(),window.removeEventListener("resize",this.handleScrollOnGrab)},methods:{setScrollOnGrab(){if(this.hasScrollOnGrab)return;const e=this.$refs.table.$el.querySelector(".q-table__middle.scroll");this.scrollOnGrab=function(e){n();let t,s,a=!1;function l(l){a=!0,e.classList.add("active"),t=l.pageX-e.offsetLeft,s=e.scrollLeft}function i(){a=!1,e.classList.remove("active"),n()}function o(){a=!1,e.classList.remove("active"),n()}function r(l){if(!a)return;l.preventDefault(),n("grabbing");const i=3*(l.pageX-e.offsetLeft-t);e.scrollLeft=s-i}function n(t="grab"){e.style.cursor=t}return e.addEventListener("mousedown",l),e.addEventListener("mouseleave",i),e.addEventListener("mouseup",o),e.addEventListener("mousemove",r),{element:e,destroyEvents:function(){e.removeEventListener("mousedown",l),e.removeEventListener("mouseleave",i),e.removeEventListener("mouseup",o),e.removeEventListener("mousemove",r)}}}(e)},getTableElement(){return this.$refs.table.$el.querySelector("table")},getFullTableWidth(){return this.getTableElement().getBoundingClientRect().width},getContainerTableWidth(){return this.$refs.table.$el.querySelector(".q-table__middle").getBoundingClientRect().width},handleScrollOnGrab(){this.getFullTableWidth()>this.getContainerTableWidth()?this.setScrollOnGrab():this.hasScrollOnGrab&&(this.scrollOnGrab.destroyEvents(),this.scrollOnGrab.element.style.cursor="auto",this.scrollOnGrab={})}}};ca.render=function(e,t,s,a,l,i){const o=f("q-td"),r=f("q-table"),n=f("qas-box");return d(),g(n,{class:"q-mb-xl q-px-lg q-py-md"},{default:v((()=>[q(r,y({ref:"table",class:["bg-transparent qas-table-generator",i.tableClass]},i.attributes),b({_:2},[k(e.$slots,((t,s)=>({name:s,fn:v((t=>[i.hasBodySlot?p(e.$slots,"body",{key:0,props:t}):(d(),g(o,{key:s},{default:v((()=>[p(e.$slots,s,S($(t||{})))])),_:2},1024))]))})))]),1040,["class"])])),_:3})},ca.__file="src/components/table-generator/QasTableGenerator.vue";var ma={name:"QasTabsGenerator",props:{activeColor:{default:"primary",type:String},counterProps:{default:()=>({}),type:Object},counters:{default:()=>({}),type:Object},indicatorColor:{default:"primary",type:String},modelValue:{default:"",type:String},tabClass:{default:"text-primary",type:String},tabs:{default:()=>({}),required:!0,type:Object}},emits:["update:modelValue"],computed:{defaultCounterProps(){return{color:"negative",floating:!0,...this.counterProps}},formattedTabs(){const e=z(!0,{},this.tabs);for(const t in e)"string"==typeof e[t]&&(e[t]={label:e[t]});return e},model:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}}}};ma.render=function(e,t,s,a,l,i){const o=f("q-badge"),r=f("q-tab"),n=f("q-tabs");return d(),g(n,{modelValue:i.model,"onUpdate:modelValue":t[0]||(t[0]=e=>i.model=e),"active-color":s.activeColor,"indicator-color":s.indicatorColor,"outside-arrows":""},{default:v((()=>[(d(!0),c(C,null,k(i.formattedTabs,((t,a)=>p(e.$slots,`tab-${t.value}`,{item:t},(()=>[(d(),g(r,y({key:a},t,{class:s.tabClass,label:t.label,name:a}),{default:v((()=>[p(e.$slots,`tab-after-${t.value}`,{item:t},(()=>[s.counters[a]?(d(),g(o,y({key:0,label:s.counters[a]},i.defaultCounterProps),null,16,["label"])):w("v-if",!0)]))])),_:2},1040,["class","label","name"]))])))),256))])),_:3},8,["modelValue","active-color","indicator-color"])},ma.__file="src/components/tabs-generator/QasTabsGenerator.vue";var ha={name:"QasTextTruncate",components:{QasDialog:ht},mixins:[re],props:{dialogProps:{type:Object,default:()=>({persistent:!1})},dialogTitle:{type:String,default:""},maxWidth:{type:Number,default:0},seeMoreLabel:{type:String,default:"Ver mais"},text:{type:String,default:""}},data:()=>({maxPossibleWidth:"",showDialog:!1,textWidth:""}),computed:{truncateTextClass(){return(this.isTruncated||this.mx_isSmall)&&"ellipsis q-pr-sm"},isTruncated(){return this.textWidth>this.maxPossibleWidth},headerClass(){return this.dialogTitle?"justify-between":"justify-end"},defaultDialogProps(){return{cancel:!1,ok:!1,useCloseIcon:!0,...this.dialogProps,card:{title:this.dialogTitle,description:this.text}}}},watch:{maxWidth(){this.truncateText()}},mounted(){this.truncateText()},methods:{truncateText(){this.$refs.parent.style.maxWidth="100%",this.textWidth=this.$refs.truncate.clientWidth,this.maxPossibleWidth=this.maxWidth||.9*this.$refs.truncate.parentElement.clientWidth,this.$refs.parent.style.maxWidth=`${this.maxPossibleWidth}px`},toggleDialog(){this.showDialog=!this.showDialog}}};const pa={ref:"parent",class:"full-width"},fa={class:"justify-between no-wrap row text-no-wrap"};ha.render=function(e,t,s,a,l,i){const o=f("qas-dialog");return d(),c("div",pa,[h("div",fa,[h("div",{ref:"truncate",class:m(i.truncateTextClass)},[p(e.$slots,"default",{},(()=>[x(_(s.text),1)]))],2),i.isTruncated?(d(),c("div",{key:0,class:"cursor-pointer text-primary",onClick:t[0]||(t[0]=(...e)=>i.toggleDialog&&i.toggleDialog(...e))},_(s.seeMoreLabel),1)):w("v-if",!0)]),q(o,y({modelValue:l.showDialog,"onUpdate:modelValue":t[1]||(t[1]=e=>l.showDialog=e)},i.defaultDialogProps),{description:v((()=>[p(e.$slots,"default",{},(()=>[h("div",null,_(s.text),1)]))])),_:3},16,["modelValue"])],512)},ha.__file="src/components/text-truncate/QasTextTruncate.vue";var ga={name:"QasTransfer",components:{QasBtn:me,QasLabel:ps,QasSearchBox:Xs},mixins:[re],props:{emitValue:{type:Boolean},fuseOptions:{default:()=>({keys:["label"]}),type:Object},label:{default:"",required:!0,type:String},labelKey:{default:"label",type:String},modelValue:{default:()=>[],type:Array},options:{default:()=>[],type:Array},useEmptySlot:{default:!0,type:Boolean},valueKey:{default:"value",type:String}},emits:["update:modelValue"],data:()=>({firstQueue:[],optionsList:[],secondQueue:[],selectedList:[]}),computed:{actionsClass(){return!this.mx_isSmall&&"column"},gutterClass(){return"q-col-gutter-"+(this.mx_untilLarge?"md":"xl")},iconClass(){return!this.mx_isSmall&&"qas-transfer__icon"},searchBoxProps(){return{fuseOptions:this.fuseOptions,useEmptySlot:this.useEmptySlot}}},watch:{modelValue:{handler(){this.setSelectedFromValue(!0)},immediate:!0},options:{handler(e){this.optionsList=z(!0,[],e)},immediate:!0},selectedList:{handler(){this.updateModelValue()}}},methods:{deleteItemsFromList(e){this[e?"firstQueue":"secondQueue"].forEach((t=>{const s=e?"optionsList":"selectedList",a=this[s].findIndex((e=>(e[this.valueKey]||e)===t[this.valueKey]));~a&&this[s].splice(a,1)}))},getItemClass(e,t){return this[t?"firstQueue":"secondQueue"].some((t=>t[this.valueKey]===e[this.valueKey]))&&"bg-secondary"},getItemLabel(e){return e?.[this.labelKey]},getModelValue(){const e=z(!0,[],this.selectedList);return this.emitValue?e.map((e=>e[this.valueKey])):e},handleSelectedList(e){const t=e?"firstQueue":"secondQueue";this[e?"selectedList":"optionsList"].push(...this[t]),this.deleteItemsFromList(e),this[t]=[]},onSelectQueue(e,t){const s=t?"firstQueue":"secondQueue",a=this[s].findIndex((t=>t[this.valueKey]===e[this.valueKey]));~a?this[s].splice(a,1):this[s].push(e)},setSelectedFromClick(e){this.handleSelectedList(e)},setSelectedFromValue(e){this.modelValue.forEach((e=>{const t=this.optionsList.find((t=>t[this.valueKey]===(this.emitValue?e:e[this.valueKey])));t&&this.firstQueue.push(z(!0,{},t))})),this.handleSelectedList(e)},updateModelValue(){return this.$emit("update:modelValue",this.getModelValue())}}};const ya=h("div",{class:"col-12"},null,-1),ba={class:"col-12 col-sm"},va=x("Selecionar"),xa=x("Remover"),_a={class:"col-12 col-sm"};ga.render=function(e,t,s,a,l,i){const o=f("qas-label"),r=f("q-item-section"),n=f("q-item"),u=f("q-list"),b=f("qas-search-box"),w=f("qas-btn"),S=f("q-tooltip");return d(),c("div",{class:m(["qas-transfer row",i.gutterClass])},[ya,h("div",ba,[q(o,{label:s.label,quantity:l.optionsList.length},null,8,["label","quantity"]),q(b,y({"form-mode":"",list:l.optionsList},i.searchBoxProps),{default:v((({results:t})=>[q(u,{separator:""},{default:v((()=>[(d(!0),c(C,null,k(t,((t,s)=>(d(),g(n,{key:s,class:m(i.getItemClass(t,!0)),clickable:"",onClick:e=>i.onSelectQueue(t,!0)},{default:v((()=>[p(e.$slots,"item-first-column",{},(()=>[q(r,null,{default:v((()=>[x(_(i.getItemLabel(t)),1)])),_:2},1024)]))])),_:2},1032,["class","onClick"])))),128))])),_:2},1024)])),_:3},16,["list"])]),h("div",{class:m(["col-12 col-sm-auto items-center justify-center q-col-gutter-md row",i.actionsClass])},[h("div",null,[q(w,{class:m(i.iconClass),dense:"",disabled:!l.firstQueue.length,flat:"",icon:"o_arrow_circle_down",rounded:"",onClick:t[0]||(t[0]=e=>i.setSelectedFromClick(!0))},null,8,["class","disabled"]),q(S,{anchor:"top middle",self:"center middle"},{default:v((()=>[va])),_:1})]),h("div",null,[h("div",null,[q(w,{class:m(i.iconClass),dense:"",disabled:!l.secondQueue.length,flat:"",icon:"o_arrow_circle_up",rounded:"",onClick:t[1]||(t[1]=e=>i.setSelectedFromClick())},null,8,["class","disabled"]),q(S,{anchor:"bottom middle",self:"center middle"},{default:v((()=>[xa])),_:1})])])],2),h("div",_a,[q(o,{label:"Selecionadas",quantity:l.selectedList.length},null,8,["quantity"]),q(b,y(i.searchBoxProps,{"empty-list-height":"300px","form-mode":"",label:"Selecionadas",list:l.selectedList}),{default:v((({results:t})=>[q(u,{separator:""},{default:v((()=>[(d(!0),c(C,null,k(t,((t,s)=>(d(),g(n,{key:s,class:m(i.getItemClass(t)),clickable:"",onClick:e=>i.onSelectQueue(t)},{default:v((()=>[p(e.$slots,"item-second-column",{},(()=>[q(r,null,{default:v((()=>[x(_(i.getItemLabel(t)),1)])),_:2},1024)]))])),_:2},1032,["class","onClick"])))),128))])),_:2},1024)])),_:3},16,["list"])])],2)},ga.__file="src/components/transfer/QasTransfer.vue";const wa="3.0.0-alpha.1";function ka(e){e.component("QasActions",ue),e.component("QasActionsMenu",he),e.component("QasAlert",Ve),e.component("QasAppBar",Be),e.component("QasAppMenu",He),e.component("QasAvatar",Fe),e.component("QasBox",Xe),e.component("QasBreakline",Ce),e.component("QasBtn",me),e.component("QasCard",et),e.component("QasCheckboxGroup",it),e.component("QasCopy",ot),e.component("QasDateTimeInput",nt),e.component("QasDebugger",ut),e.component("QasDelete",xt),e.component("QasDialog",ht),e.component("QasDialogRouter",_t),e.component("QasField",Ht),e.component("QasFilters",Kt),e.component("QasFormGenerator",ss),e.component("QasFormView",ls),e.component("QasGallery",ns),e.component("QasGridGenerator",hs),e.component("QasInput",wt),e.component("QasLabel",ps),e.component("QasLayout",fs),e.component("QasListItems",gs),e.component("QasListView",bs),e.component("QasMap",Cs),e.component("QasNestedFields",Os),e.component("QasNumericInput",St),e.component("QasPageHeader",Ts),e.component("QasPasswordInput",Vt),e.component("QasPasswordStrengthChecker",qt),e.component("QasProfile",Ns),e.component("QasResizer",Ys),e.component("QasSearchBox",Xs),e.component("QasSelect",sa),e.component("QasSelectList",aa),e.component("QasSignaturePad",At),e.component("QasSignatureUploader",Ut),e.component("QasSingleView",ia),e.component("QasSortable",da),e.component("QasTableGenerator",ca),e.component("QasTabsGenerator",ma),e.component("QasTextTruncate",ha),e.component("QasTransfer",ga),e.component("QasUploader",Qt),e.use(G,{plugins:{Notify:U,QuasarDialog:R,Dialog:yt}}),process.env.MAPS_API_KEY&&e.use(ee,{load:{key:process.env.MAPS_API_KEY,libraries:"places"}}),e.config.globalProperties.$qas={dialog:yt,error:bt,success:vt}}var Sa=Object.freeze({__proto__:null,version:wa,QasActions:ue,QasActionsMenu:he,QasAlert:Ve,QasAppBar:Be,QasAppMenu:He,QasAvatar:Fe,QasBox:Xe,QasBreakline:Ce,QasBtn:me,QasCard:et,QasCheckboxGroup:it,QasCopy:ot,QasDateTimeInput:nt,QasDebugger:ut,QasDelete:xt,QasDialog:ht,QasDialogRouter:_t,QasField:Ht,QasFilters:Kt,QasFormGenerator:ss,QasFormView:ls,QasGallery:ns,QasGridGenerator:hs,QasInput:wt,QasLabel:ps,QasLayout:fs,QasListItems:gs,QasListView:bs,QasMap:Cs,QasNestedFields:Os,QasNumericInput:St,QasPageHeader:Ts,QasPasswordInput:Vt,QasPasswordStrengthChecker:qt,QasProfile:Ns,QasResizer:Ys,QasSearchBox:Xs,QasSelect:sa,QasSelectList:aa,QasSignaturePad:At,QasSignatureUploader:Ut,QasSingleView:ia,QasSortable:da,QasTableGenerator:ca,QasTabsGenerator:ma,QasTextTruncate:ha,QasTransfer:ga,QasUploader:Qt,Dialog:yt,NotifyError:bt,NotifySuccess:vt,install:ka});export{yt as Dialog,bt as NotifyError,vt as NotifySuccess,ue as QasActions,he as QasActionsMenu,Ve as QasAlert,Be as QasAppBar,He as QasAppMenu,Fe as QasAvatar,Xe as QasBox,Ce as QasBreakline,me as QasBtn,et as QasCard,it as QasCheckboxGroup,ot as QasCopy,nt as QasDateTimeInput,ut as QasDebugger,xt as QasDelete,ht as QasDialog,_t as QasDialogRouter,Ht as QasField,Kt as QasFilters,ss as QasFormGenerator,ls as QasFormView,ns as QasGallery,hs as QasGridGenerator,wt as QasInput,ps as QasLabel,fs as QasLayout,gs as QasListItems,bs as QasListView,Cs as QasMap,Os as QasNestedFields,St as QasNumericInput,Ts as QasPageHeader,Vt as QasPasswordInput,qt as QasPasswordStrengthChecker,Ns as QasProfile,Ys as QasResizer,Xs as QasSearchBox,sa as QasSelect,aa as QasSelectList,At as QasSignaturePad,Ut as QasSignatureUploader,ia as QasSingleView,da as QasSortable,ca as QasTableGenerator,ma as QasTabsGenerator,ha as QasTextTruncate,ga as QasTransfer,Qt as QasUploader,Sa as default,ka as install,wa as version};
@@ -0,0 +1 @@
1
+ @import"https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,400;0,700;1,400;1,700&display=swap";:root{--qas-background-color: #fcfcff}.bg-no-repeat{background-repeat:no-repeat !important}.bg-size-contain{background-size:contain !important}.bg-size-cover{background-size:cover !important}.bg-position-bottom{background-position:bottom !important}.bg-position-center{background-position:center !important}.bg-position-left{background-position:left !important}.bg-position-right{background-position:right !important}.bg-position-top{background-position:top !important}.border-secondary-contrast:not(.border-top):not(.border-left):not(.border-bottom):not(.border-right),.border-secondary:not(.border-top):not(.border-left):not(.border-bottom):not(.border-right),.border-primary-contrast:not(.border-top):not(.border-left):not(.border-bottom):not(.border-right),.border-primary:not(.border-top):not(.border-left):not(.border-bottom):not(.border-right){border-width:1px !important}.border-primary{border:0 solid var(--q-primary) !important}.border-primary-contrast{border:0 solid var(--q-primary-contrast) !important}.border-secondary{border:0 solid var(--q-secondary) !important}.border-secondary-contrast{border:0 solid var(--q-secondary-contrast) !important}.border-top{border-top-width:1px !important}.border-left{border-left-width:1px !important}.border-bottom{border-bottom-width:1px !important}.border-right{border-right-width:1px !important}.rounded-borders-sm{border-radius:calc(4px / 2) !important}.rounded-borders-lg{border-radius:calc(4px * 2) !important}.rounded-borders-top{border-bottom-left-radius:0 !important;border-bottom-right-radius:0 !important}.rounded-borders-right{border-bottom-left-radius:0 !important;border-top-left-radius:0 !important}.rounded-borders-bottom{border-top-left-radius:0 !important;border-top-right-radius:0 !important}.rounded-borders-left{border-bottom-right-radius:0 !important;border-top-right-radius:0 !important}.container,.container-xs,.container-sm,.container-md,.container-lg,.container-xl{margin-left:auto;margin-right:auto;max-width:1280px;width:calc(100% - 80px)}.container.spaced,.container-xs.spaced,.container-sm.spaced,.container-md.spaced,.container-lg.spaced,.container-xl.spaced{padding-bottom:20px;padding-top:20px}@media(max-width: 599px){.container,.container-xs,.container-sm,.container-md,.container-lg,.container-xl{width:calc(100% - 20px)}}.container-xs{max-width:599px !important}.container-sm{max-width:1023px !important}.container-md{max-width:1439px !important}.container-lg{max-width:1919px !important}body{font-family:Inter,system-ui,sans-serif}.qs-lh-xs{line-height:.85 !important}.qs-lh-sm{line-height:1 !important}.qs-lh-md{line-height:1.15 !important}.qs-lh-lg{line-height:1.3 !important}.qs-lh-xl{line-height:1.5 !important}.opacity-10{opacity:0.1 !important}.opacity-20{opacity:0.2 !important}.opacity-30{opacity:0.3 !important}.opacity-40{opacity:0.4 !important}.opacity-50{opacity:0.5 !important}.opacity-60{opacity:0.6 !important}.opacity-70{opacity:0.7 !important}.opacity-80{opacity:0.8 !important}.opacity-90{opacity:0.9 !important}.shadow-primary{box-shadow:0 8px 25px var(--q-primary-contrast) !important}.shadow-secondary{box-shadow:0 8px 25px var(--q-secondary-contrast) !important}.text-baseline{vertical-align:baseline !important}.text-break{word-break:break-all !important}.text-underline{text-decoration:underline !important}.text-no-decoration{text-decoration:none !important}.fade-enter-active,.fade-leave-active{transform:translateY(0);transition:opacity .3s,transform .3s}.fade-enter,.fade-leave-to{opacity:0;transform:translateY(-100%)}.unset{all:unset}a.unset,button.unset{cursor:pointer}body{background-color:var(--qas-background-color)}.q-field--outlined .q-field__inner{background-color:#fff;border-radius:4px}.q-radio__inner::before{color:var(--q-primary)}.q-tabs__arrow{color:var(--q-primary)}.qas-actions-menu__list{width:265px;z-index:1}.qas-alert{border-style:solid;border-width:0 10px}.q-expansion-item--expanded .q-item:not(.qas-app-menu--active.q-item){background-color:#fafafa}.qas-app-bar__toolbar{height:70px}.qas-app-bar__brand{height:24px;margin-right:8px;position:relative;top:4px}.qas-app-bar__user{background-color:var(--qas-background-color);transition:background-color .3s cubic-bezier(0.25, 0.8, 0.5, 1)}.qas-app-bar__user:focus,.qas-app-bar__user:hover{background-color:rgba(255,255,255,.2)}.qas-app-bar__user-data{max-width:180px}.qas-app-bar__user-menu{width:260px}@media(max-width: 599px){.qas-app-bar__user-data{display:none}}.qas-list-items .q-list>.q-item{padding:24px 16px}.qas-map__draw{height:300px;width:100%}.qas-nested-fields__actions{height:56px}.qas-signature-pad__canvas{border:1px solid #eee}.qas-table-generator .q-table th{font-weight:bold}.qas-table-generator--mobile{margin:0 -10px}.qas-table-generator--mobile .q-table{margin-left:10px}.qas-transfer__icon{transform:rotate(-90deg)}.qas-uploader__input{display:none}