@conduction/nextcloud-vue 0.1.0-beta.16 → 0.1.0-beta.17

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.
@@ -2989,41 +2989,41 @@ html[data-cn-ctx-menu] .cn-row-action--destructive {
2989
2989
  }
2990
2990
 
2991
2991
 
2992
- .cn-advanced-form-dialog__value-input-container[data-v-55998c61] {
2992
+ .cn-advanced-form-dialog__value-input-container[data-v-60085d3b] {
2993
2993
  width: 100%;
2994
2994
  min-width: 0;
2995
2995
  }
2996
- .cn-advanced-form-dialog__value-input-container[data-v-55998c61] :deep(.text-field) {
2996
+ .cn-advanced-form-dialog__value-input-container[data-v-60085d3b] :deep(.text-field) {
2997
2997
  margin: 0;
2998
2998
  padding: 0;
2999
2999
  }
3000
- .cn-advanced-form-dialog__boolean-input-row[data-v-55998c61] {
3000
+ .cn-advanced-form-dialog__boolean-input-row[data-v-60085d3b] {
3001
3001
  display: flex;
3002
3002
  align-items: center;
3003
3003
  gap: 6px;
3004
3004
  }
3005
- .cn-advanced-form-dialog__array-input-row[data-v-55998c61] {
3005
+ .cn-advanced-form-dialog__array-input-row[data-v-60085d3b] {
3006
3006
  display: flex;
3007
3007
  align-items: center;
3008
3008
  gap: 6px;
3009
3009
  }
3010
- .cn-advanced-form-dialog__array-input-row[data-v-55998c61] > :first-child {
3010
+ .cn-advanced-form-dialog__array-input-row[data-v-60085d3b] > :first-child {
3011
3011
  flex: 1;
3012
3012
  }
3013
3013
  /* patch extreme size in field */
3014
- .cn-advanced-form-dialog__boolean-input-row__input > span[data-v-55998c61] {
3014
+ .cn-advanced-form-dialog__boolean-input-row__input > span[data-v-60085d3b] {
3015
3015
  padding-left: 0;
3016
3016
  padding-block: 0;
3017
3017
  }
3018
- .cn-advanced-form-dialog__boolean-input-row__input > input[data-v-55998c61] {
3018
+ .cn-advanced-form-dialog__boolean-input-row__input > input[data-v-60085d3b] {
3019
3019
  margin: 0;
3020
3020
  }
3021
- .cn-advanced-form-dialog__info-icon[data-v-55998c61] {
3021
+ .cn-advanced-form-dialog__info-icon[data-v-60085d3b] {
3022
3022
  flex-shrink: 0;
3023
3023
  color: var(--color-text-maxcontrast);
3024
3024
  cursor: help;
3025
3025
  }
3026
- .cn-advanced-form-dialog__json-value[data-v-55998c61] {
3026
+ .cn-advanced-form-dialog__json-value[data-v-60085d3b] {
3027
3027
  max-height: 200px;
3028
3028
  overflow-y: auto;
3029
3029
  white-space: pre-wrap;
@@ -3038,15 +3038,15 @@ html[data-cn-ctx-menu] .cn-row-action--destructive {
3038
3038
  NcTextArea's wrapper has a fixed height (`calc(var(--default-clickable-area) * 2)`)
3039
3039
  that ignores the `rows` attribute, which causes the textarea to render with a
3040
3040
  too-small viewport. Let the wrapper grow with its content instead. */
3041
- .cn-advanced-form-dialog__textarea[data-v-55998c61] {
3041
+ .cn-advanced-form-dialog__textarea[data-v-60085d3b] {
3042
3042
  width: 100%;
3043
3043
  box-sizing: border-box;
3044
3044
  }
3045
- .cn-advanced-form-dialog__textarea[data-v-55998c61] :deep(.textarea__main-wrapper) {
3045
+ .cn-advanced-form-dialog__textarea[data-v-60085d3b] :deep(.textarea__main-wrapper) {
3046
3046
  height: auto;
3047
3047
  min-height: var(--default-clickable-area);
3048
3048
  }
3049
- .cn-advanced-form-dialog__textarea[data-v-55998c61] :deep(textarea) {
3049
+ .cn-advanced-form-dialog__textarea[data-v-60085d3b] :deep(textarea) {
3050
3050
  width: 100%;
3051
3051
  max-width: 100%;
3052
3052
  box-sizing: border-box;
@@ -3056,17 +3056,17 @@ html[data-cn-ctx-menu] .cn-row-action--destructive {
3056
3056
  display: block;
3057
3057
  }
3058
3058
  /* Color widget: clickable swatch (native picker) + visible text input */
3059
- .cn-advanced-form-dialog__color-input-row[data-v-55998c61] {
3059
+ .cn-advanced-form-dialog__color-input-row[data-v-60085d3b] {
3060
3060
  display: flex;
3061
3061
  align-items: center;
3062
3062
  gap: 8px;
3063
3063
  width: 100%;
3064
3064
  }
3065
- .cn-advanced-form-dialog__color-input-row[data-v-55998c61] > :last-child {
3065
+ .cn-advanced-form-dialog__color-input-row[data-v-60085d3b] > :last-child {
3066
3066
  flex: 1;
3067
3067
  min-width: 0;
3068
3068
  }
3069
- .cn-advanced-form-dialog__color-swatch[data-v-55998c61] {
3069
+ .cn-advanced-form-dialog__color-swatch[data-v-60085d3b] {
3070
3070
  --cn-color-swatch-checker:
3071
3071
  linear-gradient(45deg, var(--color-background-dark) 25%, transparent 25%),
3072
3072
  linear-gradient(-45deg, var(--color-background-dark) 25%, transparent 25%),
@@ -3086,23 +3086,23 @@ html[data-cn-ctx-menu] .cn-row-action--destructive {
3086
3086
  overflow: hidden;
3087
3087
  position: relative;
3088
3088
  }
3089
- .cn-advanced-form-dialog__color-swatch[data-v-55998c61]:focus-visible {
3089
+ .cn-advanced-form-dialog__color-swatch[data-v-60085d3b]:focus-visible {
3090
3090
  outline: 2px solid var(--color-primary-element);
3091
3091
  outline-offset: 2px;
3092
3092
  }
3093
- .cn-advanced-form-dialog__color-swatch--readonly[data-v-55998c61] {
3093
+ .cn-advanced-form-dialog__color-swatch--readonly[data-v-60085d3b] {
3094
3094
  cursor: default;
3095
3095
  width: 20px;
3096
3096
  height: 20px;
3097
3097
  vertical-align: middle;
3098
3098
  margin-inline-end: 6px;
3099
3099
  }
3100
- .cn-advanced-form-dialog__color-display[data-v-55998c61] {
3100
+ .cn-advanced-form-dialog__color-display[data-v-60085d3b] {
3101
3101
  display: inline-flex;
3102
3102
  align-items: center;
3103
3103
  }
3104
3104
  /* Help text & inline validation under the input */
3105
- .cn-advanced-form-dialog__field-help[data-v-55998c61] {
3105
+ .cn-advanced-form-dialog__field-help[data-v-60085d3b] {
3106
3106
  display: flex;
3107
3107
  flex-direction: column;
3108
3108
  gap: 2px;
@@ -3110,32 +3110,32 @@ html[data-cn-ctx-menu] .cn-row-action--destructive {
3110
3110
  font-size: 0.85em;
3111
3111
  color: var(--color-text-maxcontrast);
3112
3112
  }
3113
- .cn-advanced-form-dialog__field-example[data-v-55998c61] {
3113
+ .cn-advanced-form-dialog__field-example[data-v-60085d3b] {
3114
3114
  font-style: italic;
3115
3115
  }
3116
- .cn-advanced-form-dialog__field-error[data-v-55998c61] {
3116
+ .cn-advanced-form-dialog__field-error[data-v-60085d3b] {
3117
3117
  margin-top: 4px;
3118
3118
  font-size: 0.85em;
3119
3119
  color: var(--color-error-text);
3120
3120
  }
3121
- .cn-advanced-form-dialog__value-cell-wrapper[data-v-55998c61] {
3121
+ .cn-advanced-form-dialog__value-cell-wrapper[data-v-60085d3b] {
3122
3122
  display: flex;
3123
3123
  flex-direction: column;
3124
3124
  width: 100%;
3125
3125
  }
3126
3126
  /* Object-array widget: chip list + add button */
3127
- .cn-advanced-form-dialog__object-array[data-v-55998c61] {
3127
+ .cn-advanced-form-dialog__object-array[data-v-60085d3b] {
3128
3128
  display: flex;
3129
3129
  flex-direction: column;
3130
3130
  gap: 8px;
3131
3131
  width: 100%;
3132
3132
  }
3133
- .cn-advanced-form-dialog__object-array-chips[data-v-55998c61] {
3133
+ .cn-advanced-form-dialog__object-array-chips[data-v-60085d3b] {
3134
3134
  display: flex;
3135
3135
  flex-wrap: wrap;
3136
3136
  gap: 6px;
3137
3137
  }
3138
- .cn-advanced-form-dialog__object-array-chip[data-v-55998c61] {
3138
+ .cn-advanced-form-dialog__object-array-chip[data-v-60085d3b] {
3139
3139
  display: inline-flex;
3140
3140
  align-items: center;
3141
3141
  gap: 4px;
@@ -3148,18 +3148,18 @@ html[data-cn-ctx-menu] .cn-row-action--destructive {
3148
3148
  font: inherit;
3149
3149
  max-width: 240px;
3150
3150
  }
3151
- .cn-advanced-form-dialog__object-array-chip[data-v-55998c61]:hover {
3151
+ .cn-advanced-form-dialog__object-array-chip[data-v-60085d3b]:hover {
3152
3152
  background: var(--color-background-hover);
3153
3153
  }
3154
- .cn-advanced-form-dialog__object-array-chip-label[data-v-55998c61] {
3154
+ .cn-advanced-form-dialog__object-array-chip-label[data-v-60085d3b] {
3155
3155
  overflow: hidden;
3156
3156
  text-overflow: ellipsis;
3157
3157
  white-space: nowrap;
3158
3158
  }
3159
- .cn-advanced-form-dialog__object-array-chip-remove[data-v-55998c61] {
3159
+ .cn-advanced-form-dialog__object-array-chip-remove[data-v-60085d3b] {
3160
3160
  flex-shrink: 0;
3161
3161
  }
3162
- .cn-advanced-form-dialog__object-array-add[data-v-55998c61] {
3162
+ .cn-advanced-form-dialog__object-array-add[data-v-60085d3b] {
3163
3163
  align-self: flex-start;
3164
3164
  }
3165
3165
 
@@ -46032,6 +46032,15 @@ var script$M = {
46032
46032
  datetimeValue() {
46033
46033
  const v = this.value;
46034
46034
  if (!v) return null
46035
+ // Date-only strings (YYYY-MM-DD) are parsed as UTC midnight by the spec,
46036
+ // which shifts to the previous day in positive-UTC-offset timezones when
46037
+ // fed to a picker that renders in local time. Parse them as local midnight.
46038
+ if (this.schemaProp?.format === 'date'
46039
+ && typeof v === 'string'
46040
+ && /^\d{4}-\d{2}-\d{2}$/.test(v)) {
46041
+ const [year, month, day] = v.split('-').map(Number);
46042
+ return new Date(year, month - 1, day)
46043
+ }
46035
46044
  const d = new Date(v);
46036
46045
  return Number.isNaN(d.getTime()) ? null : d
46037
46046
  },
@@ -46075,6 +46084,11 @@ var script$M = {
46075
46084
  const v = this.value;
46076
46085
  if (!v) return ''
46077
46086
  const fmt = this.schemaProp?.format;
46087
+ // Same local-midnight parse as datetimeValue to avoid UTC-shift in display.
46088
+ if (fmt === 'date' && typeof v === 'string' && /^\d{4}-\d{2}-\d{2}$/.test(v)) {
46089
+ const [year, month, day] = v.split('-').map(Number);
46090
+ return new Date(year, month - 1, day).toLocaleDateString()
46091
+ }
46078
46092
  const d = new Date(v);
46079
46093
  if (Number.isNaN(d.getTime())) return String(v)
46080
46094
  if (fmt === 'date') return d.toLocaleDateString()
@@ -46144,7 +46158,12 @@ var script$M = {
46144
46158
  }
46145
46159
  const fmt = this.schemaProp?.format;
46146
46160
  if (fmt === 'date') {
46147
- this.$emit('update:value', date.toISOString().slice(0, 10));
46161
+ // Use local-time accessors — toISOString() converts to UTC first,
46162
+ // which shifts midnight local time to the previous day in UTC+n zones.
46163
+ const year = date.getFullYear();
46164
+ const month = String(date.getMonth() + 1).padStart(2, '0');
46165
+ const day = String(date.getDate()).padStart(2, '0');
46166
+ this.$emit('update:value', `${year}-${month}-${day}`);
46148
46167
  return
46149
46168
  }
46150
46169
  if (fmt === 'time') {
@@ -46827,7 +46846,7 @@ __vue_render__$M._withStripped = true;
46827
46846
  /* style */
46828
46847
  const __vue_inject_styles__$M = undefined;
46829
46848
  /* scoped */
46830
- const __vue_scope_id__$M = "data-v-55998c61";
46849
+ const __vue_scope_id__$M = "data-v-60085d3b";
46831
46850
  /* module identifier */
46832
46851
  const __vue_module_identifier__$M = undefined;
46833
46852
  /* functional template */