@bagelink/vue 1.14.13 → 1.15.0

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 (238) hide show
  1. package/dist/components/AddressSearch.vue.d.ts +6 -7
  2. package/dist/components/Alert.vue.d.ts.map +1 -1
  3. package/dist/components/Avatar.vue.d.ts.map +1 -1
  4. package/dist/components/Badge.vue.d.ts.map +1 -1
  5. package/dist/components/Btn.vue.d.ts +1 -1
  6. package/dist/components/Btn.vue.d.ts.map +1 -1
  7. package/dist/components/Card.vue.d.ts.map +1 -1
  8. package/dist/components/Carousel.vue.d.ts +0 -11
  9. package/dist/components/Dropdown.vue.d.ts +0 -2
  10. package/dist/components/Dropdown.vue.d.ts.map +1 -1
  11. package/dist/components/Filter.vue.d.ts +30 -0
  12. package/dist/components/Filter.vue.d.ts.map +1 -0
  13. package/dist/components/FilterQuery.vue.d.ts +8 -3
  14. package/dist/components/Image.vue.d.ts.map +1 -1
  15. package/dist/components/ImportData.vue.d.ts.map +1 -1
  16. package/dist/components/ListItem.vue.d.ts.map +1 -1
  17. package/dist/components/MapEmbed/Index.vue.d.ts.map +1 -1
  18. package/dist/components/Modal.vue.d.ts +0 -1
  19. package/dist/components/Pagination.vue.d.ts.map +1 -1
  20. package/dist/components/Pill.vue.d.ts.map +1 -1
  21. package/dist/components/QueryFilter.vue.d.ts +30 -0
  22. package/dist/components/QueryFilter.vue.d.ts.map +1 -0
  23. package/dist/components/Swiper.vue.d.ts +6 -12
  24. package/dist/components/Swiper.vue.d.ts.map +1 -1
  25. package/dist/components/Toast.vue.d.ts.map +1 -1
  26. package/dist/components/analytics/PieChart.vue.d.ts +2 -2
  27. package/dist/components/calendar/CalendarPopover.vue.d.ts +8 -4
  28. package/dist/components/calendar/CalendarPopover.vue.d.ts.map +1 -1
  29. package/dist/components/calendar/CalendarTypes.d.ts +0 -10
  30. package/dist/components/calendar/Index.vue.d.ts +4 -20
  31. package/dist/components/calendar/views/WeekView.vue.d.ts +1 -9
  32. package/dist/components/dataTable/DataTable.vue.d.ts.map +1 -1
  33. package/dist/components/form/index.d.ts.map +1 -1
  34. package/dist/components/form/inputs/ArrayInput.vue.d.ts +2 -4
  35. package/dist/components/form/inputs/CheckInput.vue.d.ts +1 -2
  36. package/dist/components/form/inputs/Checkbox.vue.d.ts.map +1 -1
  37. package/dist/components/form/inputs/CodeEditor/Index.vue.d.ts +0 -54
  38. package/dist/components/form/inputs/ColorInput.vue.d.ts +1 -3
  39. package/dist/components/form/inputs/DateInput.vue.d.ts +1 -2
  40. package/dist/components/form/inputs/DatePicker.vue.d.ts +0 -1
  41. package/dist/components/form/inputs/EmailInput.vue.d.ts +2 -5
  42. package/dist/components/form/inputs/JSONInput.vue.d.ts +1 -2
  43. package/dist/components/form/inputs/MarkdownEditor.vue.d.ts +2 -7
  44. package/dist/components/form/inputs/NumberInput.vue.d.ts +1 -2
  45. package/dist/components/form/inputs/OTP.vue.d.ts +1 -2
  46. package/dist/components/form/inputs/PasswordInput.vue.d.ts +10 -16
  47. package/dist/components/form/inputs/RadioGroup.vue.d.ts +1 -3
  48. package/dist/components/form/inputs/RangeInput.vue.d.ts +1 -6
  49. package/dist/components/form/inputs/RichText/index.vue.d.ts +1 -2
  50. package/dist/components/form/inputs/RichText/index.vue.d.ts.map +1 -1
  51. package/dist/components/form/inputs/RichText/utils/media.d.ts.map +1 -1
  52. package/dist/components/form/inputs/SelectBtn.vue.d.ts +2 -2
  53. package/dist/components/form/inputs/SelectInput.vue.d.ts +13 -20
  54. package/dist/components/form/inputs/SelectInput.vue.d.ts.map +1 -1
  55. package/dist/components/form/inputs/SignaturePad.vue.d.ts +1 -6
  56. package/dist/components/form/inputs/TableField.vue.d.ts +1 -2
  57. package/dist/components/form/inputs/TelInput.vue.d.ts +1 -2
  58. package/dist/components/form/inputs/TextInput.vue.d.ts +2 -3
  59. package/dist/components/form/inputs/ToggleInput.vue.d.ts +1 -2
  60. package/dist/components/form/inputs/Upload/UploadInput.vue.d.ts +6 -27
  61. package/dist/components/form/inputs/Upload/upload.d.ts +1 -1
  62. package/dist/components/form/inputs/index.d.ts +0 -1
  63. package/dist/components/index.d.ts +1 -3
  64. package/dist/components/index.d.ts.map +1 -1
  65. package/dist/components/layout/AppContent.vue.d.ts +1 -1
  66. package/dist/components/layout/AppContent.vue.d.ts.map +1 -1
  67. package/dist/components/layout/AppLayout.vue.d.ts +0 -2
  68. package/dist/components/layout/AppLayout.vue.d.ts.map +1 -1
  69. package/dist/components/layout/AppSidebar.vue.d.ts +1 -5
  70. package/dist/components/layout/AppSidebar.vue.d.ts.map +1 -1
  71. package/dist/components/layout/Panel.vue.d.ts.map +1 -1
  72. package/dist/components/layout/Resizable.vue.d.ts.map +1 -1
  73. package/dist/components/layout/Skeleton.vue.d.ts.map +1 -1
  74. package/dist/components/layout/TabsNav.vue.d.ts +1 -12
  75. package/dist/components/layout/TabsNav.vue.d.ts.map +1 -1
  76. package/dist/components/layout/appLayoutContext.d.ts +24 -0
  77. package/dist/components/layout/appLayoutContext.d.ts.map +1 -0
  78. package/dist/components/layout/index.d.ts.map +1 -1
  79. package/dist/components/lightbox/Lightbox.vue.d.ts.map +1 -1
  80. package/dist/composables/index.d.ts.map +1 -1
  81. package/dist/composables/useDevice.d.ts.map +1 -1
  82. package/dist/composables/useEscapeKey.d.ts +12 -0
  83. package/dist/composables/useEscapeKey.d.ts.map +1 -0
  84. package/dist/composables/useSchemaField.d.ts.map +1 -1
  85. package/dist/composables/useTheme.d.ts.map +1 -1
  86. package/dist/dialog/Dialog.vue.d.ts.map +1 -1
  87. package/dist/dialog/DialogConfirm.vue.d.ts.map +1 -1
  88. package/dist/form-flow/FormFlow.vue.d.ts.map +1 -1
  89. package/dist/form-flow/MultiStepForm.vue.d.ts +1 -6
  90. package/dist/form-flow/form-flow.d.ts +1 -24
  91. package/dist/form-flow/form-flow.d.ts.map +1 -1
  92. package/dist/i18n/index.d.ts +0 -838
  93. package/dist/index.cjs +245 -222
  94. package/dist/index.d.ts +0 -2
  95. package/dist/index.d.ts.map +1 -1
  96. package/dist/index.mjs +42201 -51162
  97. package/dist/plugins/bagel.d.ts.map +1 -1
  98. package/dist/style.css +1 -2
  99. package/dist/types/BagelForm.d.ts +1 -10
  100. package/dist/types/BagelForm.d.ts.map +1 -1
  101. package/dist/types/BtnOptions.d.ts.map +1 -1
  102. package/dist/types/NavLink.d.ts +1 -2
  103. package/dist/types/TableSchema.d.ts.map +1 -1
  104. package/dist/types/index.d.ts +1 -2
  105. package/dist/types/index.d.ts.map +1 -1
  106. package/dist/utils/BagelFormUtils.d.ts +0 -1
  107. package/dist/utils/calendar/dateUtils.d.ts +2 -2
  108. package/dist/utils/calendar/dateUtils.d.ts.map +1 -1
  109. package/dist/utils/constants.d.ts.map +1 -1
  110. package/dist/utils/date.d.ts +116 -0
  111. package/dist/utils/date.d.ts.map +1 -0
  112. package/dist/utils/fetch.d.ts +29 -0
  113. package/dist/utils/fetch.d.ts.map +1 -0
  114. package/dist/utils/index.d.ts +1 -1
  115. package/dist/utils/index.d.ts.map +1 -1
  116. package/dist/utils/string.d.ts +7 -0
  117. package/dist/utils/string.d.ts.map +1 -0
  118. package/dist/utils/useSearch.d.ts +1 -1
  119. package/package.json +3 -10
  120. package/src/components/AccordionItem.vue +5 -5
  121. package/src/components/Alert.vue +37 -16
  122. package/src/components/Avatar.vue +2 -1
  123. package/src/components/Badge.vue +145 -22
  124. package/src/components/BglVideo.vue +4 -4
  125. package/src/components/Btn.vue +81 -69
  126. package/src/components/Card.vue +7 -6
  127. package/src/components/Dropdown.vue +7 -14
  128. package/src/components/FieldSetVue.vue +2 -2
  129. package/src/components/FilterQuery.vue +3 -3
  130. package/src/components/Image.vue +5 -3
  131. package/src/components/JSONSchema.vue +4 -4
  132. package/src/components/JsonBuilder.vue +3 -3
  133. package/src/components/ListItem.vue +2 -4
  134. package/src/components/MapEmbed/Index.vue +18 -17
  135. package/src/components/NavBar.vue +2 -2
  136. package/src/components/Spreadsheet/Index.vue +4 -4
  137. package/src/components/Spreadsheet/SpreadsheetTable.vue +10 -10
  138. package/src/components/Swiper.vue +3 -1
  139. package/src/components/Toast.vue +57 -36
  140. package/src/components/calendar/CalendarPopover.vue +1 -1
  141. package/src/components/calendar/Index.vue +5 -5
  142. package/src/components/calendar/views/AgendaView.vue +2 -2
  143. package/src/components/calendar/views/DayView.vue +1 -1
  144. package/src/components/calendar/views/MonthView.vue +8 -8
  145. package/src/components/dataTable/DataTable.vue +68 -10
  146. package/src/components/form/index.ts +0 -4
  147. package/src/components/form/inputs/ArrayInput.vue +1 -1
  148. package/src/components/form/inputs/CheckInput.vue +6 -6
  149. package/src/components/form/inputs/Checkbox.vue +5 -4
  150. package/src/components/form/inputs/CodeEditor/Index.vue +1 -1
  151. package/src/components/form/inputs/ColorInput.vue +5 -5
  152. package/src/components/form/inputs/DatePicker.vue +3 -3
  153. package/src/components/form/inputs/EmailInput.vue +15 -15
  154. package/src/components/form/inputs/NumberInput.vue +11 -11
  155. package/src/components/form/inputs/OTP.vue +4 -4
  156. package/src/components/form/inputs/PasswordInput.vue +3 -3
  157. package/src/components/form/inputs/RadioGroup.vue +1 -1
  158. package/src/components/form/inputs/RichText/editor.css +4 -4
  159. package/src/components/form/inputs/RichText/index.vue +39 -39
  160. package/src/components/form/inputs/RichText/utils/media.ts +1 -92
  161. package/src/components/form/inputs/RichText/utils/table.ts +4 -4
  162. package/src/components/form/inputs/SelectBtn.vue +1 -1
  163. package/src/components/form/inputs/SelectInput.vue +16 -16
  164. package/src/components/form/inputs/SignaturePad.vue +6 -6
  165. package/src/components/form/inputs/TableField.vue +7 -7
  166. package/src/components/form/inputs/TelInput.vue +12 -12
  167. package/src/components/form/inputs/TextInput.vue +11 -11
  168. package/src/components/form/inputs/ToggleInput.vue +11 -11
  169. package/src/components/form/inputs/Upload/upload.css +16 -16
  170. package/src/components/index.ts +2 -9
  171. package/src/components/layout/AppContent.vue +5 -19
  172. package/src/components/layout/AppLayout.vue +47 -18
  173. package/src/components/layout/AppSidebar.vue +19 -36
  174. package/src/components/layout/BottomMenu.vue +1 -1
  175. package/src/components/layout/Resizable.vue +5 -2
  176. package/src/components/layout/Skeleton.vue +5 -4
  177. package/src/components/layout/TabsNav.vue +23 -23
  178. package/src/components/layout/appLayoutContext.ts +44 -0
  179. package/src/components/layout/index.ts +2 -0
  180. package/src/components/lightbox/Lightbox.vue +3 -9
  181. package/src/composables/index.ts +1 -0
  182. package/src/composables/useDevice.ts +2 -1
  183. package/src/composables/useEscapeKey.ts +56 -0
  184. package/src/composables/useSchemaField.ts +2 -17
  185. package/src/composables/useTheme.ts +23 -19
  186. package/src/form-flow/FormFlow.vue +2 -0
  187. package/src/form-flow/form-flow.ts +7 -0
  188. package/src/index.ts +0 -3
  189. package/src/plugins/bagel.ts +0 -15
  190. package/src/styles/app-layout.css +231 -0
  191. package/src/styles/appearance.css +179 -21
  192. package/src/styles/bagel.css +103 -97
  193. package/src/styles/buttons.css +8 -8
  194. package/src/styles/colors.css +0 -103
  195. package/src/styles/dark.css +25 -26
  196. package/src/styles/input-variants.css +11 -11
  197. package/src/styles/inputs.css +44 -61
  198. package/src/styles/layout.css +445 -1258
  199. package/src/styles/loginCard.css +1 -1
  200. package/src/styles/mobilLayout.css +153 -28
  201. package/src/styles/text.css +500 -1508
  202. package/src/styles/theme.css +199 -435
  203. package/src/styles/transitions.css +4 -4
  204. package/src/types/BagelForm.ts +46 -151
  205. package/src/types/BtnOptions.ts +5 -3
  206. package/src/types/TableSchema.ts +1 -0
  207. package/src/types/index.ts +0 -5
  208. package/src/utils/calendar/dateUtils.ts +2 -3
  209. package/src/utils/constants.ts +7 -0
  210. package/src/utils/date.ts +482 -0
  211. package/src/utils/fetch.ts +128 -0
  212. package/src/utils/index.ts +54 -3
  213. package/src/utils/sizeParsing.ts +5 -5
  214. package/src/utils/string.ts +56 -0
  215. package/vite.config.ts +5 -1
  216. package/bin/generateFormSchema.ts +0 -1035
  217. package/bin/utils.ts +0 -223
  218. package/src/components/Carousel.vue +0 -724
  219. package/src/components/ImportData.vue +0 -1749
  220. package/src/components/Modal.vue +0 -184
  221. package/src/components/ModalConfirm.vue +0 -42
  222. package/src/components/ModalForm.vue +0 -102
  223. package/src/components/Pill.vue +0 -149
  224. package/src/components/Slider.vue +0 -1446
  225. package/src/components/Title.vue +0 -23
  226. package/src/components/ToolBar.vue +0 -9
  227. package/src/components/form/BagelForm.vue +0 -219
  228. package/src/components/form/BglFieldSet.vue +0 -14
  229. package/src/components/form/BglMultiStepForm.vue +0 -469
  230. package/src/components/form/FieldArray.vue +0 -422
  231. package/src/components/form/useBagelFormState.ts +0 -76
  232. package/src/composables/useFormField.ts +0 -38
  233. package/src/dialog/DialogOLD.vue +0 -358
  234. package/src/plugins/modalTypes.ts +0 -61
  235. package/src/plugins/useModal.ts +0 -225
  236. package/src/styles/modal.css +0 -120
  237. package/src/styles/pillColors.css +0 -0
  238. package/src/utils/BagelFormUtils.ts +0 -684
