@bagelink/vue 1.14.15 → 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 (102) hide show
  1. package/dist/components/Alert.vue.d.ts.map +1 -1
  2. package/dist/components/Badge.vue.d.ts.map +1 -1
  3. package/dist/components/Btn.vue.d.ts.map +1 -1
  4. package/dist/components/Dropdown.vue.d.ts.map +1 -1
  5. package/dist/components/Image.vue.d.ts.map +1 -1
  6. package/dist/components/ListItem.vue.d.ts.map +1 -1
  7. package/dist/components/MapEmbed/Index.vue.d.ts.map +1 -1
  8. package/dist/components/Pagination.vue.d.ts.map +1 -1
  9. package/dist/components/Swiper.vue.d.ts.map +1 -1
  10. package/dist/components/Toast.vue.d.ts.map +1 -1
  11. package/dist/components/form/index.d.ts.map +1 -1
  12. package/dist/components/form/inputs/SelectInput.vue.d.ts.map +1 -1
  13. package/dist/components/index.d.ts.map +1 -1
  14. package/dist/components/layout/AppContent.vue.d.ts.map +1 -1
  15. package/dist/components/layout/AppLayout.vue.d.ts.map +1 -1
  16. package/dist/components/layout/AppSidebar.vue.d.ts.map +1 -1
  17. package/dist/components/layout/Panel.vue.d.ts.map +1 -1
  18. package/dist/components/layout/Resizable.vue.d.ts.map +1 -1
  19. package/dist/components/layout/TabsNav.vue.d.ts.map +1 -1
  20. package/dist/components/layout/appLayoutContext.d.ts +24 -0
  21. package/dist/components/layout/appLayoutContext.d.ts.map +1 -0
  22. package/dist/components/layout/index.d.ts.map +1 -1
  23. package/dist/components/lightbox/Lightbox.vue.d.ts.map +1 -1
  24. package/dist/composables/index.d.ts.map +1 -1
  25. package/dist/composables/useDevice.d.ts.map +1 -1
  26. package/dist/composables/useEscapeKey.d.ts +12 -0
  27. package/dist/composables/useEscapeKey.d.ts.map +1 -0
  28. package/dist/composables/useSchemaField.d.ts.map +1 -1
  29. package/dist/composables/useTheme.d.ts.map +1 -1
  30. package/dist/form-flow/FormFlow.vue.d.ts.map +1 -1
  31. package/dist/form-flow/form-flow.d.ts.map +1 -1
  32. package/dist/index.cjs +203 -207
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.mjs +25819 -28870
  35. package/dist/style.css +1 -1
  36. package/dist/types/BagelForm.d.ts.map +1 -1
  37. package/dist/types/BtnOptions.d.ts.map +1 -1
  38. package/dist/utils/constants.d.ts.map +1 -1
  39. package/dist/utils/index.d.ts.map +1 -1
  40. package/package.json +3 -6
  41. package/src/components/Alert.vue +34 -14
  42. package/src/components/Badge.vue +145 -22
  43. package/src/components/Btn.vue +43 -31
  44. package/src/components/Dropdown.vue +5 -12
  45. package/src/components/FilterQuery.vue +1 -1
  46. package/src/components/Image.vue +3 -2
  47. package/src/components/JSONSchema.vue +2 -2
  48. package/src/components/JsonBuilder.vue +1 -1
  49. package/src/components/ListItem.vue +1 -3
  50. package/src/components/MapEmbed/Index.vue +10 -9
  51. package/src/components/NavBar.vue +2 -2
  52. package/src/components/Spreadsheet/Index.vue +1 -1
  53. package/src/components/Swiper.vue +3 -1
  54. package/src/components/Toast.vue +23 -8
  55. package/src/components/calendar/Index.vue +4 -4
  56. package/src/components/calendar/views/MonthView.vue +3 -3
  57. package/src/components/form/index.ts +0 -4
  58. package/src/components/form/inputs/EmailInput.vue +1 -1
  59. package/src/components/form/inputs/NumberInput.vue +1 -1
  60. package/src/components/form/inputs/OTP.vue +2 -2
  61. package/src/components/form/inputs/SelectInput.vue +3 -3
  62. package/src/components/form/inputs/TelInput.vue +2 -2
  63. package/src/components/form/inputs/TextInput.vue +1 -1
  64. package/src/components/form/inputs/Upload/upload.css +2 -2
  65. package/src/components/index.ts +2 -6
  66. package/src/components/layout/AppContent.vue +5 -19
  67. package/src/components/layout/AppLayout.vue +47 -18
  68. package/src/components/layout/AppSidebar.vue +16 -33
  69. package/src/components/layout/Resizable.vue +5 -2
  70. package/src/components/layout/TabsNav.vue +5 -5
  71. package/src/components/layout/appLayoutContext.ts +44 -0
  72. package/src/components/layout/index.ts +2 -0
  73. package/src/components/lightbox/Lightbox.vue +3 -9
  74. package/src/composables/index.ts +1 -0
  75. package/src/composables/useDevice.ts +2 -1
  76. package/src/composables/useEscapeKey.ts +56 -0
  77. package/src/composables/useSchemaField.ts +2 -17
  78. package/src/composables/useTheme.ts +23 -19
  79. package/src/form-flow/FormFlow.vue +2 -0
  80. package/src/form-flow/form-flow.ts +7 -0
  81. package/src/index.ts +0 -2
  82. package/src/styles/inputs.css +1 -1
  83. package/src/types/BagelForm.ts +46 -151
  84. package/src/types/BtnOptions.ts +5 -3
  85. package/src/utils/constants.ts +7 -0
  86. package/src/utils/index.ts +19 -3
  87. package/src/utils/sizeParsing.ts +5 -5
  88. package/vite.config.ts +5 -1
  89. package/src/components/Carousel.vue +0 -724
  90. package/src/components/ImportData.vue +0 -1749
  91. package/src/components/Pill.vue +0 -150
  92. package/src/components/Slider.vue +0 -1446
  93. package/src/components/Title.vue +0 -23
  94. package/src/components/ToolBar.vue +0 -9
  95. package/src/components/form/BagelForm.vue +0 -219
  96. package/src/components/form/BglFieldSet.vue +0 -14
  97. package/src/components/form/BglMultiStepForm.vue +0 -469
  98. package/src/components/form/FieldArray.vue +0 -422
  99. package/src/components/form/useBagelFormState.ts +0 -76
  100. package/src/composables/useFormField.ts +0 -38
  101. package/src/dialog/DialogOLD.vue +0 -358
  102. package/src/utils/BagelFormUtils.ts +0 -684
