@ui0/icon 0.1.2 → 0.1.4

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 (37) hide show
  1. package/dist/icon.module.css +1 -1
  2. package/dist/icon.vue.d.ts +3 -1
  3. package/dist/icon.vue.d.ts.map +1 -1
  4. package/dist/index.js +345 -269
  5. package/dist/interactions.vue.d.ts +10 -0
  6. package/dist/interactions.vue.d.ts.map +1 -0
  7. package/dist/modifiers.d.ts +21 -0
  8. package/dist/modifiers.d.ts.map +1 -0
  9. package/dist/style.css +1 -1
  10. package/dist/types.d.ts +4 -2
  11. package/dist/types.d.ts.map +1 -1
  12. package/dist/util.d.ts.map +1 -1
  13. package/dist/vite/compose.d.ts.map +1 -1
  14. package/dist/vite/index.d.ts +2 -3
  15. package/dist/vite/index.d.ts.map +1 -1
  16. package/dist/vite/index.js +704 -500
  17. package/dist/vite/next/compose.d.ts +15 -0
  18. package/dist/vite/next/compose.d.ts.map +1 -0
  19. package/dist/vite/next/plugin.d.ts +5 -0
  20. package/dist/vite/next/plugin.d.ts.map +1 -0
  21. package/dist/vite/next/sources.d.ts +27 -0
  22. package/dist/vite/next/sources.d.ts.map +1 -0
  23. package/dist/vite/options.d.ts +2 -0
  24. package/dist/vite/options.d.ts.map +1 -1
  25. package/dist/vite/progress/compiler.d.ts +25 -0
  26. package/dist/vite/progress/compiler.d.ts.map +1 -0
  27. package/dist/vite/progress/runtime.d.ts +3 -0
  28. package/dist/vite/progress/runtime.d.ts.map +1 -0
  29. package/dist/vite/progress/types.d.ts +21 -0
  30. package/dist/vite/progress/types.d.ts.map +1 -0
  31. package/dist/vite/transformer-next.d.ts +16 -0
  32. package/dist/vite/transformer-next.d.ts.map +1 -0
  33. package/dist/vite/transformer.d.ts +3 -0
  34. package/dist/vite/transformer.d.ts.map +1 -1
  35. package/dist/vite/types.d.ts +22 -3
  36. package/dist/vite/types.d.ts.map +1 -1
  37. package/package.json +11 -10