@@ -1,6 +1,6 @@
1
1
  :root {
2
- --transition-ease-in: cubic-bezier(0.1, 0.5, 0.33, 1);
3
- --transition-ease-out: cubic-bezier(1, 0.33, 0.5, 0.1);
2
+ --bgl-transition-ease-in: cubic-bezier(0.1, 0.5, 0.33, 1);
3
+ --bgl-transition-ease-out: cubic-bezier(1, 0.33, 0.5, 0.1);
4
4
  }
5
5
 
6
6
  .transition,
@@ -27,11 +27,11 @@
27
27
  }
28
28
 
29
29
  .scale-enter-active {
30
- transition: all 0.2s var(--transition-ease-in);
30
+ transition: all 0.2s var(--bgl-transition-ease-in);
31
31
  }
32
32
 
33
33
  .scale-leave-active {
34
- transition: all 0.2s var(--transition-ease-out);
34
+ transition: all 0.2s var(--bgl-transition-ease-out);
35
35
  }
36
36
 
37
37
  .scale-enter-from,
@@ -1,83 +1,30 @@
1
- // Local type definitions for internal use only
2
- import type { Paths, Get, IterableElement, OmitIndexSignature } from 'type-fest'
1
+ /**
2
+ * Schema field types used by DataTable, DataPreview, useSchemaField and elementUtils.
3
+ * (The BagelForm form-rendering system was removed — use FormFlow with defineSchema.)
4
+ */
5
+ import type { Paths, Get, OmitIndexSignature } from 'type-fest'
3
6
  import type { ToString } from 'type-fest/source/internal'