@@ -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']
@@ -172,6 +172,25 @@ export async function appendScript(src: string, options?: { id?: string }): Prom
172
172
  return loadingPromise
173
173
  }
174
174
 
175
+ /**
176
+ * Wait for a global (e.g. a CDN script's `window.X`) to become available.
177
+ * Resolves with the global value, or rejects after `timeout` ms (default 10s).
178
+ *
179
+ * @example
180
+ * await appendScript('https://unpkg.com/leaflet/dist/leaflet.js')
181
+ * const L = await awaitGlobal('L')
182
+ */
183
+ export async function awaitGlobal<T = any>(name: string, { timeout = 10_000, interval = 50 }: { timeout?: number, interval?: number } = {}): Promise<T> {
184
+ const start = Date.now()
185
+ while ((window as any)[name] === undefined) {
186
+ if (Date.now() - start > timeout) {
187
+ throw new Error(`awaitGlobal: window.${name} not available after ${timeout}ms`)
188
+ }
189
+ await sleep(interval)
190
+ }
191
+ return (window as any)[name] as T
192
+ }
193
+
175
194
  export function appendStyle(src: string): Promise<void> {
176
195
  return new Promise((resolve, reject) => {
177
196
  if (document.querySelector(`link[href="${src}"]`)) {
@@ -198,9 +217,6 @@ export function normalizeDimension(value: string | number | undefined, defaultMe
198
217
  return value
199
218
  }
200
219
 
201
- export * as bagelFormUtils from './BagelFormUtils'
202
- export { useForm } from './BagelFormUtils'
203
-
204
220
  export type { NormalizedOption } from './options'
205
221
  export { getOptionIcon, getOptionLabel, getOptionValue, normalizeOption } from './options'
206
222
 
@@ -7,11 +7,11 @@ export function standardSize(value: number | string | undefined, unit: UnitSize
7
7
  // Handle SizeType values
8
8
  if (typeof value === 'string') {
9
9
  const sizeTypeMap: Record<SizeType, number> = {
10
- xSmall: 16,
11
- small: 24,
12
- medium: 32,
13
- large: 48,
14
- xLarge: 64
10
+ xs: 16,
11
+ sm: 24,
12
+ md: 32,
13
+ lg: 48,
14
+ xl: 64
15
15
  }
16
16
 
17
17
  if (value in sizeTypeMap) {
package/vite.config.ts CHANGED
@@ -7,7 +7,7 @@ import tsconfigPaths from 'vite-tsconfig-paths'
7
7
 
8
8
  const indexDir = resolve(import.meta.dirname, 'src')
9
9
 
10
- // @ts-ignore - rolldown-vite in root workspace causes plugin type mismatch; build is unaffected
10
+ // @ts-expect-error - rolldown-vite in root workspace causes plugin type mismatch; build is unaffected
11
11
  export default defineConfig(() => ({
12
12
  plugins: [
13
13
  tsconfigPaths({ root: indexDir, }),
@@ -23,6 +23,10 @@ export default defineConfig(() => ({
23
23
  },
24
24
  },
25
25
  // experimental: { enableNativePlugin: true },
26
+ esbuild: {
27
+ // Strip console.* from the published build; thrown errors are unaffected.
28
+ drop: ['console', 'debugger'],
29
+ },
26
30
  build: {
27
31
  minify: 'esbuild', // Arrow functions should preserve scope even with minification
28
32
  lib: {