@@ -0,0 +1,15 @@
1
+ import { type Node } from '../xml-parser';
2
+ import { NextIconSources } from './sources';
3
+ /** Raw composed SVG plus every file that contributes to it. */
4
+ export interface ComposedIcon {
5
+ svg: string;
6
+ files: Set<string>;
7
+ virtual: boolean;
8
+ }
9
+ /** Reads a finite source viewBox, retaining its authored origin and proportions. */
10
+ export declare function sourceBox(root: Node, size: number, context: string): number[];
11
+ /** Builds strict, centered grid placements and compiles composition-owned progress. */
12
+ export declare function composeNextIcon(name: string, sources: NextIconSources, size: number, warn: (message: string) => void, seen?: Set<string>): ComposedIcon;
13
+ /** Normalizes an authored source canvas into the existing Icon runtime's 960-square canvas. */
14
+ export declare function normalizeNextIcon(source: string, size: number, context: string): string;
15
+ //# sourceMappingURL=compose.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../../src/vite/next/compose.ts"],"names":[],"mappings":"AAGA,OAAO,EAAa,KAAK,IAAI,EAAE,MAAM,eAAe,CAAA;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAE3C,+DAA+D;AAC/D,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,oFAAoF;AACpF,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAQ7E;AAWD,uFAAuF;AACvF,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EAC/B,IAAI,cAAoB,GACvB,YAAY,CAmFd;AAED,+FAA+F;AAC/F,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAWvF"}
@@ -0,0 +1,5 @@
1
+ import type { Plugin } from 'vite';
2
+ import type { IconLoaderOptions } from '../options';
3
+ /** Loads strict icon sources, composition geometry and automatic template-local providers. */
4
+ export declare function ViteUi0Icon(options?: IconLoaderOptions): Plugin;
5
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/vite/next/plugin.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAGlC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAsBnD,8FAA8F;AAC9F,wBAAgB,WAAW,CAAC,OAAO,GAAE,iBAAsB,GAAG,MAAM,CAmHnE"}
@@ -0,0 +1,27 @@
1
+ import type { IconLoaderOptions } from '../options';
2
+ import type { IconVirtualIcon, IconVirtualTemplate } from '../types';
3
+ /** A resolved source with the files that must invalidate its generated module. */
4
+ export interface NextIconSource {
5
+ svg?: string;
6
+ definition?: IconVirtualIcon | IconVirtualTemplate;
7
+ files: Set<string>;
8
+ }
9
+ /** Resolves complete pack names and nested paths without leaking into unrelated sources. */
10
+ export declare class NextIconSources {
11
+ private readonly options;
12
+ private readonly root;
13
+ private readonly warn;
14
+ private files;
15
+ constructor(options: IconLoaderOptions, root: string, warn: (message: string) => void);
16
+ /** Indexes configured directories and rejects duplicate assets or reserved pack overrides. */
17
+ scan(): void;
18
+ /** Registers every nested SVG with a path relative to its configured directory. */
19
+ private scanDirectory;
20
+ /** Finds a file-backed icon name for ordinary imports within the configured source roots. */
21
+ nameOfFile(filename: string): string | undefined;
22
+ /** Checks whether the next loader owns a complete icon name. */
23
+ has(name: string): boolean;
24
+ /** Reads one registered source and records its actual filesystem dependencies. */
25
+ read(name: string): NextIconSource;
26
+ }
27
+ //# sourceMappingURL=sources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../../src/vite/next/sources.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAGpE,kFAAkF;AAClF,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,eAAe,GAAG,mBAAmB,CAAA;IAClD,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CACnB;AAED,4FAA4F;AAC5F,qBAAa,eAAe;IAIxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IALvB,OAAO,CAAC,KAAK,CAA4B;gBAGtB,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI;IAGlD,8FAA8F;IAC9F,IAAI,IAAI,IAAI;IAUZ,mFAAmF;IACnF,OAAO,CAAC,aAAa;IAarB,6FAA6F;IAC7F,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAKhD,gEAAgE;IAChE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAS1B,kFAAkF;IAClF,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc;CA2BnC"}
@@ -19,6 +19,8 @@ export type IconLoaderPack = string | Record<string, unknown> | ((...args: never
19
19
  * - `sources` directories - file-backed pack icons ('ui0/arrow' etc.)
20
20
  */
21
21
  export interface IconLoaderOptions {
22
+ /** Source canvas size used when an SVG omits its viewBox. */
23
+ size?: number;
22
24
  /**
23
25
  * Fit the icons. if 2 value, then default = 1, if 3 value, - default = fit[1]
24
26
  */
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/vite/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAEjD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AAE/D;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,CAAC,CAAA;AAE/F;;;;;;;;;;GAUG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,GAAG,CAAC,EAAE,aAAa,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC3B;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACvB;;;OAGG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IACtC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAA;CAC/C"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/vite/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAEjD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AAE/D;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,CAAC,CAAA;AAE/F;;;;;;;;;;GAUG;AACH,MAAM,WAAW,iBAAiB;IAChC,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,GAAG,CAAC,EAAE,aAAa,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC3B;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACvB;;;OAGG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAA;IAC5B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IACtC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAA;CAC/C"}
@@ -0,0 +1,25 @@
1
+ import { type Node } from '../xml-parser';
2
+ import type { IconVirtualIcon } from '../types';
3
+ import type { IconVirtualProgress } from './types';
4
+ /** A resolved build-time step shared by SVG and virtual composition inputs. */
5
+ export interface ProgressStep {
6
+ targets: Node[];
7
+ at: number;
8
+ inactive: number;
9
+ active: number;
10
+ }
11
+ /** A validated progress program containing no unresolved names or selectors. */
12
+ export interface ProgressProgram {
13
+ steps: ProgressStep[];
14
+ }
15
+ /** Resolves SVG groups, paint nodes or named layers into validated progress steps. */
16
+ export declare function resolveSvgProgress(root: Node, context: string): ProgressProgram;
17
+ /** Resolves virtual steps against actual placement groups and their named layers. */
18
+ export declare function resolveVirtualProgress(program: IconVirtualProgress | undefined, placements: ReadonlyMap<string, Node>, context: string): ProgressProgram;
19
+ /** Adds reactive opacity wrappers while leaving author opacity and paint attributes intact. */
20
+ export declare function applyProgressProgram(program: ProgressProgram): void;
21
+ /** Compiles a standalone SVG declaration into reactive template markup. */
22
+ export declare function compileSvgProgress(source: string, context: string): string;
23
+ /** Compiles a composed SVG whose top-level placement groups carry their cell addresses. */
24
+ export declare function compileVirtualProgress(source: string, definition: IconVirtualIcon, context: string): string;
25
+ //# sourceMappingURL=compiler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../../src/vite/progress/compiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,IAAI,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,KAAK,EAAuB,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAKvE,+EAA+E;AAC/E,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,IAAI,EAAE,CAAA;IACf,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,YAAY,EAAE,CAAA;CACtB;AA+CD,sFAAsF;AACtF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,eAAe,CAgF/E;AAED,qFAAqF;AACrF,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,mBAAmB,GAAG,SAAS,EACxC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,EACrC,OAAO,EAAE,MAAM,GACd,eAAe,CAqCjB;AAED,+FAA+F;AAC/F,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAiBnE;AAED,2EAA2E;AAC3E,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAK1E;AAED,2FAA2F;AAC3F,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAY3G"}
@@ -0,0 +1,3 @@
1
+ /** Normalizes public progress inputs, warning only when the caller provides a dev reporter. */
2
+ export declare function normalizeProgress(value: unknown, warn?: (message: string) => void): number;
3
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/vite/progress/runtime.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,CAS1F"}
@@ -0,0 +1,21 @@
1
+ import type { IconVirtualCell } from '../types';
2
+ /** Opacity values used before and after a progress threshold. */
3
+ export interface IconProgressOpacity {
4
+ inactive?: number;
5
+ active?: number;
6
+ }
7
+ /** A step addressing either placement cells or named icon layers. */
8
+ export type IconVirtualProgressStep = IconProgressOpacity & {
9
+ at: number;
10
+ } & ({
11
+ cells: IconVirtualCell[];
12
+ layers?: never;
13
+ } | {
14
+ layers: string[];
15
+ cells?: never;
16
+ });
17
+ /** An author-defined progress program for a virtual icon. */
18
+ export interface IconVirtualProgress extends IconProgressOpacity {
19
+ steps: IconVirtualProgressStep[];
20
+ }
21
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/vite/progress/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE/C,iEAAiE;AACjE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,qEAAqE;AACrE,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,GAAG;IAC1D,EAAE,EAAE,MAAM,CAAA;CACX,GAAG,CACA;IACE,KAAK,EAAE,eAAe,EAAE,CAAA;IACxB,MAAM,CAAC,EAAE,KAAK,CAAA;CACf,GACD;IACE,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CACJ,CAAA;AAED,6DAA6D;AAC7D,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;IAC9D,KAAK,EAAE,uBAAuB,EAAE,CAAA;CACjC"}
@@ -0,0 +1,16 @@
1
+ import { IconTransformer, type IconTransformerOptions } from './transformer';
2
+ import type { IconVirtualIcon } from './types';
3
+ /** Compiles declarative progress alongside the existing geometry, rendering and modifier transforms. */
4
+ export declare class IconNextTransformer extends IconTransformer {
5
+ /** Consumes an already compiled progress template from the next loader. */
6
+ processPrepared(name: string, code: string): ReturnType<IconTransformer['process']>;
7
+ /** Transforms author declarations into a component with one shared reactive progress value. */
8
+ process(name: string, code?: string, options?: IconTransformerOptions): ReturnType<IconTransformer['process']>;
9
+ /** Compiles composition-owned progress without automatically progressing each source body. */
10
+ processVirtual(name: string, code: string, definition: IconVirtualIcon): ReturnType<IconTransformer['process']>;
11
+ /** Adds one computed normalization per component while preserving the existing generated setup data. */
12
+ private processCompiled;
13
+ /** Declarative progress is already compiled; skip the legacy automatic opacity rewrite. */
14
+ protected applyProgress(): void;
15
+ }
16
+ //# sourceMappingURL=transformer-next.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformer-next.d.ts","sourceRoot":"","sources":["../../src/vite/transformer-next.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAG9C,wGAAwG;AACxG,qBAAa,mBAAoB,SAAQ,eAAe;IACtD,2EAA2E;IAC3E,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IAGnF,+FAA+F;IACtF,OAAO,CACd,IAAI,EAAE,MAAM,EACZ,IAAI,SAAK,EACT,OAAO,GAAE,sBAAqC,GAC7C,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IAIzC,8FAA8F;IAC9F,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IAI/G,wGAAwG;IACxG,OAAO,CAAC,eAAe;IAuCvB,2FAA2F;cACxE,aAAa,IAAI,IAAI;CACzC"}
@@ -1,4 +1,5 @@
1
1
  import { type SVGLine, type SVGRect } from './util';
2
+ import { type Node } from './xml-parser';
2
3
  type VueSFC = Record<'template' | 'style' | 'script', string>;
3
4
  type VueCompiledSFC = string;
4
5
  type IconFlag = 'accent' | 'progress' | 'animation' | 'modifiers' | 'no-fit' | 'no-progress' | 'no-fill' | 'no-stroke' | 'no-rescale' | 'always-stroke' | 'always-fill' | 'no-process-stroke' | 'composed' | string;
@@ -42,6 +43,8 @@ export declare class IconTransformer {
42
43
  private processRendering;
43
44
  private processFit;
44
45
  private processFeatures;
46
+ /** Applies the legacy progress behavior; the next transformer supplies its own compiled program. */
47
+ protected applyProgress(name: string, nodesToPoint: Node[], noProgressGroups: Node[], masks: Node[]): void;
45
48
  }
46
49
  export {};
47
50
  //# sourceMappingURL=transformer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../../src/vite/transformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkD,KAAK,OAAO,EAAE,KAAK,OAAO,EAAa,MAAM,QAAQ,CAAA;AAG9G,KAAK,MAAM,GAAG,MAAM,CAAC,UAAU,GAAG,OAAO,GAAG,QAAQ,EAAE,MAAM,CAAC,CAAA;AAC7D,KAAK,cAAc,GAAG,MAAM,CAAA;AAC5B,KAAK,QAAQ,GACT,QAAQ,GACR,UAAU,GACV,WAAW,GACX,WAAW,GACX,QAAQ,GACR,aAAa,GACb,SAAS,GACT,WAAW,GACX,YAAY,GACZ,eAAe,GACf,aAAa,GACb,mBAAmB,GACnB,UAAU,GACV,MAAM,CAAA;AAEV,UAAU,WAAW;IACnB,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACzE,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AACD,MAAM,MAAM,mBAAmB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAC/C,MAAM,MAAM,sBAAsB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAIlD,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,UAAU,EAAE,OAAO,CAAA;IACnB,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,YAAY,EAAE,OAAO,CAAA;CACtB,CAAA;AACD,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,OAAO,GAAG,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,EAAE,CAAA;AAU7F,qBAAa,eAAe;IAC1B,OAAO,EAAE,sBAAsB,CAAA;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CACZ,MAAM,EACN;QACE,GAAG,EAAE,MAAM,CAAA;QACX,OAAO,EAAE,WAAW,CAAA;KACrB,CACF,CAAA;gBAEW,OAAO,GAAE,sBAA2B;IAazC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,GAAG,SAAc,EAAE,QAAQ,GAAE,sBAAqC,GAAG,MAAM;IA+I7G,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc;IAY3C,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,WAAW;IAwCnB,OAAO,CAAC,uBAAuB;IAiB/B,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,UAAU;IAyHlB,OAAO,CAAC,eAAe;CA6ExB"}
1
+ {"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../../src/vite/transformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkD,KAAK,OAAO,EAAE,KAAK,OAAO,EAAa,MAAM,QAAQ,CAAA;AAC9G,OAAO,EAAE,KAAK,IAAI,EAAuB,MAAM,cAAc,CAAA;AAE7D,KAAK,MAAM,GAAG,MAAM,CAAC,UAAU,GAAG,OAAO,GAAG,QAAQ,EAAE,MAAM,CAAC,CAAA;AAC7D,KAAK,cAAc,GAAG,MAAM,CAAA;AAC5B,KAAK,QAAQ,GACT,QAAQ,GACR,UAAU,GACV,WAAW,GACX,WAAW,GACX,QAAQ,GACR,aAAa,GACb,SAAS,GACT,WAAW,GACX,YAAY,GACZ,eAAe,GACf,aAAa,GACb,mBAAmB,GACnB,UAAU,GACV,MAAM,CAAA;AAEV,UAAU,WAAW;IACnB,KAAK,EAAE,QAAQ,EAAE,CAAA;IACjB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACzE,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AACD,MAAM,MAAM,mBAAmB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAC/C,MAAM,MAAM,sBAAsB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAIlD,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,UAAU,EAAE,OAAO,CAAA;IACnB,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,YAAY,EAAE,OAAO,CAAA;CACtB,CAAA;AACD,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,GAAG,OAAO,GAAG,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,EAAE,CAAA;AAU7F,qBAAa,eAAe;IAC1B,OAAO,EAAE,sBAAsB,CAAA;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CACZ,MAAM,EACN;QACE,GAAG,EAAE,MAAM,CAAA;QACX,OAAO,EAAE,WAAW,CAAA;KACrB,CACF,CAAA;gBAEW,OAAO,GAAE,sBAA2B;IAazC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,GAAG,SAAc,EAAE,QAAQ,GAAE,sBAAqC,GAAG,MAAM;IA+I7G,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc;IAY3C,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,WAAW;IAwCnB,OAAO,CAAC,uBAAuB;IAiB/B,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,UAAU;IAyHlB,OAAO,CAAC,eAAe;IAiEvB,oGAAoG;IACpG,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI;CAW3G"}
@@ -1,11 +1,13 @@
1
1
  import type { IconTransformerOptions } from './transformer';
2
+ import type { IconVirtualProgress } from './progress/types';
3
+ import type { IconFit, IconRendering } from '../types';
2
4
  /** grid divisions of the 960 icon canvas a template or composition uses */
3
- export type IconVirtualGridRows = 1 | 2 | 3 | 4;
4
- export type IconVirtualGridColumns = 1 | 2 | 3 | 4;
5
+ export type IconVirtualGridRows = number;
6
+ export type IconVirtualGridColumns = number;
5
7
  /** a grid cell address, 1-based: '1-1' is the top-left cell */
6
8
  export type IconVirtualCell = `${IconVirtualGridRows}-${IconVirtualGridColumns}`;
7
9
  /** rotation of a placed source; 90/270 swap the source's width/height */
8
- export type IconVirtualRotate = 0 | 90 | 180 | 270;
10
+ export type IconVirtualRotate = number;
9
11
  /**
10
12
  * A source placed into a composition cell. `value` is the regular icon query
11
13
  * language - a pack icon ('ui0/arrow'), with modifiers/params
@@ -14,6 +16,21 @@ export type IconVirtualRotate = 0 | 90 | 180 | 270;
14
16
  * `<g data-cell="1-2">` inside the 'chart' template sheet.
15
17
  */
16
18
  export interface IconVirtualSource {
19
+ /** Rectangular placement extent starting at the cell key; omitted means one cell. */
20
+ span?: {
21
+ rows: number;
22
+ cols: number;
23
+ };
24
+ /** Optional placement fit overriding the value query and inherited fit. */
25
+ fit?: IconFit;
26
+ /** Reflects this placement around its own center. */
27
+ flipped?: boolean;
28
+ /** Overrides filled state for this placement. */
29
+ filled?: boolean;
30
+ /** Rendering mode supplied by the composition author. */
31
+ rendering?: IconRendering;
32
+ /** Additional author-defined state modifiers. */
33
+ modifiers?: string | string[];
17
34
  value: string;
18
35
  /** rotate the placed source about its cell center (90/270 transpose the aspect) */
19
36
  rotate?: IconVirtualRotate;
@@ -39,6 +56,8 @@ export interface IconVirtualTemplate {
39
56
  * the 960 canvas. Composed at build time - the output is an ordinary icon.
40
57
  */
41
58
  export interface IconVirtualIcon {
59
+ /** Declarative progress rules applied to the composition's placement groups. */
60
+ progress?: IconVirtualProgress;
42
61
  rows: IconVirtualGridRows;
43
62
  cols: IconVirtualGridColumns;
44
63
  /** cell address -> what is placed there; unaddressed cells stay empty */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/vite/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAE3D,2EAA2E;AAC3E,MAAM,MAAM,mBAAmB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAC/C,MAAM,MAAM,sBAAsB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAElD,+DAA+D;AAC/D,MAAM,MAAM,eAAe,GAAG,GAAG,mBAAmB,IAAI,sBAAsB,EAAE,CAAA;AAEhF,yEAAyE;AACzE,MAAM,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,CAAA;AAElD;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,mFAAmF;IACnF,MAAM,CAAC,EAAE,iBAAiB,CAAA;IAC1B,wGAAwG;IACxG,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,yEAAyE;AACzE,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,iBAAiB,CAAA;AAE7D;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,mBAAmB,CAAA;IACzB,IAAI,EAAE,sBAAsB,CAAA;IAC5B,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,mBAAmB,CAAA;IACzB,IAAI,EAAE,sBAAsB,CAAA;IAC5B,yEAAyE;IACzE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC,CAAA;IAC7D,kDAAkD;IAClD,OAAO,CAAC,EAAE,sBAAsB,CAAA;IAChC;;;OAGG;IACH,KAAK,CAAC,EAAE,eAAe,CAAA;CACxB;AAED,uFAAuF;AACvF,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,eAAe,CAAC,CAAA;AAEtF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,mBAAmB,GAAG,eAAe,GAAG,GAAG,IAAI,mBAAmB,CAExG"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/vite/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAEtD,2EAA2E;AAC3E,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAA;AACxC,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAA;AAE3C,+DAA+D;AAC/D,MAAM,MAAM,eAAe,GAAG,GAAG,mBAAmB,IAAI,sBAAsB,EAAE,CAAA;AAEhF,yEAAyE;AACzE,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAA;AAEtC;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,qFAAqF;IACrF,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IACD,2EAA2E;IAC3E,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,qDAAqD;IACrD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,iDAAiD;IACjD,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,yDAAyD;IACzD,SAAS,CAAC,EAAE,aAAa,CAAA;IACzB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,mFAAmF;IACnF,MAAM,CAAC,EAAE,iBAAiB,CAAA;IAC1B,wGAAwG;IACxG,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,yEAAyE;AACzE,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,iBAAiB,CAAA;AAE7D;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,mBAAmB,CAAA;IACzB,IAAI,EAAE,sBAAsB,CAAA;IAC5B,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,gFAAgF;IAChF,QAAQ,CAAC,EAAE,mBAAmB,CAAA;IAC9B,IAAI,EAAE,mBAAmB,CAAA;IACzB,IAAI,EAAE,sBAAsB,CAAA;IAC5B,yEAAyE;IACzE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC,CAAA;IAC7D,kDAAkD;IAClD,OAAO,CAAC,EAAE,sBAAsB,CAAA;IAChC;;;OAGG;IACH,KAAK,CAAC,EAAE,eAAe,CAAA;CACxB;AAED,uFAAuF;AACvF,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,eAAe,CAAC,CAAA;AAEtF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,mBAAmB,GAAG,eAAe,GAAG,GAAG,IAAI,mBAAmB,CAExG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ui0/icon",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "Vue icon component with an svg ?icon vite loader",
5
5
  "files": [
6
6
  "dist"
@@ -31,14 +31,15 @@
31
31
  "scripts": {
32
32
  "icon:build": "vite build && vue-tsc --emitDeclarationOnly -p tsconfig.build.json",
33
33
  "icon:typecheck": "vue-tsc --noEmit",
34
- "icon:test": "vitest run"
34
+ "icon:test": "vitest run",
35
+ "icon:publish": "node ../../scripts/publish-packages.ts"
35
36
  },
36
37
  "dependencies": {},
37
38
  "devDependencies": {
38
39
  "@types/node": "^20.14.8",
39
- "@ui0/core": "^0.1.3",
40
- "@ui0/theme": "^0.1.3",
41
- "@ui0/vite": "^0.1.3",
40
+ "@ui0/core": "^0.1.5",
41
+ "@ui0/theme": "^0.1.5",
42
+ "@ui0/vite": "^0.1.5",
42
43
  "@vitejs/plugin-vue": "^6.0.1",
43
44
  "@vue/test-utils": "^2.4.6",
44
45
  "sass-embedded": "^1.80.0",
@@ -48,11 +49,11 @@
48
49
  "vue-tsc": "^3.2.1"
49
50
  },
50
51
  "peerDependencies": {
51
- "@ui0/composable": "^0.1.3",
52
- "@ui0/core": "^0.1.3",
53
- "@ui0/theme": "^0.1.3",
54
- "@ui0/types": "^0.1.3",
55
- "@ui0/util": "^0.0.4",
52
+ "@ui0/composable": "^0.1.5",
53
+ "@ui0/core": "^0.1.5",
54
+ "@ui0/theme": "^0.1.5",
55
+ "@ui0/types": "^0.1.6",
56
+ "@ui0/util": "^0.0.7",
56
57
  "vue": "^3.5.45"
57
58
  },
58
59
  "peerDependenciesMeta": {