@bildvitta/quasar-ui-asteroid 3.0.0-beta.2 → 3.0.0-beta.20

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 (173) hide show
  1. package/dist/api/QasActionsMenu.json +15 -15
  2. package/dist/api/QasAppBar.json +4 -8
  3. package/dist/api/QasAppMenu.json +11 -7
  4. package/dist/api/QasBtn.json +8 -4
  5. package/dist/api/QasCard.json +17 -13
  6. package/dist/api/QasCheckboxGroup.json +8 -8
  7. package/dist/api/QasCopy.json +4 -4
  8. package/dist/api/QasDateTimeInput.json +16 -16
  9. package/dist/api/QasDelete.json +17 -17
  10. package/dist/api/QasDialog.json +24 -20
  11. package/dist/api/QasFilters.json +14 -14
  12. package/dist/api/QasFormGenerator.json +57 -26
  13. package/dist/api/QasFormView.json +115 -87
  14. package/dist/api/QasGallery.json +4 -4
  15. package/dist/api/QasGridGenerator.json +40 -39
  16. package/dist/api/QasInput.json +13 -13
  17. package/dist/api/QasListItems.json +18 -17
  18. package/dist/api/QasListView.json +67 -53
  19. package/dist/api/QasNestedFields.json +45 -35
  20. package/dist/api/QasNumericInput.json +31 -12
  21. package/dist/api/QasPageHeader.json +7 -7
  22. package/dist/api/QasPasswordInput.json +13 -13
  23. package/dist/api/QasPasswordStrengthChecker.json +12 -12
  24. package/dist/api/QasProfile.json +5 -5
  25. package/dist/api/QasResizer.json +11 -11
  26. package/dist/api/QasSearchBox.json +90 -8
  27. package/dist/api/QasSelect.json +92 -25
  28. package/dist/api/QasSelectList.json +16 -14
  29. package/dist/api/QasSignaturePad.json +1 -1
  30. package/dist/api/QasSignatureUploader.json +9 -9
  31. package/dist/api/QasSingleView.json +52 -43
  32. package/dist/api/QasSortable.json +20 -20
  33. package/dist/api/QasTableGenerator.json +5 -5
  34. package/dist/api/QasTabsGenerator.json +5 -2
  35. package/dist/api/QasTransfer.json +9 -9
  36. package/dist/api/QasUploader.json +22 -17
  37. package/dist/asteroid.cjs.css +1 -1
  38. package/dist/asteroid.cjs.js +3904 -3102
  39. package/dist/asteroid.cjs.min.js +2 -2
  40. package/dist/asteroid.esm.css +1 -1
  41. package/dist/asteroid.esm.js +3908 -3106
  42. package/dist/asteroid.esm.min.js +2 -2
  43. package/dist/asteroid.umd.css +1 -1
  44. package/dist/asteroid.umd.js +3907 -3106
  45. package/dist/asteroid.umd.min.js +2 -2
  46. package/dist/vetur/asteroid-attributes.json +387 -303
  47. package/dist/vetur/asteroid-tags.json +129 -108
  48. package/package.json +1 -1
  49. package/src/assets/gear.svg +27 -0
  50. package/src/components/actions/QasActions.vue +1 -5
  51. package/src/components/actions-menu/QasActionsMenu.vue +4 -10
  52. package/src/components/actions-menu/QasActionsMenu.yml +15 -15
  53. package/src/components/app-bar/QasAppBar.vue +18 -14
  54. package/src/components/app-bar/QasAppBar.yml +4 -8
  55. package/src/components/app-menu/QasAppMenu.vue +8 -7
  56. package/src/components/app-menu/QasAppMenu.yml +11 -7
  57. package/src/components/avatar/QasAvatar.vue +0 -4
  58. package/src/components/box/QasBox.vue +1 -1
  59. package/src/components/btn/QasBtn.vue +11 -15
  60. package/src/components/btn/QasBtn.yml +7 -3
  61. package/src/components/card/QasCard.vue +18 -9
  62. package/src/components/card/QasCard.yml +17 -13
  63. package/src/components/checkbox-group/QasCheckboxGroup.yml +9 -8
  64. package/src/components/copy/QasCopy.vue +1 -1
  65. package/src/components/copy/QasCopy.yml +4 -3
  66. package/src/components/date-time-input/QasDateTimeInput.vue +39 -41
  67. package/src/components/date-time-input/QasDateTimeInput.yml +16 -16
  68. package/src/components/delete/QasDelete.vue +15 -1
  69. package/src/components/delete/QasDelete.yml +15 -15
  70. package/src/components/dialog/QasDialog.vue +28 -9
  71. package/src/components/dialog/QasDialog.yml +22 -18
  72. package/src/components/dialog-router/QasDialogRouter.vue +1 -1
  73. package/src/components/field/QasField.vue +15 -14
  74. package/src/components/filters/QasFilters.vue +30 -13
  75. package/src/components/filters/QasFilters.yml +14 -14
  76. package/src/components/form-generator/QasFormGenerator.vue +87 -12
  77. package/src/components/form-generator/QasFormGenerator.yml +32 -18
  78. package/src/components/form-view/QasFormView.vue +142 -60
  79. package/src/components/form-view/QasFormView.yml +91 -67
  80. package/src/components/gallery/QasGallery.vue +4 -8
  81. package/src/components/gallery/QasGallery.yml +4 -4
  82. package/src/components/grid-generator/QasGridGenerator.vue +23 -7
  83. package/src/components/grid-generator/QasGridGenerator.yml +29 -27
  84. package/src/components/input/QasInput.vue +37 -21
  85. package/src/components/input/QasInput.yml +13 -13
  86. package/src/components/layout/QasLayout.vue +4 -0
  87. package/src/components/list-items/QasListItems.vue +16 -24
  88. package/src/components/list-items/QasListItems.yml +14 -15
  89. package/src/components/list-view/QasListView.vue +48 -20
  90. package/src/components/list-view/QasListView.yml +58 -46
  91. package/src/components/map/QasMap.vue +5 -5
  92. package/src/components/nested-fields/QasNestedFields.vue +29 -21
  93. package/src/components/nested-fields/QasNestedFields.yml +35 -28
  94. package/src/components/numeric-input/QasNumericInput.vue +45 -27
  95. package/src/components/numeric-input/QasNumericInput.yml +26 -12
  96. package/src/components/page-header/QasPageHeader.vue +14 -11
  97. package/src/components/page-header/QasPageHeader.yml +4 -4
  98. package/src/components/password-input/QasPasswordInput.vue +17 -16
  99. package/src/components/password-input/QasPasswordInput.yml +11 -11
  100. package/src/components/password-strength-checker/QasPasswordStrengthChecker.yml +10 -10
  101. package/src/components/profile/QasProfile.vue +3 -6
  102. package/src/components/profile/QasProfile.yml +5 -5
  103. package/src/components/resizer/QasResizer.vue +1 -1
  104. package/src/components/resizer/QasResizer.yml +6 -5
  105. package/src/components/search-box/QasSearchBox.vue +138 -42
  106. package/src/components/search-box/QasSearchBox.yml +74 -7
  107. package/src/components/select/QasSelect.vue +63 -53
  108. package/src/components/select/QasSelect.yml +68 -17
  109. package/src/components/select-list/QasSelectList.vue +13 -32
  110. package/src/components/select-list/QasSelectList.yml +13 -14
  111. package/src/components/signature-pad/QasSignaturePad.vue +1 -1
  112. package/src/components/signature-pad/QasSignaturePad.yml +1 -1
  113. package/src/components/signature-uploader/QasSignatureUploader.vue +13 -14
  114. package/src/components/signature-uploader/QasSignatureUploader.yml +9 -9
  115. package/src/components/single-view/QasSingleView.vue +24 -8
  116. package/src/components/single-view/QasSingleView.yml +45 -38
  117. package/src/components/sortable/QasSortable.yml +17 -17
  118. package/src/components/table-generator/QasTableGenerator.vue +14 -6
  119. package/src/components/table-generator/QasTableGenerator.yml +5 -5
  120. package/src/components/tabs-generator/QasTabsGenerator.vue +2 -2
  121. package/src/components/tabs-generator/QasTabsGenerator.yml +2 -2
  122. package/src/components/text-truncate/QasTextTruncate.vue +2 -5
  123. package/src/components/transfer/QasTransfer.vue +5 -7
  124. package/src/components/transfer/QasTransfer.yml +9 -9
  125. package/src/components/uploader/QasUploader.vue +63 -16
  126. package/src/components/uploader/QasUploader.yml +17 -12
  127. package/src/composables/index.js +1 -1
  128. package/src/composables/{useHistory.js → use-history.js} +0 -0
  129. package/src/css/components/base.scss +3 -0
  130. package/src/css/components/field.scss +4 -0
  131. package/src/css/components/index.scss +4 -0
  132. package/src/css/components/radio.scss +3 -0
  133. package/src/css/components/tabs.scss +3 -0
  134. package/src/css/mixins/index.scss +1 -0
  135. package/src/css/{set-brand.scss → mixins/set-brand.scss} +0 -0
  136. package/src/css/{background.scss → utils/background.scss} +0 -0
  137. package/src/css/{border-radius.scss → utils/border-radius.scss} +0 -0
  138. package/src/css/{border.scss → utils/border.scss} +0 -0
  139. package/src/css/{container.scss → utils/container.scss} +0 -0
  140. package/src/css/{fonts.scss → utils/fonts.scss} +0 -0
  141. package/src/css/utils/index.scss +9 -0
  142. package/src/css/{line-height.scss → utils/line-height.scss} +0 -0
  143. package/src/css/{opacity.scss → utils/opacity.scss} +0 -0
  144. package/src/css/{text.scss → utils/text.scss} +0 -0
  145. package/src/css/{unset.scss → utils/unset.scss} +0 -0
  146. package/src/css/variables/button.scss +3 -0
  147. package/src/css/variables/index.scss +3 -0
  148. package/src/css/variables/shadow.scss +33 -0
  149. package/src/css/variables/typography.scss +139 -0
  150. package/src/helpers/camelize-fields-name.js +15 -0
  151. package/src/helpers/filters.js +2 -0
  152. package/src/helpers/get-normalized-options.js +20 -0
  153. package/src/helpers/handle-process.js +13 -0
  154. package/src/helpers/index.js +3 -0
  155. package/src/index.scss +11 -12
  156. package/src/mixins/generator.js +10 -2
  157. package/src/mixins/index.js +3 -3
  158. package/src/mixins/search-filter.js +227 -0
  159. package/src/mixins/view.js +35 -13
  160. package/src/pages/ErrorComponent.vue +56 -0
  161. package/src/pages/Forbidden.vue +21 -5
  162. package/src/pages/NotFound.vue +21 -5
  163. package/src/pages/ServerError.vue +25 -0
  164. package/src/pages/Unauthorized.vue +28 -0
  165. package/src/plugins/index.js +4 -2
  166. package/src/plugins/logger/Logger.js +44 -0
  167. package/src/plugins/logger/Logger.yml +9 -0
  168. package/src/plugins/screen/Screen.js +5 -0
  169. package/src/vue-plugin.js +6 -3
  170. package/src/assets/logo-modular.svg +0 -1
  171. package/src/css/design-system.scss +0 -18
  172. package/src/css/shadow.scss +0 -7
  173. package/src/mixins/screen.js +0 -34
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * @bildvitta/quasar-ui-asteroid v3.0.0-beta.2
2
+ * @bildvitta/quasar-ui-asteroid v3.0.0-beta.20
3
3
  * (c) 2022 Bild & Vitta <systemteam@bild.com.br>
4
4
  * Released under the MIT License.
5
5
  */
