@imfusion/web-ui 0.10.1-dev.6.gf715361a → 0.10.1-dev.61.g9d1000b8

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 (74) hide show
  1. package/CHANGELOG.md +167 -0
  2. package/README.md +8 -32
  3. package/THIRD_PARTY_NOTICES.md +110 -0
  4. package/dist/code-NTcddiYk.js +139 -0
  5. package/dist/components/account-card/account-card.d.ts +9 -26
  6. package/dist/components/app-shell/app-shell.d.ts +48 -26
  7. package/dist/components/callout/callout.d.ts +1 -1
  8. package/dist/components/chip/chip.d.ts +1 -1
  9. package/dist/components/color-scheme-toggle/color-scheme-preference.d.ts +3 -0
  10. package/dist/components/color-scheme-toggle/color-scheme-toggle.d.ts +17 -0
  11. package/dist/components/color-scheme-toggle/color-scheme-toggle.meta.d.ts +2 -0
  12. package/dist/components/color-scheme-toggle/index.d.ts +2 -0
  13. package/dist/components/dialog/dialog.d.ts +151 -0
  14. package/dist/components/dialog/dialog.meta.d.ts +2 -0
  15. package/dist/components/dialog/index.d.ts +2 -0
  16. package/dist/components/drawer/drawer.d.ts +1 -1
  17. package/dist/components/logo/index.d.ts +1 -0
  18. package/dist/components/logo/product/index.d.ts +1 -0
  19. package/dist/components/logo/product/marks.d.ts +11 -0
  20. package/dist/components/logo/product/product.d.ts +17 -0
  21. package/dist/components/scroll-area/index.d.ts +2 -0
  22. package/dist/components/scroll-area/scroll-area.d.ts +49 -0
  23. package/dist/components/scroll-area/scroll-area.meta.d.ts +2 -0
  24. package/dist/components/select/select.d.ts +18 -4
  25. package/dist/components/separator/separator.d.ts +4 -2
  26. package/dist/components/skeleton/skeleton.d.ts +17 -2
  27. package/dist/components/table/table.d.ts +12 -4
  28. package/dist/components/toggle/toggle.d.ts +8 -2
  29. package/dist/components/toggle-group/toggle-group-size.d.ts +3 -0
  30. package/dist/components/toggle-group/toggle-group.d.ts +7 -3
  31. package/dist/hooks/index.d.ts +2 -0
  32. package/dist/hooks/use-disclosure.d.ts +17 -0
  33. package/dist/icons.js +1 -2
  34. package/dist/index.d.ts +7 -3
  35. package/dist/index.js +2705 -2093
  36. package/dist/integrations/code-highlight.js +2 -2
  37. package/dist/integrations/frame-selection.js +2 -2
  38. package/dist/integrations/image-display-options.js +123 -113
  39. package/dist/{rolldown-runtime-Dy4uBu1J.js → resolve-state-props-DQf9WiGv.js} +12 -1
  40. package/dist/scroll-area-z9Lf9uIk.js +89 -0
  41. package/dist/{separator-lzz4A3x_.js → separator-BV2TR8U0.js} +16 -8
  42. package/dist/slider-Bf274cMe.js +106 -0
  43. package/dist/style.css +1 -1
  44. package/dist/{tabs-DRyqtS04.js → tabs-CU46aGud.js} +106 -88
  45. package/dist/vite/local-web-ui-link.d.ts +17 -4
  46. package/dist/vite.js +25 -20
  47. package/dist/web-ui-cli.js +155 -141
  48. package/docs/user-guide/AgentTooling.mdx +4 -4
  49. package/docs/user-guide/UsagePatterns.mdx +4 -0
  50. package/package.json +11 -9
  51. package/src/docgen/doc.gen.json +2292 -1071
  52. package/src/llms/install-templates/hooks/session-start.sh +14 -0
  53. package/src/llms/install-templates/hooks/stop.sh +7 -2
  54. package/src/llms/llms.gen.txt +18 -1
  55. package/src/llms/skills/imf-web-ui-audit/SKILL.md +28 -15
  56. package/src/llms/skills/imf-web-ui-conventions/templates/AUDIT_CHECKLIST.md +4 -2
  57. package/src/llms/skills/imf-web-ui-conventions/topics/agent-tooling.md +8 -9
  58. package/src/llms/skills/imf-web-ui-conventions/topics/data.md +17 -2
  59. package/src/llms/skills/imf-web-ui-conventions/topics/git.md +8 -5
  60. package/src/llms/skills/imf-web-ui-conventions/topics/library-setup.md +3 -0
  61. package/src/llms/skills/imf-web-ui-conventions/topics/project-structure.md +5 -2
  62. package/src/llms/skills/imf-web-ui-conventions/topics/styling.md +3 -1
  63. package/src/llms/skills/imf-web-ui-conventions/topics/tooling.md +47 -8
  64. package/src/llms/skills/imf-web-ui-conventions/topics/typescript.md +2 -0
  65. package/src/llms/skills/imf-web-ui-setup/SKILL.md +10 -1
  66. package/src/llms/skills/imf-web-ui-update/SKILL.md +12 -5
  67. package/src/llms/skills/imf-web-ui-ux/SKILL.md +47 -26
  68. package/src/llms/skills/imf-web-ui-ux/references/forms.md +6 -6
  69. package/src/llms/skills/imf-web-ui-ux/references/usability-heuristics.md +3 -3
  70. package/src/llms/skills/imf-web-ui-ux/references/visual-design.md +3 -3
  71. package/src/llms/tokens.gen.json +13 -5
  72. package/dist/code-BYkr5k55.js +0 -134
  73. package/dist/slider-Cqpreglu.js +0 -116
  74. package/src/llms/install-templates/hooks/baseline-staleness.sh +0 -24