4
7
  import type { LiteralStringUnion } from 'type-fest/source/literal-union'
5
8
  import type { PathsOptions, DefaultPathsOptions } from 'type-fest/source/paths'
6
9
  import type { VNode } from 'vue'
7
10
 
8
- type ArrayAttrs = any
9
- interface Option { label: string, value: any }
10
-
11
11
  // BagelInputShellProps is exported from components/form/inputs/bagelInputShell.ts
12
12
  // Do not re-export here to avoid duplicate export in src/index.ts
13
13
  import type { BagelInputShellProps } from '../components/form/inputs/bagelInputShell'
14
14
 
15
- export type AttributeValue
16
- = | string
17
- | number
18
- | boolean
19
- | undefined
20
- | { [key: string]: any }
21
-
22
- export type AttributeFn<T, P extends Path<T>> = (
23
- field: SmartFieldVal<T, P>,
24
- row?: T
25
- ) => AttributeValue
26
-
27
- export interface Attributes<T, P extends Path<T>> {
28
- [key: string]: AttributeValue | AttributeFn<T, P>
29
- }
30
-
31
- export type BagelFieldOptions<T, P extends Path<T>>
32
- = | string
33
- | (
34
- | {
35
- label?: string
36
- value: string | number
37
- }
38
- | string
39
- | number
40
- | boolean
41
- | { [key: string]: any }
42
- )[]
43
- | ((val?: SmartFieldVal<T, P>, rowData?: T) => Option[] | ((query: string) => Promise<Option[]>))
44
- | ((query: string, val?: SmartFieldVal<T, P>, rowData?: T) => Promise<Option[]>)
45
-
46
- export type VIfType<T, P extends Path<T>>
47
- = | string
48
- | boolean
49
- | ((val?: SmartFieldVal<T, P>, rowData?: T) => boolean)
50
-
51
- export type ValidationFn<T, P extends Path<T>> = (
52
- val?: SmartFieldVal<T, P>,
53
- rowData?: T
54
- ) => string | undefined
15
+ interface Option { label: string, value: any }
55
16
 
