@bagelink/vue 1.15.360 → 1.15.362

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.
@@ -255,12 +255,12 @@ transform: scale(0.95);
255
255
  }
256
256
 
257
257
  /* Adjust swiper navigation positioning */
258
- .bgl-lightbox-swiper :deep(.swi-ctrl) {
258
+ .bgl-lightbox-swiper .swi-ctrl {
259
259
  padding: 0 1.5rem !important;
260
260
  }
261
261
 
262
262
  @media screen and (max-width: 900px) {
263
- .bgl-lightbox-swiper :deep(.swi-ctrl) {
263
+ .bgl-lightbox-swiper .swi-ctrl {
264
264
  padding: 0 1rem !important;
265
265
  }
266
266
 
@@ -44,6 +44,8 @@ export interface FormStep {
44
44
 
45
45
  /** A directed edge between two steps with an optional SCIM condition. */
46
46
  export interface StepEdge {
47
+ /** Stable authoring key used to address localized presentation. */
48
+ key?: string | null
47
49
  from: string
48
50
  to: string
49
51
  /** SCIM 2.0 filter over accumulated form data. Empty/undefined => always taken. */
@@ -1,156 +1,5 @@
1
- /* No CSS cascade layers: the library relies on source order + `!important` on
2
- utilities. Import order below is the priority order (later wins for equal
3
- specificity). Consumers override plain utilities with normal CSS, and
4
- override `!important` utilities by adding their own `!important`. */
5
-
6
- /* Icon fonts — must load via the main stylesheet (not only inside Icon.vue's
7
- <style>), otherwise in Vite dev mode the @import is injected after other
8
- rules and the browser ignores it, so Material/Font Awesome icons render as
9
- raw ligature text. Keep these first so the @import rules stay valid. */
10
- /* Pin unused axes (opsz/GRAD); keep wght+FILL ranges the Icon component animates.
11
- * Shrinks the ~3.8MB full variable font — the page's biggest asset. */
12
- @import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,100..700,0..1,0');
13
- @import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css');
14
-
15
- /* Tokens — lowest priority, only custom properties */
16
- @import "theme.css";
17
- @import "dark.css";
18
- @import "./fonts/Ploni.css";
19
-
20
- /* Base / component styles (plain — utilities with !important win over these) */
21
- @import "inputs.css";
22
- @import "input-variants.css";
23
- @import "buttons.css";
24
- @import "scrollbar.css";
25
- @import "transitions.css";
26
- @import "motion.css";
27
- @import "loginCard.css";
28
- @import "app-layout.css";
29
-
30
- /* Utilities — highest priority (carry !important) */
31
- @import "base-colors.css";
32
- @import "layout.css";
33
- @import "mobilLayout.css";
34
- @import "xlLayout.css";
35
- @import "text.css";
36
- @import "colors.css";
37
- @import "mobileColors.css";
38
- @import "appearance.css";
39
- @import "gradients.css";
40
- @import "color-variants.css";
41
-
42
- /* Icon font-family bindings — mirrored from Icon.vue so icons work even when
43
- that component's injected <style> is not yet present (e.g. Vite dev mode). */
44
- .bgl_icon-font {
45
- font-family: 'Material Symbols Outlined', serif !important;
46
- }
47
-
48
- .bgl_icon-font.fa {
49
- font-family: 'Font Awesome 6 Free', serif !important;
50
- }
51
-
52
- .bgl_icon-font.fa-brands {
53
- font-family: 'Font Awesome 6 Brands', serif !important;
54
- }
55
-
56
- .bgl_icon-font.bgl_icon-round {
57
- display: inline-flex;
58
- align-items: center;
59
- justify-content: center;
60
- flex-shrink: 0;
61
- aspect-ratio: 1;
62
- border-radius: 1000px;
63
- line-height: 1;
64
- box-sizing: border-box;
65
- }
66
-
67
- /* Reset / base element styles */
68
- :root {
69
- --bgl-transition-ease: cubic-bezier(0.1, 0.5, 0.33, 1);
70
- --bgl-transition-ease-in: cubic-bezier(0.1, 0.5, 0.33, 1);
71
- }
72
-
73
- .grid>* {
74
- min-height: 0;
75
- }
76
-
77
- * {
78
- box-sizing: border-box;
79
- }
80
-
81
- html {
82
- text-size-adjust: 100%;
83
- height: 100%;
84
- background-attachment: scroll;
85
- }
86
-
87
- body {
88
- margin: 0;
89
- min-height: 100%;
90
- background-color: var(--bgl-bg);
91
- font-family: var(--bgl-font);
92
- font-size: var(--bgl-font-size);
93
- font-weight: 400;
94
- line-height: 1.65;
95
- width: auto;
96
- height: auto;
97
- color: var(--bgl-text-color);
98
- }
99
-
100
- a {
101
- background-color: transparent;
102
- cursor: pointer;
103
- display: inline-block;
104
- color: inherit;
105
- }
106
-
107
- a:active,
108
- a:hover {
109
- outline: 0;
110
- }
111
-
112
- b,
113
- strong {
114
- font-weight: bold;
115
- }
116
-
117
- hr {
118
- box-sizing: content-box;
119
- }
120
-
121
- img,
122
- video,
123
- canvas,
124
- audio,
125
- iframe,
126
- embed,
127
- object {
128
- max-width: 100%;
129
- vertical-align: middle;
130
- border: 0;
131
- }
132
-
133
- input,
134
- button,
135
- textarea,
136
- select {
137
- font: inherit;
138
- }
139
-
140
- button::-moz-focus-inner,
141
- input::-moz-focus-inner {
142
- border: 0;
143
- padding: 0;
144
- }
145
-
146
- @media screen and (max-width: 910px) {
147
- body {
148
- min-height: 100vh;
149
- min-height: -webkit-fill-available;
150
- height: -webkit-fill-available;
151
- }
152
-
153
- html {
154
- height: -webkit-fill-available;
155
- }
156
- }
1
+ /* Backward-compatible full/admin stylesheet.
2
+ New public websites should import `@bagelink/vue/styles/core.css`.
3
+ Admin applications should import `@bagelink/vue/style.css`. */
4
+ @import "core.css";
5
+ @import "./fonts/admin.css";
package/vite.config.ts CHANGED
@@ -1,12 +1,44 @@
1
1
  import { resolve } from 'node:path'
2
2
  // import { fileURLToPath, URL } from 'node:url'
3
3
  import vue from '@vitejs/plugin-vue'
4
- import { defineConfig } from 'vite'
4
+ import { defineConfig, type Plugin } from 'vite'
5
5
  import dts from 'vite-plugin-dts'
6
6
  import tsconfigPaths from 'vite-tsconfig-paths'
7
7
 
8
8
  const indexDir = resolve(import.meta.dirname, 'src')
9
9
 
10
+ function composeCssEntries(): Plugin {
11
+ return {
12
+ name: 'bagelink-compose-css-entries',
13
+ enforce: 'post',
14
+ generateBundle(_, bundle) {
15
+ const css = (fileName: string) => {
16
+ const asset = Object.values(bundle).find(
17
+ item => item.type === 'asset' && item.fileName === fileName,
18
+ )
19
+ if (!asset || asset.type !== 'asset')
20
+ throw new Error(`Missing CSS build artifact: ${fileName}`)
21
+ return typeof asset.source === 'string'
22
+ ? asset.source
23
+ : new TextDecoder().decode(asset.source)
24
+ }
25
+
26
+ const components = css('index.css')
27
+ const core = css('core.css')
28
+ const adminFonts = css('admin.css')
29
+ const coreAsset = bundle['core.css']
30
+ const styleAsset = bundle['style.css']
31
+
32
+ if (coreAsset?.type !== 'asset' || styleAsset?.type !== 'asset')
33
+ throw new Error('Missing public CSS entry artifacts')
34
+
35
+ // Component styles load first; core utilities intentionally load last.
36
+ coreAsset.source = `${components}\n${core}`
37
+ styleAsset.source = `${components}\n${core}\n${adminFonts}`
38
+ },
39
+ }
40
+ }
41
+
10
42
  export default defineConfig({
11
43
  plugins: [
12
44
  tsconfigPaths({ root: indexDir, }),
@@ -15,6 +47,7 @@ export default defineConfig({
15
47
  entryRoot: indexDir,
16
48
  copyDtsFiles: true,
17
49
  }),
50
+ composeCssEntries(),
18
51
  ],
19
52
  resolve: {
20
53
  alias: {
@@ -31,12 +64,15 @@ export default defineConfig({
31
64
  lib: {
32
65
  entry: {
33
66
  index: resolve(indexDir, 'index.ts'),
34
- style: resolve(indexDir, 'style.ts'),
67
+ style: resolve(indexDir, 'styles/bagel.css'),
68
+ core: resolve(indexDir, 'styles/core.css'),
69
+ 'fonts/admin': resolve(indexDir, 'styles/fonts/admin.css'),
70
+ 'fonts/ploni': resolve(indexDir, 'styles/fonts/Ploni.css'),
35
71
  },
36
72
  formats: ['es', 'cjs'],
37
73
  fileName: (module, entry) => `${entry}.${module === 'es' ? 'mjs' : module}`,
38
- cssFileName: 'style',
39
74
  },
75
+ cssCodeSplit: true,
40
76
  rollupOptions: {
41
77
  // external modules won't be bundled into your library
42
78
  external: ['vue', 'vue-router', 'fsevents'], // not every external has a global
package/dist/style.cjs DELETED
@@ -1 +0,0 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});
package/dist/style.d.ts DELETED
@@ -1 +0,0 @@
1
- //# sourceMappingURL=style.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../src/style.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAA"}
package/dist/style.mjs DELETED
File without changes
package/src/style.ts DELETED
@@ -1 +0,0 @@
1
- import './styles/bagel.css'