@bagelink/vue 1.0.43 → 1.0.47

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.
@@ -131,8 +131,9 @@ interface ArrayFieldOptions extends InputOptions {
131
131
  delete?: boolean;
132
132
  add?: boolean;
133
133
  }
134
+ type ArrayType = 'number' | 'text';
134
135
  export declare function arrField<T extends {
135
136
  [key: string]: any;
136
- }>(id: DotNotation<T> | string, label: string, schema: BglFormSchemaT, options?: ArrayFieldOptions): Field<T>;
137
+ }>(id: DotNotation<T> | string, label: string, schemaOrType: BglFormSchemaT | ArrayType, options?: ArrayFieldOptions): Field<T>;
137
138
  export {};
138
139
  //# sourceMappingURL=BagelFormUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BagelFormUtils.d.ts","sourceRoot":"","sources":["../../src/utils/BagelFormUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAA;AAErF,UAAU,YAAY;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,CAAA;CAClD;AAED,KAAK,WAAW,GAAG,YAAY,CAAA;AAE/B,UAAU,gBAAiB,SAAQ,YAAY;IAC9C,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,CAAA;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,UAAU,gBAAiB,SAAQ,YAAY;IAC9C,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,GAAG,CAAA;CAClC;AAED,UAAU,eAAgB,SAAQ,YAAY;IAC7C,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,YAAY,CAAA;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,WAAW,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,KAAK,eAAe,GAAG,YAAY,CAAA;AAEnC,wBAAgB,YAAY,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC5D,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,EAC5B,WAAW,GAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAM,EAC5C,IAAI,GAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAM,GAC1B,KAAK,CAAC,CAAC,CAAC,CAGV;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EACxD,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,EAC3B,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,eAAe,GACvB,KAAK,CAAC,CAAC,CAAC,CAWV;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EACxD,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,EAC3B,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,gBAAgB,GACxB,KAAK,CAAC,CAAC,CAAC,CAiBV;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC3D,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,EAC3B,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,MAAM,EAAE,CAAC,EACrC,MAAM,CAAC,EAAE,gBAAgB,GACvB,KAAK,CAAC,CAAC,CAAC,CAmBV;AAED,eAAO,MAAM,SAAS,oBAAc,CAAA;AAEpC,wBAAgB,UAAU,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC1D,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,EAC3B,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,YAAY,GACpB,KAAK,CAAC,CAAC,CAAC,CAQV;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EACzD,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,EAC3B,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,WAAW,GACnB,KAAK,CAAC,CAAC,CAAC,CAcV;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EACxD,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,EAC3B,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,eAAe,GACvB,KAAK,CAAC,CAAC,CAAC,CAsBV;AAED,wBAAgB,MAAM,CAAC,GAAG,QAAQ,EAAE,KAAK,EAAE;;;;EAM1C;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,gBAAgB,CAAA;AAE3D,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa;;;;2BAnLtD,GAAG,OAAO,GAAG,KAAK,OAAO;;mBANtC,OAAO;sBACJ,MAAM;gBACZ,MAAM;uBACC,MAAM,GAAG,MAAM;mBACnB,OAAO;mBACP,MAAM;cACX,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC;;;;;;;;;;;;;;;;EA6LlD;AAED,UAAU,YAAa,SAAQ,YAAY;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;CACvC;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC1D,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,EAC3B,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,YAAY,GACpB,KAAK,CAAC,CAAC,CAAC,CAeV;AAED,wBAAgB,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE;;;;;;;;;;;;;;;;EAgBrE;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EACxD,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,EAC3B,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAC9B,KAAK,CAAC,CAAC,CAAC,CASV;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAC1D,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,EAC3B,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAC9B,KAAK,CAAC,CAAC,CAAC,CASV;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,KAAK,GAAG,SAAS,CAUvF;AAED,UAAU,iBAAkB,SAAQ,YAAY;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,OAAO,CAAA;CACb;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EACxD,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,EAC3B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,iBAAiB,GACzB,KAAK,CAAC,CAAC,CAAC,CAQV"}