56
- export interface ShallowPathsOptions extends PathsOptions {
57
- maxRecursionDepth: 0
58
- }
17
+ // ---------- Path resolution ----------
59
18
 
60
19
  export type _Path<
61
20
  T,
62
21
  PO extends PathsOptions = DefaultPathsOptions,
63
22
  > = ToString<Paths<OmitIndexSignature<T>, PO>>
64
23
 
65
- // Utility type for open-ended object paths
66
- export type OpenEndedPath<T>
67
- = keyof T extends infer K
68
- ? K extends keyof T
69
- ? T[K] extends { [key: string]: any }
70
- ? `${K & string}.${string}`
71
- : never
72
- : never
73
- : never
74
-
75
24
  // Helper type to get paths for index signature properties
76
25
  type IndexSignaturePaths<T> = {
77
26
  [K in keyof T]: T[K] extends { [key: string]: any }
78
- ? T[K] extends { [key: string]: infer V }
79
- ? `${K & string}.${string}`
80
- : never
27
+ ? `${K & string}.${string}`
81
28
  : never
82
29
  }[keyof T]
83
30
 
@@ -87,7 +34,11 @@ export type Path<T, PO extends PathsOptions = DefaultPathsOptions>
87
34
  ? LiteralStringUnion<_Path<T, PO>>
