@bagelink/vue 0.0.546 → 0.0.556

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 (35) hide show
  1. package/dist/components/AccordionItem.vue.d.ts.map +1 -1
  2. package/dist/components/Drop.vue.d.ts +34 -0
  3. package/dist/components/Drop.vue.d.ts.map +1 -0
  4. package/dist/components/FileUploader.vue.d.ts +60 -0
  5. package/dist/components/FileUploader.vue.d.ts.map +1 -0
  6. package/dist/components/TableSchema.vue.d.ts +7 -16
  7. package/dist/components/TableSchema.vue.d.ts.map +1 -1
  8. package/dist/components/form/BglField.vue.d.ts.map +1 -1
  9. package/dist/components/form/ItemRef.vue.d.ts +1 -0
  10. package/dist/components/form/ItemRef.vue.d.ts.map +1 -1
  11. package/dist/components/form/inputs/RichText2/Toolbar.vue.d.ts.map +1 -1
  12. package/dist/components/form/inputs/SelectField.vue.d.ts +1 -4
  13. package/dist/components/form/inputs/SelectField.vue.d.ts.map +1 -1
  14. package/dist/index.cjs +3461 -3441
  15. package/dist/index.mjs +3461 -3441
  16. package/dist/style.css +170 -83
  17. package/dist/types/BagelForm.d.ts +5 -4
  18. package/dist/types/BagelForm.d.ts.map +1 -1
  19. package/package.json +1 -1
  20. package/src/components/AccordionItem.vue +4 -0
  21. package/src/components/DataPreview.vue +3 -3
  22. package/src/components/TableSchema.vue +10 -10
  23. package/src/components/form/BglField.vue +19 -2
  24. package/src/components/form/inputs/DateInput.vue +4 -0
  25. package/src/components/form/inputs/RichText2/Toolbar.vue +32 -32
  26. package/src/components/formkit/FileUploader.vue +1 -1
  27. package/src/styles/appearance.css +16 -16
  28. package/src/styles/layout.css +24 -2
  29. package/src/styles/mobilLayout.css +27 -4
  30. package/src/styles/text.css +66 -24
  31. package/src/types/BagelForm.ts +15 -1
  32. package/dist/components/Popover.vue.d.ts +0 -10
  33. package/dist/components/Popover.vue.d.ts.map +0 -1
  34. package/dist/types/materialIcon.d.ts +0 -2
  35. package/dist/types/materialIcon.d.ts.map +0 -1
@@ -49,7 +49,7 @@ const fieldData = $computed({
49
49
  },
50
50
  get: () => {
51
51
  if (props.field.id) return props.modelValue[props.field.id]
52
- return props.field.defaultValue || ''
52
+ return props.field.defaultValue ?? ''
53
53
  },
54
54
  })
55
55
 
@@ -62,6 +62,23 @@ const vIf = $computed(() => {
62
62
  }
63
63
  return true
64
64
  })
65
+
66
+ const badTransform = /undefined|NaN|Invalid Date/
67
+ const computedFieldData = $computed(
68
+ () => {
69
+ // region AVOID_TRANSFORMING_DATA_MULTIPLE_TIMES
70
+ // const alreadyTransformed = props.modelValue[props.field.id ?? ''] === fieldData
71
+ // if (alreadyTransformed) return fieldData
72
+ // return props.field.transform?.(fieldData, props.modelValue)
73
+ // endregion AVOID_TRANSFORMING_DATA_MULTIPLE_TIMES
74
+
75
+ // region CHECK_FOR_BAD_TRANSFORMS
76
+ const transformedData = props.field.transform?.(fieldData, props.modelValue)
77
+ if (badTransform.test(String(transformedData))) return fieldData
78
+ return transformedData
79
+ // endregion CHECK_FOR_BAD_TRANSFORMS
80
+ }
81
+ )
65
82
  </script>
66
83
 
67
84
  <template>
