@bildvitta/quasar-ui-asteroid 3.0.0-beta.18 → 3.0.0-beta.19

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.
@@ -73,6 +73,10 @@
73
73
  "use-form": {
74
74
  "desc": "Define se a tag onde fica a descrição no dialog vai ser um \"<q-form />\" ou \"<div />\".",
75
75
  "type": "Boolean"
76
+ },
77
+ "use-validation-at-once": {
78
+ "desc": "Valida todos os campos de uma única vez, ao invés de ser um por vez (que é o padrão).",
79
+ "type": "Boolean"
76
80
  }
77
81
  },
78
82
  "slots": {
@@ -48,9 +48,12 @@
48
48
  "type": "String"
49
49
  },
50
50
  "tabs": {
51
- "desc": "Objeto contendo todas as tabs a serem geradas.",
51
+ "desc": "Objeto ou Array contendo todas as tabs a serem geradas.",
52
52
  "default": {},
53
- "type": "Object",
53
+ "type": [
54
+ "Object",
55
+ "Array"
56
+ ],
54
57
  "examples": [
55
58
  "{ tab1: 'tab1', tab2: 'tab2' }"
56
59
  ]
@@ -1 +1 @@
1
- @import"https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,400;0,700;1,400;1,700&display=swap";:root{--qas-background-color: #f5f5f5;--qas-generic-border-radius: 8px}h1{font-size:6rem;font-weight:800;letter-spacing:0;line-height:6rem;margin:0}h2{font-size:3.75rem;font-weight:700;letter-spacing:0;line-height:3.75rem;margin:0}h3{font-size:3rem;font-weight:600;letter-spacing:0;line-height:2.5rem;margin:0}h4{font-size:2.125rem;font-weight:800;letter-spacing:0;line-height:2.5rem;margin:0}h5{font-size:1.5rem;font-weight:700;letter-spacing:0;line-height:2rem;margin:0}h6{font-size:1.25rem;font-weight:600;letter-spacing:0;line-height:2rem;margin:0}body{background-color:var(--qas-background-color)}.q-field--outlined .q-field__inner{background-color:#fff;border-radius:var(--qas-generic-border-radius)}.q-radio__inner::before{color:var(--q-primary)}.q-tabs__arrow{color:var(--q-primary)}.bg-no-repeat{background-repeat:no-repeat !important}.bg-size-contain{background-size:contain !important}.bg-size-cover{background-size:cover !important}.bg-position-bottom{background-position:bottom !important}.bg-position-center{background-position:center !important}.bg-position-left{background-position:left !important}.bg-position-right{background-position:right !important}.bg-position-top{background-position:top !important}.border-secondary-contrast:not(.border-top):not(.border-left):not(.border-bottom):not(.border-right),.border-secondary:not(.border-top):not(.border-left):not(.border-bottom):not(.border-right),.border-primary-contrast:not(.border-top):not(.border-left):not(.border-bottom):not(.border-right),.border-primary:not(.border-top):not(.border-left):not(.border-bottom):not(.border-right){border-width:1px !important}.border-primary{border:0 solid var(--q-primary) !important}.border-primary-contrast{border:0 solid var(--q-primary-contrast) !important}.border-secondary{border:0 solid var(--q-secondary) !important}.border-secondary-contrast{border:0 solid var(--q-secondary-contrast) !important}.border-top{border-top-width:1px !important}.border-left{border-left-width:1px !important}.border-bottom{border-bottom-width:1px !important}.border-right{border-right-width:1px !important}.rounded-borders-sm{border-radius:calc(var(--qas-generic-border-radius) / 2) !important}.rounded-borders-lg{border-radius:calc(var(--qas-generic-border-radius) * 2) !important}.rounded-borders-top{border-bottom-left-radius:0 !important;border-bottom-right-radius:0 !important}.rounded-borders-right{border-bottom-left-radius:0 !important;border-top-left-radius:0 !important}.rounded-borders-bottom{border-top-left-radius:0 !important;border-top-right-radius:0 !important}.rounded-borders-left{border-bottom-right-radius:0 !important;border-top-right-radius:0 !important}.container,.container-xs,.container-sm,.container-md,.container-lg,.container-xl{margin-left:auto;margin-right:auto;max-width:1280px;width:calc(100% - 80px)}.container.spaced,.container-xs.spaced,.container-sm.spaced,.container-md.spaced,.container-lg.spaced,.container-xl.spaced{padding-bottom:20px;padding-top:20px}@media(max-width: 599px){.container,.container-xs,.container-sm,.container-md,.container-lg,.container-xl{width:calc(100% - 20px)}}.container-xs{max-width:599px !important}.container-sm{max-width:1023px !important}.container-md{max-width:1439px !important}.container-lg{max-width:1919px !important}body{font-family:Inter,system-ui,sans-serif}.qs-lh-xs{line-height:.85 !important}.qs-lh-sm{line-height:1 !important}.qs-lh-md{line-height:1.15 !important}.qs-lh-lg{line-height:1.3 !important}.qs-lh-xl{line-height:1.5 !important}.opacity-10{opacity:0.1 !important}.opacity-20{opacity:0.2 !important}.opacity-30{opacity:0.3 !important}.opacity-40{opacity:0.4 !important}.opacity-50{opacity:0.5 !important}.opacity-60{opacity:0.6 !important}.opacity-70{opacity:0.7 !important}.opacity-80{opacity:0.8 !important}.opacity-90{opacity:0.9 !important}.text-baseline{vertical-align:baseline !important}.text-break{word-break:break-all !important}.text-underline{text-decoration:underline !important}.text-no-decoration{text-decoration:none !important}.unset{all:unset}a.unset,button.unset{cursor:pointer}.qas-actions-menu__list{width:265px;z-index:1}.qas-alert{border-style:solid;border-width:0 10px}.qas-app-bar__toolbar{height:70px}.qas-app-bar__brand{height:24px;margin-right:8px;position:relative;top:4px}.qas-app-bar__user{background-color:var(--qas-background-color);transition:background-color .3s cubic-bezier(0.25, 0.8, 0.5, 1)}.qas-app-bar__user:focus,.qas-app-bar__user:hover{background-color:rgba(255,255,255,.2)}.qas-app-bar__user-data{max-width:180px}.qas-app-bar__user-menu{width:260px}@media(max-width: 599px){.qas-app-bar__user-data{display:none}}.q-expansion-item--expanded .q-item:not(.qas-app-menu--active.q-item){background-color:#fafafa}.qas-list-items .q-list>.q-item{padding:24px 16px}.qas-map__draw{height:300px;width:100%}.qas-nested-fields__actions{height:56px}.qas-signature-pad__canvas{border:1px solid rgba(0,0,0,.12)}.qas-table-generator .q-table th{font-weight:bold}.qas-table-generator--mobile{margin:0 -10px}.qas-table-generator--mobile .q-table{margin-left:10px}.qas-transfer__icon{transform:rotate(-90deg)}.qas-uploader__input{display:none}
1
+ @import"https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,400;0,700;1,400;1,700&display=swap";:root{--qas-background-color: #f5f5f5;--qas-generic-border-radius: 8px}h1{font-size:6rem;font-weight:800;letter-spacing:0;line-height:6rem;margin:0}h2{font-size:3.75rem;font-weight:700;letter-spacing:0;line-height:3.75rem;margin:0}h3{font-size:3rem;font-weight:600;letter-spacing:0;line-height:2.5rem;margin:0}h4{font-size:2.125rem;font-weight:800;letter-spacing:0;line-height:2.5rem;margin:0}h5{font-size:1.5rem;font-weight:700;letter-spacing:0;line-height:2rem;margin:0}h6{font-size:1.25rem;font-weight:600;letter-spacing:0;line-height:2rem;margin:0}body{background-color:var(--qas-background-color)}.q-field--outlined .q-field__inner{background-color:#fff;border-radius:var(--qas-generic-border-radius)}.q-radio__inner::before{color:var(--q-primary)}.q-tabs__arrow{color:var(--q-primary)}.bg-no-repeat{background-repeat:no-repeat !important}.bg-size-contain{background-size:contain !important}.bg-size-cover{background-size:cover !important}.bg-position-bottom{background-position:bottom !important}.bg-position-center{background-position:center !important}.bg-position-left{background-position:left !important}.bg-position-right{background-position:right !important}.bg-position-top{background-position:top !important}.border-secondary-contrast:not(.border-top):not(.border-left):not(.border-bottom):not(.border-right),.border-secondary:not(.border-top):not(.border-left):not(.border-bottom):not(.border-right),.border-primary-contrast:not(.border-top):not(.border-left):not(.border-bottom):not(.border-right),.border-primary:not(.border-top):not(.border-left):not(.border-bottom):not(.border-right){border-width:1px !important}.border-primary{border:0 solid var(--q-primary) !important}.border-primary-contrast{border:0 solid var(--q-primary-contrast) !important}.border-secondary{border:0 solid var(--q-secondary) !important}.border-secondary-contrast{border:0 solid var(--q-secondary-contrast) !important}.border-top{border-top-width:1px !important}.border-left{border-left-width:1px !important}.border-bottom{border-bottom-width:1px !important}.border-right{border-right-width:1px !important}.rounded-borders-sm{border-radius:calc(var(--qas-generic-border-radius) / 2) !important}.rounded-borders-lg{border-radius:calc(var(--qas-generic-border-radius) * 2) !important}.rounded-borders-top{border-bottom-left-radius:0 !important;border-bottom-right-radius:0 !important}.rounded-borders-right{border-bottom-left-radius:0 !important;border-top-left-radius:0 !important}.rounded-borders-bottom{border-top-left-radius:0 !important;border-top-right-radius:0 !important}.rounded-borders-left{border-bottom-right-radius:0 !important;border-top-right-radius:0 !important}.container,.container-xs,.container-sm,.container-md,.container-lg,.container-xl{margin-left:auto;margin-right:auto;max-width:1280px;width:calc(100% - 80px)}.container.spaced,.container-xs.spaced,.container-sm.spaced,.container-md.spaced,.container-lg.spaced,.container-xl.spaced{padding-bottom:20px;padding-top:20px}@media(max-width: 599px){.container,.container-xs,.container-sm,.container-md,.container-lg,.container-xl{width:calc(100% - 20px)}}.container-xs{max-width:599px !important}.container-sm{max-width:1023px !important}.container-md{max-width:1439px !important}.container-lg{max-width:1919px !important}body{font-family:Inter,system-ui,sans-serif}.qs-lh-xs{line-height:.85 !important}.qs-lh-sm{line-height:1 !important}.qs-lh-md{line-height:1.15 !important}.qs-lh-lg{line-height:1.3 !important}.qs-lh-xl{line-height:1.5 !important}.opacity-10{opacity:0.1 !important}.opacity-20{opacity:0.2 !important}.opacity-30{opacity:0.3 !important}.opacity-40{opacity:0.4 !important}.opacity-50{opacity:0.5 !important}.opacity-60{opacity:0.6 !important}.opacity-70{opacity:0.7 !important}.opacity-80{opacity:0.8 !important}.opacity-90{opacity:0.9 !important}.text-baseline{vertical-align:baseline !important}.text-break{word-break:break-all !important}.text-underline{text-decoration:underline !important}.text-no-decoration{text-decoration:none !important}.unset{all:unset}a.unset,button.unset{cursor:pointer}.qas-actions-menu__list{width:265px;z-index:1}.qas-app-bar__toolbar{height:70px}.qas-app-bar__brand{height:24px;margin-right:8px;position:relative;top:4px}.qas-app-bar__user{background-color:var(--qas-background-color);transition:background-color .3s cubic-bezier(0.25, 0.8, 0.5, 1)}.qas-app-bar__user:focus,.qas-app-bar__user:hover{background-color:rgba(255,255,255,.2)}.qas-app-bar__user-data{max-width:180px}.qas-app-bar__user-menu{width:260px}@media(max-width: 599px){.qas-app-bar__user-data{display:none}}.qas-alert{border-style:solid;border-width:0 10px}.q-expansion-item--expanded .q-item:not(.qas-app-menu--active.q-item){background-color:#fafafa}.qas-list-items .q-list>.q-item{padding:24px 16px}.qas-map__draw{height:300px;width:100%}.qas-nested-fields__actions{height:56px}.qas-signature-pad__canvas{border:1px solid rgba(0,0,0,.12)}.qas-table-generator .q-table th{font-weight:bold}.qas-table-generator--mobile{margin:0 -10px}.qas-table-generator--mobile .q-table{margin-left:10px}.qas-transfer__icon{transform:rotate(-90deg)}.qas-uploader__input{display:none}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @bildvitta/quasar-ui-asteroid v3.0.0-beta.18
2
+ * @bildvitta/quasar-ui-asteroid v3.0.0-beta.19
3
3
  * (c) 2022 Bild & Vitta <systemteam@bild.com.br>
4
4
  * Released under the MIT License.
5
5
  */
@@ -607,6 +607,8 @@ function humanize (field = {}, value) {
607
607
  case 'time': return time(value)
608
608
  case 'radio': return selectLabel(field.options, value)
609
609
  case 'percent': return formatPercent(value)
610
+ case 'money': return money(value)
611
+ case 'decimal': return decimal(value)
610
612
  default: return value
611
613
  }
612
614
  }
@@ -1962,8 +1964,6 @@ script$A.__file = "src/components/copy/QasCopy.vue";
1962
1964
  var script$z = {
1963
1965
  name: 'QasDateTimeInput',
1964
1966
 
1965
- inheritAttrs: false,
1966
-
1967
1967
  props: {
1968
1968
  dateMask: {
1969
1969
  default: 'DD/MM/YYYY',
@@ -2122,75 +2122,73 @@ function render$z(_ctx, _cache, $props, $setup, $data, $options) {
2122
2122
  const _component_q_time = vue.resolveComponent("q-time");
2123
2123
  const _component_qas_input = vue.resolveComponent("qas-input");
2124
2124
 
2125
- return (vue.openBlock(), vue.createElementBlock("div", null, [
2126
- vue.createVNode(_component_qas_input, vue.mergeProps({ ref: "input" }, $options.attributes, {
2127
- modelValue: $data.currentValue,
2128
- "onUpdate:modelValue": [
2129
- _cache[2] || (_cache[2] = $event => (($data.currentValue) = $event)),
2130
- $options.updateModelValue
2131
- ],
2132
- "unmasked-value": false
2133
- }), {
2134
- append: vue.withCtx(() => [
2135
- (!$props.useTimeOnly)
2136
- ? (vue.openBlock(), vue.createBlock(_component_q_icon, {
2137
- key: 0,
2138
- class: "cursor-pointer",
2139
- name: "o_event"
2140
- }, {
2141
- default: vue.withCtx(() => [
2142
- vue.createVNode(_component_q_popup_proxy, {
2143
- ref: "dateProxy",
2144
- "transition-hide": "scale",
2145
- "transition-show": "scale"
2146
- }, {
2147
- default: vue.withCtx(() => [
2148
- vue.createVNode(_component_q_date, vue.mergeProps({
2149
- modelValue: $data.currentValue,
2150
- "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (($data.currentValue) = $event))
2151
- }, $props.dateProps, {
2152
- mask: $options.maskDate,
2153
- "onUpdate:modelValue": $options.updateModelValue
2154
- }), null, 16 /* FULL_PROPS */, ["modelValue", "mask", "onUpdate:modelValue"])
2155
- ]),
2156
- _: 1 /* STABLE */
2157
- }, 512 /* NEED_PATCH */)
2158
- ]),
2159
- _: 1 /* STABLE */
2160
- }))
2161
- : vue.createCommentVNode("v-if", true),
2162
- (!$props.useDateOnly)
2163
- ? (vue.openBlock(), vue.createBlock(_component_q_icon, {
2164
- key: 1,
2165
- class: "cursor-pointer q-ml-md",
2166
- name: "o_access_time"
2167
- }, {
2168
- default: vue.withCtx(() => [
2169
- vue.createVNode(_component_q_popup_proxy, {
2170
- ref: "timeProxy",
2171
- "transition-hide": "scale",
2172
- "transition-show": "scale"
2173
- }, {
2174
- default: vue.withCtx(() => [
2175
- vue.createVNode(_component_q_time, vue.mergeProps({
2176
- modelValue: $data.currentValue,
2177
- "onUpdate:modelValue": _cache[1] || (_cache[1] = $event => (($data.currentValue) = $event))
2178
- }, $props.timeProps, {
2179
- format24h: "",
2180
- mask: $options.maskDate,
2181
- "onUpdate:modelValue": $options.updateModelValue
2182
- }), null, 16 /* FULL_PROPS */, ["modelValue", "mask", "onUpdate:modelValue"])
2183
- ]),
2184
- _: 1 /* STABLE */
2185
- }, 512 /* NEED_PATCH */)
2186
- ]),
2187
- _: 1 /* STABLE */
2188
- }))
2189
- : vue.createCommentVNode("v-if", true)
2190
- ]),
2191
- _: 1 /* STABLE */
2192
- }, 16 /* FULL_PROPS */, ["modelValue", "onUpdate:modelValue"])
2193
- ]))
2125
+ return (vue.openBlock(), vue.createBlock(_component_qas_input, vue.mergeProps({ ref: "input" }, $options.attributes, {
2126
+ modelValue: $data.currentValue,
2127
+ "onUpdate:modelValue": [
2128
+ _cache[2] || (_cache[2] = $event => (($data.currentValue) = $event)),
2129
+ $options.updateModelValue
2130
+ ],
2131
+ "unmasked-value": false
2132
+ }), {
2133
+ append: vue.withCtx(() => [
2134
+ (!$props.useTimeOnly)
2135
+ ? (vue.openBlock(), vue.createBlock(_component_q_icon, {
2136
+ key: 0,
2137
+ class: "cursor-pointer",
2138
+ name: "o_event"
2139
+ }, {
2140
+ default: vue.withCtx(() => [
2141
+ vue.createVNode(_component_q_popup_proxy, {
2142
+ ref: "dateProxy",
2143
+ "transition-hide": "scale",
2144
+ "transition-show": "scale"
2145
+ }, {
2146
+ default: vue.withCtx(() => [
2147
+ vue.createVNode(_component_q_date, vue.mergeProps({
2148
+ modelValue: $data.currentValue,
2149
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (($data.currentValue) = $event))
2150
+ }, $props.dateProps, {
2151
+ mask: $options.maskDate,
2152
+ "onUpdate:modelValue": $options.updateModelValue
2153
+ }), null, 16 /* FULL_PROPS */, ["modelValue", "mask", "onUpdate:modelValue"])
2154
+ ]),
2155
+ _: 1 /* STABLE */
2156
+ }, 512 /* NEED_PATCH */)
2157
+ ]),
2158
+ _: 1 /* STABLE */
2159
+ }))
2160
+ : vue.createCommentVNode("v-if", true),
2161
+ (!$props.useDateOnly)
2162
+ ? (vue.openBlock(), vue.createBlock(_component_q_icon, {
2163
+ key: 1,
2164
+ class: "cursor-pointer q-ml-md",
2165
+ name: "o_access_time"
2166
+ }, {
2167
+ default: vue.withCtx(() => [
2168
+ vue.createVNode(_component_q_popup_proxy, {
2169
+ ref: "timeProxy",
2170
+ "transition-hide": "scale",
2171
+ "transition-show": "scale"
2172
+ }, {
2173
+ default: vue.withCtx(() => [
2174
+ vue.createVNode(_component_q_time, vue.mergeProps({
2175
+ modelValue: $data.currentValue,
2176
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = $event => (($data.currentValue) = $event))
2177
+ }, $props.timeProps, {
2178
+ format24h: "",
2179
+ mask: $options.maskDate,
2180
+ "onUpdate:modelValue": $options.updateModelValue
2181
+ }), null, 16 /* FULL_PROPS */, ["modelValue", "mask", "onUpdate:modelValue"])
2182
+ ]),
2183
+ _: 1 /* STABLE */
2184
+ }, 512 /* NEED_PATCH */)
2185
+ ]),
2186
+ _: 1 /* STABLE */
2187
+ }))
2188
+ : vue.createCommentVNode("v-if", true)
2189
+ ]),
2190
+ _: 1 /* STABLE */
2191
+ }, 16 /* FULL_PROPS */, ["modelValue", "onUpdate:modelValue"]))
2194
2192
  }
2195
2193
 
2196
2194
  script$z.render = render$z;
@@ -2293,6 +2291,10 @@ var script$x = {
2293
2291
 
2294
2292
  useCloseButton: {
2295
2293
  type: Boolean
2294
+ },
2295
+
2296
+ useValidationAllAtOnce: {
2297
+ type: Boolean
2296
2298
  }
2297
2299
  },
2298
2300
 
@@ -2339,7 +2341,26 @@ var script$x = {
2339
2341
 
2340
2342
  methods: {
2341
2343
  async submitHandler () {
2342
- this.useForm && this.$emit('validate', await this.$refs.form.validate());
2344
+ if (!this.useForm) return
2345
+
2346
+ if (this.useValidationAllAtOnce) {
2347
+ let isAllComponentValid = true;
2348
+ const components = this.$refs.form.getValidationComponents() || [];
2349
+
2350
+ for (const component of components) {
2351
+ const isValid = component?.validate?.();
2352
+
2353
+ if (!isValid) {
2354
+ isAllComponentValid = false;
2355
+ }
2356
+ }
2357
+
2358
+ this.$emit('validate', isAllComponentValid);
2359
+
2360
+ return
2361
+ }
2362
+
2363
+ this.$emit('validate', await this.$refs.form.validate());
2343
2364
  },
2344
2365
 
2345
2366
  // método para funcionar como plugin
@@ -2894,8 +2915,6 @@ script$v.__file = "src/components/dialog-router/QasDialogRouter.vue";
2894
2915
  var script$u = {
2895
2916
  name: 'QasInput',
2896
2917
 
2897
- inheritAttrs: false,
2898
-
2899
2918
  props: {
2900
2919
  error: {
2901
2920
  type: Boolean
@@ -3044,30 +3063,28 @@ var script$u = {
3044
3063
  function render$u(_ctx, _cache, $props, $setup, $data, $options) {
3045
3064
  const _component_q_input = vue.resolveComponent("q-input");
3046
3065
 
3047
- return (vue.openBlock(), vue.createElementBlock("div", null, [
3048
- vue.createVNode(_component_q_input, vue.mergeProps({
3049
- ref: "input",
3050
- modelValue: $options.model,
3051
- "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (($options.model) = $event)),
3052
- "bottom-slots": "",
3053
- error: $data.errorData
3054
- }, _ctx.$attrs, {
3055
- "error-message": _ctx.errorMessageData,
3056
- mask: $options.mask,
3057
- outlined: $props.outlined,
3058
- "unmasked-value": $props.unmaskedValue,
3059
- onPaste: $options.onPaste
3060
- }), vue.createSlots({ _: 2 /* DYNAMIC */ }, [
3061
- vue.renderList(_ctx.$slots, (_, name) => {
3062
- return {
3063
- name: name,
3064
- fn: vue.withCtx((context) => [
3065
- vue.renderSlot(_ctx.$slots, name, vue.normalizeProps(vue.guardReactiveProps(context || {})))
3066
- ])
3067
- }
3068
- })
3069
- ]), 1040 /* FULL_PROPS, DYNAMIC_SLOTS */, ["modelValue", "error", "error-message", "mask", "outlined", "unmasked-value", "onPaste"])
3070
- ]))
3066
+ return (vue.openBlock(), vue.createBlock(_component_q_input, vue.mergeProps({
3067
+ ref: "input",
3068
+ modelValue: $options.model,
3069
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (($options.model) = $event)),
3070
+ "bottom-slots": "",
3071
+ error: $data.errorData
3072
+ }, _ctx.$attrs, {
3073
+ "error-message": _ctx.errorMessageData,
3074
+ mask: $options.mask,
3075
+ outlined: $props.outlined,
3076
+ "unmasked-value": $props.unmaskedValue,
3077
+ onPaste: $options.onPaste
3078
+ }), vue.createSlots({ _: 2 /* DYNAMIC */ }, [
3079
+ vue.renderList(_ctx.$slots, (_, name) => {
3080
+ return {
3081
+ name: name,
3082
+ fn: vue.withCtx((context) => [
3083
+ vue.renderSlot(_ctx.$slots, name, vue.normalizeProps(vue.guardReactiveProps(context || {})))
3084
+ ])
3085
+ }
3086
+ })
3087
+ ]), 1040 /* FULL_PROPS, DYNAMIC_SLOTS */, ["modelValue", "error", "error-message", "mask", "outlined", "unmasked-value", "onPaste"]))
3071
3088
  }
3072
3089
 
3073
3090
  script$u.render = render$u;
@@ -3486,44 +3503,42 @@ function render$r(_ctx, _cache, $props, $setup, $data, $options) {
3486
3503
  const _component_qas_password_strength_checker = vue.resolveComponent("qas-password-strength-checker");
3487
3504
  const _component_qas_input = vue.resolveComponent("qas-input");
3488
3505
 
3489
- return (vue.openBlock(), vue.createElementBlock("div", null, [
3490
- vue.createVNode(_component_qas_input, vue.mergeProps({
3491
- modelValue: $options.model,
3492
- "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (($options.model) = $event)),
3493
- "bottom-slots": false,
3494
- color: "negative"
3495
- }, _ctx.$attrs, {
3496
- type: $options.type,
3497
- "use-remove-error-on-type": ""
3498
- }), vue.createSlots({
3499
- append: vue.withCtx(() => [
3500
- vue.createVNode(_component_q_icon, {
3501
- class: "cursor-pointer",
3502
- color: $props.iconColor,
3503
- name: $options.icon,
3504
- onClick: $options.toggle
3505
- }, null, 8 /* PROPS */, ["color", "name", "onClick"])
3506
- ]),
3507
- _: 2 /* DYNAMIC */
3508
- }, [
3509
- vue.renderList(_ctx.$slots, (_, name) => {
3510
- return {
3511
- name: name,
3512
- fn: vue.withCtx((context) => [
3513
- vue.renderSlot(_ctx.$slots, name, vue.normalizeProps(vue.guardReactiveProps(context || {})))
3506
+ return (vue.openBlock(), vue.createBlock(_component_qas_input, vue.mergeProps({
3507
+ modelValue: $options.model,
3508
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (($options.model) = $event)),
3509
+ "bottom-slots": false,
3510
+ color: "negative"
3511
+ }, _ctx.$attrs, {
3512
+ type: $options.type,
3513
+ "use-remove-error-on-type": ""
3514
+ }), vue.createSlots({
3515
+ append: vue.withCtx(() => [
3516
+ vue.createVNode(_component_q_icon, {
3517
+ class: "cursor-pointer",
3518
+ color: $props.iconColor,
3519
+ name: $options.icon,
3520
+ onClick: $options.toggle
3521
+ }, null, 8 /* PROPS */, ["color", "name", "onClick"])
3522
+ ]),
3523
+ _: 2 /* DYNAMIC */
3524
+ }, [
3525
+ vue.renderList(_ctx.$slots, (_, name) => {
3526
+ return {
3527
+ name: name,
3528
+ fn: vue.withCtx((context) => [
3529
+ vue.renderSlot(_ctx.$slots, name, vue.normalizeProps(vue.guardReactiveProps(context || {})))
3530
+ ])
3531
+ }
3532
+ }),
3533
+ ($props.useStrengthChecker)
3534
+ ? {
3535
+ name: "hint",
3536
+ fn: vue.withCtx(() => [
3537
+ vue.createVNode(_component_qas_password_strength_checker, vue.mergeProps($options.strengthCheckerProps, { password: $options.model }), null, 16 /* FULL_PROPS */, ["password"])
3514
3538
  ])
3515
3539
  }
3516
- }),
3517
- ($props.useStrengthChecker)
3518
- ? {
3519
- name: "hint",
3520
- fn: vue.withCtx(() => [
3521
- vue.createVNode(_component_qas_password_strength_checker, vue.mergeProps($options.strengthCheckerProps, { password: $options.model }), null, 16 /* FULL_PROPS */, ["password"])
3522
- ])
3523
- }
3524
- : undefined
3525
- ]), 1040 /* FULL_PROPS, DYNAMIC_SLOTS */, ["modelValue", "type"])
3526
- ]))
3540
+ : undefined
3541
+ ]), 1040 /* FULL_PROPS, DYNAMIC_SLOTS */, ["modelValue", "type"]))
3527
3542
  }
3528
3543
 
3529
3544
  script$r.render = render$r;
@@ -4509,7 +4524,7 @@ var script$n = {
4509
4524
  type,
4510
4525
  mask,
4511
4526
  maxFiles,
4512
- gmt,
4527
+ useIso,
4513
4528
  useSearch,
4514
4529
  useLazyLoading
4515
4530
  } = this.formattedField;
@@ -4533,11 +4548,11 @@ var script$n = {
4533
4548
  minlength,
4534
4549
  suffix,
4535
4550
  prefix,
4536
- gmt
4551
+ useIso
4537
4552
  };
4538
4553
 
4539
4554
  const numericInput = { is: 'qas-numeric-input', ...input };
4540
- const datetimeInput = { is: 'qas-date-time-input', gmt, ...input };
4555
+ const datetimeInput = { is: 'qas-date-time-input', useIso, ...input };
4541
4556
 
4542
4557
  // It'll generate a list of acceptable files extensions.
4543
4558
  const accept = extensions && extensions.length ? extensions.map(extension => `.${extension}`).join(',') : '';
@@ -4640,22 +4655,20 @@ var script$n = {
4640
4655
  };
4641
4656
 
4642
4657
  function render$n(_ctx, _cache, $props, $setup, $data, $options) {
4643
- return (vue.openBlock(), vue.createElementBlock("div", null, [
4644
- (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($options.component.is), vue.mergeProps($options.component, {
4645
- "data-cy": $props.field.name,
4646
- "model-value": $options.formattedValue,
4647
- "onUpdate:modelValue": $options.updateModel
4648
- }), vue.createSlots({ _: 2 /* DYNAMIC */ }, [
4649
- vue.renderList(_ctx.$slots, (_, name) => {
4650
- return {
4651
- name: name,
4652
- fn: vue.withCtx((context) => [
4653
- vue.renderSlot(_ctx.$slots, name, vue.normalizeProps(vue.guardReactiveProps(context || {})))
4654
- ])
4655
- }
4656
- })
4657
- ]), 1040 /* FULL_PROPS, DYNAMIC_SLOTS */, ["data-cy", "model-value", "onUpdate:modelValue"]))
4658
- ]))
4658
+ return (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($options.component.is), vue.mergeProps($options.component, {
4659
+ "data-cy": $props.field.name,
4660
+ "model-value": $options.formattedValue,
4661
+ "onUpdate:modelValue": $options.updateModel
4662
+ }), vue.createSlots({ _: 2 /* DYNAMIC */ }, [
4663
+ vue.renderList(_ctx.$slots, (_, name) => {
4664
+ return {
4665
+ name: name,
4666
+ fn: vue.withCtx((context) => [
4667
+ vue.renderSlot(_ctx.$slots, name, vue.normalizeProps(vue.guardReactiveProps(context || {})))
4668
+ ])
4669
+ }
4670
+ })
4671
+ ]), 1040 /* FULL_PROPS, DYNAMIC_SLOTS */, ["data-cy", "model-value", "onUpdate:modelValue"]))
4659
4672
  }
4660
4673
 
4661
4674
  script$n.render = render$n;
@@ -5949,7 +5962,7 @@ var script$k = {
5949
5962
 
5950
5963
  window.addEventListener('delete-success', this.setIgnoreRouterGuard);
5951
5964
 
5952
- this.mx_fetchHandler({ form: true, id: this.id, url: this.fetchURL }, this.fetch);
5965
+ this.mx_fetchHandler({ form: true, id: this.id, url: this.fetchURL }, this.fetchSingle);
5953
5966
  },
5954
5967
 
5955
5968
  onUnmounted () {
@@ -5994,14 +6007,19 @@ var script$k = {
5994
6007
  this.handleCancelRoute();
5995
6008
  },
5996
6009
 
5997
- async fetch (params) {
6010
+ async fetchSingle (externalPayload = {}) {
5998
6011
  this.mx_isFetching = true;
5999
6012
 
6000
6013
  try {
6001
- const payload = { form: true, id: this.id, params, url: this.fetchURL };
6014
+ const payload = {
6015
+ form: true,
6016
+ id: this.id,
6017
+ url: this.fetchURL,
6018
+ ...externalPayload
6019
+ };
6002
6020
 
6003
6021
  this.$qas.logger.group(
6004
- `QasFormView - fetch -> payload do parâmetro do ${this.entity}/fetchSingle`, [payload]
6022
+ `QasFormView - fetchSingle -> payload do parâmetro do ${this.entity}/fetchSingle`, [payload]
6005
6023
  );
6006
6024
 
6007
6025
  const response = await this.$store.dispatch(`${this.entity}/fetchSingle`, payload);
@@ -6023,24 +6041,24 @@ var script$k = {
6023
6041
  result && Object.assign(modelValue, result);
6024
6042
 
6025
6043
  this.$qas.logger.group(
6026
- `QasFormView - fetch -> resposta da action ${this.entity}/fetchSingle`, [response]
6044
+ `QasFormView - fetchSingle -> resposta da action ${this.entity}/fetchSingle`, [response]
6027
6045
  );
6028
6046
 
6029
6047
  if (this.useDialogOnUnsavedChanges) {
6030
6048
  this.cachedResult = quasar.extend(true, {}, result || modelValue);
6031
- this.$qas.logger.group('QasFormView - fetch -> cachedResult', [this.cachedResult]);
6049
+ this.$qas.logger.group('QasFormView - fetchSingle -> cachedResult', [this.cachedResult]);
6032
6050
  }
6033
6051
 
6034
6052
  this.$emit('update:modelValue', modelValue);
6035
6053
  this.$emit('fetch-success', response, this.modelValue);
6036
6054
 
6037
- this.$qas.logger.group('QasFormView - fetch -> modelValue', [modelValue]);
6055
+ this.$qas.logger.group('QasFormView - fetchSingle -> modelValue', [modelValue]);
6038
6056
  } catch (error) {
6039
6057
  this.mx_fetchError(error);
6040
6058
  this.$emit('fetch-error', error);
6041
6059
 
6042
6060
  this.$qas.logger.group(
6043
- `QasFormView - fetch -> exceção da action ${this.entity}/fetchSingle`,
6061
+ `QasFormView - fetchSingle -> exceção da action ${this.entity}/fetchSingle`,
6044
6062
  [error],
6045
6063
  { error: true }
6046
6064
  );
@@ -6128,7 +6146,12 @@ var script$k = {
6128
6146
  this.isSubmitting = true;
6129
6147
 
6130
6148
  try {
6131
- const payload = { id: this.id, payload: this.modelValue, url: this.url, ...externalPayload };
6149
+ const payload = {
6150
+ id: this.id,
6151
+ payload: this.modelValue,
6152
+ url: this.url,
6153
+ ...externalPayload
6154
+ };
6132
6155
 
6133
6156
  this.$qas.logger.group(
6134
6157
  `QasFormView - submit -> payload do ${this.entity}/${this.mode}`, [payload]
@@ -6164,7 +6187,7 @@ var script$k = {
6164
6187
  this.$emit('submit-error', error);
6165
6188
 
6166
6189
  this.$qas.logger.group(
6167
- `QasFormView - fetch -> exceção da action ${this.entity}/${this.mode}`,
6190
+ `QasFormView - submit -> exceção da action ${this.entity}/${this.mode}`,
6168
6191
  [error],
6169
6192
  { error: true }
6170
6193
  );
@@ -6749,6 +6772,10 @@ var script$g = {
6749
6772
  }
6750
6773
  },
6751
6774
 
6775
+ mounted () {
6776
+ this.menuDrawer = !this.$qas.screen.untilMedium;
6777
+ },
6778
+
6752
6779
  methods: {
6753
6780
  toggleMenuDrawer () {
6754
6781
  this.menuDrawer = !this.menuDrawer;
@@ -7064,7 +7091,7 @@ var script$e = {
7064
7091
  },
7065
7092
 
7066
7093
  async refresh (done) {
7067
- await this.fetchList();
7094
+ await this.mx_fetchHandler({ ...this.mx_context, url: this.url }, this.fetchList);
7068
7095
 
7069
7096
  if (typeof done === 'function') {
7070
7097
  done();
@@ -7465,8 +7492,7 @@ var script$c = {
7465
7492
 
7466
7493
  return {
7467
7494
  tag: 'div',
7468
- enterActiveClass: 'animated slideInDown',
7469
- leaveActiveClass: 'animated slideOutUp'
7495
+ enterActiveClass: 'animated slideInDown'
7470
7496
  }
7471
7497
  }
7472
7498
  },
@@ -7475,7 +7501,12 @@ var script$c = {
7475
7501
  modelValue: {
7476
7502
  handler (value) {
7477
7503
  this.nested = quasar.extend(true, [], value);
7504
+ },
7505
+ immediate: true
7506
+ },
7478
7507
 
7508
+ rowObject: {
7509
+ handler () {
7479
7510
  if (!this.nested.length) return this.setDefaultNestedValue()
7480
7511
  },
7481
7512
  immediate: true
@@ -7515,7 +7546,7 @@ var script$c = {
7515
7546
  },
7516
7547
 
7517
7548
  destroy (index, row) {
7518
- !row[this.identifierItemKey] || this.useRemoveOnDestroy
7549
+ !row[this.identifierItemKey] && this.useRemoveOnDestroy
7519
7550
  ? this.nested.splice(index, 1)
7520
7551
  : this.nested.splice(index, 1, { [this.destroyKey]: true, ...row });
7521
7552
 
@@ -9460,7 +9491,7 @@ var script$2 = {
9460
9491
  tabs: {
9461
9492
  default: () => ({}),
9462
9493
  required: true,
9463
- type: Object
9494
+ type: [Object, Array]
9464
9495
  }
9465
9496
  },
9466
9497
 
@@ -9517,7 +9548,7 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
9517
9548
  (vue.openBlock(), vue.createBlock(_component_q_tab, vue.mergeProps({ key: key }, tab, {
9518
9549
  class: $props.tabClass,
9519
9550
  label: tab.label,
9520
- name: key
9551
+ name: tab.value
9521
9552
  }), {
9522
9553
  default: vue.withCtx(() => [
9523
9554
  vue.renderSlot(_ctx.$slots, `tab-after-${tab.value}`, { item: tab }, () => [
@@ -10012,7 +10043,7 @@ script.__file = "src/components/transfer/QasTransfer.vue";
10012
10043
 
10013
10044
  var name = "@bildvitta/quasar-ui-asteroid";
10014
10045
  var description = "Asteroid";
10015
- var version$1 = "3.0.0-beta.18";
10046
+ var version$1 = "3.0.0-beta.19";
10016
10047
  var author = "Bild & Vitta <systemteam@bild.com.br>";
10017
10048
  var license = "MIT";
10018
10049
  var main = "dist/asteroid.cjs.min.js";