88
35
  : _Path<T, PO> | IndexSignaturePaths<T> | `${keyof T & string}.more_info.${string}`
89
36
 
90
- // Smart field value type that preserves type information when possible
37
+ /** The value type at path P in object T. Falls back to unknown if resolution fails. */
38
+ export type FieldVal<T, P extends Path<T>>
39
+ = unknown extends Get<T, P> ? unknown : Get<T, P>
40
+
41
+ /** Field value type that preserves type information when possible. */
91
42
  export type SmartFieldVal<T, P extends Path<T>>
92
43
  = P extends string
93
44
  ? P extends keyof T
@@ -95,8 +46,25 @@ export type SmartFieldVal<T, P extends Path<T>>
95
46
  : any
96
47
  : FieldVal<T, P>
97
48
 
98
- // Smart bagel field options that preserve type information
99
- export type SmartBagelFieldOptions<T, P extends Path<T>>
49
+ // ---------- Field callbacks & attributes ----------
50
+
51
+ export type AttributeValue
52
+ = | string
53
+ | number
54
+ | boolean
55
+ | undefined
56
+ | { [key: string]: any }
57
+
58
+ export type AttributeFn<T, P extends Path<T>> = (
59
+ field: SmartFieldVal<T, P>,
60
+ row?: T
61
+ ) => AttributeValue
62
+
63
+ export interface Attributes<T, P extends Path<T>> {
64
+ [key: string]: AttributeValue | AttributeFn<T, P>
65
+ }
66
+
67
+ export type FieldOptions<T, P extends Path<T>>
100
68
  = | string