6
- import{camelize as e,camelizeKeys as t}from"humps";import{markRaw as s,openBlock as a,createElementBlock as l,normalizeClass as i,createElementVNode as o,renderSlot as r,resolveComponent as n,createBlock as u,mergeProps as d,createSlots as c,withCtx as m,createCommentVNode as h,renderList as p,normalizeProps as f,guardReactiveProps as g,createVNode as y,Fragment as b,toDisplayString as v,resolveDynamicComponent as x,createTextVNode as _,resolveDirective as w,withDirectives as S,reactive as k,computed as $,vShow as q,normalizeStyle as C,withModifiers as V,TransitionGroup as Q}from"vue";import{parseISO as O,format as F,isMatch as D}from"date-fns";import{ptBR as B}from"date-fns/locale";import{copyToClipboard as P,date as L,Dialog as M,Notify as I,Screen as R,Platform as E,Loading as A,extend as j,uid as T,Quasar as U}from"quasar";import{findLastIndex as z,isEqual as N,isEqualWith as G,isObject as H,castArray as K,sortBy as W}from"lodash-es";import Z from"autonumeric";import Y from"pica";import J from"signature_pad";import{onBeforeRouteLeave as X}from"vue-router";import ee from"fuse.js";import te from"sortablejs";import se from"@fawmi/vue-google-maps";var ae={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}}}};const le=["col","col-auto","fit"];var ie={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(le.includes(a)?a:`${s[e]}-${a}`)}return[...t,l]},mx_getFieldClass(e,t){return"string"==typeof this.columns?le.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 oe={0:{color:"negative",label:"Muito fraco",progress:.05,textClass:"text-negative"},1:{color:"warning",label:"Fraco",progress:.25,textClass:"text-warning"},2:{color:"warning",label:"Bom",progress:.5,textClass:"text-warning"},3:{color:"positive",label:"Forte",progress:.75,textClass:"text-positive"},4:{color:"positive",label:"Muito forte",progress:1,textClass:"text-positive"}};var re={props:{levels:{default:()=>oe,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}}},ne={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}}},ue={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_componentClass(){return!this.dialog&&"container spaced"},mx_hasFooterSlot(){return!!this.$slots.footer},mx_hasHeaderSlot(){return!!this.$slots.header}},methods:{mx_fetchError(e){const{response:t}=e,s=t?.data?.exception||e.message;this.$qas.error("Ops! Erro ao obter os dados.",s);const a=t?.status,l={403:"Forbidden",404:"NotFound"}[a];l&&this.$router.replace({name:l})},mx_setErrors(e={}){this.mx_errors=s(e)},mx_setFields(t={}){for(const s in t)t[s].name=e(t[s].name);this.mx_fields=s(t)},mx_setMetadata(e={}){this.mx_metadata=s(e)},mx_updateModels(e){for(const t in e)e[t]&&this.$emit(`update:${t}`,e[t])}}},de={name:"QasActions",mixins:[ne],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 ce={class:"col-12 col-sm-auto"},me={class:"col-12 col-sm-auto"};de.render=function(e,t,s,n,u,d){return a(),l("div",{class:i(d.classes)},[o("div",ce,[r(e.$slots,"secondary")]),o("div",me,[r(e.$slots,"primary")])],2)},de.__file="src/components/actions/QasActions.vue";var he={name:"QasBtn",mixins:[ne],props:{hideLabelOnSmallScreen:{type:Boolean}},computed:{attributes(){const{label:e,...t}=this.$attrs;return{...this.showLabel&&{label:e},...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}}};he.render=function(e,t,s,l,i,o){const y=n("q-btn");return a(),u(y,d({color:"primary","no-caps":"",unelevated:""},o.attributes),c({default:m((()=>[o.showLabel?r(e.$slots,"default",{key:0}):h("v-if",!0)])),_:2},[p(o.slots,((t,s)=>({name:s,fn:m((t=>[r(e.$slots,s,f(g(t||{})))]))})))]),1040)},he.__file="src/components/btn/QasBtn.vue";var pe={name:"QasActionsMenu",components:{QasBtn:he},props:{icon:{default:"o_settings",type:String},label:{default:"Configurações",type:String},list:{default:()=>({}),type:Object},deleteLabel:{type:String,default:"Excluir"},deleteIcon:{type:String,default:"o_delete"},deleteProps:{default:()=>({}),type:Object}},emits:["delete-success"],computed:{hasDelete(){return!!Object.keys(this.deleteProps).length}},methods:{onClick(e){if("function"==typeof e.handler){const{handler:t,...s}=e;e.handler(s)}},onDeleteSuccess(){this.$emit("delete-success")}}};const fe={class:"flex items-center justify-center q-gutter-x-md"},ge={class:"flex items-center justify-center q-gutter-x-sm text-bold"};function ye(e){return e.map((e=>e.children&&"string"!=typeof e.children?Array.isArray(e.children)?ye(e.children):e.children.default?ye(e.children.default()):void 0:e.children||"")).join("")}function be(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]=be([t,r,n].join("."),s):n?a[r][n]=s[l]:a[r]=s[l]}return a}function ve(e,t,s={}){return e?(e=e instanceof Date?e:O(e),F(e,t,{locale:B,...s})):""}function xe(e,t="dd/MM/yyyy",s){return ve(e,t,s)}function _e(e=0){return(e=Number(e))?e.toLocaleString("pt-BR"):""}function we(e){return e.replace(/^(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})/g,"$1.$2.$3/$4-$5")}function Se(e){return e.replace(/^(\d{3})\D*(\d{3})\D*(\d{3})\D*(\d{2})$/g,"$1.$2.$3-$4")}function ke(e){return{"company-document":()=>we(e),document:()=>function(e){return e.length<12?Se(e):we(e)}(e),"personal-document":()=>Se(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:()=>_e(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=_e(e))?`${e} ${t}`:""}(e)}}function $e(e={},t){if(e.mask&&!t)return t;const s=ke(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 qe(e.options,t,e.multiple);case"date":return xe(t);case"datetime":return function(e,t="dd/MM/yyyy HH:mm:ss",s){return ve(e,t,s)}(t);case"time":return function(e,t="HH:mm",s){return D(e,t)?e:ve(e,t,s)}(t);case"radio":return qe(e.options,t);case"percent":return function(e=0,t=2){return(e=Number(e))?e.toLocaleString("pt-BR",{style:"percent",minimumFractionDigits:t}):""}(t);default:return t}}function qe(e,t,s){return s?function(e,t){return t.map((t=>Ce(e,t)))}(e,t):Ce(e,t)}function Ce(e=[],t){return(e.find((e=>String(e.value)===String(t)))||{}).label||""}function Ve(e){try{return JSON.parse(e)}catch{return e}}pe.render=function(e,t,s,i,c,f){const g=n("q-icon"),x=n("q-item-section"),_=n("q-item"),w=n("qas-delete"),S=n("q-list"),k=n("q-menu"),$=n("qas-btn");return a(),u($,{class:"qas-actions-menu",color:"primary","hide-label-on-small-screen":"",icon:s.icon,label:s.label,outline:"",padding:"md"},{default:m((()=>[y(k,{class:"qas-actions-menu__menu"},{default:m((()=>[y(S,{class:"qas-actions-menu__list",separator:""},{default:m((()=>[(a(!0),l(b,null,p(s.list,((t,s)=>r(e.$slots,s,{item:t},(()=>[(a(),u(_,d({key:s,class:"text-bold text-primary",clickable:""},t.props,{onClick:e=>f.onClick(t)}),{default:m((()=>[y(x,null,{default:m((()=>[o("div",fe,[y(g,{name:t.icon,size:"sm"},null,8,["name"]),o("div",null,v(t.label),1)])])),_:2},1024)])),_:2},1040,["onClick"]))])))),256)),f.hasDelete?(a(),u(w,d({key:0},s.deleteProps,{class:"text-negative",clickable:"",tag:"q-item",onSuccess:f.onDeleteSuccess}),{default:m((()=>[y(x,null,{default:m((()=>[o("div",ge,[y(g,{name:s.deleteIcon,size:"sm"},null,8,["name"]),o("div",null,v(s.deleteLabel),1)])])),_:1})])),_:1},16,["onSuccess"])):h("v-if",!0)])),_:3})])),_:3})])),_:3},8,["icon","label"])},pe.__file="src/components/actions-menu/QasActionsMenu.vue";var Qe={name:"QasBreakline",props:{split:{default:"\n",type:String},tag:{default:"div",type:String},text:{default:"",type:String}},computed:{lines(){return(this.text||ye(this.$slots.default())).split(this.split)}}};Qe.render=function(e,t,s,i,o,r){return a(!0),l(b,null,p(r.lines,((t,l)=>(a(),u(x(s.tag),d({key:l},e.$attrs),{default:m((()=>[_(v(t),1)])),_:2},1040)))),128)},Qe.__file="src/components/breakline/QasBreakline.vue";var Oe={name:"QasAlert",components:{QasBreakline:Qe,QasBtn:he},props:{modelValue:{default:!0,type:Boolean},text:{default:"",type:String},color:{type:String,default:"primary"},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 Fe={class:"q-gutter-md q-mr-lg"},De={key:0,class:"text-bold text-h5"};Oe.render=function(e,t,s,u,d,c){const m=n("qas-btn"),p=n("qas-breakline");return d.model?(a(),l("div",{key:0,class:i(["q-pa-lg qas-alert relative-position rounded-borders",c.classes])},[y(m,{class:"absolute-top-right q-mr-md q-mt-sm",color:s.color,dense:"",flat:"",icon:"o_close",rounded:"",onClick:c.close},null,8,["color","onClick"]),o("div",Fe,[r(e.$slots,"header",{},(()=>[s.title?(a(),l("h5",De,v(s.title),1)):h("v-if",!0)])),r(e.$slots,"default",{},(()=>[y(p,{tag:"p",text:s.text},null,8,["text"])]))])],2)):h("v-if",!0)},Oe.__file="src/components/alert/QasAlert.vue";var Be={name:"QasAvatar",props:{color:{default:"",type:String},dark:{type:Boolean},icon:{default:"o_error",type:String},image:{default:"",type:String},textColor:{default:"primary",type:String},title:{default:"",type:String}},data:()=>({hasImageError:!1}),computed:{avatarClass(){if(this.hasImage)return null;const e=this.color?this.color:this.contrastColor;return[this.dark?`bg-${this.textColor} text-${e}`:`bg-${e} text-${this.textColor}`]},contrastColor(){return`${this.textColor}-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}}};Be.render=function(e,t,s,o,r,d){const c=n("q-img"),h=n("q-icon"),p=n("q-avatar");return a(),u(p,{class:i(["text-bold",d.avatarClass]),rounded:""},{default:m((()=>[d.hasImage?(a(),u(c,{key:0,alt:s.title,ratio:1,"spinner-color":"primary","spinner-size":"16px",src:s.image,onError:d.onImageLoadedError},null,8,["alt","src","onError"])):d.hasTitle?(a(),l(b,{key:1},[_(v(d.firstLetter),1)],2112)):(a(),u(h,{key:2,name:s.icon},null,8,["name"]))])),_:1},8,["class"])},Be.__file="src/components/avatar/QasAvatar.vue";var Pe={name:"QasAppBar",components:{QasAvatar:Be,QasBtn:he},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"],Me={key:1,class:"text-bold text-grey-9 text-subtitle1 text-uppercase"},Ie={key:0,class:"q-mr-md"},Re={class:"items-center no-wrap q-gutter-md row"},Ee=["title"],Ae={class:"q-px-sm qas-app-bar__user-data qs-lh-lg text-caption"},je={class:"ellipsis"},Te={class:"ellipsis text-bold"},Ue={class:"qas-app-bar__user-menu"},ze={class:"q-pa-lg text-center"},Ne={class:"ellipsis q-mt-lg qs-lh-sm text-bold text-subtitle1"},Ge={class:"ellipsis q-mt-xs text-caption"},He={class:"q-mt-sm"},Ke={class:"q-mt-sm"};Pe.render=function(e,t,s,i,d,c){const p=n("q-ajax-bar"),f=n("q-btn"),g=n("q-badge"),b=n("q-toolbar-title"),x=n("qas-avatar"),k=n("qas-btn"),$=n("q-menu"),q=n("q-toolbar"),C=n("q-header"),V=w("close-popup");return a(),u(C,{class:"bg-white qas-app-bar shadow-primary","height-hint":"70"},{default:m((()=>[y(q,{class:"qas-app-bar__toolbar",color:"bg-white"},{default:m((()=>[y(p,{color:"white",position:"top",size:"2px"}),y(f,{color:"grey-7",dense:"",flat:"",icon:"o_menu",round:"",onClick:c.toggleMenuDrawer},null,8,["onClick"]),y(b,{class:"flex"},{default:m((()=>[o("div",{class:"cursor-pointer",onClick:t[0]||(t[0]=(...e)=>c.goToRoot&&c.goToRoot(...e))},[s.brand?(a(),l("img",{key:0,alt:s.title,class:"q-mr-sm qas-app-bar__brand",src:s.brand},null,8,Le)):h("v-if",!0),c.showTitle?(a(),l("span",Me,v(s.title),1)):h("v-if",!0),c.hasDevelopmentBadge?(a(),u(g,{key:2,align:"middle",class:"q-ml-sm",color:"negative",label:c.developmentBadgeLabel},null,8,["label"])):h("v-if",!0)])])),_:1}),c.hasNotifications?(a(),l("div",Ie,[y(f,{class:"q-mr-md",dense:"",icon:"o_notifications",round:"",unelevated:""},{default:m((()=>[s.notifications?(a(),u(g,{key:0,color:"red",floating:""},{default:m((()=>[_(v(s.notifications.count),1)])),_:1})):h("v-if",!0)])),_:1})])):h("v-if",!0),o("div",Re,[r(e.$slots,"tools"),s.isAuth?(a(),l("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},[y(x,{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"]),o("div",Ae,[o("div",je,v(s.user.name||s.user.givenName),1),o("div",Te,v(s.user.email),1)]),y($,{anchor:"bottom end",class:"shadow-primary","max-height":"400px",offset:[0,5],self:"top end"},{default:m((()=>[o("div",Ue,[o("div",ze,[o("button",{class:"unset",onClick:t[1]||(t[1]=(...e)=>c.goToProfile&&c.goToProfile(...e))},[y(x,{image:s.user.photo,size:"145px",title:s.user.name||s.user.givenName},null,8,["image","title"])]),o("div",Ne,v(s.user.name||s.user.givenName),1),o("div",Ge,v(s.user.email),1),o("div",He,[y(k,{flat:"",icon:"o_edit",label:"Editar",to:s.user.to},null,8,["to"])]),o("div",Ke,[S(y(k,{class:"q-px-lg q-py-xs",dense:"",icon:"o_exit_to_app",label:"Sair",outline:"",onClick:c.signOut},null,8,["onClick"]),[[V]])]),r(e.$slots,"user",{user:s.user})])])])),_:3})],8,Ee)):h("v-if",!0)])])),_:3})])),_:3})},Pe.__file="src/components/app-bar/QasAppBar.vue";var We={name:"QasAppMenu",mixins:[ne],props:{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 Ze={class:"column flex full-height justify-between no-wrap overflow-x-hidden"},Ye={key:0,class:"q-ma-md"},Je=o("div",{class:"q-mb-sm text-caption text-grey-7 text-weight-medium"}," Você está no modulo: ",-1),Xe={class:"q-mx-md"},et={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"};We.render=function(e,t,s,i,r,d){const c=n("qas-select"),f=n("q-icon"),g=n("q-item-section"),x=n("q-item-label"),k=n("q-item"),$=n("q-expansion-item"),q=n("q-list"),C=n("q-drawer"),V=w("ripple");return a(),u(C,{modelValue:d.model,"onUpdate:modelValue":t[2]||(t[2]=e=>d.model=e),class:"qas-app-menu",mini:r.miniMode,width:230,onBeforeHide:d.beforeHide,onMiniState:d.setMiniState},{default:m((()=>[o("div",Ze,[o("div",null,[d.displayModuleSection?(a(),l("div",Ye,[Je,y(c,{modelValue:r.module,"onUpdate:modelValue":[t[0]||(t[0]=e=>r.module=e),t[1]||(t[1]=e=>d.redirectHandler(d.currentModelOption))],options:d.defaultModules},null,8,["modelValue","options"])])):h("v-if",!0),y(q,{class:"text-grey-9 text-weight-medium"},{default:m((()=>[(a(!0),l(b,null,p(s.items,((e,t)=>(a(),l(b,null,[d.hasChildren(e)?(a(),u($,{key:e.label,ref_for:!0,ref:`item-${t}`,"active-class":d.activeItemClassesSecondary,"default-opened":d.shouldExpand(e),"expand-icon":"o_keyboard_arrow_down","expand-separator":"",group:"item",icon:e.icon,label:e.label,to:e.to,onClick:e=>d.toggleItem(t)},{default:m((()=>[(a(!0),l(b,null,p(e.children,((e,t)=>S((a(),u(k,{key:t,"active-class":d.activeItemClasses,clickable:"",to:e.to},{default:m((()=>[e.icon?(a(),u(g,{key:0,avatar:""},{default:m((()=>[y(f,{name:e.icon},null,8,["name"])])),_:2},1024)):h("v-if",!0),y(g,null,{default:m((()=>[y(x,null,{default:m((()=>[_(v(e.label),1)])),_:2},1024)])),_:2},1024)])),_:2},1032,["active-class","to"])),[[V]]))),128))])),_:2},1032,["active-class","default-opened","icon","label","to","onClick"])):S((a(),u(k,{key:t,"active-class":d.activeItemClasses,clickable:"",to:e.to},{default:m((()=>[e.icon?(a(),u(g,{key:0,avatar:""},{default:m((()=>[y(f,{name:e.icon},null,8,["name"])])),_:2},1024)):h("v-if",!0),y(g,null,{default:m((()=>[y(x,null,{default:m((()=>[_(v(e.label),1)])),_:2},1024)])),_:2},1024)])),_:2},1032,["active-class","to"])),[[V]])],64)))),256))])),_:1})]),o("div",Xe,[h(" TODO: O Modular não é o Asteroid, então não podemos manter esse logo aqui. "),r.isMini?h("v-if",!0):(a(),l("img",et))])])])),_:1},8,["modelValue","mini","onBeforeHide","onMiniState"])},We.__file="src/components/app-menu/QasAppMenu.vue";var tt={name:"QasBox",props:{outlined:{type:Boolean},unelevated:{type:Boolean}},computed:{boxClass(){return{"border-primary-contrast":this.outlined,"shadow-primary":!this.unelevated}}}};tt.render=function(e,t,s,o,n,u){return a(),l("div",{class:i(["bg-white q-px-md q-py-lg rounded-borders",u.boxClass])},[r(e.$slots,"default")],2)},tt.__file="src/components/box/QasBox.vue";var st={name:"QasCard",props:{bgImagePosition:{type:String,default:"center"},formMode:{type:Boolean},gutter:{type:String,default:"sm"},images:{default:()=>[],type:Array},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,{icon:t})=>e?"o_radio_button_checked":t}};const at={class:"col-12 col-lg-3 col-md-4 col-sm-6"},lt={key:0,class:"overflow-hidden relative-position w-full"},it={class:"absolute-top flex items-center q-pa-md"},ot={key:1,class:"border-primary-contrast border-top overflow-hidden row"};st.render=function(e,t,s,d,c,f){const g=n("qas-btn"),v=n("q-carousel-slide"),x=n("q-carousel"),_=n("q-card-section"),w=n("q-card");return a(),l("div",at,[y(w,{class:i(["border-radius-lg column full-height overflow-hidden",f.cardClasses])},{default:m((()=>[s.useHeader?(a(),l("header",lt,[r(e.$slots,"header",{},(()=>[y(x,{modelValue:c.slideImage,"onUpdate:modelValue":t[0]||(t[0]=e=>c.slideImage=e),animated:"",class:"cursor-pointer",height:"205px",infinite:"",navigation:f.hasImages,"navigation-icon":"o_fiber_manual_record",swipeable:""},{"navigation-icon":m((({active:e,btnProps:t,onClick:s})=>[y(g,{color:"white",dense:"",flat:"",icon:f.getNavigationIcon(e,t),round:"",size:"sm",onClick:s},null,8,["icon","onClick"])])),default:m((()=>[(a(!0),l(b,null,p(f.imagesList,((e,t)=>(a(),u(v,{key:t,class:i(["bg-no-repeat",f.bgImagePositionClass]),"img-src":e,name:t},null,8,["class","img-src","name"])))),128))])),_:1},8,["modelValue","navigation"]),o("div",it,[r(e.$slots,"carousel-header")])]))])):h("v-if",!0),y(_,{class:"col-grow column justify-between w-full"},{default:m((()=>[o("div",{class:i(["w-full",f.gutterClass])},[r(e.$slots,"default")],2)])),_:3}),f.hasActionsSlot?(a(),l("div",ot,[r(e.$slots,"actions")])):h("v-if",!0)])),_:3},8,["class"])])},st.__file="src/components/card/QasCard.vue";var rt={name:"QasCheckboxGroup",props:{options:{default:()=>[],type:Array},modelValue:{default:()=>[],type:Array},inline:{default:!0,type:Boolean}},emits:["update:modelValue"],data:()=>({group:{}}),computed:{model:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}},classes(){return this.inline&&"flex q-gutter-x-sm"}},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){this.group[s]=e;const a=t.children.map((e=>e.value)),l=e?[...new Set([...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){return this.group[e]},updateModelValue(e){this.$emit("update:modelValue",e)}}};rt.render=function(e,t,s,o,r,c){const m=n("q-checkbox"),f=n("q-option-group");return a(),l("div",{class:i(c.classes)},[(a(!0),l(b,null,p(s.options,((o,r)=>(a(),l("div",{key:r},[c.hasChildren(o)?(a(),u(m,{key:0,class:i(c.getCheckboxClass(o)),label:o.label,"model-value":c.getModelValue(r),"onUpdate:modelValue":e=>c.updateCheckbox(e,o,r)},null,8,["class","label","model-value","onUpdate:modelValue"])):h("v-if",!0),c.hasChildren(o)?(a(),u(f,{key:1,class:"q-ml-sm",inline:s.inline,"model-value":s.modelValue,options:o.children,type:"checkbox","onUpdate:modelValue":e=>c.updateChildren(e,o,r)},null,8,["inline","model-value","options","onUpdate:modelValue"])):(a(),u(f,d({key:2,modelValue:c.model,"onUpdate:modelValue":t[0]||(t[0]=e=>c.model=e)},e.$attrs,{options:[o],type:"checkbox"}),null,16,["modelValue","options"]))])))),128))],2)},rt.__file="src/components/checkbox-group/QasCheckboxGroup.vue";var nt={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 P(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 ut=_("Copiar");nt.render=function(e,t,s,i,o,u){const d=n("q-tooltip"),c=n("qas-btn");return a(),l("span",null,[r(e.$slots,"default",{},(()=>[_(v(s.text),1)])),y(c,{class:"q-ml-xs",color:"grey-5",flat:"",icon:s.icon,loading:o.isLoading,round:"",size:s.size,onClick:u.copy},{default:m((()=>[y(d,null,{default:m((()=>[ut])),_:1})])),_:1},8,["icon","loading","size","onClick"])])},nt.__file="src/components/copy/QasCopy.vue";var dt={name:"QasDateTimeInput",inheritAttrs:!1,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?xe(L.extractDate(e,this.maskDate),"yyyy-MM-dd"):this.timeOnly&&!this.gmt?L.extractDate(e,"HH:MM"):L.extractDate(e,this.maskDate).toISOString():""},toMask(e){if(!e||this.timeOnly)return e||"";const t=new Date(e).toISOString();return L.formatDate(this.dateOnly?t.slice(0,23):t,this.maskDate)}}};dt.render=function(e,t,s,i,o,r){const c=n("q-date"),p=n("q-popup-proxy"),f=n("q-icon"),g=n("q-time"),b=n("qas-input");return a(),l("div",null,[y(b,d({ref:"input"},r.attributes,{modelValue:o.currentValue,"onUpdate:modelValue":[t[2]||(t[2]=e=>o.currentValue=e),r.updateModelValue],"unmasked-value":!1}),{append:m((()=>[s.timeOnly?h("v-if",!0):(a(),u(f,{key:0,class:"cursor-pointer",name:"o_event"},{default:m((()=>[y(p,{ref:"dateProxy","transition-hide":"scale","transition-show":"scale"},{default:m((()=>[y(c,d({modelValue:o.currentValue,"onUpdate:modelValue":t[0]||(t[0]=e=>o.currentValue=e)},s.dateProps,{mask:r.maskDate,"onUpdate:modelValue":r.updateModelValue}),null,16,["modelValue","mask","onUpdate:modelValue"])])),_:1},512)])),_:1})),s.dateOnly?h("v-if",!0):(a(),u(f,{key:1,class:"cursor-pointer q-ml-md",name:"o_access_time"},{default:m((()=>[y(p,{ref:"timeProxy","transition-hide":"scale","transition-show":"scale"},{default:m((()=>[y(g,d({modelValue:o.currentValue,"onUpdate:modelValue":t[1]||(t[1]=e=>o.currentValue=e)},s.timeProps,{format24h:"",mask:r.maskDate,"onUpdate:modelValue":r.updateModelValue}),null,16,["modelValue","mask","onUpdate:modelValue"])])),_:1},512)])),_:1}))])),_:1},16,["modelValue","onUpdate:modelValue"])])},dt.__file="src/components/date-time-input/QasDateTimeInput.vue";var ct={name:"QasDebugger",props:{inspect:{default:()=>[],required:!0,type:Array}}};const mt={class:"bg-grey-3 q-my-md q-pa-md rounded-borders"},ht=o("summary",null,"Debugger",-1),pt={class:"row"};ct.render=function(e,t,s,i,r,n){return a(),l("details",mt,[ht,o("div",pt,[(a(!0),l(b,null,p(s.inspect,((e,t)=>(a(),l("pre",{key:t,class:"col q-pa-sm scroll",style:{"max-height":"300px"}},v(e),1)))),128))])])},ct.__file="src/components/debugger/QasDebugger.vue";var ft={name:"QasDialog",components:{QasBtn:he,QasActions:de},mixins:[ne],props:{actionsProps:{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"],computed:{defaultCancel(){return{label:"Cancelar",outline:!0,...this.cancel}},defaultOk(){return{label:"Ok",type:this.ok?.type||this.useForm?"submit":"button",...this.ok}},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()},updateModelValue(e){this.$emit("update:modelValue",e)}}};const gt={class:"justify-between row"},yt={class:"text-bold text-h6"},bt={key:0};ft.render=function(e,t,s,i,c,p){const b=n("qas-btn"),_=n("q-card-section"),k=n("qas-actions"),$=n("q-card"),q=n("q-dialog"),C=w("close-popup");return a(),u(q,d({ref:"dialog",persistent:s.persistent},p.dialogProps,{"onUpdate:modelValue":p.updateModelValue}),{default:m((()=>[y($,d(s.cardProps,{class:"q-pa-sm",style:p.style}),{default:m((()=>[y(_,null,{default:m((()=>[r(e.$slots,"header",{},(()=>[o("div",gt,[o("div",yt,v(s.card.title),1),s.useCloseIcon?S((a(),u(b,{key:0,dense:"",flat:"",icon:"o_close",rounded:""},null,512)),[[C]]):h("v-if",!0)])]))])),_:3}),y(_,{class:"q-pt-none"},{default:m((()=>[(a(),u(x(p.componentTag),{ref:"form"},{default:m((()=>[r(e.$slots,"description",{},(()=>[s.card.description?(a(),l("div",bt,v(s.card.description),1)):h("v-if",!0)]))])),_:3},512))])),_:3}),y(_,null,{default:m((()=>[r(e.$slots,"actions",{},(()=>[y(k,f(g(s.actionsProps)),{primary:m((()=>[s.ok?S((a(),u(b,d({key:0,class:"full-width"},p.defaultOk,{onClick:p.submitHandler}),null,16,["onClick"])),[[C,!s.useForm]]):h("v-if",!0)])),secondary:m((()=>[s.cancel?S((a(),u(b,d({key:0,class:"full-width"},p.defaultCancel),null,16)),[[C]]):h("v-if",!0)])),_:1},16)]))])),_:3})])),_:3},16,["style"])])),_:3},16,["persistent","onUpdate:modelValue"])},ft.__file="src/components/dialog/QasDialog.vue";var vt=(e={})=>{M.create({component:ft,componentProps:{...e,usePlugin:!0}})};I.registerType("error",{color:"negative",progress:!0});var xt=(e,t)=>{I.create({caption:t,message:e,type:"error"})};I.registerType("success",{icon:"o_check",progress:!0});var _t=(e,t)=>{I?.create({caption:t,message:e,type:"success"})},wt=()=>{const e={isSmall:()=>R.xs,isMedium:()=>R.sm,isLarge:()=>R.gt.sm,untilMedium:()=>R.lt.sm,untilLarge:()=>R.lt.md,isMobile:()=>E.is.mobile||!1},t={};for(const s in e)Object.defineProperty(t,s,{get:()=>e[s](),enumerable:!0});return t};const St=k({list:[]});function kt(){const e=$((()=>St.list.length>1));return{history:St,hasPreviousRoute:e,getPreviousRoute:function(e){const t=z(St.list,(t=>t.name===e.name));return~t&&St.list.splice(t,1),St.list[St.list.length-1]},addRoute:function(e){St.list?.[St.list?.length-1]?.name===e.name||St.list.push(e)},destroyRoutes:function(e){if(!St.list.length)return null;e.forEach((e=>{const t=St.list.findIndex((t=>t.name===e.name));~t&&St.list.splice(t,1)}))}}}var $t={name:"QasDelete",components:{QasBtn:he,QasDialog:ft},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},deleting:{type:Boolean},useAutoDeleteRoute:{default:!0,type:Boolean}},emits:["success","error","update:deleting"],data:()=>({showDialog:!1}),computed:{defaultDialogProps(){return{card:{title:"Confirmar",description:"Tem certeza que deseja excluir este item?"},ok:{label:"Excluir",onClick:this.destroy},...this.dialogProps}},id(){return this.customId||this.$route.params.id}},methods:{openConfirmDialog(){this.showDialog=!0},async destroy(){A.show(),this.$emit("update:deleting",!0);try{const{destroyRoutes:e,history:t}=kt();if(await this.$store.dispatch(`${this.entity}/destroy`,{id:this.id,url:this.url}),_t("Item deletado com sucesso!"),this.useAutoDeleteRoute){e(this.getRoutesToBeDeletedById(t.list))}this.createDeleteSuccessEvent(),this.$emit("success")}catch(e){xt("Ops! Não foi possível deletar o item."),this.$emit("error",e)}finally{A.hide(),this.$emit("update:deleting",!1)}},getRoutesToBeDeletedById(e=[]){return e.filter((({params:e})=>e.id===this.id))},createDeleteSuccessEvent(){const e=new CustomEvent("delete-success",{bubbles:!1,cancelable:!1,detail:{entity:this.entity,url:this.url,id:this.id}});window.dispatchEvent(e)}}};$t.render=function(e,t,s,i,o,h){const v=n("qas-dialog");return a(),l(b,null,[(a(),u(x(s.tag),d(e.$attrs,{onClick:h.openConfirmDialog}),c({_:2},[p(e.$slots,((t,s)=>({name:s,fn:m((t=>[r(e.$slots,s,f(g(t||{})))]))})))]),1040,["onClick"])),y(v,d({modelValue:o.showDialog,"onUpdate:modelValue":t[0]||(t[0]=e=>o.showDialog=e)},h.defaultDialogProps),null,16,["modelValue"])],64)},$t.__file="src/components/delete/QasDelete.vue";var qt={name:"QasDialogRouter",emits:["error","hide"],expose:["show","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{A.show();const e=s(j(!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){xt("Ops! Erro ao carregar item."),this.$emit("error",e)}finally{A.hide()}}}};qt.render=function(e,t,s,l,i,o){const r=n("q-card-section"),d=n("q-card"),c=n("q-dialog");return a(),u(c,{ref:"dialog",persistent:"",onHide:o.onDialogHide},{default:m((()=>[y(d,{class:"full-width",style:{"max-width":"80vw"}},{default:m((()=>[y(r,null,{default:m((()=>[i.component?(a(),u(x(i.component),{key:0,dialog:"",route:i.route,onHide:o.hide},null,8,["route","onHide"])):h("v-if",!0)])),_:1})])),_:1})])),_:1},8,["onHide"])},qt.__file="src/components/dialog-router/QasDialogRouter.vue";var Ct={name:"QasInput",inheritAttrs:!1,props:{modelValue:{default:"",type:[String,Number]},unmaskedValue:{default:!0,type:Boolean},outlined:{default:!0,type:Boolean},removeErrorOnType:{type:Boolean},error:{type:Boolean},errorMessage:{type:String,default:""}},emits:["update:modelValue"],data:()=>({errorData:!1,messageErrorData:""}),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.removeErrorOnType&&this.error&&(this.errorData=!1,this.errorMessageData=""),this.$emit("update:modelValue",e)}}},watch:{mask(){const e=this.inputReference.$el?.querySelector("input");requestAnimationFrame((()=>{e.selectionStart=e.value?e.value.length:""}))},error:{handler(e){this.errorData=e},immediate:!0},errorMessage:{handler(e){this.errorMessageData=e},immediate:!0}},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)}}};Ct.render=function(e,t,s,i,o,u){const h=n("q-input");return a(),l("div",null,[y(h,d({ref:"input",modelValue:u.model,"onUpdate:modelValue":t[0]||(t[0]=e=>u.model=e),"bottom-slots":"",error:o.errorData},e.$attrs,{"error-message":e.errorMessageData,mask:u.mask,outlined:s.outlined,"unmasked-value":s.unmaskedValue}),c({_:2},[p(e.$slots,((t,s)=>({name:s,fn:m((t=>[r(e.$slots,s,f(g(t||{})))]))})))]),1040,["modelValue","error","error-message","mask","outlined","unmasked-value"])])},Ct.__file="src/components/input/QasInput.vue";const Vt={decimal:"commaDecimalCharDotSeparator",integer:["commaDecimalCharDotSeparator","integer"],money:"Brazilian",percent:"percentageEU2dec"};var Qt={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:"",type:[String,Number],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 Vt[this.mode]},model:{get(){return this.modelValue},set(){this.$emit("update:modelValue",this.autoNumeric.getNumber())}}},async created(){const e=Z.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 Z(this.$refs.input,s)}))},beforeUnmount(){this.autoNumeric.remove()}};const Ot=["id","model-value","onInput"];Qt.render=function(e,t,s,l,i,r){const d=n("q-field");return a(),u(d,{modelValue:r.model,"onUpdate:modelValue":t[0]||(t[0]=e=>r.model=e),outlined:""},{control:m((({emitValue:e,floatingLabel:t,id:s,value:a})=>[S(o("input",{id:s,ref:"input",class:"q-field__input","model-value":a,onInput:t=>e(t.target.value)},null,40,Ot),[[q,t]])])),_:1},8,["modelValue"])},Qt.__file="src/components/numeric-input/QasNumericInput.vue";var Ft={name:"QasPasswordStrengthChecker",mixins:[re],props:{modelValue:{default:!1,type:Boolean},password:{default:"",type:String}},emits:["update:modelValue"],computed:{length(){return this.password.length},level(){return this.levels[this.score]},score(){let e=-1;return 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+=this.length>=parseInt(this.minlength)?1:0,e}},watch:{password(){this.emitValue()}},created(){this.emitValue()},methods:{emitValue(){this.$emit("update:modelValue",4===this.score)}}};const Dt={key:0};Ft.render=function(e,t,s,u,d,c){const m=n("q-linear-progress");return c.length?(a(),l("div",Dt,[r(e.$slots,"default",{level:c.level},(()=>[y(m,{color:c.level.color,"track-color":e.trackColor,value:c.level.progress},null,8,["color","track-color","value"]),o("div",{class:i(["text-caption",c.level.textClass])},v(c.level.label),3)]))])):h("v-if",!0)},Ft.__file="src/components/password-strength-checker/QasPasswordStrengthChecker.vue";var Bt={name:"QasPasswordInput",components:{QasPasswordStrengthChecker:Ft},mixins:[re],props:{hideStrengthChecker:{type:Boolean},iconColor:{type:String,default:"primary"},modelValue:{type:String,default:""}},emits:["update:modelValue"],data:()=>({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"}},methods:{toggle(){this.toggleType=!this.toggleType}}};Bt.render=function(e,t,s,i,o,u){const h=n("q-icon"),b=n("qas-password-strength-checker"),v=n("qas-input");return a(),l("div",null,[y(v,d({modelValue:u.model,"onUpdate:modelValue":t[0]||(t[0]=e=>u.model=e),"bottom-slots":""},e.$attrs,{"remove-error-on-type":"",type:u.type}),c({append:m((()=>[y(h,{class:"cursor-pointer",color:s.iconColor,name:u.icon,onClick:u.toggle},null,8,["color","name","onClick"])])),_:2},[p(e.$slots,((t,s)=>({name:s,fn:m((t=>[r(e.$slots,s,f(g(t||{})))]))}))),s.hideStrengthChecker?void 0:{name:"hint",fn:m((()=>[y(b,d(u.strengthCheckerProps,{password:u.model}),null,16,["password"])]))}]),1040,["modelValue","type"])])},Bt.__file="src/components/password-input/QasPasswordInput.vue";var Pt={name:"QasUploader",components:{QasAvatar:Be},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,hiddenInputElement: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.hiddenInputElement=this.$refs.hiddenInput,this.uploader=this.$refs.uploader,this.hiddenInputElement?.addEventListener?.("change",this.addFiles)},unmounted(){this.hiddenInputElement?.removeEventListener?.("change",this.addFiles)},methods:{async factory([e]){this.isMultiple||this.hasHeaderSlot||this.$refs.buttonCleanFiles.$el.click();const t=`${T()}.${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),xt("Ops! Erro ao enviar o arquivo.")},dispatchUpload(){this.$refs.buttonCleanFiles.$el.click(),this.hiddenInputElement.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 this.$axios.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=j(!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.hiddenInputElement.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=Y(),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 Lt={class:"flex flex-center full-width justify-between no-border no-wrap q-gutter-xs q-pa-sm text-white transparent"},Mt={class:"col column items-start justify-center"},It={key:0,class:"q-uploader__title"},Rt={key:1,class:"q-uploader__subtitle"},Et=["multiple"],At={class:"col-12 q-col-gutter-md row"},jt={class:"col items-center no-wrap row"},Tt={key:0,class:"text-caption"},Ut={class:"items-center q-ml-sm row"};Pt.render=function(e,t,s,f,g,x){const _=n("q-spinner"),w=n("qas-btn"),S=n("qas-avatar"),k=n("q-icon"),$=n("q-uploader"),q=n("q-field");return a(),u(q,{borderless:"",class:"qas-uploader",error:x.hasErrorMessage,"error-message":s.errorMessage,hint:x.hintValue,"no-error-icon":""},c({default:m((()=>[y($,d({ref:"uploader","auto-upload":"",bordered:"",class:x.uploaderClasses,factory:x.factory,flat:"","max-files":s.maxFiles,method:"PUT",readonly:s.readonly},x.attributes,{onFactoryFailed:x.factoryFailed,onUploaded:x.uploaded,onUploading:t[1]||(t[1]=e=>x.updateUploading(!0))}),{header:m((s=>[r(e.$slots,"header",{scope:s},(()=>[o("div",Lt,[s.isUploading?(a(),u(_,{key:0,size:"24px"})):h("v-if",!0),o("div",Mt,[e.$attrs.label?(a(),l("div",It,v(e.$attrs.label),1)):h("v-if",!0),s.files.length?(a(),l("div",Rt,v(s.uploadProgressLabel)+" ("+v(s.uploadSizeLabel)+") ",1)):h("v-if",!0)]),x.showAddFile?(a(),u(w,{key:1,ref:"buttonUpload",color:"white",dense:"",flat:"",icon:"o_add",round:"",onClick:t[0]||(t[0]=t=>e.$refs.hiddenInput.click())},null,512)):h("v-if",!0),o("input",{ref:"hiddenInput",class:"qas-uploader__input",multiple:x.isMultiple,type:"file"},null,8,Et),y(w,{ref:"buttonCleanFiles",class:"hidden",color:"white",onClick:s.removeUploadedFiles},null,8,["onClick"]),s.canUpload?(a(),u(w,{key:2,color:"white",dense:"",flat:"",icon:"o_cloud_upload",round:"",onClick:s.upload},null,8,["onClick"])):h("v-if",!0),s.isUploading?(a(),u(w,{key:3,color:"white",dense:"",flat:"",icon:"o_clear",round:"",onClick:s.abort},null,8,["onClick"])):h("v-if",!0)])]))])),list:m((t=>[r(e.$slots,"list",{scope:t},(()=>[o("div",At,[(a(!0),l(b,null,p(x.getFilesList(t.files,t),((e,s)=>(a(),l("div",{key:s,class:i(["row",x.itemClass])},[y(S,{class:"q-mr-sm",color:"grey-3",icon:"o_attach_file",image:e.image,rounded:"","text-color":x.getColorFileIcon(e)},null,8,["image","text-color"]),o("div",jt,[o("div",{class:i(["column no-wrap",{col:x.isMultiple}])},[o("div",{class:i(["ellipsis",x.getFileNameClass(e.isFailed)])},v(e.name),3),e.isUploaded?(a(),l("div",Tt,v(e.progressLabel)+" ("+v(e.sizeLabel)+")",1)):h("v-if",!0)],2),o("div",Ut,[e.isFailed?(a(),u(k,{key:0,color:"negative",name:"o_warning",size:"20px"})):h("v-if",!0),t.readonly?h("v-if",!0):(a(),u(w,{key:1,dense:"",flat:"",icon:"o_delete",round:"",onClick:a=>x.removeItem(s,t,e)},null,8,["onClick"]))])])],2)))),128))])]))])),_:3},16,["class","factory","max-files","readonly","onFactoryFailed","onUploaded"]),r(e.$slots,"custom-upload",{context:x.self})])),_:2},[x.hasErrorMessage?{name:"after",fn:m((()=>[y(k,{color:"negative",name:"o_error"})]))}:void 0]),1032,["error","error-message","hint"])},Pt.__file="src/components/uploader/QasUploader.vue";var zt={name:"QasSignaturePad",components:{QasBtn:he},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","getSignatureData"],data:()=>({canvasId:T(),hasEndStrokeEvent:!1,signaturePad:null,SignaturePad:null}),watch:{async signatureOptions(e,t){N(e,t)||(await this.setupSignaturePad(),this.updateEmptyModel())}},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()},getSignatureData(){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 J(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 Nt={ref:"signatureContainer",class:"qas-signature-pad relative-position"},Gt=["id","height"];zt.render=function(e,t,s,i,d,c){const m=n("qas-btn");return a(),l(b,null,[o("div",Nt,[o("canvas",{id:d.canvasId,ref:e.$attrs.ref,class:"qas-signature-pad__canvas rounded-borders vertical-bottom",height:s.height},null,8,Gt),s.empty?h("v-if",!0):(a(),u(m,{key:0,class:"absolute-bottom-right q-mb-sm q-mr-sm",color:"primary",dense:"",icon:"o_delete",round:"",onClick:c.clearSignature},null,8,["onClick"]))],512),o("div",null,[r(e.$slots,"default",{clearSignature:c.clearSignature,getSignatureData:c.getSignatureData})])],64)},zt.__file="src/components/signature-pad/QasSignaturePad.vue";var Ht={name:"QasSignatureUploader",components:{QasDialog:ft,QasUploader:Pt,QasSignaturePad:zt},mixins:[ne],props:{dialogProps:{type:Object,default:()=>({})},uploadLabel:{default:"",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")},defaultDialogProps(){return{maxWidth:"620px",...this.dialogProps}},signaturePadWidth(){return{[this.mx_isSmall]:{width:"100%"},[this.mx_isMedium]:{width:"570px"},[this.mx_isLarge]:{width:"350px"}}.true},signaturePadHeight(){return{[this.mx_isSmall]:"250",[this.mx_isMedium]:"400",[this.mx_isLarge]:"250"}.true}},methods:{NotifyError:xt,openDialog(){this.readonly||(this.isOpenedDialog=!0)},getSignatureData(){this.$refs.buttonCleanFiles.$el.click(),this.base64=this.$refs.signaturePadModal.getSignatureData(),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{xt("Ops! Erro ao enviar sua assinatura.")}}}};const Kt={class:"col column items-start justify-center"},Wt={key:0,class:"q-uploader__title"},Zt=o("div",{class:"text-bold text-center"},"Insira sua assinatura digital no campo abaixo",-1);Ht.render=function(e,t,s,r,c,p){const f=n("q-btn"),g=n("qas-uploader"),b=n("qas-signature-pad"),x=n("qas-dialog");return a(),l("div",null,[y(g,d({ref:"uploader",modelValue:p.model,"onUpdate:modelValue":t[1]||(t[1]=e=>p.model=e),label:s.uploadLabel,readonly:s.readonly,"use-resize":!1},e.$attrs),{header:m((({scope:e})=>[o("div",{class:i(["cursor-pointer flex flex-center full-width justify-between no-border no-wrap q-gutter-xs text-white transparent",p.headerClass]),onClick:t[0]||(t[0]=(...e)=>p.openDialog&&p.openDialog(...e))},[o("div",Kt,[s.uploadLabel?(a(),l("div",Wt,v(s.uploadLabel),1)):h("v-if",!0)]),s.readonly?h("v-if",!0):(a(),u(f,{key:0,dense:"",flat:"",icon:"o_add",round:"",onClick:p.openDialog},null,8,["onClick"])),y(f,{ref:"forceUpload",class:"hidden",onClick:t=>p.upload(e)},null,8,["onClick"]),y(f,{ref:"buttonCleanFiles",class:"hidden",onClick:e.removeUploadedFiles},null,8,["onClick"])],2)])),_:1},16,["modelValue","label","readonly"]),y(x,d({modelValue:c.isOpenedDialog,"onUpdate:modelValue":t[3]||(t[3]=e=>c.isOpenedDialog=e)},p.defaultDialogProps),{header:m((()=>[Zt])),description:m((()=>[o("div",{style:C(p.signaturePadWidth)},[y(b,{ref:"signaturePadModal",empty:c.isEmpty,"onUpdate:empty":t[2]||(t[2]=e=>c.isEmpty=e),height:p.signaturePadHeight},null,8,["empty","height"])],4)])),actions:m((()=>[y(f,{class:"full-width",color:"primary",disable:c.isEmpty,label:"Salvar","no-caps":"",onClick:p.getSignatureData},null,8,["disable","onClick"]),y(f,{class:"full-width q-mt-sm",color:"primary",flat:"",label:"Cancelar","no-caps":"",onClick:p.closeSignature},null,8,["onClick"])])),_:1},16,["modelValue"])])},Ht.__file="src/components/signature-uploader/QasSignatureUploader.vue";const Yt={maxLength:"maxlength",minLength:"minlength",readOnly:"readonly"};var Jt={name:"QasField",components:{QasCheckboxGroup:rt,QasDateTimeInput:dt,QasInput:Ct,QasNumericInput:Qt,QasPasswordInput:Bt,QasUploader:Pt,QasSignatureUploader:Ht},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,maxFiles:f,searchable:g,gmt:y}=this.formattedField,b={error:this.hasError||void 0,errorMessage:this.errorMessage||void 0},v={label:s,hideBottomSpace:!b.error,outlined:!0,...b,readonly:n,disable:u,filled:d,maxlength:a,minlength:l,suffix:c,prefix:m,gmt:y},x={is:"qas-numeric-input",...v},_={is:"qas-date-time-input",gmt:y,...v},w=t&&t.length?t.map((e=>`.${e}`)).join(","):"",S={default:{is:"qas-input",...v,mask:p},textarea:{is:"qas-input",type:h,...v},number:{is:"qas-input",type:"number",...v},hidden:{is:"input",name:o,type:h},email:{is:"qas-input",type:h,...v},password:{is:"qas-password-input",...v},decimal:{...x,mode:"decimal"},money:{...x,mode:"money"},percent:{...x,mode:"percent"},date:{..._,dateOnly:!0},datetime:{..._},time:{..._,timeOnly:!0},boolean:{is:"q-toggle",label:s,...b},checkbox:{is:"qas-checkbox-group",label:s,options:r,...b},radio:{is:"q-option-group",label:s,options:r,type:"radio",...b},upload:{is:"qas-uploader",accept:w,autoUpload:!0,entity:e,label:s,multiple:i,readonly:n,maxFiles:f,...b},editor:{is:"q-editor",toolbar:[["undo","redo"],["bold","italic","underline"],["left","center","right","justify"],["hr","link"],["quote","unordered","ordered","outdent","indent"],["print","fullscreen"]],...b},"signature-uploader":{is:"qas-signature-uploader",entity:e,uploadLabel:s,...b},select:{is:"qas-select",multiple:i,options:r,searchable:g,...v}};return{...S[h]||S.default,...this.$attrs}},errorMessage(){return Array.isArray(this.error)?this.error.join(" "):this.error},formattedField(){const e={};for(const t in this.field)e[Yt[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)}}};Jt.render=function(e,t,s,i,o,n){return a(),l("div",null,[(a(),u(x(n.component.is),d(n.component,{"data-cy":s.field.name,"model-value":n.formattedValue,"onUpdate:modelValue":n.updateModel}),c({_:2},[p(e.$slots,((t,s)=>({name:s,fn:m((t=>[r(e.$slots,s,f(g(t||{})))]))})))]),1040,["data-cy","model-value","onUpdate:modelValue"]))])},Jt.__file="src/components/field/QasField.vue";var Xt={name:"QasFilters",components:{QasField:Jt},mixins:[ae],props:{useChip:{default:!0,type:Boolean},entity:{required:!0,type:String},useFilterButton:{default:!0,type:Boolean},useSearch:{default:!0,type:Boolean},useSearchOnType:{default:!0,type:Boolean},searchPlaceholder:{default:"Pesquisar...",type:String},url:{default:"",type:String},forceRefetch:{type:Boolean}},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=$e(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.useSearchOnType?"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.forceRefetch&&(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]=Ve(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 es={class:"q-mb-lg"},ts={key:0,class:"q-gutter-x-md row"},ss={key:0,class:"col"},as={key:0,class:"q-pa-xl text-center"},ls={key:1,class:"q-pa-xl text-center"},is={class:"text-right"},os={key:1,class:"q-mt-md"};Xt.render=function(e,t,s,i,d,c){const f=n("q-btn"),g=n("q-input"),x=n("q-form"),w=n("q-spinner"),S=n("q-icon"),k=n("qas-field"),$=n("q-menu"),q=n("q-chip");return a(),l("section",es,[c.showFilters?(a(),l("div",ts,[c.showSearch?(a(),l("div",ss,[r(e.$slots,"search",{filter:c.filter},(()=>[s.useSearch?(a(),u(x,{key:0,onSubmit:t[2]||(t[2]=V((e=>c.filter()),["prevent"]))},{default:m((()=>[y(g,{modelValue:d.search,"onUpdate:modelValue":t[1]||(t[1]=e=>d.search=e),debounce:c.debounce,dense:"",placeholder:s.searchPlaceholder,type:"search"},{append:m((()=>[c.hasSearch?(a(),u(f,{key:0,icon:"o_clear",unelevated:"",onClick:c.clearSearch},null,8,["onClick"])):h("v-if",!0),c.debounce?h("v-if",!0):(a(),u(f,{key:1,icon:"o_search",type:"submit",unelevated:"",onClick:t[0]||(t[0]=e=>c.filter())}))])),_:1},8,["modelValue","debounce","placeholder"])])),_:1})):h("v-if",!0)]))])):h("v-if",!0),c.showFilterButton?r(e.$slots,"filter-button",{key:1,filter:c.filter},(()=>[s.useFilterButton?(a(),u(f,{key:0,color:c.filterButtonColor,flat:"",icon:"o_filter_list",label:c.filterButtonLabel},{default:m((()=>[y($,null,{default:m((()=>[d.isFetching?(a(),l("div",as,[y(w,{color:"grey",size:"2em"})])):d.hasFetchError?(a(),l("div",ls,[y(S,{color:"negative",name:"o_warning",size:"2em"})])):(a(),u(x,{key:2,class:"q-gutter-y-md q-pa-md",onSubmit:t[3]||(t[3]=V((e=>c.filter()),["prevent"]))},{default:m((()=>[(a(!0),l(b,null,p(c.fields,((e,t)=>(a(),l("div",{key:t},[y(k,{modelValue:d.filters[e.name],"onUpdate:modelValue":t=>d.filters[e.name]=t,dense:"",field:e},null,8,["modelValue","onUpdate:modelValue","field"])])))),128)),o("div",is,[y(f,{class:"q-mr-sm",label:"Limpar",size:"12px",unelevated:"",onClick:c.clearFilters},null,8,["onClick"]),y(f,{color:"primary",label:"Filtrar",size:"12px",type:"submit",unelevated:""})])])),_:1}))])),_:1})])),_:1},8,["color","label"])):h("v-if",!0)])):h("v-if",!0)])):h("v-if",!0),s.useChip&&c.hasActiveFilters?(a(),l("div",os,[(a(!0),l(b,null,p(c.activeFilters,((e,t)=>(a(),u(q,{key:t,color:"grey-4",dense:"",removable:"",size:"md","text-color":"grey-8",onRemove:t=>c.removeFilter(e)},{default:m((()=>[_(v(e.label)+' = "'+v(c.getChipValue(e.value))+'"',1)])),_:2},1032,["onRemove"])))),128))])):h("v-if",!0),r(e.$slots,"default",{context:e.mx_context,filter:c.filter,filters:c.activeFilters,removeFilter:c.removeFilter})])},Xt.__file="src/components/filters/QasFilters.vue";var rs={name:"QasFormGenerator",components:{QasField:Jt},mixins:[ie],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)}}};rs.render=function(e,t,s,u,c,m){const h=n("qas-field");return a(),l("div",null,[o("div",{class:i(e.mx_classes)},[(a(!0),l(b,null,p(m.groupedFields.visible,((t,o)=>(a(),l("div",{key:o,class:i(e.mx_getFieldClass(o))},[r(e.$slots,`field-${t.name}`,{field:t},(()=>[y(h,d(s.fieldsProps[t.name],{error:s.errors[o],field:t,"model-value":s.modelValue[t.name],"onUpdate:modelValue":e=>m.updateModelValue(t.name,e)}),null,16,["error","field","model-value","onUpdate:modelValue"])]))],2)))),128))],2),(a(!0),l(b,null,p(m.groupedFields.hidden,((t,i)=>(a(),l("div",{key:i},[r(e.$slots,`field-${t.name}`,{field:t},(()=>[y(h,d(s.fieldsProps[t.name],{field:t,"model-value":s.modelValue[t.name],"onUpdate:modelValue":e=>m.updateModelValue(t.name,e)}),null,16,["field","model-value","onUpdate:modelValue"])]))])))),128))])},rs.__file="src/components/form-generator/QasFormGenerator.vue";var ns={name:"QasFormView",components:{QasBtn:he,QasDialog:ft},mixins:[ue,ne],props:{cancelButton:{default:"Cancelar",type:String},cancelRoute:{default:"",type:[Boolean,Object,String,Function]},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},submitting:{type:Boolean}},emits:["submit-success","submit-error","fetch-success","fetch-error","update:modelValue","update:submitting","update:errors"],data:()=>({cachedResult:{},hasResult:!1,isSubmitting:!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:{label:"Continuar editando"},cancel:{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.isSubmitting},fieldsNameWithDefaultValue(){return Object.keys(this.fields).filter((e=>"default"in this.fields[e]))}},watch:{mx_fields(e){const t={...this.getModelsByFields(e),...this.modelValue};!this.hasResult&&this.showDialogOnUnsavedChanges&&(this.cachedResult=j(!0,{},t))},isSubmitting(e){this.$emit("update:submitting",e)}},created(){X(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||G(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&&j(!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("function"==typeof this.cancelRoute)return this.cancelRoute();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();const{addRoute:t}=kt();this.defaultDialogProps.ok.onClick=()=>t(this.$route),this.defaultDialogProps.cancel.onClick=e},openDialog(){this.showDialog=!0},handleIgnoreKeysInUnsavedChanges(e,t){const s=[...this.fieldsNameWithDefaultValue,...this.ignoreKeysInUnsavedChanges];s.length&&s.forEach((s=>{delete e[s],delete t[s]}))},async submit(e){if(e&&e.preventDefault(),this.disable||this.readyOnly)return null;this.isSubmitting=!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=j(!0,{},this.modelValue)),this.mx_setErrors(),_t(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),xt(s||"Ops! Erro ao salvar item.",l),this.$emit("submit-error",e)}finally{this.isSubmitting=!1}},setIgnoreRouterGuard({detail:{id:e,entity:t}}){this.ignoreRouterGuard=this.id===e&&this.entity===t}}};const us={key:0},ds={class:"justify-end q-col-gutter-md q-my-lg row"},cs={key:1};ns.render=function(e,t,s,c,p,f){const g=n("qas-btn"),b=n("q-form"),v=n("qas-dialog"),_=n("q-spinner"),k=n("q-inner-loading"),$=w("close-popup");return a(),u(x(e.mx_componentTag),{class:i(e.mx_componentClass)},{default:m((()=>[e.mx_hasHeaderSlot?(a(),l("header",us,[r(e.$slots,"header")])):h("v-if",!0),y(b,{ref:"form",onSubmit:f.submit},{default:m((()=>[r(e.$slots,"default"),s.readOnly?h("v-if",!0):r(e.$slots,"actions",{key:0},(()=>[o("div",ds,[f.hasCancelButton?(a(),l("div",{key:0,class:i(["col-12 col-sm-2",f.cancelButtonClass])},[S(y(g,{class:"full-width","data-cy":`btnCancel-${e.entity}`,disable:f.isCancelButtonDisabled,label:s.cancelButton,outline:"",type:"button",onClick:f.cancel},null,8,["data-cy","disable","label","onClick"]),[[$,e.dialog]])],2)):h("v-if",!0),o("div",{class:i(["col-12 col-sm-2",f.saveButtonClass])},[y(g,{class:"full-width","data-cy":`btnSave-${e.entity}`,disable:s.disable,label:s.submitButton,loading:p.isSubmitting,type:"submit"},null,8,["data-cy","disable","label","loading"])],2)])]))])),_:3},8,["onSubmit"]),e.mx_hasFooterSlot?(a(),l("footer",cs,[r(e.$slots,"footer")])):h("v-if",!0),y(v,d({modelValue:p.showDialog,"onUpdate:modelValue":t[0]||(t[0]=e=>p.showDialog=e)},p.defaultDialogProps),null,16,["modelValue"]),y(k,{showing:e.mx_isFetching},{default:m((()=>[y(_,{color:"grey",size:"3em"})])),_:1},8,["showing"])])),_:3},8,["class"])},ns.__file="src/components/form-view/QasFormView.vue";var ms={name:"QasGallery",mixins:[ne],props:{carouselNextIcon:{type:String,default:"o_chevron_right"},carouselPreviousIcon:{type:String,default:"o_chevron_left"},height:{type:String,default:""},initialSize:{type:Number,default:6},images:{type:Array,default:()=>[]},loadSize:{type:Number,default:6},showMoreLabel:{type:String,default:"Ver mais"},useLoadAll:{type:Boolean}},data(){return{carouselDialog:!1,clonedImages:[],imageIndex:[],displayedImages:this.initialSize}},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||this.useLoadAll},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.loadSize},onError(e){const t=this.clonedImages.findIndex((t=>t===e));~t&&(this.clonedImages.splice(t,1),this.$forceUpdate())},initialImages(){return this.useLoadAll?this.clonedImages:this.clonedImages.slice(0,this.displayedImages)}}};const hs={class:"q-col-gutter-md row"},ps={key:0,class:"full-width text-center"},fs={class:"text-right"},gs={key:0,class:"full-width justify-end row"};ms.render=function(e,t,s,d,c,f){const g=n("q-img"),x=n("qas-btn"),k=n("q-carousel-slide"),$=n("q-carousel"),q=n("qas-dialog"),C=n("qas-box"),V=w("close-popup");return a(),u(C,{class:"gallery"},{default:m((()=>[o("div",hs,[(a(!0),l(b,null,p(f.initialImages(),((e,t)=>(a(),l("div",{key:t,class:i(f.galleryColumnsClasses)},[y(g,{class:"cursor-pointer rounded-borders",height:f.imageHeight,src:e,onClick:e=>f.toggleCarouselDialog(t),onError:t=>f.onError(e)},null,8,["height","src","onClick","onError"])],2)))),128)),r(e.$slots,"default",{},(()=>[f.hideShowMore?h("v-if",!0):(a(),l("div",ps,[y(x,{class:"text-weight-bolder",color:"primary",flat:"",onClick:f.showMore},{default:m((()=>[_(v(s.showMoreLabel),1)])),_:1},8,["onClick"])]))])),y(q,{modelValue:c.carouselDialog,"onUpdate:modelValue":t[1]||(t[1]=e=>c.carouselDialog=e),cancel:!1,class:"q-pa-xl","min-width":"1100px",ok:!1,persistent:!1},{header:m((()=>[o("div",fs,[S(y(x,{dense:"",flat:"",icon:"o_close",rounded:"",onClick:f.toggleCarouselDialog},null,8,["onClick"]),[[V]])])])),description:m((()=>[y($,{modelValue:c.imageIndex,"onUpdate:modelValue":t[0]||(t[0]=e=>c.imageIndex=e),animated:"",arrows:!e.mx_isSmall,"control-text-color":"primary",fullscreen:e.mx_isSmall,height:f.carouselImageHeight,"next-icon":s.carouselNextIcon,"prev-icon":s.carouselPreviousIcon,swipeable:"",thumbnails:f.showThumbnails},{default:m((()=>[(a(!0),l(b,null,p(c.clonedImages,((t,s)=>(a(),u(k,{key:s,class:"bg-no-repeat bg-size-contain","img-src":t,name:s},{default:m((()=>[e.mx_isSmall?(a(),l("div",gs,[y(x,{dense:"",flat:"",icon:"o_close",onClick:f.toggleCarouselDialog},null,8,["onClick"])])):h("v-if",!0)])),_:2},1032,["img-src","name"])))),128))])),_:1},8,["modelValue","arrows","fullscreen","height","next-icon","prev-icon","thumbnails"])])),_:1},8,["modelValue"])])])),_:3})},ms.__file="src/components/gallery/QasGallery.vue";var ys={name:"QasGridGenerator",mixins:[ie],props:{contentClass:{default:"",type:[Array,Object,String]},headerClass:{default:"text-bold",type:[Array,Object,String]},hideEmptyResult:{type:Boolean},emptyResultText:{default:"-",type:String},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:H(s)?Object.keys(s).length:s)&&(e[t]=this.fields[t])}return e},resultsByFields(){return this.getResultsByFields()}},methods:{getResultsByFields(){const e={},t=j(!0,{},this.result);for(const s in t)this.formattedFields[s]?.type&&(e[s]=$e(this.formattedFields[s],t[s])||this.emptyResultText,this.slotValue[s]={...this.formattedFields[s],formattedResult:e[s]});return e}}};ys.render=function(e,t,s,n,u,d){return a(),l("div",{class:i(e.mx_classes)},[(a(!0),l(b,null,p(d.formattedFields,((t,n)=>(a(),l("div",{key:n,class:i(e.mx_getFieldClass(n,!0))},[r(e.$slots,`field-${t.name}`,{field:u.slotValue[n]},(()=>[r(e.$slots,"header",{field:u.slotValue[n]},(()=>[o("header",{class:i(s.headerClass)},v(t.label),3)])),r(e.$slots,"content",{field:u.slotValue[n]},(()=>[o("div",{class:i(s.contentClass)},v(d.resultsByFields[n]),3)]))]))],2)))),128))],2)},ys.__file="src/components/grid-generator/QasGridGenerator.vue";var bs={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}}};bs.render=function(e,t,s,o,n,u){return a(),l("div",{class:i(["text-bold text-subtitle2",u.labelClass])},[r(e.$slots,"default",{labelWithSuffix:u.labelWithSuffix},(()=>[_(v(u.labelWithSuffix),1)]))],2)},bs.__file="src/components/label/QasLabel.vue";var vs={name:"QasLayout",components:{QasAppBar:Pe,QasAppMenu:We},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)}}};vs.render=function(e,t,s,l,i,o){const c=n("qas-app-bar"),h=n("qas-app-menu"),p=n("router-view"),f=n("q-page-container"),g=n("q-layout");return a(),u(g,{view:"hHh Lpr lFf"},{default:m((()=>[r(e.$slots,"app-bar",{},(()=>[y(c,d(s.appBarProps,{onToggleMenu:o.toggleMenuDrawer}),null,16,["onToggleMenu"])])),r(e.$slots,"app-menu",{},(()=>[y(h,d({modelValue:i.menuDrawer,"onUpdate:modelValue":t[0]||(t[0]=e=>i.menuDrawer=e)},o.defaultAppMenuProps),null,16,["modelValue"])])),r(e.$slots,"default",{},(()=>[y(f,null,{default:m((()=>[y(p)])),_:1})]))])),_:3})},vs.__file="src/components/layout/QasLayout.vue";var xs={name:"QasListItems",components:{QasBtn:he},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 _s={class:"qas-list-items shadow-primary"};xs.render=function(e,t,s,i,o,d){const c=n("q-item-section"),v=n("q-icon"),x=n("qas-btn"),_=n("q-item"),k=n("q-list"),$=w("ripple");return a(),l("div",_s,[y(k,{bordered:"",class:"rounded-borders",separator:""},{default:m((()=>[(a(!0),l(b,null,p(s.list,((t,l)=>S((a(),u(_,{key:l,clickable:!s.redirectOnIcon,to:d.redirect(t)},{default:m((()=>[r(e.$slots,"item",{index:l,item:t},(()=>[y(c,null,{default:m((()=>[r(e.$slots,"item-section-left",{index:l,item:t})])),_:2},1024),s.useSectionActions?(a(),u(c,{key:0,side:""},{default:m((()=>[r(e.$slots,"item-section-side",{index:l,item:t},(()=>[y(x,{flat:"",round:"",to:d.getRedirectPayload(t)},{default:m((()=>[y(v,f(g(s.iconProps)),null,16)])),_:2},1032,["to"])]))])),_:2},1024)):h("v-if",!0)]))])),_:2},1032,["clickable","to"])),[[$]]))),128))])),_:3})])},xs.__file="src/components/list-items/QasListItems.vue";var ws={components:{QasFilters:Xt},mixins:[ae,ue],props:{disableRefresh:{type:Boolean},useFilter:{default:!0,type:Boolean},filtersProps:{default:()=>({}),type:Object},results:{default:()=>[],type:Array}},emits:["fetch-success","fetch-error","update:errors","update:results"],data:()=>({page:1}),computed:{hasHeaderSlot(){return!!this.$slots.header},hasPages(){return this.totalPages>1},hasResults(){return!!(this.resultsModel||[]).length},resultsModel(){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())},resultsModel:{handler(e){this.$emit("update:results",j([],!0,e))},immediate:!0}},created(){this.fetchList(),this.setCurrentPage()},methods:{changePage(){const e={...this.$route.query,page:this.page};this.$router.push({query:e})},async fetchList(e={}){this.mx_isFetching=!0;try{const t=await this.$store.dispatch(`${this.entity}/fetchList`,{...this.mx_context,url:this.url,filters:e}),{errors:s,fields:a,metadata:l}=t.data;this.mx_setErrors(s),this.mx_setFields(a),this.mx_setMetadata(l),this.mx_updateModels({errors:this.mx_errors,fields:this.mx_fields,metadata:this.mx_metadata}),this.$emit("fetch-success",t)}catch(e){this.mx_fetchError(e),this.$emit("update:errors",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 Ss={key:0},ks={class:"relative-position"},$s={key:0},qs={key:1},Cs={class:"q-my-xl text-center"},Vs=o("div",{class:"text-grey-6"},"Nenhum item encontrado.",-1),Qs={key:2,class:"q-py-lg text-center"},Os={key:3,class:"justify-center q-mt-lg"};ws.render=function(e,t,s,c,p,f){const g=n("qas-filters"),b=n("q-icon"),v=n("q-spinner"),_=n("q-pagination"),w=n("q-inner-loading"),S=n("q-pull-to-refresh");return a(),u(x(e.mx_componentTag),{class:i(e.mx_componentClass)},{default:m((()=>[y(S,{disable:s.disableRefresh,onRefresh:f.refresh},{default:m((()=>[f.hasHeaderSlot?(a(),l("header",Ss,[r(e.$slots,"header")])):h("v-if",!0),s.useFilter?r(e.$slots,"filter",{key:1},(()=>[y(g,d(s.filtersProps,{entity:e.entity}),null,16,["entity"])])):h("v-if",!0),o("main",ks,[f.hasResults?(a(),l("div",$s,[r(e.$slots,"default")])):e.mx_isFetching?(a(),l("div",Qs,[y(v,{color:"grey",size:"3em"})])):(a(),l("div",qs,[r(e.$slots,"empty-results",{},(()=>[o("div",Cs,[y(b,{class:"q-mb-sm text-center",color:"grey-6",name:"o_search",size:"38px"}),Vs])]))])),f.hasPages?(a(),l("div",Os,[y(_,{modelValue:p.page,"onUpdate:modelValue":t[0]||(t[0]=e=>p.page=e),"boundary-links":"",class:"flex-center","direction-links":"",input:e.$q.screen.lt.sm,max:f.totalPages,"max-pages":6,onClick:f.changePage},null,8,["modelValue","input","max","onClick"])])):h("v-if",!0),y(w,{showing:f.hasResults&&e.mx_isFetching},{default:m((()=>[y(v,{color:"grey",size:"3em"})])),_:1},8,["showing"])])])),_:3},8,["disable","onRefresh"]),r(e.$slots,"footer")])),_:3},8,["class"])},ws.__file="src/components/list-view/QasListView.vue";var Fs={name:"QasMap",props:{centerPosition:{type:Object,default:()=>({})},markers:{type:Array,default:()=>[]},usePopup:{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.usePopup&&e===this.indexMarker},closePopup(){this.isPopupDisplayed=!1},updatePosition(e){this.$emit("update-position",e.latLng.toJSON())}}};const Ds={class:"qas-map"},Bs={class:"text-weight-bold"};Fs.render=function(e,t,s,i,r,d){const c=n("g-map-info-window"),h=n("g-map-marker"),f=n("g-map-map");return a(),l("div",Ds,[y(f,{center:s.centerPosition,class:"qas-map__draw",zoom:s.zoom},{default:m((()=>[(a(!0),l(b,null,p(s.markers,((e,t)=>(a(),u(h,{key:t,draggable:e.draggable,icon:e.icon,position:e.position,onDragend:d.updatePosition,onMouseout:d.closePopup,onMouseover:s=>d.openPopup(e,t)},{default:m((()=>[y(c,{opened:d.canShowPopup(t)},{default:m((()=>[o("div",Bs,v(e.title),1),o("div",null,v(e.description),1)])),_:2},1032,["opened"])])),_:2},1032,["draggable","icon","position","onDragend","onMouseout","onMouseover"])))),128))])),_:1},8,["center","zoom"])])},Fs.__file="src/components/map/QasMap.vue";var Ps={name:"QasNestedFields",components:{QasBtn:he,QasFormGenerator:rs,QasInput:Ct,QasLabel:bs,TransitionGroup:Q},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},useRemoveOnDestroy:{type:Boolean,default:!0},modelValue:{type:Array,default:()=>[]}},emits:["update:modelValue"],data:()=>({nested:[]}),computed:{fieldLabel(){return this.field?.label},fieldName(){return this.field?.name},children(){const t=j(!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:be(this.fieldName,this.errors)},componentTag(){return this.useAnimation?"transition-group":"div"},componentProps(){return this.useAnimation?{tag:"div",enterActiveClass:"animated slideInDown",leaveActiveClass:"animated slideOutUp"}:{}}},watch:{modelValue:{handler(e){this.nested=j(!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 this.useRemoveOnDestroy?this.nested.splice(e,1):this.nested.splice(e,1,{[this.destroyKey]:!0,...t}),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 Ls=["id"],Ms={class:"text-left"},Is={ref:"inputContent"},Rs=["id"],Es={class:"flex items-center justify-between q-py-xs"},As={key:1,class:"q-gutter-x-sm"},js={key:0,class:"flex items-center qas-nested-fields__actions"},Ts={class:"col-auto"},Us={class:"col-auto"},zs={class:"col-12"},Ns={class:"q-mt-md"},Gs={class:"col"},Hs={class:"col-auto"},Ks={key:1,class:"q-mt-lg"};Ps.render=function(e,t,s,w,S,k){const $=n("qas-label"),q=n("qas-btn"),C=n("qas-form-generator"),V=n("qas-input");return a(),l("div",{id:k.fieldName,class:"qas-nested-fields"},[o("div",Ms,[s.useSingleLabel?(a(),u($,{key:0,label:k.fieldLabel},null,8,["label"])):h("v-if",!0)]),o("div",Is,[(a(),u(x(k.componentTag),f(g(k.componentProps)),{default:m((()=>[(a(!0),l(b,null,p(S.nested,((t,n)=>(a(),l("div",{id:`row-${n}`,key:`row-${n}`,class:"full-width"},[t[s.destroyKey]?h("v-if",!0):(a(),l("div",{key:n,class:"col-12 q-mt-md"},[o("div",null,[o("div",Es,[s.useSingleLabel?h("v-if",!0):(a(),u($,{key:0,label:k.setRowLabel(n)},null,8,["label"])),s.useInlineActions?h("v-if",!0):(a(),l("div",As,[s.useDuplicate?(a(),u(q,d({key:0},s.btnDuplicateProps,{onClick:e=>k.add(t)}),null,16,["onClick"])):h("v-if",!0),k.showDestroyBtn?(a(),u(q,d({key:1},s.btnDestroyProps,{onClick:e=>k.destroy(n,t)}),null,16,["onClick"])):h("v-if",!0)]))]),o("div",{ref_for:!0,ref:"formGenerator",class:"col-12 justify-between q-col-gutter-x-md row"},[r(e.$slots,"fields",{errors:k.transformedErrors,fields:k.children,index:n,updateValue:k.updateValuesFromInput},(()=>[y(C,{modelValue:S.nested[n],"onUpdate:modelValue":[e=>S.nested[n]=e,e=>k.updateValuesFromInput(e,n)],class:i(k.formClasses),columns:s.formColumns,errors:k.transformedErrors[n],fields:k.children,"fields-props":s.fieldsProps},c({_:2},[p(e.$slots,((t,s)=>({name:s,fn:m((t=>[r(e.$slots,s,d(t,{errors:k.transformedErrors,index:n}))]))})))]),1032,["modelValue","onUpdate:modelValue","class","columns","errors","fields","fields-props"])])),s.useInlineActions?(a(),l("div",js,[o("div",Ts,[s.useDuplicate?(a(),u(q,{key:0,color:"primary",flat:"",icon:"o_content_copy",round:"",onClick:e=>k.add(t)},null,8,["onClick"])):h("v-if",!0)]),o("div",Us,[k.showDestroyBtn?(a(),u(q,{key:0,color:"negative",flat:"",icon:"o_cancel",round:"",onClick:e=>k.destroy(n,t)},null,8,["onClick"])):h("v-if",!0)])])):h("v-if",!0)],512),o("div",zs,[r(e.$slots,"custom-fields",{fields:k.children,index:n,model:S.nested[n],updateValue:k.updateValuesFromInput})])])]))],8,Rs)))),128))])),_:3},16)),o("div",Ns,[r(e.$slots,"add-input",{add:k.add},(()=>[s.useInlineActions?(a(),l("div",{key:0,class:"cursor-pointer items-center q-col-gutter-x-md q-mt-md row",onClick:t[1]||(t[1]=e=>k.add())},[o("div",Gs,[y(V,{class:"disabled no-pointer-events","hide-bottom-space":"",label:s.addInputLabel,outlined:"",onFocus:t[0]||(t[0]=e=>k.add())},null,8,["label"])]),o("div",Hs,[y(q,{color:"green",flat:"",icon:"o_add_circle_outline",round:""})])])):(a(),l("div",Ks,[y(q,{class:"full-width q-py-md",icon:"o_add",outline:"",onClick:t[2]||(t[2]=e=>k.add())},{default:m((()=>[_(v(s.addInputLabel),1)])),_:1})]))]))])],512)],8,Ls)},Ps.__file="src/components/nested-fields/QasNestedFields.vue";const{hasPreviousRoute:Ws,history:Zs,getPreviousRoute:Ys}=kt();var Js={name:"QasPageHeader",props:{breadcrumbs:{default:"",type:[Array,String]},useBreadcrumbs:{default:!0,type:Boolean},root:{default:"",type:[Object,String]},title:{default:"",type:String}},computed:{hasPreviousRoute:()=>Ws.value,transformedBreadcrumbs(){const e=[...K(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=Zs.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(Ys(this.$route))},getBreadcrumbsClass(e){return this.transformedBreadcrumbs.length-1===e?"text-grey-7":"text-primary"}},meta(){return{title:this.title}}};const Xs={class:"ellipsis"};Js.render=function(e,t,s,d,c,f){const g=n("q-icon"),y=n("q-toolbar-title"),x=n("q-breadcrumbs-el"),w=n("q-breadcrumbs"),S=n("q-toolbar");return a(),u(S,{class:"justify-between q-mb-lg q-px-none"},{default:m((()=>[o("div",Xs,[s.title?(a(),u(y,{key:0,class:"text-bold text-h5"},{default:m((()=>[f.hasPreviousRoute?(a(),u(g,{key:0,class:"cursor-pointer vertical-baseline",name:"o_arrow_back",size:"18px",onClick:f.back},null,8,["onClick"])):h("v-if",!0),_(" "+v(s.title),1)])),_:1})):h("v-if",!0),s.useBreadcrumbs?(a(),u(w,{key:1,class:"text-caption","separator-color":"grey-7"},{default:m((()=>[(a(!0),l(b,null,p(f.transformedBreadcrumbs,((e,t)=>(a(),u(x,{key:e.label,class:i(f.getBreadcrumbsClass(t)),label:e.label,to:e.route},null,8,["class","label","to"])))),128))])),_:1})):h("v-if",!0)]),r(e.$slots,"default")])),_:3})},Js.__file="src/components/page-header/QasPageHeader.vue";var ea={name:"QasProfile",components:{QasAvatar:Be,QasBox:tt,QasGridGenerator:ys},mixins:[ne],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 ta={class:"q-col-gutter-md row"},sa={class:"col-lg-5 col-xs-12"},aa={class:"justify-center lg:q-mb-none md:q-mr-lg row xs:q-mb-md"},la={class:"text-bold text-h6"},ia={key:0};ea.render=function(e,t,s,d,b,_){const w=n("qas-avatar"),S=n("qas-grid-generator");return a(),u(x(s.tag),null,{default:m((()=>[o("div",ta,[o("div",sa,[o("div",{class:i(["no-wrap q-col-gutter-md",_.directionClasses])},[o("div",aa,[y(w,{image:_.userAvatarImage,size:_.avatarSize,title:s.title},null,8,["image","size","title"])]),r(e.$slots,"default",{},(()=>[o("h6",la,v(s.title),1),s.subtitle?(a(),l("div",ia,v(s.subtitle),1)):h("v-if",!0)]))],2)]),r(e.$slots,"grid",{},(()=>[y(S,{class:"col-lg-7 col-xs-12 items-center",columns:s.columns,fields:_.filterObject(s.fields,s.list),"hide-empty-result":"",result:s.result},c({_:2},[p(e.$slots,((t,s)=>({name:s,fn:m((t=>[r(e.$slots,s,f(g(t||{})))]))})))]),1032,["columns","fields","result"])]))])])),_:3})},ea.__file="src/components/profile/QasProfile.vue";var oa={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://image-resize.nave.dev/"+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 ra=o("div",{class:"absolute-full bg-grey-2 flex flex-center text-grey"},"⚠︎",-1);oa.render=function(e,t,s,l,i,o){const r=n("q-img");return a(),u(r,{ratio:o.ratio,"spinner-color":"grey-6",src:o.imageSource},{error:m((()=>[ra])),_:1},8,["ratio","src"])},oa.__file="src/components/resizer/QasResizer.vue";var na={name:"QasSearchBox",components:{QasBox:tt},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},results:{type:Array,default:()=>[]}},emits:["empty-result","update:modelValue","update:results"],data(){return{fuse:null,searchResults: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.searchResults.length}},watch:{defaultFuseOptions(e){this.fuse.options={...this.fuse.options,...e}},hasResults(e){!e&&this.$emit("empty-result")},list:{handler(e){this.fuse=new ee(e,this.defaultFuseOptions),this.setResults(this.search),this.updateResultsModel(e)},deep:!0},search:{handler(e){this.setResults(e),this.$emit("update:modelValue",e)},immediate:!0},searchResults:{handler(e){this.updateResultsModel(e)},immediate:!0}},created(){this.search=this.modelValue,this.fuse=new ee(this.list,this.defaultFuseOptions),this.setResults()},methods:{setResults(e){this.searchResults=e?this.fuse.search(e):this.list},updateResultsModel(e){this.$emit("update:results",e.map((e=>e.item||e)))}}};const ua={class:"absolute-center text-center"},da=o("div",null,"Não há resultados disponíveis.",-1);na.render=function(e,t,s,l,i,d){const c=n("q-icon"),p=n("q-input"),f=n("qas-box");return a(),u(f,null,{default:m((()=>[y(p,{modelValue:i.search,"onUpdate:modelValue":t[0]||(t[0]=e=>i.search=e),clearable:"",disable:!s.list.length,outlined:"",placeholder:s.placeholder},{append:m((()=>[y(c,{color:"primary",name:"o_search"})])),_:1},8,["modelValue","disable","placeholder"]),o("div",{class:"overflow-auto q-mt-xs relative-position",style:C(d.contentStyle)},[d.hasResults?r(e.$slots,"default",{key:0}):s.useEmptySlot?r(e.$slots,"empty-result",{key:1},(()=>[o("div",ua,[y(c,{class:"q-mb-sm text-center",color:"primary",name:"o_search",size:"38px"}),da])])):h("v-if",!0)],4)])),_:3})},na.__file="src/components/search-box/QasSearchBox.vue";var ca={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(){this.setFuse()},options:{handler(){this.fuse&&(this.fuse.list=this.formattedResult),this.filteredOptions=this.formattedResult},immediate:!0}},created(){this.setFuse()},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},setFuse(){this.searchable&&(this.fuse=new ee(this.options,this.defaultFuseOptions))}}};ca.render=function(e,t,s,l,i,o){const b=n("q-icon"),x=n("q-item-section"),w=n("q-item"),S=n("q-select");return a(),u(S,d({modelValue:o.model,"onUpdate:modelValue":t[0]||(t[0]=e=>o.model=e)},o.attributes,{onFilter:o.filterOptions}),c({append:m((()=>[r(e.$slots,"append",{},(()=>[s.searchable?(a(),u(b,{key:0,name:"o_search"})):h("v-if",!0)]))])),"no-option":m((()=>[r(e.$slots,"no-option",{},(()=>[y(w,null,{default:m((()=>[y(x,{class:"text-grey"},{default:m((()=>[_(v(s.noOptionLabel),1)])),_:1})])),_:1})]))])),_:2},[p(e.$slots,((t,s)=>({name:s,fn:m((t=>[r(e.$slots,s,f(g(t||{})))]))})))]),1040,["modelValue","onFilter"])},ca.__file="src/components/select/QasSelect.vue";var ma={name:"QasSelectList",components:{QasBtn:he,QasSearchBox:na},mixins:[ne],props:{deleteOnly:{type:Boolean},fuseOptions:{default:()=>({keys:["label"]}),type:Object},list:{default:()=>[],type:Array},modelValue:{type:Array,default:()=>[]},to:{default:()=>({}),type:Object},redirectKey:{default:"uuid",type:String},paramKey:{default:"id",type:String}},emits:["added","update:modelValue","removed"],data:()=>({sortedList:[],values:[],results:[]}),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:{handler(e){this.values=[...e]},immediate:!0}},created(){this.handleList()},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)},handleList(){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:{[this.paramKey]:e[this.redirectKey]},...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.list.filter((e=>this.modelValue.includes(e.value))):W(this.list,(e=>!this.modelValue.includes(e.value)))},updateModel(e){this.$emit("update:modelValue",e||this.values)}}};const ha=["onClick"];ma.render=function(e,t,s,c,h,f){const g=n("q-item-section"),x=n("qas-btn"),_=n("q-item"),w=n("q-list"),S=n("qas-search-box");return a(),u(S,{results:h.results,"onUpdate:results":t[0]||(t[0]=e=>h.results=e),class:"q-pa-md","fuse-options":s.fuseOptions,list:h.sortedList},{default:m((()=>[y(w,{separator:""},{default:m((()=>[(a(!0),l(b,null,p(h.results,(t=>(a(),u(_,{key:t.value},{default:m((()=>[r(e.$slots,"item",d(f.slotData,{item:t}),(()=>[r(e.$slots,"item-section",{result:t},(()=>[y(g,{class:"items-start text-bold"},{default:m((()=>[o("div",{class:i(f.labelClass),onClick:e=>f.redirectRoute(t)},v(t.label),11,ha)])),_:2},1024)])),y(g,{avatar:""},{default:m((()=>[r(e.$slots,"item-action",d({item:t},f.slotData),(()=>[y(x,d(f.getButtonProps(t),{onClick:e=>f.handleClick(t)}),null,16,["onClick"])]))])),_:2},1024)]))])),_:2},1024)))),128))])),_:3})])),_:3},8,["results","fuse-options","list"])},ma.__file="src/components/select-list/QasSelectList.vue";var pa={name:"QasSingleView",mixins:[ue],props:{customId:{default:"",type:[Number,String]},result:{default:()=>({}),type:Object}},emits:["update:result","fetch-success","fetch-error"],computed:{hasResult(){return!!this.resultModel},id(){return this.customId||this.$route.params.id},resultModel(){return this.$store.getters[`${this.entity}/byId`](this.id)||{}}},watch:{$route(e,t){e.name===t.name&&this.fetchSingle()},resultModel(e){this.$emit("update:result",s({...e}))}},created(){this.fetchSingle()},methods:{async fetchSingle(e={}){this.mx_isFetching=!0;try{const t=await this.$store.dispatch(`${this.entity}/fetchSingle`,{id:this.id,url:this.url,params:e}),{errors:s,fields:a,metadata:l}=t.data;this.mx_setErrors(s),this.mx_setFields(a),this.mx_setMetadata(l),this.mx_updateModels({errors:this.mx_errors,fields:this.mx_fields,metadata:this.mx_metadata}),this.$emit("fetch-success",t)}catch(e){this.mx_fetchError(e),this.$emit("fetch-error",e)}finally{this.mx_isFetching=!1}}}};const fa={key:0},ga={key:2,class:"q-my-xl text-center"},ya=o("div",{class:"text-grey-6"},"Nenhum item encontrado.",-1),ba={key:3};pa.render=function(e,t,s,o,d,c){const p=n("q-icon"),f=n("q-spinner"),g=n("q-inner-loading");return a(),u(x(e.mx_componentTag),{class:i(e.mx_componentClass)},{default:m((()=>[e.mx_hasHeaderSlot?(a(),l("header",fa,[r(e.$slots,"header")])):h("v-if",!0),c.hasResult?r(e.$slots,"default",{key:1}):e.mx_isFetching?h("v-if",!0):(a(),l("div",ga,[y(p,{class:"q-mb-sm text-center",color:"grey-6",name:"o_search",size:"38px"}),ya])),e.mx_hasFooterSlot?(a(),l("footer",ba,[r(e.$slots,"footer")])):h("v-if",!0),y(g,{showing:e.mx_isFetching},{default:m((()=>[y(f,{color:"grey",size:"3em"})])),_:1},8,["showing"])])),_:3},8,["class"])},pa.__file="src/components/single-view/QasSingleView.vue";var va={name:"QasSortable",props:{entity:{default:"",required:!0,type:String},sortableOptions:{default:()=>({animation:500}),type:Object},list:{default:()=>[],type:Array},tag:{default:"div",type:String},url:{default:"",type:String},sorted:{default:()=>[],type:Array}},emits:["update:sorted","sort","success","error"],data:()=>({sortable:null,sortedList:null}),computed:{identifiers(){return this.sortedList.map((({id:e})=>e))}},watch:{sortableOptions(e){this.sortable.options={...this.sortable.options,...e}},list(e){this.setSortedValue(e),this.sortable.sort(this.sortable.toArray())}},created(){this.setSortedValue()},async mounted(){this.sortable=new te(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;xt("Ops! Erro ao salvar ordenação.",s)},async replace(){A.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),this.$emit("error",e)}finally{A.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=j(!0,[],e||this.list),this.updateSortedModel()},updateSortedModel(){return this.$emit("update:sorted",this.sortedList)}}};va.render=function(e,t,s,l,i,o){return a(),u(x(s.tag),{ref:"sortableItems"},{default:m((()=>[r(e.$slots,"default")])),_:3},512)},va.__file="src/components/sortable/QasSortable.vue";var xa={name:"QasTableGenerator",mixins:[ne],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:{},elementToObserve:null,resizeObserver:null}),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},hasTbodySlot(){return!!this.$slots.tbody},hasFields(){return Object.keys(this.fields).length},resultsByFields(){return j(!0,[],this.results).map(((e,t)=>{for(const s in e)e.default=this.results[t],e[s]=$e(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.setObserver(),window.addEventListener("resize",this.handleScrollOnGrab))},onUnmounted(){this.hasScrollOnGrab&&(this.destroyObserver(),this.scrollOnGrab.destroyEvents(),window.removeEventListener("resize",this.handleScrollOnGrab))},methods:{initializeScrollOnGrab(){if(this.hasScrollOnGrab)return;const e=this.getTableElementComponent().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)},getTableElementComponent(){return this.$refs?.table?.$el},getTableElement(){return this.getTableElementComponent()?.querySelector("table")},getFullTableWidth(){return this.getTableElement()?.getBoundingClientRect?.()?.width},getContainerTableWidth(){const e=this.getTableElementComponent()?.querySelector(".q-table__middle");return e?.getBoundingClientRect?.()?.width},handleScrollOnGrab(){this.getFullTableWidth()>this.getContainerTableWidth()?this.initializeScrollOnGrab():this.hasScrollOnGrab&&(this.scrollOnGrab.destroyEvents(),this.scrollOnGrab.element.style.cursor="auto",this.scrollOnGrab={})},setObserver(){this.elementToObserve=this.getTableElement(),this.resizeObserver=new ResizeObserver((e=>{e.forEach((()=>this.handleScrollOnGrab()))})),this.resizeObserver.observe(this.elementToObserve)},destroyObserver(){this.resizeObserver.unobserve(this.elementToObserve)}}};xa.render=function(e,t,s,l,i,o){const h=n("q-td"),b=n("q-table"),v=n("qas-box");return a(),u(v,{class:"q-mb-xl q-px-lg q-py-md"},{default:m((()=>[y(b,d({ref:"table",class:["bg-transparent qas-table-generator",o.tableClass]},o.attributes),c({_:2},[p(e.$slots,((t,s)=>({name:s,fn:m((t=>[o.hasBodySlot?r(e.$slots,"body",{key:0,props:t}):(a(),u(h,{key:s},{default:m((()=>[r(e.$slots,s,f(g(t||{})))])),_:2},1024))]))})))]),1040,["class"])])),_:3})},xa.__file="src/components/table-generator/QasTableGenerator.vue";var _a={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=j(!0,{},this.tabs);for(const t in e)"string"==typeof e[t]&&(e[t]={label:e[t],value:t});return e},model:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}}}};_a.render=function(e,t,s,i,o,c){const f=n("q-badge"),g=n("q-tab"),y=n("q-tabs");return a(),u(y,{modelValue:c.model,"onUpdate:modelValue":t[0]||(t[0]=e=>c.model=e),"active-color":s.activeColor,"indicator-color":s.indicatorColor,"outside-arrows":""},{default:m((()=>[(a(!0),l(b,null,p(c.formattedTabs,((t,l)=>r(e.$slots,`tab-${t.value}`,{item:t},(()=>[(a(),u(g,d({key:l},t,{class:s.tabClass,label:t.label,name:l}),{default:m((()=>[r(e.$slots,`tab-after-${t.value}`,{item:t},(()=>[s.counters[l]?(a(),u(f,d({key:0,label:s.counters[l]},c.defaultCounterProps),null,16,["label"])):h("v-if",!0)]))])),_:2},1040,["class","label","name"]))])))),256))])),_:3},8,["modelValue","active-color","indicator-color"])},_a.__file="src/components/tabs-generator/QasTabsGenerator.vue";var wa={name:"QasTextTruncate",components:{QasDialog:ft},mixins:[ne],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 Sa={ref:"parent",class:"full-width"},ka={class:"justify-between no-wrap row text-no-wrap"};wa.render=function(e,t,s,u,c,p){const f=n("qas-dialog");return a(),l("div",Sa,[o("div",ka,[o("div",{ref:"truncate",class:i(p.truncateTextClass)},[r(e.$slots,"default",{},(()=>[_(v(s.text),1)]))],2),p.isTruncated?(a(),l("div",{key:0,class:"cursor-pointer text-primary",onClick:t[0]||(t[0]=(...e)=>p.toggleDialog&&p.toggleDialog(...e))},v(s.seeMoreLabel),1)):h("v-if",!0)]),y(f,d({modelValue:c.showDialog,"onUpdate:modelValue":t[1]||(t[1]=e=>c.showDialog=e)},p.defaultDialogProps),{description:m((()=>[r(e.$slots,"default",{},(()=>[o("div",null,v(s.text),1)]))])),_:3},16,["modelValue"])],512)},wa.__file="src/components/text-truncate/QasTextTruncate.vue";var $a={name:"QasTransfer",components:{QasBtn:he,QasLabel:bs,QasSearchBox:na},mixins:[ne],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:[],firstResults:[],secondResults:[]}),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:{options:{handler(e){this.optionsList=j(!0,[],e)},immediate:!0},modelValue:{handler(){this.setSelectedFromValue(!0)},immediate:!0}},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=j(!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),this.updateModelValue()},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(j(!0,{},t))})),this.handleSelectedList(e)},updateModelValue(){return this.$emit("update:modelValue",this.getModelValue())}}};const qa=o("div",{class:"col-12"},null,-1),Ca={class:"col-12 col-sm"},Va=_("Selecionar"),Qa=_("Remover"),Oa={class:"col-12 col-sm"};$a.render=function(e,t,s,c,h,f){const g=n("qas-label"),x=n("q-item-section"),w=n("q-item"),S=n("q-list"),k=n("qas-search-box"),$=n("qas-btn"),q=n("q-tooltip");return a(),l("div",{class:i(["qas-transfer row",f.gutterClass])},[qa,o("div",Ca,[y(g,{label:s.label,quantity:h.optionsList.length},null,8,["label","quantity"]),y(k,d({results:h.firstResults,"onUpdate:results":t[0]||(t[0]=e=>h.firstResults=e),list:h.optionsList,outlined:""},f.searchBoxProps),{default:m((()=>[y(S,{separator:""},{default:m((()=>[(a(!0),l(b,null,p(h.firstResults,((t,s)=>(a(),u(w,{key:s,class:i(f.getItemClass(t,!0)),clickable:"",onClick:e=>f.onSelectQueue(t,!0)},{default:m((()=>[r(e.$slots,"item-first-column",{},(()=>[y(x,null,{default:m((()=>[_(v(f.getItemLabel(t)),1)])),_:2},1024)]))])),_:2},1032,["class","onClick"])))),128))])),_:3})])),_:3},16,["results","list"])]),o("div",{class:i(["col-12 col-sm-auto items-center justify-center q-col-gutter-md row",f.actionsClass])},[o("div",null,[y($,{class:i(f.iconClass),dense:"",disabled:!h.firstQueue.length,flat:"",icon:"o_arrow_circle_down",rounded:"",onClick:t[1]||(t[1]=e=>f.setSelectedFromClick(!0))},null,8,["class","disabled"]),y(q,{anchor:"top middle",self:"center middle"},{default:m((()=>[Va])),_:1})]),o("div",null,[o("div",null,[y($,{class:i(f.iconClass),dense:"",disabled:!h.secondQueue.length,flat:"",icon:"o_arrow_circle_up",rounded:"",onClick:t[2]||(t[2]=e=>f.setSelectedFromClick())},null,8,["class","disabled"]),y(q,{anchor:"bottom middle",self:"center middle"},{default:m((()=>[Qa])),_:1})])])],2),o("div",Oa,[y(g,{label:"Selecionadas",quantity:h.selectedList.length},null,8,["quantity"]),y(k,d({results:h.secondResults,"onUpdate:results":t[3]||(t[3]=e=>h.secondResults=e)},f.searchBoxProps,{"empty-list-height":"300px",label:"Selecionadas",list:h.selectedList,outlined:""}),{default:m((()=>[y(S,{separator:""},{default:m((()=>[(a(!0),l(b,null,p(h.secondResults,((t,s)=>(a(),u(w,{key:s,class:i(f.getItemClass(t)),clickable:"",onClick:e=>f.onSelectQueue(t)},{default:m((()=>[r(e.$slots,"item-second-column",{},(()=>[y(x,null,{default:m((()=>[_(v(f.getItemLabel(t)),1)])),_:2},1024)]))])),_:2},1032,["class","onClick"])))),128))])),_:3})])),_:3},16,["results","list"])])],2)},$a.__file="src/components/transfer/QasTransfer.vue";var Fa={name:"test",bind(e,{arg:t,value:s}){e&&t&&(e.dataset.test=t),e&&s&&(e.dataset.testKey=s)}};const Da="3.0.0-beta.2";function Ba(e){e.component("QasActions",de),e.component("QasActionsMenu",pe),e.component("QasAlert",Oe),e.component("QasAppBar",Pe),e.component("QasAppMenu",We),e.component("QasAvatar",Be),e.component("QasBox",tt),e.component("QasBreakline",Qe),e.component("QasBtn",he),e.component("QasCard",st),e.component("QasCheckboxGroup",rt),e.component("QasCopy",nt),e.component("QasDateTimeInput",dt),e.component("QasDebugger",ct),e.component("QasDelete",$t),e.component("QasDialog",ft),e.component("QasDialogRouter",qt),e.component("QasField",Jt),e.component("QasFilters",Xt),e.component("QasFormGenerator",rs),e.component("QasFormView",ns),e.component("QasGallery",ms),e.component("QasGridGenerator",ys),e.component("QasInput",Ct),e.component("QasLabel",bs),e.component("QasLayout",vs),e.component("QasListItems",xs),e.component("QasListView",ws),e.component("QasMap",Fs),e.component("QasNestedFields",Ps),e.component("QasNumericInput",Qt),e.component("QasPageHeader",Js),e.component("QasPasswordInput",Bt),e.component("QasPasswordStrengthChecker",Ft),e.component("QasProfile",ea),e.component("QasResizer",oa),e.component("QasSearchBox",na),e.component("QasSelect",ca),e.component("QasSelectList",ma),e.component("QasSignaturePad",zt),e.component("QasSignatureUploader",Ht),e.component("QasSingleView",pa),e.component("QasSortable",va),e.component("QasTableGenerator",xa),e.component("QasTabsGenerator",_a),e.component("QasTextTruncate",wa),e.component("QasTransfer",$a),e.component("QasUploader",Pt),e.use(U,{plugins:{Notify:I,QuasarDialog:M,Dialog:vt}}),process.env.MAPS_API_KEY&&e.use(se,{load:{key:process.env.MAPS_API_KEY,libraries:"places"}}),e.config.globalProperties.$qas={dialog:vt,error:xt,success:_t,screen:wt()},e.directive(Fa.name,Fa)}var Pa=Object.freeze({__proto__:null,version:Da,QasActions:de,QasActionsMenu:pe,QasAlert:Oe,QasAppBar:Pe,QasAppMenu:We,QasAvatar:Be,QasBox:tt,QasBreakline:Qe,QasBtn:he,QasCard:st,QasCheckboxGroup:rt,QasCopy:nt,QasDateTimeInput:dt,QasDebugger:ct,QasDelete:$t,QasDialog:ft,QasDialogRouter:qt,QasField:Jt,QasFilters:Xt,QasFormGenerator:rs,QasFormView:ns,QasGallery:ms,QasGridGenerator:ys,QasInput:Ct,QasLabel:bs,QasLayout:vs,QasListItems:xs,QasListView:ws,QasMap:Fs,QasNestedFields:Ps,QasNumericInput:Qt,QasPageHeader:Js,QasPasswordInput:Bt,QasPasswordStrengthChecker:Ft,QasProfile:ea,QasResizer:oa,QasSearchBox:na,QasSelect:ca,QasSelectList:ma,QasSignaturePad:zt,QasSignatureUploader:Ht,QasSingleView:pa,QasSortable:va,QasTableGenerator:xa,QasTabsGenerator:_a,QasTextTruncate:wa,QasTransfer:$a,QasUploader:Pt,Dialog:vt,NotifyError:xt,NotifySuccess:_t,Screen:wt,install:Ba});export{vt as Dialog,xt as NotifyError,_t as NotifySuccess,de as QasActions,pe as QasActionsMenu,Oe as QasAlert,Pe as QasAppBar,We as QasAppMenu,Be as QasAvatar,tt as QasBox,Qe as QasBreakline,he as QasBtn,st as QasCard,rt as QasCheckboxGroup,nt as QasCopy,dt as QasDateTimeInput,ct as QasDebugger,$t as QasDelete,ft as QasDialog,qt as QasDialogRouter,Jt as QasField,Xt as QasFilters,rs as QasFormGenerator,ns as QasFormView,ms as QasGallery,ys as QasGridGenerator,Ct as QasInput,bs as QasLabel,vs as QasLayout,xs as QasListItems,ws as QasListView,Fs as QasMap,Ps as QasNestedFields,Qt as QasNumericInput,Js as QasPageHeader,Bt as QasPasswordInput,Ft as QasPasswordStrengthChecker,ea as QasProfile,oa as QasResizer,na as QasSearchBox,ca as QasSelect,ma as QasSelectList,zt as QasSignaturePad,Ht as QasSignatureUploader,pa as QasSingleView,va as QasSortable,xa as QasTableGenerator,_a as QasTabsGenerator,wa as QasTextTruncate,$a as QasTransfer,Pt as QasUploader,wt as Screen,Pa as default,Ba as install,Da as version};
6
+ import{openBlock as e,createElementBlock as t,normalizeClass as s,createElementVNode as a,renderSlot as i,resolveComponent as l,createBlock as o,mergeProps as r,createSlots as n,withCtx as u,renderList as d,normalizeProps as c,guardReactiveProps as h,createVNode as m,Fragment as p,toDisplayString as f,createCommentVNode as g,resolveDynamicComponent as y,createTextVNode as b,resolveDirective as v,withDirectives as x,reactive as _,computed as $,markRaw as S,vShow as w,normalizeStyle as q,withModifiers as k,TransitionGroup as C}from"vue";import{camelize as V,camelizeKeys as Q,decamelize as F}from"humps";import{parseISO as O,format as L,isMatch as B}from"date-fns";import{ptBR as P}from"date-fns/locale";import{copyToClipboard as D,date as I,Dialog as M,Notify as A,Screen as E,Platform as R,Loading as j,extend as z,uid as T,createMetaMixin as U,QInfiniteScroll as N,Quasar as G}from"quasar";import{findLastIndex as H,isEqual as W,isEqualWith as K,isObject as Y,castArray as J,sortBy as X}from"lodash-es";import Z from"autonumeric";import ee from"pica";import te from"signature_pad";import{onBeforeRouteLeave as se}from"vue-router";import{isEqual as ae}from"lodash";import ie from"fuse.js";import le from"sortablejs";import oe from"@fawmi/vue-google-maps";var re={name:"QasActions",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.$qas.screen.isSmall?"column reverse":"row"]}}};const ne={class:"col-12 col-sm-auto"},ue={class:"col-12 col-sm-auto"};re.render=function(l,o,r,n,u,d){return e(),t("div",{class:s(d.classes)},[a("div",ne,[i(l.$slots,"secondary")]),a("div",ue,[i(l.$slots,"primary")])],2)},re.__file="src/components/actions/QasActions.vue";var de={name:"QasBtn",props:{useLabelOnSmallScreen:{default:!0,type:Boolean},label:{default:"",type:String}},computed:{attributes(){return{...this.showLabel&&{label:this.label},...this.$attrs}},showLabel(){return this.useLabelOnSmallScreen||!this.$qas.screen.isSmall},slots(){const{default:e,...t}=this.$slots;return t}}};de.render=function(t,s,a,m,p,f){const g=l("q-btn");return e(),o(g,r({color:"primary","no-caps":"",unelevated:""},f.attributes),n({default:u((()=>[i(t.$slots,"default")])),_:2},[d(f.slots,((e,s)=>({name:s,fn:u((e=>[i(t.$slots,s,c(h(e||{})))]))})))]),1040)},de.__file="src/components/btn/QasBtn.vue";var ce={name:"QasActionsMenu",components:{QasBtn:de},props:{icon:{default:"o_settings",type:String},label:{default:"Configurações",type:String},list:{default:()=>({}),type:Object},deleteLabel:{type:String,default:"Excluir"},deleteIcon:{type:String,default:"o_delete"},deleteProps:{default:()=>({}),type:Object}},computed:{hasDelete(){return!!Object.keys(this.deleteProps).length}},methods:{onClick(e){if("function"==typeof e.handler){const{handler:t,...s}=e;e.handler(s)}}}};const he={class:"flex items-center justify-center q-gutter-x-md"},me={class:"flex items-center justify-center q-gutter-x-sm"};function pe(e){return e.map((e=>e.children&&"string"!=typeof e.children?Array.isArray(e.children)?pe(e.children):e.children.default?pe(e.children.default()):void 0:e.children||"")).join("")}function fe(e,t){const s={};for(const a in t){const i=V(a);if(!i.startsWith(e))continue;const l=i.replace(`${e}.`,""),[o,r,n]=l.split(".");s[o]||(s[o]={}),n?s[o][r]=fe([e,o,r].join("."),t):r?s[o][r]=t[a]:s[o]=t[a]}return s}function ge(e){for(const t in e){const s=e[t];s.name=V(s.name),Object.keys(s.children||{}).length&&ge(s.children)}return e}ce.render=function(s,n,c,h,y,b){const v=l("q-icon"),x=l("q-item-section"),_=l("q-item"),$=l("qas-delete"),S=l("q-list"),w=l("q-menu"),q=l("qas-btn");return e(),o(q,{class:"qas-actions-menu",color:"primary",icon:c.icon,label:c.label,outline:"",padding:"md","use-label-on-small-screen":""},{default:u((()=>[m(w,{class:"qas-actions-menu__menu"},{default:u((()=>[m(S,{class:"qas-actions-menu__list",separator:""},{default:u((()=>[(e(!0),t(p,null,d(c.list,((t,l)=>i(s.$slots,l,{item:t},(()=>[(e(),o(_,r({key:l,class:"text-primary",clickable:""},t.props,{onClick:e=>b.onClick(t)}),{default:u((()=>[m(x,null,{default:u((()=>[a("div",he,[m(v,{name:t.icon,size:"sm"},null,8,["name"]),a("div",null,f(t.label),1)])])),_:2},1024)])),_:2},1040,["onClick"]))])))),256)),b.hasDelete?(e(),o($,r({key:0},c.deleteProps,{class:"text-negative",clickable:"",tag:"q-item"}),{default:u((()=>[m(x,null,{default:u((()=>[a("div",me,[m(v,{name:c.deleteIcon,size:"sm"},null,8,["name"]),a("div",null,f(c.deleteLabel),1)])])),_:1})])),_:1},16)):g("v-if",!0)])),_:3})])),_:3})])),_:3},8,["icon","label"])},ce.__file="src/components/actions-menu/QasActionsMenu.vue";function ye(e,t,s={}){return e?(e=e instanceof Date?e:O(e),L(e,t,{locale:P,...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=0,t={style:"currency",currency:"BRL"}){return e=Number(e),isNaN(e)?"":e.toLocaleString("pt-BR",t)}function _e(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 Se(e){return{"company-document":()=>_e(e),document:()=>function(e){return e.length<12?$e(e):_e(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:()=>xe(e),"square-area":()=>function(e=0,t="m²"){return(e=ve(e))?`${e} ${t}`:""}(e)}}function we(e={},t){if(e.mask&&!t)return t;const s=Se(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 qe(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 B(e,t)?e:ye(e,t,s)}(t);case"radio":return qe(e.options,t);case"percent":return function(e=0,t=2){return(e=Number(e))?e.toLocaleString("pt-BR",{style:"percent",minimumFractionDigits:t}):""}(t);case"money":return xe(t);case"decimal":return ve(t);default:return t}}function qe(e,t,s){return s?function(e,t){return t.map((t=>ke(e,t)))}(e,t):ke(e,t)}function ke(e=[],t){return(e.find((e=>String(e.value)===String(t)))||{}).label||""}function Ce(e){try{return JSON.parse(e)}catch{return e}}var Ve={name:"QasBreakline",props:{split:{default:"\n",type:String},tag:{default:"div",type:String},text:{default:"",type:String}},computed:{lines(){return(this.text||pe(this.$slots.default())).split(this.split)}}};Ve.render=function(s,a,i,l,n,c){return e(!0),t(p,null,d(c.lines,((t,a)=>(e(),o(y(i.tag),r({key:a},s.$attrs),{default:u((()=>[b(f(t),1)])),_:2},1040)))),128)},Ve.__file="src/components/breakline/QasBreakline.vue";var Qe={name:"QasAlert",components:{QasBreakline:Ve,QasBtn:de},props:{modelValue:{default:!0,type:Boolean},text:{default:"",type:String},color:{type:String,default:"primary"},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 Fe={class:"q-gutter-md q-mr-lg"},Oe={key:0,class:"text-bold text-h5"};Qe.render=function(o,r,n,u,d,c){const h=l("qas-btn"),p=l("qas-breakline");return d.model?(e(),t("div",{key:0,class:s(["q-pa-lg qas-alert relative-position rounded-borders",c.classes])},[m(h,{class:"absolute-top-right q-mr-md q-mt-sm",color:n.color,dense:"",flat:"",icon:"o_close",rounded:"",onClick:c.close},null,8,["color","onClick"]),a("div",Fe,[i(o.$slots,"header",{},(()=>[n.title?(e(),t("h5",Oe,f(n.title),1)):g("v-if",!0)])),i(o.$slots,"default",{},(()=>[m(p,{tag:"p",text:n.text},null,8,["text"])]))])],2)):g("v-if",!0)},Qe.__file="src/components/alert/QasAlert.vue";var Le={name:"QasAvatar",props:{color:{default:"",type:String},dark:{type:Boolean},icon:{default:"o_error",type:String},image:{default:"",type:String},textColor:{default:"primary",type:String},title:{default:"",type:String}},data:()=>({hasImageError:!1}),computed:{avatarClass(){if(this.hasImage)return null;const e=this.color?this.color:this.contrastColor;return[this.dark?`bg-${this.textColor} text-${e}`:`bg-${e} text-${this.textColor}`]},contrastColor(){return`${this.textColor}-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}}};Le.render=function(a,i,r,n,d,c){const h=l("q-img"),m=l("q-icon"),g=l("q-avatar");return e(),o(g,{class:s(["text-bold",c.avatarClass]),rounded:""},{default:u((()=>[c.hasImage?(e(),o(h,{key:0,alt:r.title,ratio:1,"spinner-color":"primary","spinner-size":"16px",src:r.image,onError:c.onImageLoadedError},null,8,["alt","src","onError"])):c.hasTitle?(e(),t(p,{key:1},[b(f(c.firstLetter),1)],2112)):(e(),o(m,{key:2,name:r.icon},null,8,["name"]))])),_:1},8,["class"])},Le.__file="src/components/avatar/QasAvatar.vue";var Be={name:"QasAppBar",components:{QasAvatar:Le,QasBtn:de},props:{brand:{default:"",type:String},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},hasUser(){return!!Object.keys(this.user).length},userName(){return this.user.name||this.user.givenName}},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 Pe=["alt","src"],De={key:1,class:"text-bold text-grey-9 text-subtitle1 text-uppercase"},Ie={key:0,class:"q-mr-md"},Me={class:"items-center no-wrap q-gutter-md row"},Ae=["title"],Ee={class:"q-px-sm qas-app-bar__user-data qs-lh-lg text-caption"},Re={class:"ellipsis"},je={class:"ellipsis text-bold"},ze={class:"qas-app-bar__user-menu"},Te={class:"q-pa-lg text-center"},Ue={class:"ellipsis q-mt-lg qs-lh-sm text-bold text-subtitle1"},Ne={class:"ellipsis q-mt-xs text-caption"},Ge={class:"q-mt-sm"},He={class:"q-mt-sm"};Be.render=function(s,r,n,d,c,h){const p=l("q-ajax-bar"),y=l("qas-btn"),_=l("q-badge"),$=l("q-toolbar-title"),S=l("qas-avatar"),w=l("q-menu"),q=l("q-toolbar"),k=l("q-header"),C=v("close-popup");return e(),o(k,{class:"bg-white qas-app-bar shadow-14","height-hint":"70"},{default:u((()=>[m(q,{class:"qas-app-bar__toolbar",color:"bg-white"},{default:u((()=>[m(p,{color:"white",position:"top",size:"2px"}),m(y,{color:"grey-7",dense:"",flat:"",icon:"o_menu",round:"",onClick:h.toggleMenuDrawer},null,8,["onClick"]),m($,{class:"flex"},{default:u((()=>[a("div",{class:"cursor-pointer",onClick:r[0]||(r[0]=(...e)=>h.goToRoot&&h.goToRoot(...e))},[n.brand?(e(),t("img",{key:0,alt:n.title,class:"q-mr-sm qas-app-bar__brand",src:n.brand},null,8,Pe)):g("v-if",!0),h.showTitle?(e(),t("span",De,f(n.title),1)):g("v-if",!0),h.hasDevelopmentBadge?(e(),o(_,{key:2,align:"middle",class:"q-ml-sm",color:"negative",label:h.developmentBadgeLabel},null,8,["label"])):g("v-if",!0)])])),_:1}),h.hasNotifications?(e(),t("div",Ie,[m(y,{class:"q-mr-md",dense:"",icon:"o_notifications",round:"",unelevated:""},{default:u((()=>[n.notifications?(e(),o(_,{key:0,color:"red",floating:""},{default:u((()=>[b(f(n.notifications.count),1)])),_:1})):g("v-if",!0)])),_:1})])):g("v-if",!0),a("div",Me,[i(s.$slots,"tools"),h.hasUser?(e(),t("div",{key:0,class:"cursor-pointer items-center q-mr-sm qas-app-bar__user rounded-borders row text-grey-9",title:h.userName},[m(S,{class:"rounded-borders-left",color:"white",dark:"",image:n.user.photo,rounded:"",size:"42px","text-color":"primary",title:h.userName},null,8,["image","title"]),a("div",Ee,[a("div",Re,f(h.userName),1),a("div",je,f(n.user.email),1)]),m(w,{anchor:"bottom end",class:"shadow-14","max-height":"400px",offset:[0,5],self:"top end"},{default:u((()=>[a("div",ze,[a("div",Te,[a("button",{class:"unset",onClick:r[1]||(r[1]=(...e)=>h.goToProfile&&h.goToProfile(...e))},[m(S,{image:n.user.photo,size:"145px",title:h.userName},null,8,["image","title"])]),a("div",Ue,f(h.userName),1),a("div",Ne,f(n.user.email),1),a("div",Ge,[m(y,{flat:"",icon:"o_edit",label:"Editar",to:n.user.to},null,8,["to"])]),a("div",He,[x(m(y,{class:"q-px-lg q-py-xs",dense:"",icon:"o_exit_to_app",label:"Sair",outline:"",onClick:h.signOut},null,8,["onClick"]),[[C]])]),i(s.$slots,"user",{user:n.user})])])])),_:3})],8,Ae)):g("v-if",!0)])])),_:3})])),_:3})},Be.__file="src/components/app-bar/QasAppBar.vue";var We={name:"QasAppMenu",props:{items:{default:()=>[],type:Array},modelValue:{default:!0,type:Boolean},title:{default:"",type:String},brandMenu:{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.$qas.screen.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"},Ye={key:0,class:"q-ma-md"},Je=a("div",{class:"q-mb-sm text-caption text-grey-7 text-weight-medium"}," Você está no modulo: ",-1),Xe={key:0,class:"q-mx-md"},Ze=["alt","src"];We.render=function(s,i,r,n,c,h){const y=l("qas-select"),_=l("q-icon"),$=l("q-item-section"),S=l("q-item-label"),w=l("q-item"),q=l("q-expansion-item"),k=l("q-list"),C=l("q-drawer"),V=v("ripple");return e(),o(C,{modelValue:h.model,"onUpdate:modelValue":i[2]||(i[2]=e=>h.model=e),class:"qas-app-menu",mini:c.miniMode,width:230,onBeforeHide:h.beforeHide,onMiniState:h.setMiniState},{default:u((()=>[a("div",Ke,[a("div",null,[h.displayModuleSection?(e(),t("div",Ye,[Je,m(y,{modelValue:c.module,"onUpdate:modelValue":[i[0]||(i[0]=e=>c.module=e),i[1]||(i[1]=e=>h.redirectHandler(h.currentModelOption))],options:h.defaultModules},null,8,["modelValue","options"])])):g("v-if",!0),m(k,{class:"text-grey-9 text-weight-medium"},{default:u((()=>[(e(!0),t(p,null,d(r.items,((s,a)=>(e(),t(p,null,[h.hasChildren(s)?(e(),o(q,{key:s.label,ref_for:!0,ref:`item-${a}`,"active-class":h.activeItemClassesSecondary,"default-opened":h.shouldExpand(s),"expand-icon":"o_keyboard_arrow_down","expand-separator":"",group:"item",icon:s.icon,label:s.label,to:s.to,onClick:e=>h.toggleItem(a)},{default:u((()=>[(e(!0),t(p,null,d(s.children,((t,s)=>x((e(),o(w,{key:s,"active-class":h.activeItemClasses,clickable:"",to:t.to},{default:u((()=>[t.icon?(e(),o($,{key:0,avatar:""},{default:u((()=>[m(_,{name:t.icon},null,8,["name"])])),_:2},1024)):g("v-if",!0),m($,null,{default:u((()=>[m(S,null,{default:u((()=>[b(f(t.label),1)])),_:2},1024)])),_:2},1024)])),_:2},1032,["active-class","to"])),[[V]]))),128))])),_:2},1032,["active-class","default-opened","icon","label","to","onClick"])):x((e(),o(w,{key:a,"active-class":h.activeItemClasses,clickable:"",to:s.to},{default:u((()=>[s.icon?(e(),o($,{key:0,avatar:""},{default:u((()=>[m(_,{name:s.icon},null,8,["name"])])),_:2},1024)):g("v-if",!0),m($,null,{default:u((()=>[m(S,null,{default:u((()=>[b(f(s.label),1)])),_:2},1024)])),_:2},1024)])),_:2},1032,["active-class","to"])),[[V]])],64)))),256))])),_:1})]),r.brandMenu?(e(),t("div",Xe,[c.isMini?g("v-if",!0):(e(),t("img",{key:0,alt:r.title,class:"block q-mb-md q-mx-auto",src:r.brandMenu},null,8,Ze))])):g("v-if",!0)])])),_:1},8,["modelValue","mini","onBeforeHide","onMiniState"])},We.__file="src/components/app-menu/QasAppMenu.vue";var et={name:"QasBox",props:{outlined:{type:Boolean},unelevated:{type:Boolean}},computed:{boxClass(){return{"border-primary-contrast":this.outlined,"shadow-14":!this.unelevated}}}};et.render=function(a,l,o,r,n,u){return e(),t("div",{class:s(["bg-white q-px-md q-py-lg rounded-borders",u.boxClass])},[i(a.$slots,"default")],2)},et.__file="src/components/box/QasBox.vue";var tt={name:"QasCard",props:{imagePosition:{type:String,default:"center"},gutter:{type:String,default:"sm"},images:{default:()=>[],type:Array},outlined:{type:Boolean},unelevated:{type:Boolean},useHeader:{type:Boolean}},data:()=>({slideImage:0}),computed:{imagePositionClass(){return`bg-position-${this.imagePosition}`},cardClasses(){return{"shadow-14":!this.unelevated,"border-primary":this.outlined,"no-shadow":this.outlined,"bg-white":this.outlined}},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,{icon:t})=>e?"o_radio_button_checked":t}};const st={class:"col-12 col-lg-3 col-md-4 col-sm-6"},at={key:0,class:"overflow-hidden relative-position w-full"},it={class:"absolute-top flex items-center q-pa-md"},lt={key:1,class:"border-primary-contrast border-top overflow-hidden row"};tt.render=function(r,n,c,h,f,y){const b=l("qas-btn"),v=l("q-carousel-slide"),x=l("q-carousel"),_=l("q-card-section"),$=l("q-card");return e(),t("div",st,[m($,{class:s(["border-radius-lg column full-height overflow-hidden",y.cardClasses])},{default:u((()=>[c.useHeader?(e(),t("header",at,[i(r.$slots,"header",{},(()=>[m(x,{modelValue:f.slideImage,"onUpdate:modelValue":n[0]||(n[0]=e=>f.slideImage=e),animated:"",class:"cursor-pointer",height:"205px",infinite:"",navigation:y.hasImages,"navigation-icon":"o_fiber_manual_record",swipeable:""},{"navigation-icon":u((({active:e,btnProps:t,onClick:s})=>[m(b,{color:"white",dense:"",flat:"",icon:y.getNavigationIcon(e,t),round:"",size:"sm",onClick:s},null,8,["icon","onClick"])])),default:u((()=>[(e(!0),t(p,null,d(y.imagesList,((t,a)=>(e(),o(v,{key:a,class:s(["bg-no-repeat",y.imagePositionClass]),"img-src":t,name:a},null,8,["class","img-src","name"])))),128))])),_:1},8,["modelValue","navigation"]),a("div",it,[i(r.$slots,"carousel-header")])]))])):g("v-if",!0),m(_,{class:"col-grow column justify-between w-full"},{default:u((()=>[a("div",{class:s(["w-full",y.gutterClass])},[i(r.$slots,"default")],2)])),_:3}),y.hasActionsSlot?(e(),t("div",lt,[i(r.$slots,"actions")])):g("v-if",!0)])),_:3},8,["class"])])},tt.__file="src/components/card/QasCard.vue";var ot={name:"QasCheckboxGroup",props:{options:{default:()=>[],type:Array},modelValue:{default:()=>[],type:Array},inline:{default:!0,type:Boolean}},emits:["update:modelValue"],data:()=>({group:{}}),computed:{model:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}},classes(){return this.inline&&"flex q-gutter-x-sm"}},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)),i=a.filter((t=>e.includes(t)));this.group[s]=i.length&&(i.length===a.length||null)},updateCheckbox(e,t,s){this.group[s]=e;const a=t.children.map((e=>e.value)),i=e?[...new Set([...this.modelValue,...a])]:this.modelValue.filter((e=>!a.includes(e)));this.updateModelValue(i)},updateChildren(e,t,s){this.setGroupIntersection(e,t,s),this.updateModelValue(e)},getCheckboxClass(e){return this.hasChildren(e)&&"text-weight-bold"},getModelValue(e){return this.group[e]},updateModelValue(e){this.$emit("update:modelValue",e)}}};ot.render=function(a,i,n,u,c,h){const m=l("q-checkbox"),f=l("q-option-group");return e(),t("div",{class:s(h.classes)},[(e(!0),t(p,null,d(n.options,((l,u)=>(e(),t("div",{key:u},[h.hasChildren(l)?(e(),o(m,{key:0,class:s(h.getCheckboxClass(l)),label:l.label,"model-value":h.getModelValue(u),"onUpdate:modelValue":e=>h.updateCheckbox(e,l,u)},null,8,["class","label","model-value","onUpdate:modelValue"])):g("v-if",!0),h.hasChildren(l)?(e(),o(f,{key:1,class:"q-ml-sm",inline:n.inline,"model-value":n.modelValue,options:l.children,type:"checkbox","onUpdate:modelValue":e=>h.updateChildren(e,l,u)},null,8,["inline","model-value","options","onUpdate:modelValue"])):(e(),o(f,r({key:2,modelValue:h.model,"onUpdate:modelValue":i[0]||(i[0]=e=>h.model=e)},a.$attrs,{options:[l],type:"checkbox"}),null,16,["modelValue","options"]))])))),128))],2)},ot.__file="src/components/checkbox-group/QasCheckboxGroup.vue";var rt={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 D(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 nt=b("Copiar");rt.render=function(s,a,o,r,n,d){const c=l("q-tooltip"),h=l("qas-btn");return e(),t("span",null,[i(s.$slots,"default",{},(()=>[b(f(o.text),1)])),m(h,{class:"q-ml-xs",color:"grey-7",flat:"",icon:o.icon,loading:n.isLoading,round:"",size:o.size,onClick:d.copy},{default:u((()=>[m(c,null,{default:u((()=>[nt])),_:1})])),_:1},8,["icon","loading","size","onClick"])])},rt.__file="src/components/copy/QasCopy.vue";var ut={name:"QasDateTimeInput",inheritAttrs:!1,props:{dateMask:{default:"DD/MM/YYYY",type:String},dateProps:{default:()=>({}),type:Object},timeMask:{default:"HH:mm",type:String},timeProps:{default:()=>({}),type:Object},useIso:{type:Boolean},useTimeOnly:{type:Boolean},useDateOnly:{type:Boolean},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.useTimeOnly||e.push(this.dateMask),this.useDateOnly||e.push(this.timeMask),e.join(" ")}},watch:{modelValue(e,t){e&&!this.useTimeOnly?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.useTimeOnly?e:this.toISOString(e),this.$emit("update:modelValue",this.lastValue)),this.useDateOnly&&this.$refs.dateProxy.hide(),this.useTimeOnly&&this.$refs.timeProxy.hide()},toISOString(e){return e?this.useDateOnly&&!this.useIso?be(I.extractDate(e,this.maskDate),"yyyy-MM-dd"):this.useTimeOnly&&!this.useIso?I.extractDate(e,"HH:MM"):I.extractDate(e,this.maskDate).toISOString():""},toMask(e){if(!e||this.useTimeOnly)return e||"";const t=new Date(e).toISOString();return I.formatDate(this.useDateOnly?t.slice(0,23):t,this.maskDate)}}};ut.render=function(t,s,a,i,n,d){const c=l("q-date"),h=l("q-popup-proxy"),p=l("q-icon"),f=l("q-time"),y=l("qas-input");return e(),o(y,r({ref:"input"},d.attributes,{modelValue:n.currentValue,"onUpdate:modelValue":[s[2]||(s[2]=e=>n.currentValue=e),d.updateModelValue],"unmasked-value":!1}),{append:u((()=>[a.useTimeOnly?g("v-if",!0):(e(),o(p,{key:0,class:"cursor-pointer",name:"o_event"},{default:u((()=>[m(h,{ref:"dateProxy","transition-hide":"scale","transition-show":"scale"},{default:u((()=>[m(c,r({modelValue:n.currentValue,"onUpdate:modelValue":s[0]||(s[0]=e=>n.currentValue=e)},a.dateProps,{mask:d.maskDate,"onUpdate:modelValue":d.updateModelValue}),null,16,["modelValue","mask","onUpdate:modelValue"])])),_:1},512)])),_:1})),a.useDateOnly?g("v-if",!0):(e(),o(p,{key:1,class:"cursor-pointer q-ml-md",name:"o_access_time"},{default:u((()=>[m(h,{ref:"timeProxy","transition-hide":"scale","transition-show":"scale"},{default:u((()=>[m(f,r({modelValue:n.currentValue,"onUpdate:modelValue":s[1]||(s[1]=e=>n.currentValue=e)},a.timeProps,{format24h:"",mask:d.maskDate,"onUpdate:modelValue":d.updateModelValue}),null,16,["modelValue","mask","onUpdate:modelValue"])])),_:1},512)])),_:1}))])),_:1},16,["modelValue","onUpdate:modelValue"])},ut.__file="src/components/date-time-input/QasDateTimeInput.vue";var dt={name:"QasDebugger",props:{inspect:{default:()=>[],required:!0,type:Array}}};const ct={class:"bg-grey-3 q-my-md q-pa-md rounded-borders"},ht=a("summary",null,"Debugger",-1),mt={class:"row"};dt.render=function(s,i,l,o,r,n){return e(),t("details",ct,[ht,a("div",mt,[(e(!0),t(p,null,d(l.inspect,((s,a)=>(e(),t("pre",{key:a,class:"col q-pa-sm scroll",style:{"max-height":"300px"}},f(s),1)))),128))])])},dt.__file="src/components/debugger/QasDebugger.vue";var pt={name:"QasDialog",components:{QasBtn:de,QasActions:re},props:{actionsProps:{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},useCloseButton:{type:Boolean},useValidationAllAtOnce:{type:Boolean}},emits:["update:modelValue","validate"],computed:{defaultCancel(){return{label:"Cancelar",outline:!0,...this.cancel}},defaultOk(){return{label:"Ok",type:this.ok?.type||this.useForm?"submit":"button",...this.ok}},style(){return{maxWidth:this.maxWidth||(this.$qas.screen.isSmall?"":"600px"),minWidth:this.minWidth||(this.$qas.screen.isSmall?"":"400px")}},componentTag(){return this.useForm?"q-form":"div"},dialogProps(){return{...!this.usePlugin&&{modelValue:this.modelValue},...this.$attrs}}},methods:{async submitHandler(){if(this.useForm)if(this.useValidationAllAtOnce){let e=!0;const t=this.$refs.form.getValidationComponents()||[];for(const s of t){const t=s?.validate?.();t||(e=!1)}this.$emit("validate",e)}else this.$emit("validate",await this.$refs.form.validate())},show(){this.$refs.dialog.show()},hide(){this.$refs.dialog.hide()},updateModelValue(e){this.$emit("update:modelValue",e)}}};const ft={class:"justify-between row"},gt={class:"text-bold text-h6"},yt={key:0};pt.render=function(s,n,d,p,b,_){const $=l("qas-btn"),S=l("q-card-section"),w=l("qas-actions"),q=l("q-card"),k=l("q-dialog"),C=v("close-popup");return e(),o(k,r({ref:"dialog",persistent:d.persistent},_.dialogProps,{"onUpdate:modelValue":_.updateModelValue}),{default:u((()=>[m(q,r(d.cardProps,{class:"q-pa-sm",style:_.style}),{default:u((()=>[m(S,null,{default:u((()=>[i(s.$slots,"header",{},(()=>[a("div",ft,[a("div",gt,f(d.card.title),1),d.useCloseButton?x((e(),o($,{key:0,dense:"",flat:"",icon:"o_close",rounded:""},null,512)),[[C]]):g("v-if",!0)])]))])),_:3}),m(S,{class:"q-pt-none"},{default:u((()=>[(e(),o(y(_.componentTag),{ref:"form"},{default:u((()=>[i(s.$slots,"description",{},(()=>[d.card.description?(e(),t("div",yt,f(d.card.description),1)):g("v-if",!0)]))])),_:3},512))])),_:3}),m(S,null,{default:u((()=>[i(s.$slots,"actions",{},(()=>[m(w,c(h(d.actionsProps)),{primary:u((()=>[d.ok?x((e(),o($,r({key:0,class:"full-width"},_.defaultOk,{onClick:_.submitHandler}),null,16,["onClick"])),[[C,!d.useForm]]):g("v-if",!0)])),secondary:u((()=>[d.cancel?x((e(),o($,r({key:0,class:"full-width"},_.defaultCancel),null,16)),[[C]]):g("v-if",!0)])),_:1},16)]))])),_:3})])),_:3},16,["style"])])),_:3},16,["persistent","onUpdate:modelValue"])},pt.__file="src/components/dialog/QasDialog.vue";var bt=(e={})=>{M.create({component:pt,componentProps:{...e,usePlugin:!0}})},vt=()=>{const e=process.env.DEBUGGING,t=e=>`%c ${e}`,s=e=>`\n background: ${e?"#C10015 ":"#1976d2"};\n font-weight: bold;\n color: white;\n padding: 6px 20px;\n border-radius: 4px;\n display: block;\n width: 100%;\n font-size: 12px;\n `;return{group(a,i=[],{error:l}={}){if(e){console.groupCollapsed(t(a),s(l));for(const e of i)"string"!=typeof e?console.table(e):console.info(t(e),s(l));console.groupEnd()}},info(a){e&&console.info(t(a),s())},error(a){e&&console.info(t(a),s(!0))}}};A.registerType("error",{color:"negative",progress:!0});var xt=(e,t)=>{A.create({caption:t,message:e,type:"error"})};A.registerType("success",{icon:"o_check",progress:!0});var _t=(e,t)=>{A?.create({caption:t,message:e,type:"success"})},$t=()=>{const e={isSmall:()=>E.xs,isMedium:()=>E.sm,isLarge:()=>E.gt.sm,untilMedium:()=>E.lt.sm,untilLarge:()=>E.lt.md,isMobile:()=>R.is.mobile||!1},t={};for(const s in e)Object.defineProperty(t,s,{get:()=>e[s](),enumerable:!0});return t};const St=_({list:[]});function wt(){const e=$((()=>St.list.length>1));return{history:St,hasPreviousRoute:e,getPreviousRoute:function(e){const t=H(St.list,(t=>t.name===e.name));return~t&&St.list.splice(t,1),St.list[St.list.length-1]},addRoute:function(e){St.list?.[St.list?.length-1]?.name===e.name||St.list.push(e)},destroyRoutes:function(e){if(!St.list.length)return null;e.forEach((e=>{const t=St.list.findIndex((t=>t.name===e.name));~t&&St.list.splice(t,1)}))}}}var qt={name:"QasDelete",components:{QasBtn:de,QasDialog:pt},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},deleting:{type:Boolean},useAutoDeleteRoute:{default:!0,type:Boolean}},emits:["success","error","update:deleting"],data:()=>({showDialog:!1}),computed:{defaultDialogProps(){return{card:{title:"Confirmar",description:"Tem certeza que deseja excluir este item?"},ok:{label:"Excluir",onClick:this.destroy},...this.dialogProps}},id(){return this.customId||this.$route.params.id}},methods:{openConfirmDialog(){this.showDialog=!0},async destroy(){j.show(),this.$emit("update:deleting",!0);try{const{destroyRoutes:e,history:t}=wt(),s={id:this.id,url:this.url};if(this.$qas.logger.group(`QasDelete - destroy -> Payload do parâmetro do ${this.entity}/destroy`,[s]),await this.$store.dispatch(`${this.entity}/destroy`,s),_t("Item deletado com sucesso!"),this.useAutoDeleteRoute){e(this.getRoutesToBeDeletedById(t.list))}this.createDeleteSuccessEvent(),this.$emit("success"),this.$qas.logger.info("QasDelete - destroy -> item deletado com sucesso!")}catch(e){xt("Ops! Não foi possível deletar o item."),this.$emit("error",e),this.$qas.logger.group(`QasDelete - destroy -> exceção da action ${this.entity}/destroy`,[e],{error:!0})}finally{j.hide(),this.$emit("update:deleting",!1)}},getRoutesToBeDeletedById(e=[]){return e.filter((({params:e})=>e.id===this.id))},createDeleteSuccessEvent(){const e=new CustomEvent("delete-success",{bubbles:!1,cancelable:!1,detail:{entity:this.entity,url:this.url,id:this.id}});window.dispatchEvent(e)}}};qt.render=function(s,a,f,g,b,v){const x=l("qas-dialog");return e(),t(p,null,[(e(),o(y(f.tag),r(s.$attrs,{onClick:v.openConfirmDialog}),n({_:2},[d(s.$slots,((e,t)=>({name:t,fn:u((e=>[i(s.$slots,t,c(h(e||{})))]))})))]),1040,["onClick"])),m(x,r({modelValue:b.showDialog,"onUpdate:modelValue":a[0]||(a[0]=e=>b.showDialog=e)},v.defaultDialogProps),null,16,["modelValue"])],64)},qt.__file="src/components/delete/QasDelete.vue";var kt={name:"QasDialogRouter",emits:["error","hide"],expose:["show","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{j.show();const e=S(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){xt("Ops! Erro ao carregar item."),this.$emit("error",e)}finally{j.hide()}}}};kt.render=function(t,s,a,i,r,n){const d=l("q-card-section"),c=l("q-card"),h=l("q-dialog");return e(),o(h,{ref:"dialog",persistent:"",onHide:n.onDialogHide},{default:u((()=>[m(c,{class:"full-width",style:{"max-width":"80vw"}},{default:u((()=>[m(d,null,{default:u((()=>[r.component?(e(),o(y(r.component),{key:0,route:r.route,"use-boundary":!1,onHide:n.hide},null,8,["route","onHide"])):g("v-if",!0)])),_:1})])),_:1})])),_:1},8,["onHide"])},kt.__file="src/components/dialog-router/QasDialogRouter.vue";var Ct={name:"QasInput",inheritAttrs:!1,props:{error:{type:Boolean},errorMessage:{type:String,default:""},modelValue:{default:"",type:[String,Number]},outlined:{default:!0,type:Boolean},unmaskedValue:{default:!0,type:Boolean},useRemoveErrorOnType:{type:Boolean}},emits:["update:modelValue"],data:()=>({errorData:!1,messageErrorData:""}),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.useRemoveErrorOnType&&this.error&&(this.errorData=!1,this.errorMessageData=""),this.$emit("update:modelValue",e)}}},watch:{mask(){const e=this.getInput();requestAnimationFrame((()=>{e.selectionStart=e.value?e.value.length:""}))},error:{handler(e){this.errorData=e},immediate:!0},errorMessage:{handler(e){this.errorMessageData=e},immediate:!0}},methods:{focus(){return this.inputReference.focus()},resetValidation(){return this.inputReference.resetValidation()},toggleMask(e,t){if(!this.modelValue?.length)return;const s=e.split("#").length-2;return this.modelValue?.length>s?t:e},validate(e){return this.inputReference.validate(e)},onPaste(e){if(!this.mask)return;const t=e.clipboardData.getData("text"),s=this.getInput();requestAnimationFrame((()=>{this.$emit("update:modelValue",t),s.selectionStart=s.value?s.value.length:""}))},getInput(){return this.inputReference.$el?.querySelector("input")}}};Ct.render=function(t,s,a,m,p,f){const g=l("q-input");return e(),o(g,r({ref:"input",modelValue:f.model,"onUpdate:modelValue":s[0]||(s[0]=e=>f.model=e),"bottom-slots":"",error:p.errorData},t.$attrs,{"error-message":t.errorMessageData,mask:f.mask,outlined:a.outlined,"unmasked-value":a.unmaskedValue,onPaste:f.onPaste}),n({_:2},[d(t.$slots,((e,s)=>({name:s,fn:u((e=>[i(t.$slots,s,c(h(e||{})))]))})))]),1040,["modelValue","error","error-message","mask","outlined","unmasked-value","onPaste"])},Ct.__file="src/components/input/QasInput.vue";const Vt={decimal:"commaDecimalCharDotSeparator",integer:["commaDecimalCharDotSeparator","integer"],money:"Brazilian",percent:"percentageEU2dec"};var Qt={name:"QasNumericInput",props:{autonumericOptions:{default:()=>({}),type:Object},decimalPlaces:{default:2,type:Number},mode:{default:"integer",type:String,validator:e=>["integer","decimal","percent","money"].includes(e)},modelValue:{default:"",type:[String,Number],validator:e=>"number"==typeof e||"string"==typeof e||""===e||null===e},preset:{default:!1,type:[Boolean,String]},useNegative:{default:!0,type:Boolean},usePositive:{default:!0,type:Boolean}},emits:["update:modelValue","update-model"],data:()=>({autoNumeric:null}),computed:{defaultMode(){return Vt[this.mode]}},watch:{modelValue(e){this.autoNumeric&&this.autoNumeric.set(e)}},async created(){const e=Z.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.useNegative||(s.minimumValue=0),this.usePositive||(s.maximumValue=0),"integer"!==this.mode&&(s.decimalPlaces=this.decimalPlaces),Object.assign(s,this.autonumericOptions),this.$nextTick((()=>{this.autoNumeric=new Z(this.$refs.input,s),this.autoNumeric.set(this.modelValue)}))},beforeUnmount(){this.autoNumeric.remove()},methods:{setSelect(){this.$refs?.input?.select()},emitValue(){this.$emit("update:modelValue",this.autoNumeric.getNumber())},emitUpdateModel(e){this.$emit("update-model",{value:e,raw:this.autoNumeric.getNumber()})}}};const Ft=["id"];Qt.render=function(t,s,i,r,n,d){const c=l("q-field");return e(),o(c,{"model-value":i.modelValue,outlined:""},{control:u((({floatingLabel:e,id:t})=>[x(a("input",{id:t,ref:"input",class:"q-field__input",onBlur:s[0]||(s[0]=(...e)=>d.emitValue&&d.emitValue(...e)),onClick:s[1]||(s[1]=(...e)=>d.setSelect&&d.setSelect(...e)),onInput:s[2]||(s[2]=e=>d.emitUpdateModel(e.target.value))},null,40,Ft),[[w,e]])])),_:1},8,["model-value"])},Qt.__file="src/components/numeric-input/QasNumericInput.vue";const Ot={0:{color:"negative",label:"Muito fraco",progress:.05,textClass:"text-negative"},1:{color:"warning",label:"Fraco",progress:.25,textClass:"text-warning"},2:{color:"warning",label:"Bom",progress:.5,textClass:"text-warning"},3:{color:"positive",label:"Forte",progress:.75,textClass:"text-positive"},4:{color:"positive",label:"Muito forte",progress:1,textClass:"text-positive"}};var Lt={props:{levels:{default:()=>Ot,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}}},Bt={name:"QasPasswordStrengthChecker",mixins:[Lt],props:{modelValue:{default:!1,type:Boolean},password:{default:"",type:String}},emits:["update:modelValue"],computed:{length(){return this.password.length},level(){return this.levels[this.score]},score(){let e=-1;return 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+=this.length>=parseInt(this.minlength)?1:0,e}},watch:{password(){this.emitValue()}},created(){this.emitValue()},methods:{emitValue(){this.$emit("update:modelValue",4===this.score)}}};const Pt={key:0};Bt.render=function(o,r,n,u,d,c){const h=l("q-linear-progress");return c.length?(e(),t("div",Pt,[i(o.$slots,"default",{level:c.level},(()=>[m(h,{color:c.level.color,"track-color":o.trackColor,value:c.level.progress},null,8,["color","track-color","value"]),a("div",{class:s(["text-caption",c.level.textClass])},f(c.level.label),3)]))])):g("v-if",!0)},Bt.__file="src/components/password-strength-checker/QasPasswordStrengthChecker.vue";var Dt={name:"QasPasswordInput",components:{QasPasswordStrengthChecker:Bt},mixins:[Lt],inheritAttrs:!1,props:{useStrengthChecker:{default:!0,type:Boolean},iconColor:{type:String,default:"primary"},modelValue:{type:String,default:""}},emits:["update:modelValue"],data:()=>({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"}},methods:{toggle(){this.toggleType=!this.toggleType}}};Dt.render=function(t,s,a,p,f,g){const y=l("q-icon"),b=l("qas-password-strength-checker"),v=l("qas-input");return e(),o(v,r({modelValue:g.model,"onUpdate:modelValue":s[0]||(s[0]=e=>g.model=e),"bottom-slots":!1},t.$attrs,{type:g.type,"use-remove-error-on-type":""}),n({append:u((()=>[m(y,{class:"cursor-pointer",color:a.iconColor,name:g.icon,onClick:g.toggle},null,8,["color","name","onClick"])])),_:2},[d(t.$slots,((e,s)=>({name:s,fn:u((e=>[i(t.$slots,s,c(h(e||{})))]))}))),a.useStrengthChecker?{name:"hint",fn:u((()=>[m(b,r(g.strengthCheckerProps,{password:g.model}),null,16,["password"])]))}:void 0]),1040,["modelValue","type"])},Dt.__file="src/components/password-input/QasPasswordInput.vue";var It={name:"QasUploader",components:{QasAvatar:Le},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},useObjectModel:{type:Boolean}},emits:["update:modelValue","update:uploading"],data:()=>({isFetching:!1,isUploading:!1,hiddenInputElement: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.hiddenInputElement=this.$refs.hiddenInput,this.uploader=this.$refs.uploader,this.hiddenInputElement?.addEventListener?.("change",this.addFiles)},unmounted(){this.hiddenInputElement?.removeEventListener?.("change",this.addFiles)},methods:{async factory([e]){this.isMultiple||this.hasHeaderSlot||this.$refs.buttonCleanFiles.$el.click();const t=`${T()}.${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),xt("Ops! Erro ao enviar o arquivo.")},dispatchUpload(){this.$refs.buttonCleanFiles.$el.click(),this.hiddenInputElement.click()},uploaded(e){const t=e.xhr.responseURL.split("?").shift(),s={format:e.files[0].type,url:t,name:e.files[0].name},a=this.useObjectModel?s:t;this.$emit("update:modelValue",this.isMultiple?[...this.modelValue,a]:a||""),this.updateUploading(!1),this.$qas.logger.group("QasUploader - uploaded",[this.modelValue])},async fetchCredentials(e){this.isFetching=!0;try{const{data:t}=await this.$axios.post("/upload-credentials/",{entity:this.entity,filename:e});return this.$qas.logger.group("QasUploader - fetchCredentials -> resposta de /upload-credentials/",[t]),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),i=this.modelValue.findIndex((t=>this.useObjectModel?t.uuid===e||t.url.includes(e):this.getFileName(t)===e));a.splice(i,1),this.$emit("update:modelValue",a)},getFileName:e=>e.split("/").pop(),getFilesList(e){e=e.map(((e,t)=>({isUploaded:!0,url:e.xhr?e.xhr.responseURL.split("?").shift():"",name:e.name,progressLabel:e.__progressLabel,sizeLabel:e.__sizeLabel,indexToDelete:t,isFailed:this.isFailed(e)})));const t=[...Array.isArray(this.modelValue)?this.modelValue:this.modelValue?[this.modelValue]:[],...e],s={};return t.forEach((e=>{if(this.useObjectModel&&e.uuid)s[e.uuid]=e;else if(e.isFailed)s[e.name]=e;else if("string"!=typeof e){if(e.url){const t=this.getFileName(e.url);s[t]=e}}else{const t=this.getFileName(e);s[t]={url:e,isUploaded:!1,name:t}}})),this.$qas.logger.group("QasUploader - getFilesList",[s]),s},getFileNameClass:e=>e?"text-negative":"text-grey-9",isFailed:e=>"failed"===e.__status,getColorFileIcon(e){return this.isFailed(e)?"negative":"primary"},async addFiles(){const e=Array.from(this.hiddenInputElement.files),t=[];this.$refs.hiddenInput.value="",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:i,height:l}=await function(e){return new Promise(((t,s)=>{e.addEventListener("load",(()=>{t({width:e.naturalWidth,height:e.naturalHeight})})),e.addEventListener("error",s)}))}(s);if(i<=this.sizeLimit)return this.$qas.logger.info("\n QasUploader - resizeImage -> Tamanho da imagem menor que o tamanho limite,\n sendo assim, não faz o resize\n "),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,i,l);a.width=o.width,a.height=o.height,s.crossOrigin="",s.width=i,s.height=l;const r=ee(),n=await r.resize(s,a,this.defaultPicaResizeOptions),u=await r.toBlob(n,t,.9),d=new File([u],e.name,{type:t});return this.$qas.logger.group("QasUploader - resizeImage -> nova imagem",[d]),d}catch{return e}},updateUploading(e){this.$emit("update:uploading",e)}}};const Mt={class:"flex flex-center full-width justify-between no-border no-wrap q-gutter-xs q-pa-sm text-white transparent"},At={class:"col column items-start justify-center"},Et={key:0,class:"q-uploader__title"},Rt={key:1,class:"q-uploader__subtitle"},jt=["accept","multiple"],zt={class:"col-12 q-col-gutter-md row"},Tt={class:"col items-center no-wrap row"},Ut={key:0,class:"text-caption"},Nt={class:"items-center q-ml-sm row"};It.render=function(c,h,y,b,v,x){const _=l("q-spinner"),$=l("qas-btn"),S=l("qas-avatar"),w=l("q-icon"),q=l("q-uploader"),k=l("q-field");return e(),o(k,{borderless:"",class:"qas-uploader",error:x.hasErrorMessage,"error-message":y.errorMessage,hint:x.hintValue,"no-error-icon":""},n({default:u((()=>[m(q,r({ref:"uploader","auto-upload":"",bordered:"",class:x.uploaderClasses,factory:x.factory,flat:"","max-files":y.maxFiles,method:"PUT",readonly:y.readonly},x.attributes,{onFactoryFailed:x.factoryFailed,onUploaded:x.uploaded,onUploading:h[1]||(h[1]=e=>x.updateUploading(!0))}),{header:u((s=>[i(c.$slots,"header",{scope:s},(()=>[a("div",Mt,[s.isUploading?(e(),o(_,{key:0,size:"24px"})):g("v-if",!0),a("div",At,[c.$attrs.label?(e(),t("div",Et,f(c.$attrs.label),1)):g("v-if",!0),s.files.length?(e(),t("div",Rt,f(s.uploadProgressLabel)+" ("+f(s.uploadSizeLabel)+") ",1)):g("v-if",!0)]),x.showAddFile?(e(),o($,{key:1,ref:"buttonUpload",color:"white",dense:"",flat:"",icon:"o_add",round:"",onClick:h[0]||(h[0]=e=>c.$refs.hiddenInput.click())},null,512)):g("v-if",!0),a("input",{ref:"hiddenInput",accept:x.attributes.accept,class:"qas-uploader__input",multiple:x.isMultiple,type:"file"},null,8,jt),m($,{ref:"buttonCleanFiles",class:"hidden",color:"white",onClick:s.removeUploadedFiles},null,8,["onClick"]),s.canUpload?(e(),o($,{key:2,color:"white",dense:"",flat:"",icon:"o_cloud_upload",round:"",onClick:s.upload},null,8,["onClick"])):g("v-if",!0),s.isUploading?(e(),o($,{key:3,color:"white",dense:"",flat:"",icon:"o_clear",round:"",onClick:s.abort},null,8,["onClick"])):g("v-if",!0)])]))])),list:u((l=>[i(c.$slots,"list",{scope:l},(()=>[a("div",zt,[(e(!0),t(p,null,d(x.getFilesList(l.files,l),((i,r)=>(e(),t("div",{key:r,class:s(["row",x.itemClass])},[m(S,{class:"q-mr-sm",color:"contrast-primary",icon:"o_attach_file",image:i.url,rounded:"","text-color":x.getColorFileIcon(i)},null,8,["image","text-color"]),a("div",Tt,[a("div",{class:s(["column no-wrap",{col:x.isMultiple}])},[a("div",{class:s(["ellipsis",x.getFileNameClass(i.isFailed)])},f(i.name),3),i.isUploaded?(e(),t("div",Ut,f(i.progressLabel)+" ("+f(i.sizeLabel)+")",1)):g("v-if",!0)],2),a("div",Nt,[i.isFailed?(e(),o(w,{key:0,color:"negative",name:"o_warning",size:"20px"})):g("v-if",!0),l.readonly?g("v-if",!0):(e(),o($,{key:1,dense:"",flat:"",icon:"o_delete",round:"",onClick:e=>x.removeItem(r,l,i)},null,8,["onClick"]))])])],2)))),128))])]))])),_:3},16,["class","factory","max-files","readonly","onFactoryFailed","onUploaded"]),i(c.$slots,"custom-upload",{context:x.self})])),_:2},[x.hasErrorMessage?{name:"after",fn:u((()=>[m(w,{color:"negative",name:"o_error"})]))}:void 0]),1032,["error","error-message","hint"])},It.__file="src/components/uploader/QasUploader.vue";var Gt={name:"QasSignaturePad",components:{QasBtn:de},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","getSignatureData"],data:()=>({canvasId:T(),hasEndStrokeEvent:!1,signaturePad:null,SignaturePad:null}),watch:{async signatureOptions(e,t){W(e,t)||(await this.setupSignaturePad(),this.updateEmptyModel())}},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()},getSignatureData(){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 te(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 Ht={ref:"signatureContainer",class:"qas-signature-pad relative-position"},Wt=["id","height"];Gt.render=function(s,r,n,u,d,c){const h=l("qas-btn");return e(),t(p,null,[a("div",Ht,[a("canvas",{id:d.canvasId,ref:s.$attrs.ref,class:"qas-signature-pad__canvas rounded-borders vertical-bottom",height:n.height},null,8,Wt),n.empty?g("v-if",!0):(e(),o(h,{key:0,class:"absolute-bottom-right q-mb-sm q-mr-sm",color:"primary",dense:"",icon:"o_delete",round:"",onClick:c.clearSignature},null,8,["onClick"]))],512),a("div",null,[i(s.$slots,"default",{clearSignature:c.clearSignature,getSignatureData:c.getSignatureData})])],64)},Gt.__file="src/components/signature-pad/QasSignaturePad.vue";var Kt={name:"QasSignatureUploader",components:{QasBtn:de,QasDialog:pt,QasUploader:It,QasSignaturePad:Gt},props:{dialogProps:{type:Object,default:()=>({})},uploadLabel:{default:"",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")},defaultDialogProps(){return{maxWidth:"620px",...this.dialogProps}},signaturePadWidth(){return{[this.$qas.screen.isSmall]:{width:"100%"},[this.$qas.screen.isMedium]:{width:"570px"},[this.$qas.screen.isLarge]:{width:"350px"}}.true},signaturePadHeight(){return{[this.$qas.screen.isSmall]:"250",[this.$qas.screen.isMedium]:"400",[this.$qas.screen.isLarge]:"250"}.true}},methods:{NotifyError:xt,openDialog(){this.readonly||(this.isOpenedDialog=!0)},getSignatureData(){this.$refs.buttonCleanFiles.$el.click(),this.base64=this.$refs.signaturePadModal.getSignatureData(),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),i=atob(a),l=new ArrayBuffer(i.length),o=new Uint8Array(l);for(const e in[...i])o[e]=i.charCodeAt(e);return new Blob([l],{type:s})}(this.base64),i=new File([a],`${t}.${s}`,{type:this.type});e.addFiles([i])}catch{xt("Ops! Erro ao enviar sua assinatura.")}}}};const Yt={class:"col column items-start justify-center"},Jt={key:0,class:"q-uploader__title"},Xt=a("div",{class:"text-bold text-center"},"Insira sua assinatura digital no campo abaixo",-1);Kt.render=function(i,n,d,c,h,p){const y=l("qas-btn"),b=l("qas-uploader"),v=l("qas-signature-pad"),x=l("qas-dialog");return e(),t("div",null,[m(b,r({ref:"uploader",modelValue:p.model,"onUpdate:modelValue":n[1]||(n[1]=e=>p.model=e),label:d.uploadLabel,readonly:d.readonly,"use-resize":!1},i.$attrs),{header:u((({scope:i})=>[a("div",{class:s(["cursor-pointer flex flex-center full-width justify-between no-border no-wrap q-gutter-xs text-white transparent",p.headerClass]),onClick:n[0]||(n[0]=(...e)=>p.openDialog&&p.openDialog(...e))},[a("div",Yt,[d.uploadLabel?(e(),t("div",Jt,f(d.uploadLabel),1)):g("v-if",!0)]),d.readonly?g("v-if",!0):(e(),o(y,{key:0,color:"white",dense:"",flat:"",icon:"o_add",round:"",onClick:p.openDialog},null,8,["onClick"])),m(y,{ref:"forceUpload",class:"hidden",onClick:e=>p.upload(i)},null,8,["onClick"]),m(y,{ref:"buttonCleanFiles",class:"hidden",onClick:i.removeUploadedFiles},null,8,["onClick"])],2)])),_:1},16,["modelValue","label","readonly"]),m(x,r({modelValue:h.isOpenedDialog,"onUpdate:modelValue":n[3]||(n[3]=e=>h.isOpenedDialog=e)},p.defaultDialogProps),{header:u((()=>[Xt])),description:u((()=>[a("div",{style:q(p.signaturePadWidth)},[m(v,{ref:"signaturePadModal",empty:h.isEmpty,"onUpdate:empty":n[2]||(n[2]=e=>h.isEmpty=e),height:p.signaturePadHeight},null,8,["empty","height"])],4)])),actions:u((()=>[m(y,{class:"full-width",color:"primary",disable:h.isEmpty,label:"Salvar","no-caps":"",onClick:p.getSignatureData},null,8,["disable","onClick"]),m(y,{class:"full-width q-mt-sm",color:"primary",flat:"",label:"Cancelar","no-caps":"",onClick:p.closeSignature},null,8,["onClick"])])),_:1},16,["modelValue"])])},Kt.__file="src/components/signature-uploader/QasSignatureUploader.vue";const Zt={maxLength:"maxlength",minLength:"minlength",readOnly:"readonly"};var es={name:"QasField",components:{QasCheckboxGroup:ot,QasDateTimeInput:ut,QasInput:Ct,QasNumericInput:Qt,QasPasswordInput:Dt,QasUploader:It,QasSignatureUploader:Kt},inheritAttrs:!1,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:i,multiple:l,name:o,options:r,readonly:n,disable:u,filled:d=n,suffix:c,prefix:h,type:m,mask:p,maxFiles:f,useIso:g,useSearch:y,useLazyLoading:b}=this.formattedField,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:i,suffix:c,prefix:h,useIso:g},_={is:"qas-numeric-input",...x},$={is:"qas-date-time-input",useIso:g,...x},S=t&&t.length?t.map((e=>`.${e}`)).join(","):"",w={default:{is:"qas-input",...x,mask:p},textarea:{is:"qas-input",type:m,...x},number:{is:"qas-input",type:"number",...x},hidden:{is:"input",name:o,type:m},email:{is:"qas-input",type:m,...x},password:{is:"qas-password-input",...x},decimal:{..._,mode:"decimal"},money:{..._,mode:"money"},percent:{..._,mode:"percent"},date:{...$,useDateOnly:!0},datetime:{...$},time:{...$,useTimeOnly:!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:S,autoUpload:!0,entity:e,label:s,multiple:l,readonly:n,maxFiles:f,...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",entity:e,name:o,multiple:l,options:r,useSearch:y,useLazyLoading:b,...x}};return{...w[m]||w.default,...this.$attrs}},errorMessage(){return Array.isArray(this.error)?this.error.join(" "):this.error},formattedField(){const e={};for(const t in this.field)e[Zt[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)}}};es.render=function(t,s,a,l,m,p){return e(),o(y(p.component.is),r(p.component,{"data-cy":a.field.name,"model-value":p.formattedValue,"onUpdate:modelValue":p.updateModel}),n({_:2},[d(t.$slots,((e,s)=>({name:s,fn:u((e=>[i(t.$slots,s,c(h(e||{})))]))})))]),1040,["data-cy","model-value","onUpdate:modelValue"])},es.__file="src/components/field/QasField.vue";var ts={computed:{mx_context(){const{limit:e,ordering:t,page:s,search:a,...i}=this.$route.query;return{filters:i,limit:e,ordering:t,page:s?parseInt(s):1,search:a}}}},ss={name:"QasFilters",components:{QasBtn:de,QasField:es},mixins:[ts],props:{useChip:{default:!0,type:Boolean},entity:{required:!0,type:String},useFilterButton:{default:!0,type:Boolean},useSearch:{default:!0,type:Boolean},useSearchOnType:{default:!0,type:Boolean},searchPlaceholder:{default:"Pesquisar...",type:String},url:{default:"",type:String},useForceRefetch:{type:Boolean}},emits:["fetch-success","fetch-error"],data:()=>({filters:{},hasFetchError:!1,isFetching:!1,search:""}),computed:{activeFilters(){if(!this.hasFields)return{};const e={},t=Object.keys(this.fields),s=Q(this.mx_context.filters);for(const a in s){if(t.includes(a)){const t=we(this.fields[a],this.normalizeValues(s[a],this.fields[a]?.multiple)),{label:i,name:l}=this.fields[a];e[a]={label:i,name:l,value:t}}}return e},debounce(){return this.useSearchOnType?"500":""},fields(){return this.$store.getters[`${this.entity}/filters`]},filterButtonColor(){return this.hasActiveFilters?"primary":"grey-9"},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:e,...t}=this.mx_context;if(this.hasFields){const s=Object.keys(this.fields);for(const a in e){const e=V(a);s.includes(e)&&(delete t[a],delete this.filters[a])}}else this.filters={};this.$router.push({query:t})},clearSearch(){this.search="",this.filter()},async fetchFilters(){if(!this.useForceRefetch&&(this.hasFields||!this.useFilterButton))return null;this.hasFetchError=!1,this.isFetching=!0;try{this.$qas.logger.group(`QasFilters - fetchFilters -> Payload do parâmetro do ${this.entity}/fetchFilters`,[{url:this.url}]);const e=await this.$store.dispatch(`${this.entity}/fetchFilters`,{url:this.url});this.$emit("fetch-success",e),this.$qas.logger.group(`QasFilters - fetchFilters -> resposta da action ${this.entity}/fetchFilters`,[e])}catch(e){this.hasFetchError=!0,this.$emit("fetch-error",e),this.$qas.logger.group(`QasFilters - fetchFilters -> exceção da action ${this.entity}/fetchFilters`,[e],{error:!0})}finally{this.isFetching=!1}},filter(e){const{filters:t,page:s,...a}=this.mx_context,i={...t,...this.filters,...e,...a,search:this.search||void 0};this.$router.push({query:i})},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]=Ce(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 as={class:"q-mb-lg"},is={key:0,class:"q-gutter-x-md row"},ls={key:0,class:"col"},os={key:0,class:"q-pa-xl text-center"},rs={key:1,class:"q-pa-xl text-center"},ns={class:"text-right"},us={key:1,class:"q-mt-md"};ss.render=function(s,r,n,c,h,y){const v=l("qas-btn"),x=l("qas-input"),_=l("q-form"),$=l("q-spinner"),S=l("q-icon"),w=l("qas-field"),q=l("q-menu"),C=l("q-chip");return e(),t("section",as,[y.showFilters?(e(),t("div",is,[y.showSearch?(e(),t("div",ls,[i(s.$slots,"search",{filter:y.filter},(()=>[n.useSearch?(e(),o(_,{key:0,onSubmit:r[2]||(r[2]=k((e=>y.filter()),["prevent"]))},{default:u((()=>[m(x,{modelValue:h.search,"onUpdate:modelValue":r[1]||(r[1]=e=>h.search=e),debounce:y.debounce,dense:"","hide-bottom-space":"",outlined:!1,placeholder:n.searchPlaceholder,type:"search"},{append:u((()=>[y.hasSearch?(e(),o(v,{key:0,color:"grey-9",flat:"",icon:"o_clear",unelevated:"",onClick:y.clearSearch},null,8,["onClick"])):g("v-if",!0),y.debounce?g("v-if",!0):(e(),o(v,{key:1,color:"grey-9",flat:"",icon:"o_search",type:"submit",unelevated:"",onClick:r[0]||(r[0]=e=>y.filter())}))])),_:1},8,["modelValue","debounce","placeholder"])])),_:1})):g("v-if",!0)]))])):g("v-if",!0),y.showFilterButton?i(s.$slots,"filter-button",{key:1,filter:y.filter},(()=>[n.useFilterButton?(e(),o(v,{key:0,color:y.filterButtonColor,flat:"",icon:"o_filter_list",label:y.filterButtonLabel},{default:u((()=>[m(q,{class:"full-width","max-width":"240px"},{default:u((()=>[h.isFetching?(e(),t("div",os,[m($,{color:"grey",size:"2em"})])):h.hasFetchError?(e(),t("div",rs,[m(S,{color:"negative",name:"o_warning",size:"2em"})])):(e(),o(_,{key:2,class:"q-gutter-y-md q-pa-md",onSubmit:r[3]||(r[3]=k((e=>y.filter()),["prevent"]))},{default:u((()=>[(e(!0),t(p,null,d(y.fields,((s,a)=>(e(),t("div",{key:a},[m(w,{modelValue:h.filters[s.name],"onUpdate:modelValue":e=>h.filters[s.name]=e,dense:"",field:s},null,8,["modelValue","onUpdate:modelValue","field"])])))),128)),a("div",ns,[m(v,{class:"q-mr-sm",flat:"",label:"Limpar","no-caps":!1,size:"12px",unelevated:"",onClick:y.clearFilters},null,8,["onClick"]),m(v,{color:"primary",label:"Filtrar","no-caps":!1,size:"12px",type:"submit",unelevated:""})])])),_:1}))])),_:1})])),_:1},8,["color","label"])):g("v-if",!0)])):g("v-if",!0)])):g("v-if",!0),n.useChip&&y.hasActiveFilters?(e(),t("div",us,[(e(!0),t(p,null,d(y.activeFilters,((t,s)=>(e(),o(C,{key:s,color:"primary",dense:"",removable:"",size:"md","text-color":"white",onRemove:e=>y.removeFilter(t)},{default:u((()=>[b(f(t.label)+' = "'+f(y.getChipValue(t.value))+'"',1)])),_:2},1032,["onRemove"])))),128))])):g("v-if",!0),i(s.$slots,"default",{context:s.mx_context,filter:y.filter,filters:y.activeFilters,removeFilter:y.removeFilter})])},ss.__file="src/components/filters/QasFilters.vue";const ds=["col","col-auto","fit"];var cs={props:{columns:{default:()=>[],type:[Array,String,Object]},fields:{default:()=>({}),type:Object},gutter:{default:"md",type:[String,Boolean],validator:e=>"boolean"==typeof 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:i,...l}=e||{};for(const e in l){const a=l[e];t.push(ds.includes(a)?a:`${s[e]}-${a}`)}return[...t,i]},mx_getFieldClass(e,t){return"string"==typeof this.columns?ds.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:{};if(!t)for(const e in this.normalizedFields)Object.assign(s,this.normalizedFields[e].fields.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"}},hs={name:"QasFormGenerator",components:{QasField:es},mixins:[cs],props:{errors:{default:()=>({}),type:Object},fieldsProps:{default:()=>({}),type:Object},order:{default:()=>[],type:Array},modelValue:{default:()=>({}),required:!0,type:Object},fieldset:{default:()=>({}),type:Object},fieldsetGutter:{default:"lg",type:[String,Boolean],validator:e=>"boolean"==typeof e||["xs","sm","md","lg","xl"].includes(e)}},emits:["update:modelValue"],computed:{groupedFields(){const e={hidden:{},visible:{}};if(this.hasFieldset)return e;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},normalizedFields(){if(!this.hasFieldset)return{default:{fields:this.groupedFields}};const e={};for(const t in this.fieldset){const s=this.fieldset[t];e[t]={label:s.label,fields:{hidden:{},visible:{}}};for(const a of s.fields){const s=this.fields[a];s&&Object.assign(e[t].fields["hidden"===s.type?"hidden":"visible"],{[a]:s})}}return e},hasFieldset(){return!!Object.keys(this.fieldset).length},fieldsetClasses(){const e=["row"];return this.fieldsetGutter&&e.push(`q-col-gutter-y-${this.fieldsetGutter}`),e}},methods:{updateModelValue(e,t){const s={...this.modelValue};s[e]=t,this.$emit("update:modelValue",s)}}};hs.render=function(o,n,u,c,h,f){const y=l("qas-label"),b=l("qas-field");return e(),t("div",{class:s(f.fieldsetClasses)},[(e(!0),t(p,null,d(f.normalizedFields,((l,n)=>(e(),t("div",{key:n,class:"full-width"},[l.label?i(o.$slots,`legend-${n}`,{key:0},(()=>[m(y,{label:l.label},null,8,["label"])])):g("v-if",!0),a("div",null,[a("div",{class:s(o.mx_classes)},[(e(!0),t(p,null,d(l.fields.visible,((a,l)=>(e(),t("div",{key:l,class:s(o.mx_getFieldClass(l))},[i(o.$slots,`field-${a.name}`,{field:a},(()=>[m(b,r(u.fieldsProps[a.name],{error:u.errors[l],field:a,"model-value":u.modelValue[a.name],"onUpdate:modelValue":e=>f.updateModelValue(a.name,e)}),null,16,["error","field","model-value","onUpdate:modelValue"])]))],2)))),128))],2),(e(!0),t(p,null,d(l.fields.hidden,((s,a)=>(e(),t("div",{key:a},[i(o.$slots,`field-${s.name}`,{field:s},(()=>[m(b,r(u.fieldsProps[s.name],{field:s,"model-value":u.modelValue[s.name],"onUpdate:modelValue":e=>f.updateModelValue(s.name,e)}),null,16,["field","model-value","onUpdate:modelValue"])]))])))),128))])])))),128))],2)},hs.__file="src/components/form-generator/QasFormGenerator.vue";var ms={props:{entity:{default:"",type:String},lazyLoadingProps:{default:()=>({}),type:Object},name:{default:"",type:String},useLazyLoading:{type:Boolean},fetching:{type:Boolean}},emits:["update:modelValue","update:fetching","fetch-options-success","fetch-options-error"],data:()=>({mx_filteredOptions:[],mx_hasFetchError:!1,mx_isFetching:!1,mx_isScrolling:!1,mx_search:"",mx_fetchCount:0,mx_pagination:{page:1,lastPage:null,hasCount:!0,hasNextPage:!1}}),computed:{mx_defaultLazyLoadingProps(){const{url:e,params:t,decamelizeFieldName:s}=this.lazyLoadingProps;return{url:e||"",params:{limit:48,...t},decamelizeFieldName:void 0===s||s}},mx_hasFilteredOptions(){return!!this.mx_filteredOptions.length},mx_isFilterByFuse(){return!this.useLazyLoading}},watch:{lazyLoadingProps:{handler(e,t){ae(e,t)||(this.mx_filterOptionsByStore(""),this.$emit("update:modelValue",""))}}},methods:{async mx_filterOptionsByStore(e){this.mx_resetFilter(e),await this.mx_setFetchOptions()},mx_resetFilter(e){this.mx_filteredOptions=[],this.mx_search=e,this.mx_pagination={page:1,lastPage:null,hasCount:!0,hasNextPage:!1}},async mx_onVirtualScroll({index:e,ref:t}){const s=this.mx_filteredOptions.length-1;e===s&&this.mx_canFetchOptions()&&(await this.mx_loadMoreOptions(),this.$nextTick((()=>{t.reset(),t.refresh(s)})))},async mx_loadMoreOptions(){this.mx_isScrolling=!0;const e=await this.mx_fetchOptions();this.mx_filteredOptions.push(...e),this.$nextTick((()=>{this.mx_isScrolling=!1}))},async mx_fetchOptions(){this.mx_fetchCount++;try{this.entity||this.mx_setMissingPropsMessage("entity"),this.name||this.mx_setMissingPropsMessage("name"),this.mx_hasFetchError=!1,this.mx_isFetching=!0,this.$emit("update:fetching",!0);const{url:e,params:t,decamelizeFieldName:s}=this.mx_defaultLazyLoadingProps,{data:a}=await this.$store.dispatch(`${this.entity}/fetchFieldOptions`,{url:e,field:s?F(this.name,{separator:"-"}):this.name,params:{...t,search:this.mx_search,offset:(this.mx_pagination.page-1)*t.limit}}),{results:i,count:l,hasNextPage:o}=a,r=void 0!==l;return this.mx_pagination={page:this.mx_pagination.page+1,lastPage:r?Math.ceil(l/t.limit):null,hasCount:r,hasNextPage:o},this.$emit("fetch-options-success",a),this.mx_handleOptions(i)}catch(e){return this.$qas.logger.group(`Mixin: searchFilterMixin - mx_fetchOptions -> exceção da action ${this.entity}/fetchFieldOptions`,[e],{error:!0}),this.mx_hasFetchError=!0,this.$emit("fetch-options-error",e),[]}finally{this.mx_isFetching=!1,this.$emit("update:fetching",!1)}},async mx_setFetchOptions(){this.mx_filteredOptions=await this.mx_fetchOptions()},mx_canFetchOptions(){const{lastPage:e,page:t,hasCount:s,hasNextPage:a}=this.mx_pagination;return(s?e&&t<=e:a)&&!this.mx_isFetching&&!this.mx_isScrolling&&this.useLazyLoading},mx_handleOptions(e){return this.labelKey&&this.valueKey?(({options:e=[],label:t,value:s})=>e.map((e=>{const{[t]:a,[s]:i,...l}=e;return{label:e[t],value:e[s],...l}})))({options:e,label:this.labelKey,value:this.valueKey}):e},mx_getMissingPropsMessage:e=>`A propriedade "${e}" é obrigatória quando a propriedade "useLazyLoading" está ativa.`,mx_setMissingPropsMessage(e){throw new Error(this.mx_getMissingPropsMessage(e))},mx_getNormalizedFuseResults:(e=[])=>e.map((({item:e})=>e))}},ps={props:{entity:{required:!0,type:String},url:{default:"",type:String},fields:{default:()=>({}),type:Object},errors:{default:()=>({}),type:Object},metadata:{default:()=>({}),type:Object},fetching:{type:Boolean},useBoundary:{default:!0,type:Boolean},beforeFetch:{default:null,type:Function}},emits:["update:fields","update:errors","update:metadata","update:fetching"],data:()=>({mx_errors:{},mx_fields:{},mx_metadata:{},mx_cancelBeforeFetch:!1,mx_isFetching:!1}),watch:{mx_isFetching(e){this.$emit("update:fetching",e)}},computed:{mx_componentTag(){return this.useBoundary?"q-page":"div"},mx_componentClass(){return this.useBoundary&&"container spaced"},mx_hasFooterSlot(){return!!this.$slots.footer},mx_hasHeaderSlot(){return!!this.$slots.header}},methods:{mx_fetchError(e){const{response:t}=e,s=t?.data?.exception||e.message;this.$qas.error("Ops! Erro ao obter os dados.",s);const a=t?.status,i=a>=500?"ServerError":{401:"Unauthorized",403:"Forbidden",404:"NotFound"}[a];i&&this.$router.replace({name:i})},mx_setErrors(e={}){this.mx_errors=S(e)},mx_setFields(e={}){const t=ge(e);this.mx_fields=S(t)},mx_setMetadata(e={}){this.mx_metadata=S(e)},mx_updateModels(e){for(const t in e)e[t]&&this.$emit(`update:${t}`,e[t])},mx_fetchHandler(e,t){if("function"==typeof this.beforeFetch&&!this.mx_cancelBeforeFetch)return this.beforeFetch({payload:e,resolve:e=>t(e),done:()=>{this.mx_cancelBeforeFetch=!0}});t()}}},fs={name:"QasFormView",components:{QasBtn:de,QasDialog:pt},mixins:[ps],props:{cancelButtonLabel:{default:"Cancelar",type:String},cancelRoute:{default:"",type:[Boolean,Object,String,Function]},customId:{default:"",type:[Number,String]},disable:{type:Boolean},mode:{default:"create",type:String},route:{default:()=>({}),type:Object},useDialogOnUnsavedChanges:{default:!0,type:Boolean},ignoreKeysInUnsavedChanges:{default:()=>[],type:Array},submitButtonLabel:{default:"Salvar",type:String},modelValue:{default:()=>({}),type:Object},submitting:{type:Boolean},useActions:{default:!0,type:Boolean},useCancelButton:{default:!0,type:Boolean},useSubmitButton:{default:!0,type:Boolean},beforeSubmit:{default:null,type:Function}},emits:["submit-success","submit-error","fetch-success","fetch-error","update:modelValue","update:submitting","update:errors"],data:()=>({cachedResult:{},isSubmitting:!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:{label:"Continuar editando"},cancel:{label:"Sair"}}}),computed:{cancelButtonClass(){return this.$qas.screen.isSmall&&"order-last"},fetchURL(){return this.url?`${this.url}/${this.isCreateMode?"new":"edit"}`:""},hasCancelButton(){return!("boolean"==typeof this.cancelRoute&&!this.cancelRoute)&&this.useCancelButton},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},submitButtonClass(){return this.$qas.screen.isSmall&&"order-first"},isCancelButtonDisabled(){return this.disable||this.isSubmitting}},watch:{isSubmitting(e){this.$emit("update:submitting",e)}},created(){this.useDialogOnUnsavedChanges&&se(this.beforeRouteLeave),window.addEventListener("delete-success",this.setIgnoreRouterGuard),this.mx_fetchHandler({form:!0,id:this.id,url:this.fetchURL},this.fetchSingle)},onUnmounted(){window.removeEventListener("delete-success",this.setIgnoreRouterGuard)},methods:{beforeRouteLeave(e,t,s){const a=z(!0,{},this.modelValue),i=z(!0,{},this.cachedResult);if(!this.useDialogOnUnsavedChanges||this.ignoreRouterGuard||K(a,i,this.handleIgnoreKeysInUnsavedChanges))return s();this.$qas.logger.group("QasFormView - beforeRouteLeave -> dialog chamado, modelValue diferente do cachedResult",[{modelValue:a,cachedResult:i}]),this.handleDialog((()=>{this.ignoreRouterGuard=!0,s()}))},cancel(){this.handleCancelRoute()},async fetchSingle(e={}){this.mx_isFetching=!0;try{const t={form:!0,id:this.id,url:this.fetchURL,...e};this.$qas.logger.group(`QasFormView - fetchSingle -> payload do parâmetro do ${this.entity}/fetchSingle`,[t]);const s=await this.$store.dispatch(`${this.entity}/fetchSingle`,t),{errors:a,fields:i,metadata:l,result:o}=s.data,r={...this.getModelsByFields(i),...this.modelValue};this.mx_setErrors(a),this.mx_setFields(i),this.mx_setMetadata(l),this.mx_updateModels({errors:a,fields:this.mx_fields,metadata:l}),o&&Object.assign(r,o),this.$qas.logger.group(`QasFormView - fetchSingle -> resposta da action ${this.entity}/fetchSingle`,[s]),this.useDialogOnUnsavedChanges&&(this.cachedResult=z(!0,{},o||r),this.$qas.logger.group("QasFormView - fetchSingle -> cachedResult",[this.cachedResult])),this.$emit("update:modelValue",r),this.$emit("fetch-success",s,this.modelValue),this.$qas.logger.group("QasFormView - fetchSingle -> modelValue",[r])}catch(e){this.mx_fetchError(e),this.$emit("fetch-error",e),this.$qas.logger.group(`QasFormView - fetchSingle -> exceção da action ${this.entity}/fetchSingle`,[e],{error:!0})}finally{this.mx_isFetching=!1}},getModelsByFields(e){const t={};for(const s in e)t[s]=e[s].default;return t},handleCancelRoute(){if("function"==typeof this.cancelRoute)return this.cancelRoute();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();const{addRoute:t}=wt();this.defaultDialogProps.ok.onClick=()=>t(this.$route),this.defaultDialogProps.cancel.onClick=e},openDialog(){this.showDialog=!0},handleIgnoreKeysInUnsavedChanges(e,t){this.ignoreKeysInUnsavedChanges.length&&this.ignoreKeysInUnsavedChanges.forEach((s=>{e&&(delete e[s],delete t[s])}))},submitHandler(e){e&&e.preventDefault();if("function"==typeof this.beforeSubmit)return this.beforeSubmit({payload:{id:this.id,payload:this.modelValue,url:this.url},resolve:e=>this.submit(e)});this.submit()},async submit(e={}){if(this.disable)return null;this.isSubmitting=!0;try{const t={id:this.id,payload:this.modelValue,url:this.url,...e};this.$qas.logger.group(`QasFormView - submit -> payload do ${this.entity}/${this.mode}`,[t]);const s=await this.$store.dispatch(`${this.entity}/${this.mode}`,t);this.useDialogOnUnsavedChanges&&(this.cachedResult=z(!0,{},this.modelValue)),this.mx_setErrors(),_t(s.data.status.text||"Item salvo com sucesso!"),this.$emit("submit-success",s,this.modelValue),this.$qas.logger.group(`QasFormView - submit -> resposta da action ${this.entity}/${this.mode}`,[s])}catch(e){const t=e?.response?.data?.errors,s=e?.response?.data?.status?.text,a=e?.response?.data?.exception,i=t?"Existem erros de validação no formulário.":a||e.message;this.mx_setErrors(t),this.$emit("update:errors",this.mx_errors),xt(s||"Ops! Erro ao salvar item.",i),this.$emit("submit-error",e),this.$qas.logger.group(`QasFormView - submit -> exceção da action ${this.entity}/${this.mode}`,[e],{error:!0})}finally{this.isSubmitting=!1}},setIgnoreRouterGuard({detail:{id:e,entity:t}}){this.ignoreRouterGuard=this.id===e&&this.entity===t}}};const gs={key:0},ys={class:"justify-end q-col-gutter-md q-my-lg row"},bs={key:1};fs.render=function(n,d,c,h,p,f){const b=l("qas-btn"),_=l("q-form"),$=l("qas-dialog"),S=l("q-spinner"),w=l("q-inner-loading"),q=v("close-popup");return e(),o(y(n.mx_componentTag),{class:s(n.mx_componentClass)},{default:u((()=>[n.mx_hasHeaderSlot?(e(),t("header",gs,[i(n.$slots,"header")])):g("v-if",!0),m(_,{ref:"form",onSubmit:f.submitHandler},{default:u((()=>[i(n.$slots,"default"),c.useActions?i(n.$slots,"actions",{key:0},(()=>[a("div",ys,[f.hasCancelButton?(e(),t("div",{key:0,class:s(["col-12 col-sm-2",f.cancelButtonClass])},[x(m(b,{class:"full-width","data-cy":`btnCancel-${n.entity}`,disable:f.isCancelButtonDisabled,label:c.cancelButtonLabel,outline:"",type:"button",onClick:f.cancel},null,8,["data-cy","disable","label","onClick"]),[[q]])],2)):g("v-if",!0),c.useSubmitButton?(e(),t("div",{key:1,class:s(["col-12 col-sm-2",f.submitButtonClass])},[m(b,{class:"full-width","data-cy":`btnSave-${n.entity}`,disable:c.disable,label:c.submitButtonLabel,loading:p.isSubmitting,type:"submit"},null,8,["data-cy","disable","label","loading"])],2)):g("v-if",!0)])])):g("v-if",!0)])),_:3},8,["onSubmit"]),n.mx_hasFooterSlot?(e(),t("footer",bs,[i(n.$slots,"footer")])):g("v-if",!0),m($,r({modelValue:p.showDialog,"onUpdate:modelValue":d[0]||(d[0]=e=>p.showDialog=e)},p.defaultDialogProps),null,16,["modelValue"]),m(w,{showing:n.mx_isFetching},{default:u((()=>[m(S,{color:"grey",size:"3em"})])),_:1},8,["showing"])])),_:3},8,["class"])},fs.__file="src/components/form-view/QasFormView.vue";var vs={name:"QasGallery",props:{carouselNextIcon:{type:String,default:"o_chevron_right"},carouselPreviousIcon:{type:String,default:"o_chevron_left"},height:{type:String,default:""},initialSize:{type:Number,default:6},images:{type:Array,default:()=>[]},loadSize:{type:Number,default:6},showMoreLabel:{type:String,default:"Ver mais"},useLoadAll:{type:Boolean}},data(){return{carouselDialog:!1,clonedImages:[],imageIndex:[],displayedImages:this.initialSize}},computed:{imageHeight(){return this.isSingleImage?this.height||"auto":this.$qas.screen.isSmall?"90px":"120px"},galleryColumnsClasses(){return this.isSingleImage?"col-12":this.$qas.screen.isSmall?"col-6":"col-2"},hideShowMore(){return this.clonedImages.length<=this.displayedImages||this.useLoadAll},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.loadSize},onError(e){const t=this.clonedImages.findIndex((t=>t===e));~t&&(this.clonedImages.splice(t,1),this.$forceUpdate())},initialImages(){return this.useLoadAll?this.clonedImages:this.clonedImages.slice(0,this.displayedImages)}}};const xs={class:"q-col-gutter-md row"},_s={key:0,class:"full-width text-center"},$s={class:"text-right"},Ss={key:0,class:"full-width justify-end row"};vs.render=function(r,n,c,h,y,_){const $=l("q-img"),S=l("qas-btn"),w=l("q-carousel-slide"),q=l("q-carousel"),k=l("qas-dialog"),C=l("qas-box"),V=v("close-popup");return e(),o(C,{class:"gallery"},{default:u((()=>[a("div",xs,[(e(!0),t(p,null,d(_.initialImages(),((a,i)=>(e(),t("div",{key:i,class:s(_.galleryColumnsClasses)},[m($,{class:"cursor-pointer rounded-borders",height:_.imageHeight,src:a,onClick:e=>_.toggleCarouselDialog(i),onError:e=>_.onError(a)},null,8,["height","src","onClick","onError"])],2)))),128)),i(r.$slots,"default",{},(()=>[_.hideShowMore?g("v-if",!0):(e(),t("div",_s,[m(S,{class:"text-weight-bolder",color:"primary",flat:"",onClick:_.showMore},{default:u((()=>[b(f(c.showMoreLabel),1)])),_:1},8,["onClick"])]))])),m(k,{modelValue:y.carouselDialog,"onUpdate:modelValue":n[1]||(n[1]=e=>y.carouselDialog=e),cancel:!1,class:"q-pa-xl","min-width":"1100px",ok:!1,persistent:!1},{header:u((()=>[a("div",$s,[x(m(S,{dense:"",flat:"",icon:"o_close",rounded:"",onClick:_.toggleCarouselDialog},null,8,["onClick"]),[[V]])])])),description:u((()=>[m(q,{modelValue:y.imageIndex,"onUpdate:modelValue":n[0]||(n[0]=e=>y.imageIndex=e),animated:"",arrows:!r.$qas.screen.isSmall,"control-text-color":"primary",fullscreen:r.$qas.screen.isSmall,height:_.carouselImageHeight,"next-icon":c.carouselNextIcon,"prev-icon":c.carouselPreviousIcon,swipeable:"",thumbnails:_.showThumbnails},{default:u((()=>[(e(!0),t(p,null,d(y.clonedImages,((s,a)=>(e(),o(w,{key:a,class:"bg-no-repeat bg-size-contain","img-src":s,name:a},{default:u((()=>[r.$qas.screen.isSmall?(e(),t("div",Ss,[m(S,{dense:"",flat:"",icon:"o_close",onClick:_.toggleCarouselDialog},null,8,["onClick"])])):g("v-if",!0)])),_:2},1032,["img-src","name"])))),128))])),_:1},8,["modelValue","arrows","fullscreen","height","next-icon","prev-icon","thumbnails"])])),_:1},8,["modelValue"])])])),_:3})},vs.__file="src/components/gallery/QasGallery.vue";var ws={name:"QasGridGenerator",mixins:[cs],props:{contentClass:{default:"",type:[Array,Object,String]},headerClass:{default:"text-bold",type:[Array,Object,String]},emptyResultText:{default:"-",type:String},result:{default:()=>({}),type:Object},useEmptyResult:{default:!0,type:Boolean}},data:()=>({slotValue:{}}),computed:{formattedFields(){if(this.useEmptyResult)return this.$qas.logger.group('QasGridGenerator - formattedFields -> this.useEmptyResult tem valor "true"',[this.fields]),this.fields;const e={};for(const t in this.fields){const s=this.result[t];(Array.isArray(s)?s.length:Y(s)?Object.keys(s).length:s)&&(e[t]=this.fields[t])}return this.$qas.logger.group("QasGridGenerator - formattedFields",[e]),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]=we(this.formattedFields[s],t[s])||this.emptyResultText,this.slotValue[s]={...this.formattedFields[s],formattedResult:e[s]});return this.$qas.logger.group("QasGridGenerator - getResultsByFields",[e]),e}}};ws.render=function(l,o,r,n,u,c){return e(),t("div",{class:s(l.mx_classes)},[(e(!0),t(p,null,d(c.formattedFields,((o,n)=>(e(),t("div",{key:n,class:s(l.mx_getFieldClass(n,!0))},[i(l.$slots,`field-${o.name}`,{field:u.slotValue[n]},(()=>[i(l.$slots,"header",{field:u.slotValue[n]},(()=>[a("header",{class:s(r.headerClass)},f(o.label),3)])),i(l.$slots,"content",{field:u.slotValue[n]},(()=>[a("div",{class:s(r.contentClass)},f(c.resultsByFields[n]),3)]))]))],2)))),128))],2)},ws.__file="src/components/grid-generator/QasGridGenerator.vue";var qs={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}}};qs.render=function(a,l,o,r,n,u){return e(),t("div",{class:s(["text-bold text-subtitle2",u.labelClass])},[i(a.$slots,"default",{labelWithSuffix:u.labelWithSuffix},(()=>[b(f(u.labelWithSuffix),1)]))],2)},qs.__file="src/components/label/QasLabel.vue";var ks={name:"QasLayout",components:{QasAppBar:Be,QasAppMenu:We},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}},mounted(){this.menuDrawer=!this.$qas.screen.untilMedium},methods:{toggleMenuDrawer(){this.menuDrawer=!this.menuDrawer,this.$emit("update:modelValue",this.menuDrawer)}}};ks.render=function(t,s,a,n,d,c){const h=l("qas-app-bar"),p=l("qas-app-menu"),f=l("router-view"),g=l("q-page-container"),y=l("q-layout");return e(),o(y,{view:"hHh Lpr lFf"},{default:u((()=>[i(t.$slots,"app-bar",{},(()=>[m(h,r(a.appBarProps,{onToggleMenu:c.toggleMenuDrawer}),null,16,["onToggleMenu"])])),i(t.$slots,"app-menu",{},(()=>[m(p,r({modelValue:d.menuDrawer,"onUpdate:modelValue":s[0]||(s[0]=e=>d.menuDrawer=e)},c.defaultAppMenuProps),null,16,["modelValue"])])),i(t.$slots,"default",{},(()=>[m(g,null,{default:u((()=>[m(f)])),_:1})]))])),_:3})},ks.__file="src/components/layout/QasLayout.vue";var Cs={name:"QasListItems",components:{QasBtn:de},props:{iconProps:{default:()=>({color:"primary",name:"o_chevron_right"}),type:Object},list:{default:()=>[],type:Array},useClickableItem:{type:Boolean},useSectionActions:{default:!0,type:Boolean}},emits:["click-item"],methods:{onClick({item:e,index:t},s){s&&!this.useClickableItem||!s&&this.useClickableItem||this.$emit("click-item",{item:e,index:t})}}};const Vs={class:"qas-list-items shadow-14"};Cs.render=function(s,a,r,n,f,y){const b=l("q-item-section"),_=l("q-icon"),$=l("qas-btn"),S=l("q-item"),w=l("q-list"),q=v("ripple");return e(),t("div",Vs,[m(w,{bordered:"",class:"rounded-borders",separator:""},{default:u((()=>[(e(!0),t(p,null,d(r.list,((t,a)=>x((e(),o(S,{key:a,clickable:r.useClickableItem,onClick:e=>y.onClick({item:t,index:a},!0)},{default:u((()=>[i(s.$slots,"item",{index:a,item:t},(()=>[m(b,null,{default:u((()=>[i(s.$slots,"item-section",{index:a,item:t})])),_:2},1024),r.useSectionActions?(e(),o(b,{key:0,side:""},{default:u((()=>[i(s.$slots,"item-section-side",{index:a,item:t},(()=>[m($,{flat:"",round:"",onClick:e=>y.onClick({item:t,index:a})},{default:u((()=>[m(_,c(h(r.iconProps)),null,16)])),_:2},1032,["onClick"])]))])),_:2},1024)):g("v-if",!0)]))])),_:2},1032,["clickable","onClick"])),[[q]]))),128))])),_:3})])},Cs.__file="src/components/list-items/QasListItems.vue";var Qs={components:{QasFilters:ss},mixins:[ts,ps],props:{filtersProps:{default:()=>({}),type:Object},results:{default:()=>[],type:Array},useRefresh:{default:!0,type:Boolean},useFilter:{default:!0,type:Boolean},useResultsAreaOnly:{type:Boolean}},emits:["fetch-success","fetch-error","update:errors","update:results"],data:()=>({page:1}),computed:{hasHeaderSlot(){return!!this.$slots.header},hasPages(){return this.totalPages>1},hasResults(){return!!(this.resultsModel||[]).length},resultsModel(){return this.$store.getters[`${this.entity}/list`]},totalPages(){return this.$store.getters[`${this.entity}/totalPages`]},showResults(){return this.hasResults||this.useResultsAreaOnly}},watch:{$route(e,t){e.name===t.name&&(this.mx_fetchHandler({...this.mx_context,url:this.url},this.fetchList),this.setCurrentPage())},resultsModel:{handler(e){this.$emit("update:results",z([],!0,e))},deep:!0,immediate:!0}},created(){this.mx_fetchHandler({...this.mx_context,url:this.url},this.fetchList),this.setCurrentPage()},methods:{changePage(){const e={...this.$route.query,page:this.page};this.$router.push({query:e})},async fetchList(e={}){this.mx_isFetching=!0;try{const t={...this.mx_context,url:this.url,...e};this.$qas.logger.group(`QasListView - fetchList -> Payload do parâmetro do ${this.entity}/fetchList`,[t]);const s=await this.$store.dispatch(`${this.entity}/fetchList`,t),{errors:a,fields:i,metadata:l}=s.data;this.mx_setErrors(a),this.mx_setFields(i),this.mx_setMetadata(l),this.mx_updateModels({errors:this.mx_errors,fields:this.mx_fields,metadata:this.mx_metadata}),this.$emit("fetch-success",s),this.$qas.logger.group(`QasListView - fetchList -> resposta da action ${this.entity}/fetchList`,[s])}catch(e){this.mx_fetchError(e),this.$emit("update:errors",e),this.$emit("fetch-error",e),this.$qas.logger.group(`QasListView - fetchSingle -> exceção da action ${this.entity}/fetchList`,[e],{error:!0})}finally{this.mx_isFetching=!1}},async refresh(e){await this.mx_fetchHandler({...this.mx_context,url:this.url},this.fetchList),"function"==typeof e&&e()},setCurrentPage(){this.page=parseInt(this.$route.query.page||1)}}};const Fs={key:0},Os={class:"relative-position"},Ls={key:0},Bs={key:1},Ps={class:"q-my-xl text-center"},Ds=a("div",{class:"text-grey-7"},"Nenhum item encontrado.",-1),Is={key:2,class:"q-py-lg text-center"},Ms={key:3,class:"justify-center q-mt-lg"};Qs.render=function(n,d,c,h,p,f){const b=l("qas-filters"),v=l("q-icon"),x=l("q-spinner"),_=l("q-pagination"),$=l("q-inner-loading"),S=l("q-pull-to-refresh");return e(),o(y(n.mx_componentTag),{class:s(n.mx_componentClass)},{default:u((()=>[m(S,{disable:!c.useRefresh,onRefresh:f.refresh},{default:u((()=>[f.hasHeaderSlot?(e(),t("header",Fs,[i(n.$slots,"header")])):g("v-if",!0),c.useFilter?i(n.$slots,"filter",{key:1},(()=>[m(b,r(c.filtersProps,{entity:n.entity}),null,16,["entity"])])):g("v-if",!0),a("main",Os,[f.showResults?(e(),t("div",Ls,[i(n.$slots,"default")])):n.mx_isFetching?(e(),t("div",Is,[m(x,{color:"grey",size:"3em"})])):(e(),t("div",Bs,[i(n.$slots,"empty-results",{},(()=>[a("div",Ps,[m(v,{class:"q-mb-sm text-center",color:"grey-7",name:"o_search",size:"38px"}),Ds])]))])),f.hasPages?(e(),t("div",Ms,[m(_,{modelValue:p.page,"onUpdate:modelValue":d[0]||(d[0]=e=>p.page=e),"boundary-links":"",class:"flex-center","direction-links":"",input:n.$q.screen.lt.sm,max:f.totalPages,"max-pages":6,onClick:f.changePage},null,8,["modelValue","input","max","onClick"])])):g("v-if",!0),m($,{showing:f.hasResults&&n.mx_isFetching},{default:u((()=>[m(x,{color:"grey",size:"3em"})])),_:1},8,["showing"])])])),_:3},8,["disable","onRefresh"]),i(n.$slots,"footer")])),_:3},8,["class"])},Qs.__file="src/components/list-view/QasListView.vue";var As={name:"QasMap",props:{centerPosition:{type:Object,default:()=>({})},markers:{type:Array,default:()=>[]},zoom:{type:Number,default:17},usePopup:{type:Boolean}},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.usePopup&&e===this.indexMarker},closePopup(){this.isPopupDisplayed=!1},updatePosition(e){this.$emit("update-position",e.latLng.toJSON())}}};const Es={class:"qas-map"},Rs={class:"text-weight-bold"};As.render=function(s,i,r,n,c,h){const g=l("g-map-info-window"),y=l("g-map-marker"),b=l("g-map-map");return e(),t("div",Es,[m(b,{center:r.centerPosition,class:"qas-map__draw",zoom:r.zoom},{default:u((()=>[(e(!0),t(p,null,d(r.markers,((t,s)=>(e(),o(y,{key:s,draggable:t.draggable,icon:t.icon,position:t.position,onDragend:h.updatePosition,onMouseout:h.closePopup,onMouseover:e=>h.openPopup(t,s)},{default:u((()=>[m(g,{opened:h.canShowPopup(s)},{default:u((()=>[a("div",Rs,f(t.title),1),a("div",null,f(t.description),1)])),_:2},1032,["opened"])])),_:2},1032,["draggable","icon","position","onDragend","onMouseout","onMouseover"])))),128))])),_:1},8,["center","zoom"])])},As.__file="src/components/map/QasMap.vue";var js={name:"QasNestedFields",components:{QasBtn:de,QasFormGenerator:hs,QasInput:Ct,QasLabel:qs,TransitionGroup:C},props:{addInputLabel:{type:String,default:"Inserir novo campo"},buttonDestroyProps:{type:Object,default:()=>({label:"Remover",icon:"o_cancel",flat:!0,dense:!0})},buttonDuplicateProps:{type:Object,default:()=>({label:"Duplicar",icon:"o_content_copy",flat:!0,useLabelOnSmallScreen:!1,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)},identifierItemKey:{type:String,default:"uuid"},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},useRemoveOnDestroy:{type:Boolean,default:!0},modelValue:{type:Array,default:()=>[]}},emits:["update:modelValue"],data:()=>({nested:[]}),computed:{fieldLabel(){return this.field?.label},fieldName(){return this.field?.name},children(){return this.field?.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:fe(this.fieldName,this.errors)},componentTag(){return this.useAnimation?"transition-group":"div"},componentProps(){return this.useAnimation?{tag:"div",enterActiveClass:"animated slideInDown"}:{}}},watch:{modelValue:{handler(e){this.nested=z(!0,[],e)},immediate:!0},rowObject:{handler(){if(!this.nested.length)return this.setDefaultNestedValue()},immediate:!0}},methods:{add(e={}){const t={...this.rowObject,...e};return t[this.identifierItemKey]&&delete t[this.identifierItemKey],this.nested.push(t),this.$nextTick((()=>{this.useAnimation&&this.setScroll(),this.setFocus()})),this.$qas.logger.group("QasNestedFields - add",[t]),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[this.identifierItemKey]&&this.useRemoveOnDestroy?this.nested.splice(e,1):this.nested.splice(e,1,{[this.destroyKey]:!0,...t}),this.$qas.logger.group("QasNestedFields - destroy",[{index:e,row:t}]),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})},getRowLabel(e){return this.rowLabel?this.useIndexLabel?`${this.rowLabel} ${e+1}`:this.rowLabel:this.fieldLabel}}};const zs=["id"],Ts={class:"text-left"},Us={ref:"inputContent"},Ns=["id"],Gs={class:"flex items-center justify-between q-py-xs"},Hs={key:1,class:"q-gutter-x-sm"},Ws={key:0,class:"flex items-center qas-nested-fields__actions"},Ks={class:"col-auto"},Ys={class:"col-auto"},Js={class:"col-12"},Xs={class:"q-mt-md"},Zs={class:"col"},ea={class:"col-auto"},ta={key:1,class:"q-mt-lg"};js.render=function(v,x,_,$,S,w){const q=l("qas-label"),k=l("qas-btn"),C=l("qas-form-generator"),V=l("qas-input");return e(),t("div",{id:w.fieldName,class:"qas-nested-fields"},[a("div",Ts,[_.useSingleLabel?(e(),o(q,{key:0,label:w.fieldLabel},null,8,["label"])):g("v-if",!0)]),a("div",Us,[(e(),o(y(w.componentTag),c(h(w.componentProps)),{default:u((()=>[(e(!0),t(p,null,d(S.nested,((l,c)=>(e(),t("div",{id:`row-${c}`,key:`row-${c}`,class:"full-width"},[l[_.destroyKey]?g("v-if",!0):(e(),t("div",{key:c,class:"col-12 q-mt-md"},[a("div",null,[a("div",Gs,[_.useSingleLabel?g("v-if",!0):(e(),o(q,{key:0,label:w.getRowLabel(c)},null,8,["label"])),_.useInlineActions?g("v-if",!0):(e(),t("div",Hs,[_.useDuplicate?(e(),o(k,r({key:0},_.buttonDuplicateProps,{onClick:e=>w.add(l)}),null,16,["onClick"])):g("v-if",!0),w.showDestroyBtn?(e(),o(k,r({key:1},_.buttonDestroyProps,{onClick:e=>w.destroy(c,l)}),null,16,["onClick"])):g("v-if",!0)]))]),a("div",{ref_for:!0,ref:"formGenerator",class:"col-12 justify-between q-col-gutter-x-md row"},[i(v.$slots,"fields",{errors:w.transformedErrors,fields:w.children,index:c,updateValue:w.updateValuesFromInput},(()=>[m(C,{modelValue:S.nested[c],"onUpdate:modelValue":[e=>S.nested[c]=e,e=>w.updateValuesFromInput(e,c)],class:s(w.formClasses),columns:_.formColumns,errors:w.transformedErrors[c],fields:w.children,"fields-props":_.fieldsProps},n({_:2},[d(v.$slots,((e,t)=>({name:t,fn:u((e=>[i(v.$slots,t,r(e,{errors:w.transformedErrors,index:c}))]))})))]),1032,["modelValue","onUpdate:modelValue","class","columns","errors","fields","fields-props"])])),_.useInlineActions?(e(),t("div",Ws,[a("div",Ks,[_.useDuplicate?(e(),o(k,{key:0,color:"primary",flat:"",icon:"o_content_copy",round:"",onClick:e=>w.add(l)},null,8,["onClick"])):g("v-if",!0)]),a("div",Ys,[w.showDestroyBtn?(e(),o(k,{key:0,color:"negative",flat:"",icon:"o_cancel",round:"",onClick:e=>w.destroy(c,l)},null,8,["onClick"])):g("v-if",!0)])])):g("v-if",!0)],512),a("div",Js,[i(v.$slots,"custom-fields",{fields:w.children,index:c,model:S.nested[c],updateValue:w.updateValuesFromInput})])])]))],8,Ns)))),128))])),_:3},16)),a("div",Xs,[i(v.$slots,"add-input",{add:w.add},(()=>[_.useInlineActions?(e(),t("div",{key:0,class:"cursor-pointer items-center q-col-gutter-x-md q-mt-md row",onClick:x[1]||(x[1]=e=>w.add())},[a("div",Zs,[m(V,{class:"disabled no-pointer-events","hide-bottom-space":"",label:_.addInputLabel,outlined:"",onFocus:x[0]||(x[0]=e=>w.add())},null,8,["label"])]),a("div",ea,[m(k,{color:"green",flat:"",icon:"o_add_circle_outline",round:""})])])):(e(),t("div",ta,[m(k,{class:"full-width q-py-md",icon:"o_add",outline:"",onClick:x[2]||(x[2]=e=>w.add())},{default:u((()=>[b(f(_.addInputLabel),1)])),_:1})]))]))])],512)],8,zs)},js.__file="src/components/nested-fields/QasNestedFields.vue";const{hasPreviousRoute:sa,history:aa,getPreviousRoute:ia}=wt();var la={name:"QasPageHeader",mixins:[U((function(){return{title:this.title}}))],props:{breadcrumbs:{default:"",type:[Array,String]},root:{default:"",type:[Object,String]},title:{default:"",type:String},useBreadcrumbs:{default:!0,type:Boolean}},computed:{hasPreviousRoute:()=>sa.value,transformedBreadcrumbs(){const e=[...J(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=aa.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(ia(this.$route))},getBreadcrumbsClass(e){return this.transformedBreadcrumbs.length-1===e?"text-grey-7":"text-primary"}}};const oa={class:"ellipsis"};la.render=function(r,n,c,h,m,y){const v=l("q-icon"),x=l("q-toolbar-title"),_=l("q-breadcrumbs-el"),$=l("q-breadcrumbs"),S=l("q-toolbar");return e(),o(S,{class:"justify-between q-mb-lg q-px-none"},{default:u((()=>[a("div",oa,[c.title?(e(),o(x,{key:0,class:"text-bold text-h5"},{default:u((()=>[y.hasPreviousRoute?(e(),o(v,{key:0,class:"cursor-pointer vertical-baseline",name:"o_arrow_back",size:"18px",onClick:y.back},null,8,["onClick"])):g("v-if",!0),b(" "+f(c.title),1)])),_:1})):g("v-if",!0),c.useBreadcrumbs?(e(),o($,{key:1,class:"text-caption","separator-color":"grey-7"},{default:u((()=>[(e(!0),t(p,null,d(y.transformedBreadcrumbs,((t,a)=>(e(),o(_,{key:t.label,class:s(y.getBreadcrumbsClass(a)),label:t.label,to:t.route},null,8,["class","label","to"])))),128))])),_:1})):g("v-if",!0)]),i(r.$slots,"default")])),_:3})},la.__file="src/components/page-header/QasPageHeader.vue";var ra={name:"QasProfile",components:{QasAvatar:Le,QasBox:et,QasGridGenerator:ws},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.$qas.screen.untilMedium?"col":"row items-center"},userAvatarImage(){return this.result.image},avatarSize(){return this.$qas.screen.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 na={class:"q-col-gutter-md row"},ua={class:"col-lg-5 col-xs-12"},da={class:"justify-center lg:q-mb-none md:q-mr-lg row xs:q-mb-md"},ca={class:"text-bold text-h6"},ha={key:0};ra.render=function(r,p,b,v,x,_){const $=l("qas-avatar"),S=l("qas-grid-generator");return e(),o(y(b.tag),null,{default:u((()=>[a("div",na,[a("div",ua,[a("div",{class:s(["no-wrap q-col-gutter-md",_.directionClasses])},[a("div",da,[m($,{image:_.userAvatarImage,size:_.avatarSize,title:b.title},null,8,["image","size","title"])]),i(r.$slots,"default",{},(()=>[a("h6",ca,f(b.title),1),b.subtitle?(e(),t("div",ha,f(b.subtitle),1)):g("v-if",!0)]))],2)]),i(r.$slots,"grid",{},(()=>[m(S,{class:"col-lg-7 col-xs-12 items-center",columns:b.columns,fields:_.filterObject(b.fields,b.list),result:b.result,"use-empty-result":!1},n({_:2},[d(r.$slots,((e,t)=>({name:t,fn:u((e=>[i(r.$slots,t,c(h(e||{})))]))})))]),1032,["columns","fields","result"])]))])])),_:3})},ra.__file="src/components/profile/QasProfile.vue";var ma={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://image-resize.nave.dev/"+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 pa=a("div",{class:"absolute-full bg-grey-2 flex flex-center text-grey"},"⚠︎",-1);ma.render=function(t,s,a,i,r,n){const d=l("q-img");return e(),o(d,{ratio:n.ratio,"spinner-color":"grey-7",src:n.imageSource},{error:u((()=>[pa])),_:1},8,["ratio","src"])},ma.__file="src/components/resizer/QasResizer.vue";var fa={name:"QasSearchBox",components:{QasBox:et,QInfiniteScroll:N},mixins:[ms],props:{emptyListHeight:{default:"100px",type:String},emptyResultText:{default:"Não há resultados disponíveis.",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},results:{type:Array,default:()=>[]}},emits:["empty-result","update:modelValue","update:results"],data:()=>({fuse:null}),computed:{attributes(){return{clearable:!0,disable:this.isDisabled,debounce:this.useLazyLoading?500:0,outlined:!0,placeholder:this.placeholder,hideBottomSpace:!0,error:this.mx_hasFetchError,loading:this.mx_isFetching}},containerStyle(){return{height:this.containerHeight}},hasNoOptionsOnFirstFetch(){return 1===this.mx_fetchCount&&!this.mx_hasFilteredOptions},containerHeight(){return!this.list.length&&!this.useLazyLoading||this.hasNoOptionsOnFirstFetch?this.emptyListHeight:this.height},component(){const e={offset:100,scrollTarget:this.$refs.scrollContainer,ref:"infiniteScrollRef"};return{is:this.useLazyLoading?"q-infinite-scroll":"div",props:{...this.useLazyLoading&&e,...this.useLazyLoading&&{onLoad:this.onInfiniteScroll}}}},defaultFuseOptions(){return{threshold:.1,ignoreLocation:!0,...this.fuseOptions}},isDisabled(){return!this.useLazyLoading&&!this.list.length||this.mx_isFetching||this.hasNoOptionsOnFirstFetch},showEmptyResult(){return this.useEmptySlot&&!this.mx_hasFilteredOptions&&!this.mx_isFetching},showSpinnerDots(){return this.mx_hasFilteredOptions&&this.mx_isFetching},showInnerLoading(){return!this.mx_hasFilteredOptions&&this.mx_isFetching}},watch:{defaultFuseOptions(e){this.useLazyLoading||(this.fuse.options={...this.fuse.options,...e})},mx_hasFilteredOptions(e){!e&&this.$emit("empty-result")},mx_search:{async handler(e){if(this.$emit("update:modelValue",e),this.useLazyLoading)return await this.mx_filterOptionsByStore(e),this.$refs.infiniteScrollRef.resume(),void this.$refs.search.focus();this.filterOptionsByFuse(e)}},modelValue:{handler(e){this.mx_search=e},immediate:!0},mx_filteredOptions:{handler(e){this.$emit("update:results",e)},immediate:!0}},created(){this.useLazyLoading||(this.mx_filteredOptions=this.list,this.fuse=new ie(this.list,this.defaultFuseOptions),this.setListWatcher())},methods:{filterOptionsByFuse(e){this.mx_filteredOptions=e?this.mx_getNormalizedFuseResults(this.fuse.search(e)):this.list},async onInfiniteScroll(e,t){return this.mx_hasFetchError&&!this.mx_hasFilteredOptions||this.hasNoOptionsOnFirstFetch?t():this.mx_hasFilteredOptions||this.mx_search?this.mx_canFetchOptions()?(await this.mx_loadMoreOptions(),t()):void t(!0):(await this.mx_setFetchOptions(),t())},setListWatcher(){this.$watch("list",(e=>{this.fuse=new ie(e,this.defaultFuseOptions),this.filterOptionsByFuse(this.mx_search)}),{deep:!0})}}};const ga={class:"flex justify-center q-pb-sm"},ya={class:"absolute-center text-center"};fa.render=function(t,s,n,d,p,b){const v=l("q-icon"),x=l("qas-input"),_=l("q-spinner-dots"),$=l("q-spinner"),S=l("q-inner-loading"),w=l("qas-box");return e(),o(w,null,{default:u((()=>[m(x,r(b.attributes,{ref:"search",modelValue:t.mx_search,"onUpdate:modelValue":s[0]||(s[0]=e=>t.mx_search=e)}),{append:u((()=>[m(v,{color:"primary",name:"o_search"})])),_:1},16,["modelValue"]),a("div",{ref:"scrollContainer",class:"overflow-auto q-mt-xs relative-position",style:q(b.containerStyle)},[(e(),o(y(b.component.is),c(h(b.component.props)),{default:u((()=>[t.mx_hasFilteredOptions?i(t.$slots,"default",{key:0}):g("v-if",!0)])),_:3},16)),b.showSpinnerDots?i(t.$slots,"loading",{key:0},(()=>[a("div",ga,[m(_,{color:"primary",size:"20px"})])])):g("v-if",!0),b.showEmptyResult?i(t.$slots,"empty-result",{key:1},(()=>[a("div",ya,[m(v,{class:"q-mb-sm text-center",color:"primary",name:"o_search",size:"38px"}),a("div",null,f(n.emptyResultText),1)])])):g("v-if",!0),m(S,{showing:b.showInnerLoading},{default:u((()=>[m($,{color:"grey",size:"3em"})])),_:1},8,["showing"])],4)])),_:3})},fa.__file="src/components/search-box/QasSearchBox.vue";var ba={name:"QasSelect",mixins:[ms],props:{fuseOptions:{default:()=>({}),type:Object},labelKey:{default:"",type:String},modelValue:{default:()=>[],type:[Array,Object,String,Number,Boolean]},noOptionLabel:{default:"Nenhum resultado foi encontrado.",type:String},options:{default:()=>[],type:Array},valueKey:{default:"",type:String},useSearch:{type:Boolean}},emits:["update:modelValue"],data:()=>({fuse:null}),computed:{attributes(){return{clearable:this.isSearchable,emitValue:!0,mapOptions:!0,outlined:!0,...this.$attrs,options:this.mx_filteredOptions,useInput:this.isSearchable,error:this.hasError,loading:this.hasLoading,...this.useLazyLoading&&{onVirtualScroll:this.mx_onVirtualScroll},...this.isSearchable&&{onFilter:this.onFilter}}},defaultFuseOptions(){return{ignoreLocation:!0,keys:["label","value"],threshold:.1,...this.fuseOptions}},isSearchable(){return this.useSearch||this.useLazyLoading},defaultOptions(){return this.mx_handleOptions(this.options)},hasError(){return this.mx_hasFetchError||this.$attrs.error},hasLoading(){return this.mx_isFetching||this.$attrs.loading},model:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}}},watch:{defaultFuseOptions(){this.setFuse()},options:{handler(){this.useLazyLoading&&this.mx_hasFilteredOptions||(this.fuse&&this.setFuse(),this.mx_filteredOptions=this.defaultOptions)},immediate:!0}},created(){this.setFuse(),this.useLazyLoading&&this.mx_setFetchOptions("")},methods:{setFuse(){this.useSearch&&(this.fuse=new ie(this.defaultOptions,this.defaultFuseOptions))},async onFilter(e,t){this.useLazyLoading&&e!==this.mx_search&&await this.mx_filterOptionsByStore(e),!this.useLazyLoading&&this.useSearch&&this.filterOptionsByFuse(e),t()},filterOptionsByFuse(e){if(""===e)return void(this.mx_filteredOptions=this.defaultOptions);const t=this.fuse.search(e);this.mx_filteredOptions=this.mx_getNormalizedFuseResults(t)}}};const va={class:"flex justify-center q-pb-sm"};ba.render=function(t,s,p,y,v,x){const _=l("q-icon"),$=l("q-item-section"),S=l("q-item"),w=l("q-spinner-dots"),q=l("q-select");return e(),o(q,r({modelValue:x.model,"onUpdate:modelValue":s[0]||(s[0]=e=>x.model=e)},x.attributes),n({append:u((()=>[i(t.$slots,"append",{},(()=>[x.isSearchable?(e(),o(_,{key:0,name:"o_search"})):g("v-if",!0)]))])),"no-option":u((()=>[t.mx_isFetching?g("v-if",!0):i(t.$slots,"no-option",{key:0},(()=>[m(S,null,{default:u((()=>[m($,{class:"text-grey"},{default:u((()=>[b(f(p.noOptionLabel),1)])),_:1})])),_:1})]))])),"after-options":u((()=>[t.mx_isFetching?i(t.$slots,"after-options",{key:0},(()=>[a("div",va,[m(w,{color:"primary",size:"20px"})])])):g("v-if",!0)])),_:2},[d(t.$slots,((e,s)=>({name:s,fn:u((e=>[i(t.$slots,s,c(h(e||{})))]))})))]),1040,["modelValue"])},ba.__file="src/components/select/QasSelect.vue";var xa={name:"QasSelectList",components:{QasBtn:de,QasSearchBox:fa},props:{deleteOnly:{type:Boolean},fuseOptions:{default:()=>({keys:["label"]}),type:Object},list:{default:()=>[],type:Array},modelValue:{type:Array,default:()=>[]},useClickableLabel:{type:Boolean}},emits:["added","click-label","removed","update:modelValue"],data:()=>({sortedList:[],values:[],results:[]}),computed:{labelClass(){return this.useClickableLabel&&"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:{handler(e){this.values=[...e]},deep:!0,immediate:!0}},created(){this.handleList()},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.$qas.screen.isSmall,useLabelOnSmallScreen:!1,icon:this.$qas.screen.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)},handleList(){if(this.modelValue.length)return this.sortList();const e=this.$watch("modelValue",(()=>{this.sortedList.length||(this.sortList(),e())}))},onClickLabel({item:e,index:t}){this.useClickableLabel&&this.$emit("click-label",{item:e,index:t})},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.list.filter((e=>this.modelValue.includes(e.value))):X(this.list,(e=>!this.modelValue.includes(e.value)))},updateModel(e){this.$emit("update:modelValue",e||this.values)}}};const _a=["onClick"];xa.render=function(n,c,h,g,y,b){const v=l("q-item-section"),x=l("qas-btn"),_=l("q-item"),$=l("q-list"),S=l("qas-search-box");return e(),o(S,{results:y.results,"onUpdate:results":c[0]||(c[0]=e=>y.results=e),class:"q-pa-md","fuse-options":h.fuseOptions,list:y.sortedList},{default:u((()=>[m($,{separator:""},{default:u((()=>[(e(!0),t(p,null,d(y.results,(t=>(e(),o(_,{key:t.value},{default:u((()=>[i(n.$slots,"item",r(b.slotData,{item:t}),(()=>[i(n.$slots,"item-section",{result:t},(()=>[m(v,{class:"items-start text-bold"},{default:u((()=>[a("div",{class:s(b.labelClass),onClick:e=>b.onClickLabel({item:t,index:n.index})},f(t.label),11,_a)])),_:2},1024)])),m(v,{avatar:""},{default:u((()=>[i(n.$slots,"item-action",r({item:t},b.slotData),(()=>[m(x,r(b.getButtonProps(t),{onClick:e=>b.handleClick(t)}),null,16,["onClick"])]))])),_:2},1024)]))])),_:2},1024)))),128))])),_:3})])),_:3},8,["results","fuse-options","list"])},xa.__file="src/components/select-list/QasSelectList.vue";var $a={name:"QasSingleView",mixins:[ps],props:{customId:{default:"",type:[Number,String]},result:{default:()=>({}),type:Object}},emits:["update:result","fetch-success","fetch-error"],computed:{hasResult(){return!!this.resultModel},id(){return this.customId||this.$route.params.id},resultModel(){return this.$store.getters[`${this.entity}/byId`](this.id)||{}}},watch:{$route(e,t){e.name===t.name&&this.mx_fetchHandler({id:this.id,url:this.url},this.fetchSingle)},resultModel(e){this.$emit("update:result",S({...e}))}},created(){this.mx_fetchHandler({id:this.id,url:this.url},this.fetchSingle)},methods:{async fetchSingle(e={}){this.mx_isFetching=!0;try{const t={id:this.id,url:this.url,...e};this.$qas.logger.group(`QasSingleView - fetchSingle -> payload do parâmetro do ${this.entity}/fetchSingle`,[t]);const s=await this.$store.dispatch(`${this.entity}/fetchSingle`,t),{errors:a,fields:i,metadata:l}=s.data;this.mx_setErrors(a),this.mx_setFields(i),this.mx_setMetadata(l),this.mx_updateModels({errors:this.mx_errors,fields:this.mx_fields,metadata:this.mx_metadata}),this.$qas.logger.group(`QasSingleView - fetchSingle -> resposta da action ${this.entity}/fetchSingle`,[s]),this.$emit("fetch-success",s)}catch(e){this.mx_fetchError(e),this.$emit("fetch-error",e),this.$qas.logger.group(`QasSingleView - fetchSingle -> exceção da action ${this.entity}/fetchSingle`,[e],{error:!0})}finally{this.mx_isFetching=!1}}}};const Sa={key:0},wa={key:2,class:"q-my-xl text-center"},qa=a("div",{class:"text-grey-7"},"Nenhum item encontrado.",-1),ka={key:3};$a.render=function(a,r,n,d,c,h){const p=l("q-icon"),f=l("q-spinner"),b=l("q-inner-loading");return e(),o(y(a.mx_componentTag),{class:s(a.mx_componentClass)},{default:u((()=>[a.mx_hasHeaderSlot?(e(),t("header",Sa,[i(a.$slots,"header")])):g("v-if",!0),h.hasResult?i(a.$slots,"default",{key:1}):a.mx_isFetching?g("v-if",!0):(e(),t("div",wa,[m(p,{class:"q-mb-sm text-center",color:"grey-7",name:"o_search",size:"38px"}),qa])),a.mx_hasFooterSlot?(e(),t("footer",ka,[i(a.$slots,"footer")])):g("v-if",!0),m(b,{showing:a.mx_isFetching},{default:u((()=>[m(f,{color:"grey",size:"3em"})])),_:1},8,["showing"])])),_:3},8,["class"])},$a.__file="src/components/single-view/QasSingleView.vue";var Ca={name:"QasSortable",props:{entity:{default:"",required:!0,type:String},sortableOptions:{default:()=>({animation:500}),type:Object},list:{default:()=>[],type:Array},tag:{default:"div",type:String},url:{default:"",type:String},sorted:{default:()=>[],type:Array}},emits:["update:sorted","sort","success","error"],data:()=>({sortable:null,sortedList:null}),computed:{identifiers(){return this.sortedList.map((({id:e})=>e))}},watch:{sortableOptions(e){this.sortable.options={...this.sortable.options,...e}},list(e){this.setSortedValue(e),this.sortable.sort(this.sortable.toArray())}},created(){this.setSortedValue()},async mounted(){this.sortable=new le(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;xt("Ops! Erro ao salvar ordenação.",s)},async replace(){j.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),this.$emit("error",e)}finally{j.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.list),this.updateSortedModel()},updateSortedModel(){return this.$emit("update:sorted",this.sortedList)}}};Ca.render=function(t,s,a,l,r,n){return e(),o(y(a.tag),{ref:"sortableItems"},{default:u((()=>[i(t.$slots,"default")])),_:3},512)},Ca.__file="src/components/sortable/QasSortable.vue";var Va={name:"QasTableGenerator",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:{},elementToObserve:null,resizeObserver:null}),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:i}=t;e.push({align:s||"left",field:i,label:a,name:i,headerClasses:"text-primary"})}if(!this.columns.length){for(const e in this.fields)t(this.fields[e]);return this.$qas.logger.group("QasTableGenerator - Automatic columns",[e]),e}return this.columns.forEach((e=>{e instanceof Object?t(e):this.fields[e]&&t(this.fields[e])})),this.$qas.logger.group("QasTableGenerator - columns",[e]),e},hasBodySlot(){return!!this.$slots.body},hasTbodySlot(){return!!this.$slots.tbody},hasFields(){return Object.keys(this.fields).length},resultsByFields(){if(!Object.keys(this.fields).length)return[];const e=z(!0,[],this.results).map(((e,t)=>{for(const s in e)e.default=this.results[t],e[s]=we(this.fields[s],e[s])||this.emptyResultText;return e}));return this.$qas.logger.group("QasTableGenerator - resultsByFields",[e]),e},rowsPerPage(){return this.results.length},tableClass(){return this.$qas.screen.isSmall&&"qas-table-generator--mobile"},hasScrollOnGrab(){return!!Object.keys(this.scrollOnGrab).length}},mounted(){this.useScrollOnGrab&&(this.setObserver(),window.addEventListener("resize",this.handleScrollOnGrab))},onUnmounted(){this.hasScrollOnGrab&&(this.destroyObserver(),this.scrollOnGrab.destroyEvents(),window.removeEventListener("resize",this.handleScrollOnGrab))},methods:{initializeScrollOnGrab(){if(this.hasScrollOnGrab)return;const e=this.getTableElementComponent().querySelector(".q-table__middle.scroll");this.scrollOnGrab=function(e){n();let t,s,a=!1;function i(i){a=!0,e.classList.add("active"),t=i.pageX-e.offsetLeft,s=e.scrollLeft}function l(){a=!1,e.classList.remove("active"),n()}function o(){a=!1,e.classList.remove("active"),n()}function r(i){if(!a)return;i.preventDefault(),n("grabbing");const l=3*(i.pageX-e.offsetLeft-t);e.scrollLeft=s-l}function n(t="grab"){e.style.cursor=t}return e.addEventListener("mousedown",i),e.addEventListener("mouseleave",l),e.addEventListener("mouseup",o),e.addEventListener("mousemove",r),{element:e,destroyEvents:function(){e.removeEventListener("mousedown",i),e.removeEventListener("mouseleave",l),e.removeEventListener("mouseup",o),e.removeEventListener("mousemove",r)}}}(e)},getTableElementComponent(){return this.$refs?.table?.$el},getTableElement(){return this.getTableElementComponent()?.querySelector("table")},getFullTableWidth(){return this.getTableElement()?.getBoundingClientRect?.()?.width},getContainerTableWidth(){const e=this.getTableElementComponent()?.querySelector(".q-table__middle");return e?.getBoundingClientRect?.()?.width},handleScrollOnGrab(){const e=this.getFullTableWidth(),t=this.getContainerTableWidth(),s=!!Object.keys(this.scrollOnGrab).length;e>t?this.initializeScrollOnGrab():s&&(this.scrollOnGrab.destroyEvents(),this.scrollOnGrab.element.style.cursor="auto",this.scrollOnGrab={})},setObserver(){this.elementToObserve=this.getTableElement(),this.resizeObserver=new ResizeObserver((e=>{e.forEach((()=>this.handleScrollOnGrab()))})),this.resizeObserver.observe(this.elementToObserve)},destroyObserver(){this.resizeObserver.unobserve(this.elementToObserve)}}};Va.render=function(t,s,a,p,f,g){const y=l("q-td"),b=l("q-table"),v=l("qas-box");return e(),o(v,{class:"q-mb-xl q-px-lg q-py-md"},{default:u((()=>[m(b,r({ref:"table",class:["bg-transparent qas-table-generator",g.tableClass]},g.attributes),n({_:2},[d(t.$slots,((s,a)=>({name:a,fn:u((s=>[g.hasBodySlot?i(t.$slots,"body",{key:0,props:s}):(e(),o(y,{key:a},{default:u((()=>[i(t.$slots,a,c(h(s||{})))])),_:2},1024))]))})))]),1040,["class"])])),_:3})},Va.__file="src/components/table-generator/QasTableGenerator.vue";var Qa={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,Array]}},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],value:t});return e},model:{get(){return this.modelValue},set(e){this.$emit("update:modelValue",e)}}}};Qa.render=function(s,a,n,c,h,m){const f=l("q-badge"),y=l("q-tab"),b=l("q-tabs");return e(),o(b,{modelValue:m.model,"onUpdate:modelValue":a[0]||(a[0]=e=>m.model=e),"active-color":n.activeColor,"indicator-color":n.indicatorColor,"outside-arrows":""},{default:u((()=>[(e(!0),t(p,null,d(m.formattedTabs,((t,a)=>i(s.$slots,`tab-${t.value}`,{item:t},(()=>[(e(),o(y,r({key:a},t,{class:n.tabClass,label:t.label,name:t.value}),{default:u((()=>[i(s.$slots,`tab-after-${t.value}`,{item:t},(()=>[n.counters[a]?(e(),o(f,r({key:0,label:n.counters[a]},m.defaultCounterProps),null,16,["label"])):g("v-if",!0)]))])),_:2},1040,["class","label","name"]))])))),256))])),_:3},8,["modelValue","active-color","indicator-color"])},Qa.__file="src/components/tabs-generator/QasTabsGenerator.vue";var Fa={name:"QasTextTruncate",components:{QasDialog:pt},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.$qas.screen.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,useCloseButton:!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 Oa={ref:"parent",class:"full-width"},La={class:"justify-between no-wrap row text-no-wrap"};Fa.render=function(o,n,d,c,h,p){const y=l("qas-dialog");return e(),t("div",Oa,[a("div",La,[a("div",{ref:"truncate",class:s(p.truncateTextClass)},[i(o.$slots,"default",{},(()=>[b(f(d.text),1)]))],2),p.isTruncated?(e(),t("div",{key:0,class:"cursor-pointer text-primary",onClick:n[0]||(n[0]=(...e)=>p.toggleDialog&&p.toggleDialog(...e))},f(d.seeMoreLabel),1)):g("v-if",!0)]),m(y,r({modelValue:h.showDialog,"onUpdate:modelValue":n[1]||(n[1]=e=>h.showDialog=e)},p.defaultDialogProps),{description:u((()=>[i(o.$slots,"default",{},(()=>[a("div",null,f(d.text),1)]))])),_:3},16,["modelValue"])],512)},Fa.__file="src/components/text-truncate/QasTextTruncate.vue";var Ba={name:"QasTransfer",components:{QasBtn:de,QasLabel:qs,QasSearchBox:fa},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:[],firstResults:[],secondResults:[]}),computed:{actionsClass(){return!this.$qas.screen.isSmall&&"column"},gutterClass(){return"q-col-gutter-"+(this.$qas.screen.untilLarge?"md":"xl")},iconClass(){return!this.$qas.screen.isSmall&&"qas-transfer__icon"},searchBoxProps(){return{fuseOptions:this.fuseOptions,useEmptySlot:this.useEmptySlot}}},watch:{options:{handler(e){this.optionsList=z(!0,[],e),this.setSelectedFromValue(!0)},immediate:!0},modelValue:{handler(){this.setSelectedFromValue(!0)},immediate:!0}},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),this.updateModelValue()},setSelectedFromValue(e){this.optionsList.length&&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 Pa=a("div",{class:"col-12"},null,-1),Da={class:"col-12 col-sm"},Ia=b("Selecionar"),Ma=b("Remover"),Aa={class:"col-12 col-sm"};Ba.render=function(n,c,h,g,y,v){const x=l("qas-label"),_=l("q-item-section"),$=l("q-item"),S=l("q-list"),w=l("qas-search-box"),q=l("qas-btn"),k=l("q-tooltip");return e(),t("div",{class:s(["qas-transfer row",v.gutterClass])},[Pa,a("div",Da,[m(x,{label:h.label,quantity:y.optionsList.length},null,8,["label","quantity"]),m(w,r({results:y.firstResults,"onUpdate:results":c[0]||(c[0]=e=>y.firstResults=e),list:y.optionsList,outlined:""},v.searchBoxProps),{default:u((()=>[m(S,{separator:""},{default:u((()=>[(e(!0),t(p,null,d(y.firstResults,((t,a)=>(e(),o($,{key:a,class:s(v.getItemClass(t,!0)),clickable:"",onClick:e=>v.onSelectQueue(t,!0)},{default:u((()=>[i(n.$slots,"item-first-column",{},(()=>[m(_,null,{default:u((()=>[b(f(v.getItemLabel(t)),1)])),_:2},1024)]))])),_:2},1032,["class","onClick"])))),128))])),_:3})])),_:3},16,["results","list"])]),a("div",{class:s(["col-12 col-sm-auto items-center justify-center q-col-gutter-md row",v.actionsClass])},[a("div",null,[m(q,{class:s(v.iconClass),dense:"",disabled:!y.firstQueue.length,flat:"",icon:"o_arrow_circle_down",rounded:"",onClick:c[1]||(c[1]=e=>v.setSelectedFromClick(!0))},null,8,["class","disabled"]),m(k,{anchor:"top middle",self:"center middle"},{default:u((()=>[Ia])),_:1})]),a("div",null,[a("div",null,[m(q,{class:s(v.iconClass),dense:"",disabled:!y.secondQueue.length,flat:"",icon:"o_arrow_circle_up",rounded:"",onClick:c[2]||(c[2]=e=>v.setSelectedFromClick())},null,8,["class","disabled"]),m(k,{anchor:"bottom middle",self:"center middle"},{default:u((()=>[Ma])),_:1})])])],2),a("div",Aa,[m(x,{label:"Selecionadas",quantity:y.selectedList.length},null,8,["quantity"]),m(w,r({results:y.secondResults,"onUpdate:results":c[3]||(c[3]=e=>y.secondResults=e)},v.searchBoxProps,{"empty-list-height":"300px",label:"Selecionadas",list:y.selectedList,outlined:""}),{default:u((()=>[m(S,{separator:""},{default:u((()=>[(e(!0),t(p,null,d(y.secondResults,((t,a)=>(e(),o($,{key:a,class:s(v.getItemClass(t)),clickable:"",onClick:e=>v.onSelectQueue(t)},{default:u((()=>[i(n.$slots,"item-second-column",{},(()=>[m(_,null,{default:u((()=>[b(f(v.getItemLabel(t)),1)])),_:2},1024)]))])),_:2},1032,["class","onClick"])))),128))])),_:3})])),_:3},16,["results","list"])])],2)},Ba.__file="src/components/transfer/QasTransfer.vue";var Ea={name:"test",bind(e,{arg:t,value:s}){e&&t&&(e.dataset.test=t),e&&s&&(e.dataset.testKey=s)}};const Ra="3.0.0-beta.20";function ja(e){e.component("QasActions",re),e.component("QasActionsMenu",ce),e.component("QasAlert",Qe),e.component("QasAppBar",Be),e.component("QasAppMenu",We),e.component("QasAvatar",Le),e.component("QasBox",et),e.component("QasBreakline",Ve),e.component("QasBtn",de),e.component("QasCard",tt),e.component("QasCheckboxGroup",ot),e.component("QasCopy",rt),e.component("QasDateTimeInput",ut),e.component("QasDebugger",dt),e.component("QasDelete",qt),e.component("QasDialog",pt),e.component("QasDialogRouter",kt),e.component("QasField",es),e.component("QasFilters",ss),e.component("QasFormGenerator",hs),e.component("QasFormView",fs),e.component("QasGallery",vs),e.component("QasGridGenerator",ws),e.component("QasInput",Ct),e.component("QasLabel",qs),e.component("QasLayout",ks),e.component("QasListItems",Cs),e.component("QasListView",Qs),e.component("QasMap",As),e.component("QasNestedFields",js),e.component("QasNumericInput",Qt),e.component("QasPageHeader",la),e.component("QasPasswordInput",Dt),e.component("QasPasswordStrengthChecker",Bt),e.component("QasProfile",ra),e.component("QasResizer",ma),e.component("QasSearchBox",fa),e.component("QasSelect",ba),e.component("QasSelectList",xa),e.component("QasSignaturePad",Gt),e.component("QasSignatureUploader",Kt),e.component("QasSingleView",$a),e.component("QasSortable",Ca),e.component("QasTableGenerator",Va),e.component("QasTabsGenerator",Qa),e.component("QasTextTruncate",Fa),e.component("QasTransfer",Ba),e.component("QasUploader",It),e.use(G,{plugins:{Notify:A,QuasarDialog:M,Dialog:bt}}),process.env.MAPS_API_KEY&&e.use(oe,{load:{key:process.env.MAPS_API_KEY,libraries:"places"}}),e.config.globalProperties.$qas={dialog:bt,error:xt,logger:vt(),screen:$t(),success:_t},e.directive(Ea.name,Ea)}var za=Object.freeze({__proto__:null,version:Ra,QasActions:re,QasActionsMenu:ce,QasAlert:Qe,QasAppBar:Be,QasAppMenu:We,QasAvatar:Le,QasBox:et,QasBreakline:Ve,QasBtn:de,QasCard:tt,QasCheckboxGroup:ot,QasCopy:rt,QasDateTimeInput:ut,QasDebugger:dt,QasDelete:qt,QasDialog:pt,QasDialogRouter:kt,QasField:es,QasFilters:ss,QasFormGenerator:hs,QasFormView:fs,QasGallery:vs,QasGridGenerator:ws,QasInput:Ct,QasLabel:qs,QasLayout:ks,QasListItems:Cs,QasListView:Qs,QasMap:As,QasNestedFields:js,QasNumericInput:Qt,QasPageHeader:la,QasPasswordInput:Dt,QasPasswordStrengthChecker:Bt,QasProfile:ra,QasResizer:ma,QasSearchBox:fa,QasSelect:ba,QasSelectList:xa,QasSignaturePad:Gt,QasSignatureUploader:Kt,QasSingleView:$a,QasSortable:Ca,QasTableGenerator:Va,QasTabsGenerator:Qa,QasTextTruncate:Fa,QasTransfer:Ba,QasUploader:It,Dialog:bt,Logger:vt,NotifyError:xt,NotifySuccess:_t,Screen:$t,install:ja});export{bt as Dialog,vt as Logger,xt as NotifyError,_t as NotifySuccess,re as QasActions,ce as QasActionsMenu,Qe as QasAlert,Be as QasAppBar,We as QasAppMenu,Le as QasAvatar,et as QasBox,Ve as QasBreakline,de as QasBtn,tt as QasCard,ot as QasCheckboxGroup,rt as QasCopy,ut as QasDateTimeInput,dt as QasDebugger,qt as QasDelete,pt as QasDialog,kt as QasDialogRouter,es as QasField,ss as QasFilters,hs as QasFormGenerator,fs as QasFormView,vs as QasGallery,ws as QasGridGenerator,Ct as QasInput,qs as QasLabel,ks as QasLayout,Cs as QasListItems,Qs as QasListView,As as QasMap,js as QasNestedFields,Qt as QasNumericInput,la as QasPageHeader,Dt as QasPasswordInput,Bt as QasPasswordStrengthChecker,ra as QasProfile,ma as QasResizer,fa as QasSearchBox,ba as QasSelect,xa as QasSelectList,Gt as QasSignaturePad,Kt as QasSignatureUploader,$a as QasSingleView,Ca as QasSortable,Va as QasTableGenerator,Qa as QasTabsGenerator,Fa as QasTextTruncate,Ba as QasTransfer,It as QasUploader,$t as Screen,za as default,ja as install,Ra as version};