@@ -1,50 +1,49 @@
1
- import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
- import { mh as t, pM as n } from "./icons-BsK_o-Cb.js";
3
- import { t as r } from "./meta-V_KyLeGn.js";
4
- import { l as i, u as a } from "./slider-Cqpreglu.js";
1
+ import { n as e, r as t, t as n } from "./resolve-state-props-DQf9WiGv.js";
2
+ import { mh as r, pM as i } from "./icons-BsK_o-Cb.js";
3
+ import { t as a } from "./meta-V_KyLeGn.js";
5
4
  import { cva as o } from "class-variance-authority";
6
5
  import { jsx as s, jsxs as c } from "react/jsx-runtime";
7
- import { Children as l, useCallback as u } from "react";
8
- import { Switch as d } from "@base-ui/react/switch";
9
- import { Toggle as f } from "@base-ui/react/toggle";
10
- import { ToggleGroup as p } from "@base-ui/react/toggle-group";
11
- import { Tabs as m } from "@base-ui/react/tabs";
12
- var h = {
6
+ import { Children as l, createContext as u, useCallback as d, useContext as f } from "react";
7
+ import { Toggle as p } from "@base-ui/react/toggle";
8
+ import { ToggleGroup as ee } from "@base-ui/react/toggle-group";
9
+ import { Switch as m } from "@base-ui/react/switch";
10
+ import { Tabs as h } from "@base-ui/react/tabs";
11
+ var g = {
13
12
  flat: "imf-ui-kbd-module-flat",
14
13
  icon: "imf-ui-kbd-module-icon",
15
14
  primary: "imf-ui-kbd-module-primary",
16
15
  root: "imf-ui-kbd-module-root"
17
- }, g = o(h.root, { variants: { variant: {
16
+ }, _ = o(g.root, { variants: { variant: {
18
17
  default: null,
19
- primary: h.primary,
20
- flat: h.flat
18
+ primary: g.primary,
19
+ flat: g.flat
21
20
  } } });
22
- function _({ variant: e = "default", icon: r = !1, children: i, ...a }) {
21
+ function v({ variant: e = "default", icon: t = !1, children: n, ...a }) {
23
22
  return /* @__PURE__ */ c("kbd", {
24
23
  ...a,
25
24
  "data-imf-ui-component": "Kbd",
26
- className: g({
25
+ className: _({
27
26
  variant: e,
28
27
  className: a.className
29
28
  }),
30
- children: [r && /* @__PURE__ */ s(n, {
31
- glyph: t,
29
+ children: [t && /* @__PURE__ */ s(i, {
30
+ glyph: r,
32
31
  strokeWidth: 2,
33
32
  "aria-hidden": !0,
34
- className: h.icon
35
- }), i]
33
+ className: g.icon
34
+ }), n]
36
35
  });
37
36
  }
38
37
  //#endregion
39
38
  //#region src/components/kbd/kbd.meta.ts
40
- var ee = {
39
+ var te = {
41
40
  name: "Kbd",
42
- category: r.display,
41
+ category: a.display,
43
42
  status: "experimental",
44
43
  description: "Shows a keyboard key or shortcut, such as the letter that activates a button. Also called a key hint; Button and Toggle render it through their `shortcut` prop.",
45
44
  origin: "native",
46
45
  internalDependencies: ["Icon"]
47
- }, v = {
46
+ }, y = {
48
47
  ctrl: "Control",
49
48
  control: "Control",
50
49
  cmd: "Meta",
@@ -59,75 +58,94 @@ var ee = {
59
58
  esc: "Escape",
60
59
  escape: "Escape"
61
60
  };
62
- function y(e) {
61
+ function b(e) {
63
62
  let t = e.trim().split(/\s+/).filter(Boolean);
64
- if (t.length !== 0) return t.map((e) => v[e.toLowerCase()] ?? (e.length === 1 ? e.toUpperCase() : e)).join("+");
63
+ if (t.length !== 0) return t.map((e) => y[e.toLowerCase()] ?? (e.length === 1 ? e.toUpperCase() : e)).join("+");
65
64
  }
66
- var b = {
67
- root: "imf-ui-switch-module-root",
68
- thumb: "imf-ui-switch-module-thumb"
69
- }, x = /* @__PURE__ */ e({
70
- Root: () => w,
71
- Thumb: () => T
72
- }), S = o(b.root), C = o(b.thumb);
73
- function w(e) {
74
- return /* @__PURE__ */ s(d.Root, {
75
- ...e,
76
- "data-imf-ui-component": "Switch.Root",
77
- className: (t) => S({ className: i(e.className, t) })
78
- });
79
- }
80
- w.displayName = "Switch.Root";
81
- function T(e) {
82
- return /* @__PURE__ */ s(d.Thumb, {
83
- ...e,
84
- "data-imf-ui-component": "Switch.Thumb",
85
- className: (t) => C({ className: i(e.className, t) })
86
- });
87
- }
88
- T.displayName = "Switch.Thumb";
89
- var E = {
65
+ //#endregion
66
+ //#region src/components/toggle-group/toggle-group-size.ts
67
+ var x = u("md"), S = {
90
68
  root: "imf-ui-toggle-module-root",
91
- shortcut: "imf-ui-toggle-module-shortcut"
92
- }, te = o(E.root), D = 2;
93
- function O(e) {
69
+ shortcut: "imf-ui-toggle-module-shortcut",
70
+ sizeSm: "imf-ui-toggle-module-sizeSm"
71
+ }, C = o(S.root, { variants: { size: {
72
+ sm: S.sizeSm,
73
+ md: null
74
+ } } }), w = 2;
75
+ function T(e) {
94
76
  let t = 0;
95
77
  return l.forEach(e, (e) => {
96
- typeof e == "string" || typeof e == "number" ? t += String(e).trim().length : e != null && typeof e != "boolean" && (t += D);
78
+ typeof e == "string" || typeof e == "number" ? t += String(e).trim().length : e != null && typeof e != "boolean" && (t += w);
97
79
  }), t;
98
80
  }
99
- function k({ style: e, shortcut: t, children: n, ...r }) {
100
- let o = {
101
- "--glyph-count": O(n),
102
- "--max-glyphs": D
81
+ function ne({ style: t, shortcut: r, size: i, children: a, ...o }) {
82
+ let l = f(x), u = {
83
+ "--glyph-count": T(a),
84
+ "--max-glyphs": w
103
85
  };
104
- return /* @__PURE__ */ c(f, {
105
- "aria-keyshortcuts": t ? y(t) : void 0,
106
- ...r,
86
+ return /* @__PURE__ */ c(p, {
87
+ "aria-keyshortcuts": r ? b(r) : void 0,
88
+ ...o,
107
89
  "data-imf-ui-component": "Toggle",
108
- style: (t) => ({
109
- ...o,
110
- ...a(e, t)
90
+ style: (n) => ({
91
+ ...u,
92
+ ...e(t, n)
93
+ }),
94
+ className: (e) => C({
95
+ size: i ?? l,
96
+ className: n(o.className, e)
111
97
  }),
112
- className: (e) => te({ className: i(r.className, e) }),
113
- children: [n, t && /* @__PURE__ */ s(_, {
98
+ children: [a, r && /* @__PURE__ */ s(v, {
114
99
  variant: "flat",
115
- className: E.shortcut,
100
+ className: S.shortcut,
116
101
  "aria-hidden": !0,
117
- children: t
102
+ children: r
118
103
  })]
119
104
  });
120
105
  }
121
- //#endregion
122
- //#region src/components/toggle-group/toggle-group.tsx
123
- var A = o({ root: "imf-ui-toggle-group-module-root" }.root);
106
+ var E = {
107
+ root: "imf-ui-toggle-group-module-root",
108
+ sizeSm: "imf-ui-toggle-group-module-sizeSm"
109
+ }, re = o(E.root, { variants: { size: {
110
+ sm: E.sizeSm,
111
+ md: null
112
+ } } });
113
+ function ie({ size: e = "md", ...t }) {
114
+ return /* @__PURE__ */ s(x.Provider, {
115
+ value: e ?? "md",
116
+ children: /* @__PURE__ */ s(ee, {
117
+ ...t,
118
+ "data-imf-ui-component": "ToggleGroup",
119
+ className: (r) => re({
120
+ size: e,
121
+ className: n(t.className, r)
122
+ })
123
+ })
124
+ });
125
+ }
126
+ var D = {
127
+ root: "imf-ui-switch-module-root",
128
+ thumb: "imf-ui-switch-module-thumb"
129
+ }, ae = /* @__PURE__ */ t({
130
+ Root: () => A,
131
+ Thumb: () => j
132
+ }), O = o(D.root), k = o(D.thumb);
133
+ function A(e) {
134
+ return /* @__PURE__ */ s(m.Root, {
135
+ ...e,
136
+ "data-imf-ui-component": "Switch.Root",
137
+ className: (t) => O({ className: n(e.className, t) })
138
+ });
139
+ }
140
+ A.displayName = "Switch.Root";
124
141
  function j(e) {
125
- return /* @__PURE__ */ s(p, {
142
+ return /* @__PURE__ */ s(m.Thumb, {
126
143
  ...e,
127
- "data-imf-ui-component": "ToggleGroup",
128
- className: (t) => A({ className: i(e.className, t) })
144
+ "data-imf-ui-component": "Switch.Thumb",
145
+ className: (t) => k({ className: n(e.className, t) })
129
146
  });
130
147
  }
148
+ j.displayName = "Switch.Thumb";
131
149
  var M = {
132
150
  alignCenter: "imf-ui-row-module-alignCenter",
133
151
  alignEnd: "imf-ui-row-module-alignEnd",
@@ -268,7 +286,7 @@ var R = {
268
286
  panelViewport: "imf-ui-tabs-module-panelViewport",
269
287
  root: "imf-ui-tabs-module-root",
270
288
  tab: "imf-ui-tabs-module-tab"
271
- }, z = /* @__PURE__ */ e({
289
+ }, z = /* @__PURE__ */ t({
272
290
  Indicator: () => Z,
273
291
  List: () => Y,
274
292
  Panel: () => $,
@@ -295,15 +313,15 @@ function q(e) {
295
313
  };
296
314
  }
297
315
  function J(e) {
298
- return /* @__PURE__ */ s(m.Root, {
316
+ return /* @__PURE__ */ s(h.Root, {
299
317
  ...e,
300
318
  "data-imf-ui-component": "Tabs.Root",
301
- className: (t) => V({ className: i(e.className, t) })
319
+ className: (t) => V({ className: n(e.className, t) })
302
320
  });
303
321
  }
304
322
  J.displayName = "Tabs.Root";
305
- function Y({ fill: e = !1, ref: t, ...n }) {
306
- let r = u((e) => {
323
+ function Y({ fill: e = !1, ref: t, ...r }) {
324
+ let i = d((e) => {
307
325
  if (!e) return;
308
326
  K(t, e);
309
327
  let n = q(e);
@@ -311,30 +329,30 @@ function Y({ fill: e = !1, ref: t, ...n }) {
311
329
  n(), K(t, null);
312
330
  };
313
331
  }, [t]);
314
- return /* @__PURE__ */ s(m.List, {
315
- ...n,
316
- ref: r,
332
+ return /* @__PURE__ */ s(h.List, {
333
+ ...r,
334
+ ref: i,
317
335
  "data-imf-ui-component": "Tabs.List",
318
336
  className: (t) => B({
319
337
  fill: e,
320
- className: i(n.className, t)
338
+ className: n(r.className, t)
321
339
  })
322
340
  });
323
341
  }
324
342
  Y.displayName = "Tabs.List";
325
343
  function X(e) {
326
- return /* @__PURE__ */ s(m.Tab, {
344
+ return /* @__PURE__ */ s(h.Tab, {
327
345
  ...e,
328
346
  "data-imf-ui-component": "Tabs.Tab",
329
- className: (t) => H({ className: i(e.className, t) })
347
+ className: (t) => H({ className: n(e.className, t) })
330
348
  });
331
349
  }
332
350
  X.displayName = "Tabs.Tab";
333
351
  function Z(e) {
334
- return /* @__PURE__ */ s(m.Indicator, {
352
+ return /* @__PURE__ */ s(h.Indicator, {
335
353
  ...e,
336
354
  "data-imf-ui-component": "Tabs.Indicator",
337
- className: (t) => U({ className: i(e.className, t) })
355
+ className: (t) => U({ className: n(e.className, t) })
338
356
  });
339
357
  }
340
358
  Z.displayName = "Tabs.Indicator";
@@ -347,12 +365,12 @@ function Q(e) {
347
365
  }
348
366
  Q.displayName = "Tabs.PanelViewport";
349
367
  function $(e) {
350
- return /* @__PURE__ */ s(m.Panel, {
368
+ return /* @__PURE__ */ s(h.Panel, {
351
369
  ...e,
352
370
  "data-imf-ui-component": "Tabs.Panel",
353
- className: (t) => G({ className: i(e.className, t) })
371
+ className: (t) => G({ className: n(e.className, t) })
354
372
  });
355
373
  }
356
374
  $.displayName = "Tabs.Panel";
357
375
  //#endregion
358
- export { _, J as a, L as c, k as d, w as f, ee as g, y as h, Q as i, P as l, x as m, Y as n, X as o, T as p, $ as r, z as s, Z as t, j as u };
376
+ export { v as _, J as a, L as c, j as d, ae as f, te as g, b as h, Q as i, P as l, ne as m, Y as n, X as o, ie as p, $ as r, z as s, Z as t, A as u };
@@ -1,8 +1,21 @@
1
1
  import { Plugin, UserConfig } from 'vite';
2
- /** Returns `undefined` for an installed package; only a checkout outside `node_modules` needs the config. */
3
- export declare function localWebUILinkConfig(root: string): UserConfig | undefined;
2
+ interface LinkConfig extends UserConfig {
3
+ test?: {
4
+ server?: {
5
+ deps?: {
6
+ inline?: (string | RegExp)[];
7
+ };
8
+ };
9
+ };
10
+ }
4
11
  /**
5
- * Lets a consumer link a local checkout (`"@imfusion/web-ui": "file:../web-ui"`) without loading two copies of React in
6
- * client dev and build. SSR is not covered. Does nothing for an installed package, so it can stay registered.
12
+ * Returns `undefined` unless `node_modules/@imfusion/web-ui` under `root` is a symlink. A symlinked checkout resolves its
13
+ * own copy of every peer, so the peers are deduped for Vite and the checkout's dependencies are inlined for Vitest.
14
+ */
15
+ export declare function localWebUILinkConfig(root: string): LinkConfig | undefined;
16
+ /**
17
+ * Lets a consumer keep `localWebUILink()` registered for good. It does nothing for an installed package. With a
18
+ * `file:` dependency on a Web UI checkout it makes the checkout share the app's React.
7
19
  */
8
20
  export declare function localWebUILink(): Plugin;
21
+ export {};
package/dist/vite.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import { n as e } from "./paths-B5Ht3ETc.js";
2
- import { readFileSync as t, readdirSync as n, realpathSync as r } from "node:fs";
3
- import { dirname as i, join as a, resolve as o, sep as s } from "node:path";
2
+ import { existsSync as t, readFileSync as n, readdirSync as r, realpathSync as i } from "node:fs";
3
+ import { dirname as a, join as o, resolve as s } from "node:path";
4
4
  import { fileURLToPath as c } from "node:url";
5
5
  //#region src/vite/brand-assets.ts
6
- var l = i(c(import.meta.resolve("@imfusion/web-ui/assets/favicon/favicon.svg"))), u = n(l).map((e) => ({
6
+ var l = a(c(import.meta.resolve("@imfusion/web-ui/assets/favicon/favicon.svg"))), u = r(l).map((e) => ({
7
7
  name: e,
8
- source: t(a(l, e))
8
+ source: n(o(l, e))
9
9
  })), d = {
10
10
  ".ico": "image/x-icon",
11
11
  ".png": "image/png",
@@ -20,11 +20,7 @@ function p() {
20
20
  configureServer(e) {
21
21
  e.middlewares.use((e, t, n) => {
22
22
  let r = u.find(({ name: t }) => e.url?.split("?")[0] === `/${t}`);
23
- if (!r) {
24
- n();
25
- return;
26
- }
27
- t.setHeader("Content-Type", f(r.name)), t.end(r.source);
23
+ r ? (t.setHeader("Content-Type", f(r.name)), t.end(r.source)) : n();
28
24
  });
29
25
  },
30
26
  generateBundle() {
@@ -38,33 +34,42 @@ function p() {
38
34
  }
39
35
  //#endregion
40
36
  //#region src/vite/local-web-ui-link.ts
41
- function m(e) {
42
- if (r(e).split(s).includes("node_modules")) return;
43
- let n = JSON.parse(t(o(e, "package.json"), "utf-8")), i = typeof n == "object" && n ? Reflect.get(n, "peerDependencies") : {};
44
- if (typeof i != "object" || !i) throw Error(`${e}/package.json has no peerDependencies`);
45
- return { resolve: { dedupe: Object.keys(i) } };
37
+ var m = [
38
+ "/@base-ui/",
39
+ "/@floating-ui/",
40
+ "/use-sync-external-store/"
41
+ ];
42
+ function h(r) {
43
+ let a = s(i(r), "node_modules", "@imfusion", "web-ui");
44
+ if (!t(a) || i(a) === a) return;
45
+ let o = JSON.parse(n(s(e, "package.json"), "utf-8")), c = typeof o == "object" && o ? Reflect.get(o, "peerDependencies") : {};
46
+ if (typeof c != "object" || !c) throw Error(`${e}/package.json has no peerDependencies`);
47
+ return {
48
+ resolve: { dedupe: Object.keys(c) },
49
+ test: { server: { deps: { inline: m.map((e) => new RegExp(e)) } } }
50
+ };
46
51
  }
47
- function h() {
52
+ function g() {
48
53
  return {
49
54
  name: "imf-ui:local-web-ui-link",
50
- config: () => m(e)
55
+ config: (e) => h(s(e.root ?? process.cwd()))
51
56
  };
52
57
  }
53
58
  //#endregion
54
59
  //#region src/vite/readable-css-module-names.ts
55
- function g(e, t) {
60
+ function _(e, t) {
56
61
  let { lightningcss: n, modules: r, transformer: i } = e.css ?? {}, a = n?.cssModules;
57
62
  if (typeof a != "boolean" && r !== !1 && !a?.pattern && !(typeof r == "object" && r.generateScopedName)) return i === "postcss" ? { css: { modules: { generateScopedName: t } } } : { css: {
58
63
  transformer: "lightningcss",
59
64
  lightningcss: { cssModules: { pattern: t } }
60
65
  } };
61
66
  }
62
- function _({ prefix: e }) {
67
+ function v({ prefix: e }) {
63
68
  let t = `${e}-[name]-[local]`;
64
69
  return {
65
70
  name: "imf-ui:readable-css-module-names",
66
- config: (e) => g(e, t)
71
+ config: (e) => _(e, t)
67
72
  };
68
73
  }
69
74
  //#endregion
70
- export { p as imfusionBrandAssets, h as localWebUILink, _ as readableCssModuleNames };
75
+ export { p as imfusionBrandAssets, g as localWebUILink, v as readableCssModuleNames };