101
69
  | (
102
70
  | {
@@ -111,43 +79,27 @@ export type SmartBagelFieldOptions<T, P extends Path<T>>
111
79
  | ((val?: SmartFieldVal<T, P>, rowData?: T) => Option[] | ((query: string) => Promise<Option[]>))
112
80
  | ((query: string, val?: SmartFieldVal<T, P>, rowData?: T) => Promise<Option[]>)
113
81
 
114
- // Smart VIf type that preserves type information
115
- export type SmartVIfType<T, P extends Path<T>>
82
+ export type VIfType<T, P extends Path<T>>
116
83
  = | string
117
84
  | boolean
118
85
  | ((val?: SmartFieldVal<T, P>, rowData?: T) => boolean)
119
86
 
120
- // Smart validation function that preserves type information
121
- export type SmartValidationFn<T, P extends Path<T>> = (
87
+ export type ValidationFn<T, P extends Path<T>> = (
122
88
  val?: SmartFieldVal<T, P>,
123
89
  rowData?: T
124
90
  ) => string | undefined
125
91
 
126
- // Smart attribute function that preserves type information
127
- export type SmartAttributeFn<T, P extends Path<T>> = (
128
- field: SmartFieldVal<T, P>,
129
- row?: T
130
- ) => AttributeValue
131
-
132
- // Smart transform function that preserves type information
133
- export type SmartTransformFn<T, P extends Path<T>> = (
92
+ export type TransformFn<T, P extends Path<T>> = (
134
93
  val?: SmartFieldVal<T, P>,
135
94
  rowData?: T
136
95
  ) => any
137
96
 
138
- // Smart update function that preserves type information
139
- export type SmartUpdateFn<T, P extends Path<T>> = (
97
+ export type UpdateFn<T, P extends Path<T>> = (
140
98
  val?: SmartFieldVal<T, P>,
141
99
  rowData?: T
142
100
  ) => unknown
143
101
 
144
- /** The value type at path P in object T. */
145
- // Fall back to unknown if type resolution fails
146
- export type FieldVal<T, P extends Path<T>>
147
- = unknown extends Get<T, P> ? unknown : Get<T, P>
148
-
149
- /** If path P in T is an array, this gives the array's element type. */
150
- export type ArrayFieldVal<T, P extends Path<T>> = IterableElement<Get<T, P>>
102
+ // ---------- Schema fields ----------
151
103
 
152
104
  export type VNodeFn<T, P extends Path<T>> = (props: {
153
105
  row?: T
@@ -189,50 +141,26 @@ export interface BaseBagelField<
189
141
  'id'?: P
190
142
  'label'?: string
191
143
  'placeholder'?: string
192
- 'class'?: AttributeValue | SmartAttributeFn<T, P>
144
+ 'class'?: AttributeValue | AttributeFn<T, P>
193
145
  'attrs'?: Attributes<T, P>
194
146
  'required'?: boolean
195
147
  'disabled'?: boolean
196
148
  'helptext'?: string
197
- 'options'?: SmartBagelFieldOptions<T, P>
149
+ 'options'?: FieldOptions<T, P>
198
150
  'children'?: SchemaChild<T, Path<T, PO>, PO>[]
199
151
  'slots'?: { [key: string]: SchemaChild<T, Path<T, PO>, PO>[] }
200
152
  'defaultValue'?: any
201
- 'vIf'?: SmartVIfType<T, P>
202
- 'v-if'?: SmartVIfType<T, P>
203
- 'transform'?: SmartTransformFn<T, P>
204
- 'onUpdate'?: SmartUpdateFn<T, P>
205
- 'validate'?: SmartValidationFn<T, P>
153
+ 'vIf'?: VIfType<T, P>
154
+ 'v-if'?: VIfType<T, P>
155
+ 'transform'?: TransformFn<T, P>
156
+ 'onUpdate'?: UpdateFn<T, P>
157
+ 'validate'?: ValidationFn<T, P>
206
158
  }
207
159
 
208
- export type _MappedBaseBagelField<
209
- T,
210
- PO extends PathsOptions = DefaultPathsOptions,
211
- > = {
212
- [P in Path<T, PO>]: BaseBagelField<T, P, PO>
213
- }
214
-
215
- export type MappedBaseBagelFieldP<
216
- T,
217
- P extends Path<T, PO>,
218
- PO extends PathsOptions = DefaultPathsOptions,
219
- > = _MappedBaseBagelField<T, PO>[P]
220
-
221
- export type FieldByP<
222
- T,
223
- P extends Path<T, PO>,
224
- PO extends PathsOptions = DefaultPathsOptions,
225
- > = MappedBaseBagelFieldP<T, P, PO>
226
-
227
160
  export type Field<
228
161
  T,
229
162
  PO extends PathsOptions = DefaultPathsOptions,
230
- > = MappedBaseBagelFieldP<T, Path<T, PO>, PO>
231
-
232
- export type BglFieldT<
233
- T,
234
- PO extends PathsOptions = DefaultPathsOptions,
235
- > = Field<T, PO>
163
+ > = ValidBaseBagelField<T, PO>
236
164
 
237
165
  export type SchemaField<
238
166
  T,
@@ -244,40 +172,7 @@ export type BglFormSchemaT<
244
172
  PO extends PathsOptions = DefaultPathsOptions,
245
173
  > = (SchemaField<T, PO> | BaseBagelField<T, Path<T, PO>, PO>)[]
246
174
 
247
- export type ShallowBglFormSchemaT<
248
- T,
249
- PO extends PathsOptions = ShallowPathsOptions,
250
- > = (SchemaField<T, PO> | BaseBagelField<T, Path<T, PO>, PO>)[]
251
-
252
- export interface InputBagelField<
253
- T,
254
- P extends Path<T, PO>,
255
- PO extends PathsOptions = DefaultPathsOptions
256
- >
257
- extends BaseBagelField<T, P, PO> {
258
- $el: 'text' | any
259
- type?: string
260
- }
261
-
262
- export interface SelectBagelField<
263
- T,
264
- P extends Path<T, PO>,
265
- PO extends PathsOptions = DefaultPathsOptions,
266
- >
267
- extends BaseBagelField<T, P, PO> {
268
- $el: 'select' | any
269
- type?: string
270
- }
271
-
272
- export interface ArrayBagelField<
273
- T,
274
- P extends Path<T, PO>,
275
- PO extends PathsOptions = DefaultPathsOptions,
276
- >
277
- extends BaseBagelField<T, P, PO> {
278
- $el: 'array' | any
279
- attrs?: ArrayAttrs
280
- }
175
+ // ---------- Input component contracts ----------
281
176
 
282
177
  export interface ValidateInputBaseT {
283
178
  validate?: ValidationFn<{ [key: string]: unknown }, string>
@@ -3,18 +3,20 @@ import type { IconType, ThemeType } from '.'
3
3
  export interface BtnOptions {
4
4
  onClick?: () => void
5
5
  color?: ThemeType
6
- theme?: ThemeType
7
6
  disabled?: boolean
8
7
  icon?: IconType
8
+ variant?: 'solid' | 'flat' | 'outline'
9
9
  flat?: boolean
10
+ outline?: boolean
11
+ /** @deprecated Use `outline` */
12
+ border?: boolean
10
13
  thin?: boolean
11
14
  type?: 'button' | 'submit' | 'reset'
12
15
  loading?: boolean
13
16
  role?: string
14
17
  value?: string
15
- border?: boolean
16
18
  }
17
19
 
18
20
  export type UnitSize = 'px' | 'rem' | 'vh' | 'vw'
19
- export type SizeType = 'xSmall' | 'small' | 'medium' | 'large' | 'xLarge'
21
+ export type SizeType = 'xs' | 'sm' | 'md' | 'lg' | 'xl'
20
22
  export type SizeUnit = `${number}` | number | `${number}${UnitSize}`
@@ -10,6 +10,7 @@ export interface TableSchemaProps<T extends { [key: string]: any } = { [key: str
10
10
  columns?: MaybeRefOrGetter<string[]>
11
11
  useServerSort?: boolean
12
12
  selectable?: boolean
13
+ sortable?: boolean | { handle?: string }
13
14
  onLastItemVisible?: () => void
14
15
  }
15
16
 
@@ -4,11 +4,6 @@ export type { AvailabilitySlot, CalendarEvent, CalendarProps, CalendarView, Cale
4
4
 
5
5
  export type { IconType, MaterialIcons }
6
6
 
7
- export type {
8
- ModalComponentProps,
9
- ModalComponentProps as ModalFormComponentProps,
10
- ModalOptions,
11
- } from '../plugins/modalTypes'
12
7
  export type { AddToCalendarEvent } from '../utils/calendar/types'
13
8
  export * from './BagelForm'
14
9
  export * from './BtnOptions'
@@ -1,9 +1,8 @@
1
1
  import type { TimeUnit } from '../../types/timeAgoT'
2
- import { timeDelta, formatDate, fmtDate, handleTimezone, getDatePartsMap, utc, local } from '@bagelink/utils'
3
2
  import { getI18n } from '../../i18n'
4
3
 
5
- export { fmtDate, formatDate, getDatePartsMap, handleTimezone, timeDelta, utc, local }
6
- export type { DateTimeAcceptedFormats, FormatDateOptions } from '@bagelink/utils'
4
+ export { fmtDate, formatDate, getDatePartsMap, handleTimezone, timeDelta, utc, local } from '../date'
5
+ export type { DateTimeAcceptedFormats, FormatDateOptions } from '../date'
7
6
 
8
7
  type TimeAgoLang = 'en' | 'es' | 'fr' | 'he' | 'it' | 'ru'
9
8
 
@@ -1,3 +1,10 @@
1
+ /**
2
+ * The single mobile breakpoint, matching the CSS media query
3
+ * `@media (max-width: 910px)` used by all `m_*` utilities.
4
+ * A viewport is "mobile" when `window.innerWidth <= MOBILE_BREAKPOINT`.
5
+ */
6
+ export const MOBILE_BREAKPOINT = 910
7
+
1
8
  export const IMAGE_FORMATS = ['jpeg', 'png', 'webp', 'avif', 'apng', 'gif', 'avifs', 'svg', 'bmp', 'jpg', 'heic', 'heif', 'ico', 'cur', 'tif', 'tiff']
2
9
  export const IMAGE_FORMATS_REGEXP = new RegExp(`(${IMAGE_FORMATS.join('|')})$`, 'i')
3
10
  export const VIDEO_FORMATS = ['mp4', 'webm', 'ogg', 'mov', 'avi', 'flv', 'wmv', 'mkv', 'ts', 'm3u8']