@@ -83,7 +100,7 @@ const vIf = $computed(() => {
83
100
  :helptext="field.helptext"
84
101
  @update:modelValue="($event: any) => field?.onUpdate?.($event, formData)"
85
102
  >
86
- {{ field.transform?.(fieldData, modelValue) || fieldData || '' }}
103
+ {{ computedFieldData }}
87
104
  <BglField
88
105
  v-for="(child, ii) in field.children"
89
106
  :key="child.id || ii"
@@ -85,4 +85,8 @@ onMounted(() => {
85
85
  .dp__time_input {
86
86
  direction: ltr;
87
87
  }
88
+
89
+ .ltrDateInput input {
90
+ direction: ltr;
91
+ }
88
92
  </style>
@@ -1,39 +1,40 @@
1
1
  <script lang="ts" setup>
2
+ import { Btn, type MaterialIcons } from '@bagelink/vue'
2
3
  import type { ToolbarConfig, ToolbarConfigOption } from './richtext-types'
3
- import {Btn, type MaterialIcons} from '@bagelink/vue'
4
+
4
5
  defineProps<{ config: ToolbarConfig }>()
5
6
  const emit = defineEmits(['action'])
6
7
 
7
8
  const colorPicker = $ref<HTMLInputElement | null>(null)
8
9
  const fontSizeInput = $ref<HTMLInputElement | null>(null)
9
10
 
10
- type toolbarOption = {
11
+ interface toolbarOption {
11
12
  name: ToolbarConfigOption
12
13
  icon: MaterialIcons
13
14
  }
14
- const toolbarOptions:toolbarOption[] = [
15
- {name: 'bold', icon: 'format_bold' },
16
- {name: 'italic', icon: 'format_italic' },
17
- {name: 'underline', icon: 'format_underlined' },
18
- {name: 'fontSize', icon: 'format_size' },
19
- {name: 'fontFamily', icon: 'font_download' },
20
- {name: 'textColor', icon: 'text_format' },
21
- {name: 'backgroundColor', icon: 'format_color_fill' },
22
- {name: 'alignLeft', icon: 'format_align_left' },
23
- {name: 'alignCenter', icon: 'format_align_center' },
24
- {name: 'alignRight', icon: 'format_align_right' },
25
- {name: 'alignJustify', icon: 'format_align_justify' },
26
- {name: 'orderedList', icon: 'format_list_numbered' },
27
- {name: 'unorderedList', icon: 'format_list_bulleted' },
28
- {name: 'indent', icon: 'format_indent_increase' },
29
- {name: 'outdent', icon: 'format_indent_decrease' },
30
- {name: 'link', icon: 'link' },
31
- {name: 'image', icon: 'image' },
32
- {name: 'table', icon: 'table_chart' },
33
- {name: 'blockquote', icon: 'format_quote' },
34
- {name: 'codeBlock', icon: 'code' },
35
- {name: 'splitView', icon: 'splitscreen_right' },
36
- {name: 'codeView', icon: 'code' },
15
+ const toolbarOptions: toolbarOption[] = [
16
+ { name: 'bold', icon: 'format_bold' },
17
+ { name: 'italic', icon: 'format_italic' },
18
+ { name: 'underline', icon: 'format_underlined' },
19
+ { name: 'fontSize', icon: 'format_size' },
20
+ { name: 'fontFamily', icon: 'font_download' },
21
+ { name: 'textColor', icon: 'text_format' },
22
+ { name: 'backgroundColor', icon: 'format_color_fill' },
23
+ { name: 'alignLeft', icon: 'format_align_left' },
24
+ { name: 'alignCenter', icon: 'format_align_center' },
25
+ { name: 'alignRight', icon: 'format_align_right' },
26
+ { name: 'alignJustify', icon: 'format_align_justify' },
27
+ { name: 'orderedList', icon: 'format_list_numbered' },
28
+ { name: 'unorderedList', icon: 'format_list_bulleted' },
29
+ { name: 'indent', icon: 'format_indent_increase' },
30
+ { name: 'outdent', icon: 'format_indent_decrease' },
31
+ { name: 'link', icon: 'link' },
32
+ { name: 'image', icon: 'image' },
33
+ { name: 'table', icon: 'table_chart' },
34
+ { name: 'blockquote', icon: 'format_quote' },
35
+ { name: 'codeBlock', icon: 'code' },
36
+ { name: 'splitView', icon: 'splitscreen_right' },
37
+ { name: 'codeView', icon: 'code' },
37
38
  ]
38
39
 
39
40
  function handleColorPick(type: 'textColor' | 'backgroundColor') {
@@ -54,16 +55,15 @@ function handleFontSizeChange() {
54
55
  <template>
55
56
  <div class="toolbar" role="toolbar">
56
57
  <Btn
57
- thin
58
- color="light"
59
- v-for="action in toolbarOptions.filter(t=>config.includes(t.name))"
58
+ v-for="action in toolbarOptions.filter(t => config.includes(t.name))"
60
59
  :key="action.name"
61
- :aria-label="action.name"
62
60
  v-tooltip="action.name"
63
- @click="emit('action', action.name)"
61
+ thin
62
+ color="light"
63
+ :aria-label="action.name"
64
64
  :icon="action.icon"
65
- >
66
- </Btn>
65
+ @click="emit('action', action.name)"
66
+ />
67
67
  <input
68
68
  v-if="config.includes('textColor') || config.includes('backgroundColor')"
69
69
  ref="colorPicker"
@@ -62,7 +62,7 @@ function emitValue() {
62
62
  // const fileValues = files.map((f) => f.serverFile?.id);
63
63
  const relationshipObjKey = props.context.attrs?.relationshipObjKey
64
64
  if (!computedMultiple) return props.context.node.input(relationshipObjKey ? files[0].serverFile.id : files[0].serverFile)
65
- // eslint-disable-next-line no-alert
65
+
66
66
  alert('not implemented')
67
67
  }
68
68
 
@@ -464,35 +464,35 @@
464
464
  }
465
465
 
466
466
  .border-bottom-none {
467
- border-bottom: none
467
+ border-bottom: none !important;
468
468
  }
469
469
 
470
470
  .border-top-none {
471
- border-top: none
471
+ border-top: none !important
472
472
  }
473
473
 
474
474
  .border-start-none {
475
- border-inline-start: none
475
+ border-inline-start: none !important
476
476
  }
477
477
 
478
478
  .border-end-none {
479
- border-inline-end: none
479
+ border-inline-end: none !important
480
480
  }
481
481
 
482
482
  .border-inner-bottom-none>* {
483
- border-bottom: none
483
+ border-bottom: none !important
484
484
  }
485
485
 
486
486
  .border-inner-top-none>* {
487
- border-top: none
487
+ border-top: none !important
488
488
  }
489
489
 
490
490
  .border-inner-start-none>* {
491
- border-inline-start: none
491
+ border-inline-start: none !important
492
492
  }
493
493
 
494
494
  .border-inner-end-none>* {
495
- border-inline-end: none
495
+ border-inline-end: none !important
496
496
  }
497
497
 
498
498
 
@@ -960,34 +960,34 @@
960
960
  }
961
961
 
962
962
  .m_border-bottom-none {
963
- border-bottom: none
963
+ border-bottom: none !important
964
964
  }
965
965
 
966
966
  .m_border-top-none {
967
- border-top: none
967
+ border-top: none !important
968
968
  }
969
969
 
970
970
  .m_border-start-none {
971
- border-inline-start: none
971
+ border-inline-start: none !important
972
972
  }
973
973
 
974
974
  .m_border-end-none {
975
- border-inline-end: none
975
+ border-inline-end: none !important
976
976
  }
977
977
 
978
978
  .m_border-inner-bottom-none>* {
979
- border-bottom: none
979
+ border-bottom: none !important
980
980
  }
981
981
 
982
982
  .m_border-inner-top-none>* {
983
- border-top: none
983
+ border-top: none !important
984
984
  }
985
985
 
986
986
  .m_border-inner-start-none>* {
987
- border-inline-start: none
987
+ border-inline-start: none !important
988
988
  }
989
989
 
990
990
  .m_border-inner-end-none>* {
991
- border-inline-end: none
991
+ border-inline-end: none !important
992
992
  }
993
993
  }
@@ -203,8 +203,6 @@
203
203
  bottom: 4rem;
204
204
  }
205
205
 
206
-
207
-
208
206
  .auto-flow-rows {
209
207
  grid-auto-flow: row;
210
208
  }
@@ -1873,6 +1871,30 @@
1873
1871
  grid-column: span 6;
1874
1872
  }
1875
1873
 
1874
+ .grid-span-row-1 {
1875
+ grid-row: span 1;
1876
+ }
1877
+
1878
+ .grid-span-row-2 {
1879
+ grid-row: span 2;
1880
+ }
1881
+
1882
+ .grid-span-row-3 {
1883
+ grid-row: span 3;
1884
+ }
1885
+
1886
+ .grid-span-row-4 {
1887
+ grid-row: span 4;
1888
+ }
1889
+
1890
+ .grid-span-row-5 {
1891
+ grid-row: span 5;
1892
+ }
1893
+
1894
+ .grid-span-row-6 {
1895
+ grid-row: span 6;
1896
+ }
1897
+
1876
1898
  .overflow-hidden {
1877
1899
  overflow: hidden;
1878
1900
  }
@@ -77,7 +77,7 @@
77
77
  }
78
78
 
79
79
  .m_align-items-center {
80
- align-items: center;
80
+ align-items: center !important;
81
81
  }
82
82
 
83
83
  .m_align-items-end {
@@ -1729,6 +1729,29 @@
1729
1729
  .m_grid-span-6 {
1730
1730
  grid-column: span 6;
1731
1731
  }
1732
+ .m_grid-span-row-1 {
1733
+ grid-row: span 1;
1734
+ }
1735
+
1736
+ .m_grid-span-row-2 {
1737
+ grid-row: span 2;
1738
+ }
1739
+
1740
+ .m_grid-span-row-3 {
1741
+ grid-row: span 3;
1742
+ }
1743
+
1744
+ .m_grid-span-row-4 {
1745
+ grid-row: span 4;
1746
+ }
1747
+
1748
+ .m_grid-span-row-5 {
1749
+ grid-row: span 5;
1750
+ }
1751
+
1752
+ .m_grid-span-row-6 {
1753
+ grid-row: span 6;
1754
+ }
1732
1755
 
1733
1756
  .m_overflow-hidden {
1734
1757
  overflow: hidden;
@@ -1742,15 +1765,15 @@
1742
1765
  overflow: unset;
1743
1766
  }
1744
1767
 
1745
- .overflow-scroll {
1768
+ .m_overflow-scroll {
1746
1769
  overflow: scroll;
1747
1770
  }
1748
1771
 
1749
- .overflow-x-scroll {
1772
+ .m_overflow-x-scroll {
1750
1773
  overflow-x: scroll;
1751
1774
  }
1752
1775
 
1753
- .overflow-y-scroll {
1776
+ .m_overflow-y-scroll {
1754
1777
  overflow-y: scroll;
1755
1778
  }
1756
1779
 
@@ -164,10 +164,18 @@
164
164
  font-weight: 100;
165
165
  }
166
166
 
167
- .bold,
168
- .txt-bold,
169
- .font-bold {
170
- font-weight: 700;
167
+ .extra-light,
168
+ .font-extra-light,
169
+ .txt-extra-light,
170
+ .font-ultra-light,
171
+ .txt-ultra-light {
172
+ font-weight: 200;
173
+ }
174
+
175
+ .light,
176
+ .txt-light,
177
+ .font-light {
178
+ font-weight: 300;
171
179
  }
172
180
 
173
181
  .regular,
@@ -176,6 +184,12 @@
176
184
  font-weight: 400;
177
185
  }
178
186
 
187
+ .medium,
188
+ .txt-medium,
189
+ .font-medium {
190
+ font-weight: 500;
191
+ }
192
+
179
193
  .semi,
180
194
  .semibold,
181
195
  .txt-semi,
@@ -186,18 +200,25 @@
186
200
  font-weight: 600;
187
201
  }
188
202
 
189
- .light,
190
- .txt-light,
191
- .font-light {
192
- font-weight: 300;
203
+ .bold,
204
+ .txt-bold,
205
+ .font-bold {
206
+ font-weight: 700;
193
207
  }
194
208
 
195
- .medium,
196
- .txt-medium,
197
- .font-medium {
198
- font-weight: 500;
209
+ .extra-bold,
210
+ .font-extra-bold,
211
+ .txt-extra-bold,
212
+ .font-ultra-bold,
213
+ .txt-ultra-bold {
214
+ font-weight: 800;
199
215
  }
200
216
 
217
+ .black,
218
+ .txt-black,
219
+ .font-black {
220
+ font-weight: 900;
221
+ }
201
222
 
202
223
  .line-height-1 {
203
224
  line-height: 1;
@@ -521,10 +542,18 @@
521
542
  font-weight: 100;
522
543
  }
523
544
 
524
- .m_bold,
525
- .m_txt-bold,
526
- .m_font-bold {
527
- font-weight: 700;
545
+ .m_extra-light,
546
+ .m_font-extra-light,
547
+ .m_txt-extra-light,
548
+ .m_font-ultra-light,
549
+ .m_txt-ultra-light {
550
+ font-weight: 200;
551
+ }
552
+
553
+ .m_light,
554
+ .m_txt-light,
555
+ .m_font-light {
556
+ font-weight: 300;
528
557
  }
529
558
 
530
559
  .m_regular,
@@ -533,6 +562,12 @@
533
562
  font-weight: 400;
534
563
  }
535
564
 
565
+ .m_medium,
566
+ .m_txt-medium,
567
+ .m_font-medium {
568
+ font-weight: 500;
569
+ }
570
+
536
571
  .m_semi,
537
572
  .m_semibold,
538
573
  .m_txt-semi,
@@ -543,18 +578,25 @@
543
578
  font-weight: 600;
544
579
  }
545
580
 
546
- .light,
547
- .txt-light,
548
- .font-light {
549
- font-weight: 300;
581
+ .m_bold,
582
+ .m_txt-bold,
583
+ .m_font-bold {
584
+ font-weight: 700;
550
585
  }
551
586
 
552
- .medium,
553
- .txt-medium,
554
- .font-medium {
555
- font-weight: 500;
587
+ .m_extra-bold,
588
+ .m_font-extra-bold,
589
+ .m_txt-extra-bold,
590
+ .m_font-ultra-bold,
591
+ .m_txt-ultra-bold {
592
+ font-weight: 800;
556
593
  }
557
594
 
595
+ .m_black,
596
+ .m_txt-black,
597
+ .m_font-black {
598
+ font-weight: 900;
599
+ }
558
600
 
559
601
  .m_line-height-1 {
560
602
  line-height: 1;
@@ -8,6 +8,20 @@ export interface Attributes<T = any> {
8
8
  [key: string]: AttributeValue | AttributeFn<T>
9
9
  }
10
10
 
11
+ export type BagelFieldOptions = (
12
+ string
13
+ | (
14
+ {
15
+ label?: string
16
+ value: string | number
17
+ }
18
+ | string
19
+ | number
20
+ | Record<string, any>
21
+ )[]
22
+ | ((val: any, rowData?: Record<string, any>) => void)
23
+ )
24
+
11
25
  export interface BaseBagelField<T = Record<string, any>> {
12
26
  '$el'?: any
13
27
  'id'?: string
@@ -19,7 +33,7 @@ export interface BaseBagelField<T = Record<string, any>> {
19
33
  'required'?: boolean
20
34
  'disabled'?: boolean
21
35
  'helptext'?: string
22
- 'options'?: string | ({ label?: string, value: string | number } | string | number | Record<string, any>)[] | ((val: any, rowData?: Record<string, any>) => void)
36
+ 'options'?: BagelFieldOptions
23
37
  'defaultValue'?: any
24
38
  'transform'?: (val?: any, rowData?: Record<string, any>) => any
25
39
  'onUpdate'?: (val: any, rowData?: Record<string, any>) => void
@@ -1,10 +0,0 @@
1
- declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>, {
2
- trigger?(_: {}): any;
3
- }>;
4
- export default _default;
5
- type __VLS_WithTemplateSlots<T, S> = T & {
6
- new (): {
7
- $slots: S;
8
- };
9
- };
10
- //# sourceMappingURL=Popover.vue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Popover.vue.d.ts","sourceRoot":"","sources":["../../src/components/Popover.vue"],"names":[],"mappings":"AAoBA;AAEA,OAAO,6BAA6B,CAAC;;;;AAmHrC,wBAAwG;AACxG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAClD,MAAM,EAAE,CAAC,CAAC;KACT,CAAA;CAAE,CAAC"}