1
+ {"version":3,"file":"BagelFormUtils.d.ts","sourceRoot":"","sources":["../../src/utils/BagelFormUtils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bagelink/vue",
3
3
  "type": "module",
4
- "version": "1.0.43",
4
+ "version": "1.0.47",
5
5
  "description": "Bagel core sdk packages",
6
6
  "author": {
7
7
  "name": "Neveh Allon",
@@ -56,7 +56,7 @@
56
56
  "@types/signature_pad": "^4.0.0",
57
57
  "@vue-macros/reactivity-transform": "^1.1.6",
58
58
  "vue": "^3.5.13",
59
- "vue-component-type-helpers": "^2.2.2"
59
+ "vue-component-type-helpers": "^2.2.8"
60
60
  },
61
61
  "peerDependencies": {
62
62
  "@bagelink/sdk": "*",
@@ -82,10 +82,10 @@
82
82
  },
83
83
  "dependencies": {
84
84
  "date-fns": "^4.1.0",
85
- "@vueuse/core": "^12.7.0",
86
- "axios": "^1.7.9",
85
+ "@vueuse/core": "^12.8.1",
86
+ "axios": "^1.8.1",
87
87
  "floating-vue": "^5.2.2",
88
- "libphonenumber-js": "1.11.20",
88
+ "libphonenumber-js": "1.12.4",
89
89
  "signature_pad": "^5.0.4"
90
90
  },
91
91
  "scripts": {
@@ -1,4 +1,4 @@
1
- <script lang="ts" setup generic="T extends Record<string, any>">
1
+ <script lang="ts" setup generic="T">
2
2
  import type {
3
3
  AttributeFn,
4
4
  AttributeValue,
@@ -6,9 +6,10 @@ import type {
6
6
  BagelFieldOptions,
7
7
  BglFormSchemaFnT,
8
8
  Field,
9
+ Icon,
9
10
  } from '@bagelink/vue'
10
11
  import { BagelForm, Btn, Loading } from '@bagelink/vue'
11
- import { ref, onMounted } from 'vue'
12
+ import { ref, onMounted, computed, watch } from 'vue'
12
13
 
13
14
  const props = withDefaults(
14
15
  defineProps<{
@@ -27,13 +28,15 @@ const props = withDefaults(
27
28
  add?: boolean
28
29
  delete?: boolean
29
30
  transform?: (value: T) => T
30
- schema: BglFormSchemaFnT
31
+ schema?: BglFormSchemaFnT
31
32
  modelValue: T[]
33
+ type?: 'object' | 'number' | 'text'
32
34
  }>(),
33
35
  {
34
36
  delete: true,
35
37
  add: true,
36
38
  el: 'div',
39
+ type: 'object',
37
40
  }
38
41
  )
39
42
 
@@ -45,14 +48,38 @@ const internalData = ref<any[]>(props.modelValue || [])
45
48
  const schemaState = ref<'loading' | 'loaded' | 'error'>('loaded')
46
49
  const resolvedSchemaData = ref<any[]>([])
47
50
 
48
- // Resolve schema (handles sync, async, function, and direct values)
51
+ // Watch for external changes to modelValue
52
+ watch(() => props.modelValue, (newValue) => {
53
+ internalData.value = newValue || []
54
+ }, { deep: true })
55
+
56
+ // Generate schema for primitive types
57
+ const primitiveSchema = computed(() => {
58
+ if (props.type === 'text') {
59
+ return [{ id: 'value', type: 'text', label: '' }]
60
+ } else if (props.type === 'number') {
61
+ return [{ id: 'value', type: 'number', label: '' }]
62
+ }
63
+ return []
64
+ })
65
+
66
+ // Resolve schema
49
67
  async function resolveSchema() {
68
+ // For primitive types, use the predefined schema
69
+ if (props.type !== 'object') {
70
+ resolvedSchemaData.value = primitiveSchema.value
71
+ schemaState.value = 'loaded'
72
+ return
73
+ }
74
+
75
+ // For object type without schema
50
76
  if (!props.schema) {
51
77
  resolvedSchemaData.value = []
52
78
  schemaState.value = 'loaded'
53
79
  return
54
80
  }
55
81
 
82
+ // For object type with schema
56
83
  try {
57
84
  schemaState.value = 'loading'
58
85
  const isPromise = (obj: any) => obj && typeof obj.then === 'function'
@@ -75,9 +102,7 @@ async function resolveSchema() {
75
102
  }
76
103
 
77
104
  // Initialize schema on mount
78
- onMounted(() => {
79
- resolveSchema()
80
- })
105
+ onMounted(resolveSchema)
81
106
 
82
107
  // Event handlers
83
108
  function emitValue() {
@@ -90,7 +115,13 @@ function deleteItem(i: number) {
90
115
  }
91
116
 
92
117
  function addItem() {
93
- internalData.value.push({})
118
+ // Add appropriate default value based on type
119
+ const defaultValues = {
120
+ text: '',
121
+ number: 0,
122
+ object: {}
123
+ }
124
+ internalData.value.push(defaultValues[props.type])
94
125
  emitValue()
95
126
  }
96
127
 
@@ -99,61 +130,74 @@ function toggleMinimized(index: number) {
99
130
  }
100
131
 
101
132
  function updateItem(index: number, value: any) {
102
- internalData.value[index] = value
133
+ // Handle primitive types by extracting the value property
134
+ if (props.type === 'text' || props.type === 'number') {
135
+ internalData.value[index] = props.type === 'number' ? Number(value.value) : value.value
136
+ } else {
137
+ internalData.value[index] = value
138
+ }
103
139
  emitValue()
104
140
  }
105
141
 
106
- // // Field rendering
107
- // const { renderField } = useSchemaField<any>({
108
- // mode: 'form',
109
- // getRowData: () => internalData.value,
110
- // onUpdate: (field, value) => {
111
- // if (!field.id) return
112
- // const index = Number.parseInt(field.id)
113
- // if (Number.isNaN(index)) return
114
- // internalData.value[index] = value
115
- // emitValue()
116
- // }
117
- // })
142
+ // Computed properties for rendering
143
+ const isPrimitiveType = computed(() => props.type === 'text' || props.type === 'number')
144
+ const canRenderItems = computed(() => isPrimitiveType.value || (props.type === 'object' && resolvedSchemaData.value.length > 0)
145
+ )
146
+ const showMinimizeButton = computed(() => resolvedSchemaData.value.length > 4)
118
147
  </script>
119
148
 
120
149
  <template>
121
150
  <div :class="props.class">
122
- <p class="label mb-05">
151
+ <!-- Label -->
152
+ <p v-if="label" class="label mb-05">
123
153
  {{ label }}
124
154
  </p>
125
- <div v-if="resolvedSchemaData.length > 0" class="ps-025 border-start mb-05">
126
- <!-- Loading state -->
127
- <div v-if="schemaState === 'loading'" class="flex-center h-300px">
128
- <Loading />
155
+ <div class="ps-025 border-start mb-05">
156
+ <!-- Loading/Error States -->
157
+ <div v-if="schemaState !== 'loaded'" class="flex-center h-300px">
158
+ <Loading v-if="schemaState === 'loading'" />
159
+ <Icon v-else-if="schemaState === 'error'" icon="error" color="red" />
129
160
  </div>
130
161
 
131
- <!-- Error state -->
132
- <div v-else-if="schemaState === 'error'" class="flex-center h-300px txt-red">
133
- Error
162
+ <!-- No Schema Available -->
163
+ <div v-else-if="!canRenderItems" class="py-1">
164
+ <p class="opacity-7">
165
+ No schema available
166
+ </p>
134
167
  </div>
135
168
 
136
- <!-- Render items -->
169
+ <!-- Items Rendering -->
137
170
  <template v-else>
171
+ <!-- Array Items -->
138
172
  <div
139
- v-for="(item, i) in internalData" :key="i" outline thin
173
+ v-for="(item, i) in internalData"
174
+ :key="i"
175
+ outline
176
+ thin
140
177
  class="mb-05 itemBox transition ps-05 pb-025 pt-025 radius-05 gap-05 overflow-hidden"
141
178
  :class="{ minimized: minimizedItems[i] }"
142
179
  >
180
+ <!-- Minimized View -->
143
181
  <p v-if="minimizedItems[i]" class="minimizedText txt14 p-025 opacity-7">
144
182
  {{ label }} {{ i + 1 }}
145
183
  </p>
184
+
185
+ <!-- Form View -->
146
186
  <BagelForm
147
187
  v-else
148
- :model-value="item"
188
+ :model-value="isPrimitiveType ? { value: item } : item"
149
189
  :schema="resolvedSchemaData"
150
190
  @update:model-value="val => updateItem(i, val)"
151
191
  />
192
+
193
+ <!-- Controls -->
152
194
  <div class="bg-gray-80 -my-05 px-025 pt-065 pb-05 txt-center space-between flex column">
153
195
  <Btn
154
- v-if="resolvedSchemaData.length > 4"
196
+ v-if="showMinimizeButton"
155
197
  class="block rotate-180 txt10 opacity-7 p-025"
156
- flat thin icon="keyboard_arrow_down"
198
+ flat
199
+ thin
200
+ icon="keyboard_arrow_down"
157
201
  @click="toggleMinimized(i)"
158
202
  />
159
203
  <Btn
@@ -166,35 +210,31 @@ function updateItem(index: number, value: any) {
166
210
  />
167
211
  </div>
168
212
  </div>
213
+
214
+ <!-- Add Button -->
169
215
  <Btn v-if="add" thin icon="add" color="gray" class="txt12" @click="addItem">
170
216
  <p>{{ label }}</p>
171
217
  </Btn>
172
218
  </template>
173
219
  </div>
174
-
175
- <template v-else>
176
- <div v-for="(_, i) in internalData" :key="i">
177
- <p>No schema available</p>
178
- </div>
179
- </template>
180
220
  </div>
181
221
  </template>
182
222
 
183
223
  <style>
184
- .minimized{
224
+ .minimized {
185
225
  height: 2.4rem;
186
226
  overflow: hidden;
187
227
  }
188
- .minimizedText{
228
+ .minimizedText {
189
229
  display: none;
190
230
  }
191
- .minimized .minimizedText{
231
+ .minimized .minimizedText {
192
232
  display: block;
193
233
  }
194
- .minimized .rotate-180{
234
+ .minimized .rotate-180 {
195
235
  transform: rotate(0deg);
196
236
  }
197
- .itemBox{
237
+ .itemBox {
198
238
  background: var(--input-bg);
199
239
  grid-template-columns: 1fr auto;
200
240
  display: grid;
@@ -203,7 +243,7 @@ function updateItem(index: number, value: any) {
203
243
  --input-font-size: 14px;
204
244
  }
205
245
 
206
- .pt-065{
246
+ .pt-065 {
207
247
  padding-top: 0.65rem;
208
248
  }
209
249
 
@@ -213,10 +253,10 @@ function updateItem(index: number, value: any) {
213
253
  .itemBox .custom-select .input {
214
254
  background: var(--bgl-white) !important;
215
255
  }
216
- .itemBox .code-editor-wrap textarea{
256
+ .itemBox .code-editor-wrap textarea {
217
257
  background: transparent !important;
218
258
  }
219
- .itemBox .bagel-input{
259
+ .itemBox .bagel-input {
220
260
  margin-bottom: 0.15rem !important;
221
261
  }
222
262
  </style>