@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.
- package/README.md +16 -46
- package/dist/admin.css +1 -0
- package/dist/core.css +3 -0
- package/dist/form-flow/structure.d.ts +2 -0
- package/dist/form-flow/structure.d.ts.map +1 -1
- package/dist/index.css +1 -0
- package/dist/ploni.css +1 -0
- package/dist/style.css +5 -2
- package/package.json +7 -5
- package/src/components/MapEmbed/leaflet.css +672 -661
- package/src/components/lightbox/Lightbox.vue +2 -2
- package/src/form-flow/structure.ts +2 -0
- package/src/styles/bagel.css +5 -156
- package/vite.config.ts +39 -3
- package/dist/style.cjs +0 -1
- package/dist/style.d.ts +0 -1
- package/dist/style.d.ts.map +0 -1
- package/dist/style.mjs +0 -0
- package/src/style.ts +0 -1
|
@@ -255,12 +255,12 @@ transform: scale(0.95);
|
|
|
255
255
|
}
|
|
256
256
|
|
|
257
257
|
/* Adjust swiper navigation positioning */
|
|
258
|
-
.bgl-lightbox-swiper
|
|
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
|
|
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. */
|
package/src/styles/bagel.css
CHANGED
|
@@ -1,156 +1,5 @@
|
|
|
1
|
-
/*
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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, '
|
|
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
|
package/dist/style.d.ts.map
DELETED
|
@@ -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'
|