@luscious-garden/aster-icons 0.1.0-rc.1

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 (142) hide show
  1. package/ARTWORK-LICENCE.md +30 -0
  2. package/LICENSE +15 -0
  3. package/README.md +41 -0
  4. package/dist/authoring/constants/amellus-icon-authoring-profile.constant.d.ts +40 -0
  5. package/dist/authoring/constants/amellus-icon-authoring-profile.constant.js +40 -0
  6. package/dist/authoring/constants/aster-artwork-licence.constant.d.ts +5 -0
  7. package/dist/authoring/constants/aster-artwork-licence.constant.js +5 -0
  8. package/dist/authoring/constants/aster-original-icon-authorship.constant.d.ts +13 -0
  9. package/dist/authoring/constants/aster-original-icon-authorship.constant.js +14 -0
  10. package/dist/collections/a/amellus/amellus.collection.d.ts +4 -0
  11. package/dist/collections/a/amellus/amellus.collection.js +77 -0
  12. package/dist/dynamic/contracts/collection-definition-loader-map.contract.d.ts +9 -0
  13. package/dist/dynamic/contracts/collection-definition-loader-map.contract.js +1 -0
  14. package/dist/dynamic/contracts/collection-definition-loader.contract.d.ts +12 -0
  15. package/dist/dynamic/contracts/collection-definition-loader.contract.js +1 -0
  16. package/dist/dynamic/contracts/icon-definition-loader-map.contract.d.ts +9 -0
  17. package/dist/dynamic/contracts/icon-definition-loader-map.contract.js +1 -0
  18. package/dist/dynamic/contracts/icon-definition-loader.contract.d.ts +12 -0
  19. package/dist/dynamic/contracts/icon-definition-loader.contract.js +1 -0
  20. package/dist/dynamic/contracts/index.d.ts +4 -0
  21. package/dist/dynamic/contracts/index.js +1 -0
  22. package/dist/dynamic/index.d.ts +2 -0
  23. package/dist/dynamic/index.js +1 -0
  24. package/dist/generated/dynamic/index.d.ts +9 -0
  25. package/dist/generated/dynamic/index.js +39 -0
  26. package/dist/generated/facades/collections/amellus.d.ts +1 -0
  27. package/dist/generated/facades/collections/amellus.js +3 -0
  28. package/dist/generated/facades/icons/arrow-down.d.ts +1 -0
  29. package/dist/generated/facades/icons/arrow-down.js +3 -0
  30. package/dist/generated/facades/icons/arrow-left.d.ts +1 -0
  31. package/dist/generated/facades/icons/arrow-left.js +3 -0
  32. package/dist/generated/facades/icons/arrow-right.d.ts +1 -0
  33. package/dist/generated/facades/icons/arrow-right.js +3 -0
  34. package/dist/generated/facades/icons/arrow-up.d.ts +1 -0
  35. package/dist/generated/facades/icons/arrow-up.js +3 -0
  36. package/dist/generated/facades/icons/bell.d.ts +1 -0
  37. package/dist/generated/facades/icons/bell.js +3 -0
  38. package/dist/generated/facades/icons/camera.d.ts +1 -0
  39. package/dist/generated/facades/icons/camera.js +3 -0
  40. package/dist/generated/facades/icons/check.d.ts +1 -0
  41. package/dist/generated/facades/icons/check.js +3 -0
  42. package/dist/generated/facades/icons/close.d.ts +1 -0
  43. package/dist/generated/facades/icons/close.js +3 -0
  44. package/dist/generated/facades/icons/cloud.d.ts +1 -0
  45. package/dist/generated/facades/icons/cloud.js +3 -0
  46. package/dist/generated/facades/icons/download.d.ts +1 -0
  47. package/dist/generated/facades/icons/download.js +3 -0
  48. package/dist/generated/facades/icons/folder.d.ts +1 -0
  49. package/dist/generated/facades/icons/folder.js +3 -0
  50. package/dist/generated/facades/icons/heart.d.ts +1 -0
  51. package/dist/generated/facades/icons/heart.js +3 -0
  52. package/dist/generated/facades/icons/home.d.ts +1 -0
  53. package/dist/generated/facades/icons/home.js +3 -0
  54. package/dist/generated/facades/icons/info.d.ts +1 -0
  55. package/dist/generated/facades/icons/info.js +3 -0
  56. package/dist/generated/facades/icons/leaf.d.ts +1 -0
  57. package/dist/generated/facades/icons/leaf.js +3 -0
  58. package/dist/generated/facades/icons/lock.d.ts +1 -0
  59. package/dist/generated/facades/icons/lock.js +3 -0
  60. package/dist/generated/facades/icons/mail.d.ts +1 -0
  61. package/dist/generated/facades/icons/mail.js +3 -0
  62. package/dist/generated/facades/icons/menu.d.ts +1 -0
  63. package/dist/generated/facades/icons/menu.js +3 -0
  64. package/dist/generated/facades/icons/pause.d.ts +1 -0
  65. package/dist/generated/facades/icons/pause.js +3 -0
  66. package/dist/generated/facades/icons/play.d.ts +1 -0
  67. package/dist/generated/facades/icons/play.js +3 -0
  68. package/dist/generated/facades/icons/plus.d.ts +1 -0
  69. package/dist/generated/facades/icons/plus.js +3 -0
  70. package/dist/generated/facades/icons/search.d.ts +1 -0
  71. package/dist/generated/facades/icons/search.js +3 -0
  72. package/dist/generated/facades/icons/settings.d.ts +1 -0
  73. package/dist/generated/facades/icons/settings.js +3 -0
  74. package/dist/generated/facades/icons/star.d.ts +1 -0
  75. package/dist/generated/facades/icons/star.js +3 -0
  76. package/dist/generated/facades/icons/user.d.ts +1 -0
  77. package/dist/generated/facades/icons/user.js +3 -0
  78. package/dist/generated/facades/icons/warning.d.ts +1 -0
  79. package/dist/generated/facades/icons/warning.js +3 -0
  80. package/dist/generated/manifest/index.d.ts +9 -0
  81. package/dist/generated/manifest/index.js +424 -0
  82. package/dist/glyphs/a/arrow-down/arrow-down.icon.d.ts +4 -0
  83. package/dist/glyphs/a/arrow-down/arrow-down.icon.js +33 -0
  84. package/dist/glyphs/a/arrow-left/arrow-left.icon.d.ts +4 -0
  85. package/dist/glyphs/a/arrow-left/arrow-left.icon.js +33 -0
  86. package/dist/glyphs/a/arrow-right/arrow-right.icon.d.ts +4 -0
  87. package/dist/glyphs/a/arrow-right/arrow-right.icon.js +33 -0
  88. package/dist/glyphs/a/arrow-up/arrow-up.icon.d.ts +4 -0
  89. package/dist/glyphs/a/arrow-up/arrow-up.icon.js +33 -0
  90. package/dist/glyphs/b/bell/bell.icon.d.ts +4 -0
  91. package/dist/glyphs/b/bell/bell.icon.js +46 -0
  92. package/dist/glyphs/c/camera/camera.icon.d.ts +4 -0
  93. package/dist/glyphs/c/camera/camera.icon.js +68 -0
  94. package/dist/glyphs/c/check/check.icon.d.ts +4 -0
  95. package/dist/glyphs/c/check/check.icon.js +32 -0
  96. package/dist/glyphs/c/close/close.icon.d.ts +4 -0
  97. package/dist/glyphs/c/close/close.icon.js +26 -0
  98. package/dist/glyphs/c/cloud/cloud.icon.d.ts +4 -0
  99. package/dist/glyphs/c/cloud/cloud.icon.js +62 -0
  100. package/dist/glyphs/d/download/download.icon.d.ts +4 -0
  101. package/dist/glyphs/d/download/download.icon.js +34 -0
  102. package/dist/glyphs/f/folder/folder.icon.d.ts +4 -0
  103. package/dist/glyphs/f/folder/folder.icon.js +65 -0
  104. package/dist/glyphs/h/heart/heart.icon.d.ts +4 -0
  105. package/dist/glyphs/h/heart/heart.icon.js +85 -0
  106. package/dist/glyphs/h/home/home.icon.d.ts +4 -0
  107. package/dist/glyphs/h/home/home.icon.js +45 -0
  108. package/dist/glyphs/i/info/info.icon.d.ts +4 -0
  109. package/dist/glyphs/i/info/info.icon.js +27 -0
  110. package/dist/glyphs/l/leaf/leaf.icon.d.ts +4 -0
  111. package/dist/glyphs/l/leaf/leaf.icon.js +73 -0
  112. package/dist/glyphs/l/lock/lock.icon.d.ts +4 -0
  113. package/dist/glyphs/l/lock/lock.icon.js +51 -0
  114. package/dist/glyphs/m/mail/mail.icon.d.ts +4 -0
  115. package/dist/glyphs/m/mail/mail.icon.js +41 -0
  116. package/dist/glyphs/m/menu/menu.icon.d.ts +4 -0
  117. package/dist/glyphs/m/menu/menu.icon.js +27 -0
  118. package/dist/glyphs/p/pause/pause.icon.d.ts +4 -0
  119. package/dist/glyphs/p/pause/pause.icon.js +26 -0
  120. package/dist/glyphs/p/play/play.icon.d.ts +4 -0
  121. package/dist/glyphs/p/play/play.icon.js +32 -0
  122. package/dist/glyphs/p/plus/plus.icon.d.ts +4 -0
  123. package/dist/glyphs/p/plus/plus.icon.js +26 -0
  124. package/dist/glyphs/s/search/search.icon.d.ts +4 -0
  125. package/dist/glyphs/s/search/search.icon.js +26 -0
  126. package/dist/glyphs/s/settings/settings.icon.d.ts +4 -0
  127. package/dist/glyphs/s/settings/settings.icon.js +34 -0
  128. package/dist/glyphs/s/star/star.icon.d.ts +4 -0
  129. package/dist/glyphs/s/star/star.icon.js +39 -0
  130. package/dist/glyphs/u/user/user.icon.d.ts +4 -0
  131. package/dist/glyphs/u/user/user.icon.js +49 -0
  132. package/dist/glyphs/w/warning/warning.icon.d.ts +4 -0
  133. package/dist/glyphs/w/warning/warning.icon.js +34 -0
  134. package/dist/manifest/contracts/collection-manifest-entry.contract.d.ts +17 -0
  135. package/dist/manifest/contracts/collection-manifest-entry.contract.js +1 -0
  136. package/dist/manifest/contracts/icon-manifest-entry.contract.d.ts +28 -0
  137. package/dist/manifest/contracts/icon-manifest-entry.contract.js +1 -0
  138. package/dist/manifest/contracts/index.d.ts +2 -0
  139. package/dist/manifest/contracts/index.js +1 -0
  140. package/dist/manifest/index.d.ts +2 -0
  141. package/dist/manifest/index.js +1 -0
  142. package/package.json +59 -0
@@ -0,0 +1,30 @@
1
+ # Aster Artwork Licence 1.0
2
+
3
+ Copyright (c) 2026 BlueLuscious.
4
+
5
+ This licence covers original visual artwork authored and owned by BlueLuscious and distributed
6
+ in `@luscious-garden/aster-icons` when its icon or collection metadata identifies
7
+ `LicenseRef-Aster-Artwork-1.0`. This includes icon shapes and geometry, their rendered forms,
8
+ and the creative selection and arrangement of any collection so identified. It applies
9
+ regardless of whether the artwork is represented by TypeScript nodes, compiled JavaScript,
10
+ SVG, or another format. Inclusion in `@luscious-garden/aster-icons` alone does not place third-party artwork
11
+ under this licence. It does not replace the [ISC software licence](LICENSE) for the code and
12
+ APIs used to define, catalogue, or load that artwork.
13
+
14
+ You may download, use, copy, modify, display, and redistribute the artwork, including in
15
+ commercial software, websites, documents, and other products. You may also distribute the
16
+ artwork itself without charge.
17
+
18
+ You may not sell, resell, rent, or offer the artwork, or modified versions of it, for a fee
19
+ as individual icons, an icon pack, a collection, a design-asset library, a template set, or
20
+ another substantially equivalent standalone artwork product. A paid product does not become
21
+ a standalone artwork product merely because it uses these icons as part of its interface.
22
+
23
+ When redistributing the artwork or a product containing it, retain the copyright notice and
24
+ identify BlueLuscious as the original author in accompanying credits, documentation, or legal
25
+ notices. You need not place a notice next to each displayed icon. Recipients of redistributed
26
+ artwork receive the same permissions and restrictions under this licence.
27
+
28
+ No trademark rights are granted. The artwork is provided "as is", without warranty of any
29
+ kind. To the extent permitted by law, the author is not liable for claims or damages arising
30
+ from its use.
package/LICENSE ADDED
@@ -0,0 +1,15 @@
1
+ @luscious-garden/aster-icons contains software, documentation and original artwork. The software implementation,
2
+ documentation, TypeScript declarations and APIs are licensed under ISC as set out below. The visual
3
+ artwork encoded in an icon definition or the creative selection and arrangement of a collection
4
+ follows the effective artwork licence declared in that definition's metadata. BlueLuscious-owned
5
+ artwork marked `LicenseRef-Aster-Artwork-1.0` follows the
6
+ [Aster Artwork Licence](ARTWORK-LICENCE.md). Both terms may apply to different parts of the same
7
+ .icon.ts module or its compiled output. Package inclusion alone does not relicense artwork.
8
+
9
+ ISC License
10
+
11
+ Copyright (c) 2026 BlueLuscious
12
+
13
+ Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,41 @@
1
+ # @luscious-garden/aster-icons
2
+
3
+ Canonical portable TypeScript icon and collection definitions for Aster.
4
+
5
+ The package depends only on `@luscious-garden/aster-core`. Every icon and collection has an isolated public
6
+ subpath; no package-wide definition root is exported. `@luscious-garden/aster-icons/manifest` provides
7
+ metadata-only discovery without loading complete definitions, while `@luscious-garden/aster-icons/dynamic`
8
+ resolves identities asynchronously without eager catalogue evaluation. These runtime boundaries
9
+ do not change npm acquisition: installing `@luscious-garden/aster-icons` acquires the complete published package.
10
+ The package contains no renderer, framework, DOM, filesystem, Import, or global catalogue
11
+ dependency.
12
+ The example below assumes `@luscious-garden/aster-svg` is installed independently by the consumer.
13
+
14
+ When `0.1.0-rc.1` is published, install both packages for this example with
15
+ `pnpm add @luscious-garden/aster-icons@0.1.0-rc.1 @luscious-garden/aster-svg@0.1.0-rc.1`. To use a definition without SVG rendering,
16
+ install only `@luscious-garden/aster-icons`; it brings its compatible Core dependency.
17
+
18
+ Canonical `*.icon.ts` and `*.collection.ts` modules are editable sources. Package builds
19
+ deterministically synchronise their manifests, exact loader maps and stable public facades before
20
+ compilation.
21
+
22
+ ```ts
23
+ import { ArrowLeft } from "@luscious-garden/aster-icons/arrow-left";
24
+ import { Svg } from "@luscious-garden/aster-svg";
25
+
26
+ const markup = Svg.render(ArrowLeft);
27
+ ```
28
+
29
+ The package currently provides the accepted Amellus foundational collection. See the
30
+ [canonical package documentation](https://github.com/BlueLuscious/aster/blob/master/docs/en/packages/icons/index.md),
31
+ [authoring workflow](https://github.com/BlueLuscious/aster/blob/master/docs/en/packages/icons/workflow.md),
32
+ [initial release notes](https://github.com/BlueLuscious/aster/blob/master/docs/en/packages/icons/releases.md) and
33
+ [Amellus collection authority](https://github.com/BlueLuscious/aster/blob/master/docs/en/collections/amellus/index.md).
34
+
35
+ ## Licence
36
+
37
+ The software and documentation are licensed under [ISC](LICENSE). BlueLuscious-owned icon and
38
+ collection artwork marked with `LicenseRef-Aster-Artwork-1.0` follows the separate
39
+ [Aster Artwork Licence](ARTWORK-LICENCE.md), which permits commercial use in products but not
40
+ sale of the artwork as a standalone asset. Other artwork retains its declared terms. Software
41
+ and artwork may appear in the same `*.icon.ts` module.
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @description Immutable visual authoring profile shared by icons curated for Amellus.
3
+ * @remarks The profile describes intrinsic icon input and is never applied or overridden by the
4
+ * collection definition at composition time.
5
+ */
6
+ export declare const amellusIconAuthoringProfile: Readonly<{
7
+ /** @description Canonical coordinate system used to author Amellus icon artwork. */
8
+ viewBox: Readonly<{
9
+ /** @description Horizontal origin of the canonical coordinate system. */
10
+ minX: 0;
11
+ /** @description Vertical origin of the canonical coordinate system. */
12
+ minY: 0;
13
+ /** @description Width of the canonical coordinate system. */
14
+ width: 24;
15
+ /** @description Height of the canonical coordinate system. */
16
+ height: 24;
17
+ }>;
18
+ /** @description Presentation and size policy authored into each Amellus icon definition. */
19
+ presentation: Readonly<{
20
+ /** @description Default portable presentation inherited by authored icon nodes. */
21
+ defaults: Readonly<{
22
+ /** @description Default paint applied to node interiors. */
23
+ fill: "none";
24
+ /** @description Default stroke resolved from the consumer's current colour. */
25
+ stroke: "currentColor";
26
+ /** @description Default stroke width in canonical icon coordinates. */
27
+ strokeWidth: 1.5;
28
+ /** @description Default shape used at the ends of open strokes. */
29
+ strokeLineCap: "round";
30
+ /** @description Default shape used where stroke segments meet. */
31
+ strokeLineJoin: "round";
32
+ }>;
33
+ /** @description Ordered presentation overrides accepted from consumers. */
34
+ overrides: readonly never[];
35
+ /** @description Preferred consumer-facing size for Amellus artwork. */
36
+ defaultSize: 24;
37
+ /** @description Smallest consumer-facing size recommended for Amellus artwork. */
38
+ minimumSize: 16;
39
+ }>;
40
+ }>;
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @description Immutable visual authoring profile shared by icons curated for Amellus.
3
+ * @remarks The profile describes intrinsic icon input and is never applied or overridden by the
4
+ * collection definition at composition time.
5
+ */
6
+ export const amellusIconAuthoringProfile = Object.freeze({
7
+ /** @description Canonical coordinate system used to author Amellus icon artwork. */
8
+ viewBox: Object.freeze({
9
+ /** @description Horizontal origin of the canonical coordinate system. */
10
+ minX: 0,
11
+ /** @description Vertical origin of the canonical coordinate system. */
12
+ minY: 0,
13
+ /** @description Width of the canonical coordinate system. */
14
+ width: 24,
15
+ /** @description Height of the canonical coordinate system. */
16
+ height: 24,
17
+ }),
18
+ /** @description Presentation and size policy authored into each Amellus icon definition. */
19
+ presentation: Object.freeze({
20
+ /** @description Default portable presentation inherited by authored icon nodes. */
21
+ defaults: Object.freeze({
22
+ /** @description Default paint applied to node interiors. */
23
+ fill: "none",
24
+ /** @description Default stroke resolved from the consumer's current colour. */
25
+ stroke: "currentColor",
26
+ /** @description Default stroke width in canonical icon coordinates. */
27
+ strokeWidth: 1.5,
28
+ /** @description Default shape used at the ends of open strokes. */
29
+ strokeLineCap: "round",
30
+ /** @description Default shape used where stroke segments meet. */
31
+ strokeLineJoin: "round",
32
+ }),
33
+ /** @description Ordered presentation overrides accepted from consumers. */
34
+ overrides: Object.freeze([]),
35
+ /** @description Preferred consumer-facing size for Amellus artwork. */
36
+ defaultSize: 24,
37
+ /** @description Smallest consumer-facing size recommended for Amellus artwork. */
38
+ minimumSize: 16,
39
+ }),
40
+ });
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @description Effective licence identifier for original BlueLuscious-owned icon and collection artwork.
3
+ * @remarks The complete terms accompany the Icons package in ARTWORK-LICENCE.md.
4
+ */
5
+ export declare const asterArtworkLicence: "LicenseRef-Aster-Artwork-1.0";
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @description Effective licence identifier for original BlueLuscious-owned icon and collection artwork.
3
+ * @remarks The complete terms accompany the Icons package in ARTWORK-LICENCE.md.
4
+ */
5
+ export const asterArtworkLicence = "LicenseRef-Aster-Artwork-1.0";
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @description Immutable authorship shared by original Aster icon artwork.
3
+ * @remarks This authority is optional authoring input rather than a package-wide requirement, so
4
+ * differently owned or licensed definitions can provide their own metadata independently.
5
+ */
6
+ export declare const asterOriginalIconAuthorship: Readonly<{
7
+ /** @description Canonical technical namespace for original Aster icon identities. */
8
+ namespace: "aster";
9
+ /** @description Effective licence identifier for original Aster icon artwork. */
10
+ licence: "LicenseRef-Aster-Artwork-1.0";
11
+ /** @description Attribution retained by original Aster icon artwork. */
12
+ attribution: "BlueLuscious";
13
+ }>;
@@ -0,0 +1,14 @@
1
+ import { asterArtworkLicence } from "./aster-artwork-licence.constant.js";
2
+ /**
3
+ * @description Immutable authorship shared by original Aster icon artwork.
4
+ * @remarks This authority is optional authoring input rather than a package-wide requirement, so
5
+ * differently owned or licensed definitions can provide their own metadata independently.
6
+ */
7
+ export const asterOriginalIconAuthorship = Object.freeze({
8
+ /** @description Canonical technical namespace for original Aster icon identities. */
9
+ namespace: "aster",
10
+ /** @description Effective licence identifier for original Aster icon artwork. */
11
+ licence: asterArtworkLicence,
12
+ /** @description Attribution retained by original Aster icon artwork. */
13
+ attribution: "BlueLuscious",
14
+ });
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @description Canonical Amellus collection containing the foundational general-purpose icon set.
3
+ */
4
+ export declare const AmellusCollection: import("@luscious-garden/aster-core").CollectionDefinition;
@@ -0,0 +1,77 @@
1
+ import { Collection } from "@luscious-garden/aster-core";
2
+ import { asterArtworkLicence } from "../../../authoring/constants/aster-artwork-licence.constant.js";
3
+ import { ArrowDown } from "../../../glyphs/a/arrow-down/arrow-down.icon.js";
4
+ import { ArrowLeft } from "../../../glyphs/a/arrow-left/arrow-left.icon.js";
5
+ import { ArrowRight } from "../../../glyphs/a/arrow-right/arrow-right.icon.js";
6
+ import { ArrowUp } from "../../../glyphs/a/arrow-up/arrow-up.icon.js";
7
+ import { Bell } from "../../../glyphs/b/bell/bell.icon.js";
8
+ import { Camera } from "../../../glyphs/c/camera/camera.icon.js";
9
+ import { Check } from "../../../glyphs/c/check/check.icon.js";
10
+ import { Close } from "../../../glyphs/c/close/close.icon.js";
11
+ import { Cloud } from "../../../glyphs/c/cloud/cloud.icon.js";
12
+ import { Download } from "../../../glyphs/d/download/download.icon.js";
13
+ import { Folder } from "../../../glyphs/f/folder/folder.icon.js";
14
+ import { Heart } from "../../../glyphs/h/heart/heart.icon.js";
15
+ import { Home } from "../../../glyphs/h/home/home.icon.js";
16
+ import { Info } from "../../../glyphs/i/info/info.icon.js";
17
+ import { Leaf } from "../../../glyphs/l/leaf/leaf.icon.js";
18
+ import { Lock } from "../../../glyphs/l/lock/lock.icon.js";
19
+ import { Mail } from "../../../glyphs/m/mail/mail.icon.js";
20
+ import { Menu } from "../../../glyphs/m/menu/menu.icon.js";
21
+ import { Pause } from "../../../glyphs/p/pause/pause.icon.js";
22
+ import { Play } from "../../../glyphs/p/play/play.icon.js";
23
+ import { Plus } from "../../../glyphs/p/plus/plus.icon.js";
24
+ import { Search } from "../../../glyphs/s/search/search.icon.js";
25
+ import { Settings } from "../../../glyphs/s/settings/settings.icon.js";
26
+ import { Star } from "../../../glyphs/s/star/star.icon.js";
27
+ import { User } from "../../../glyphs/u/user/user.icon.js";
28
+ import { Warning } from "../../../glyphs/w/warning/warning.icon.js";
29
+ /**
30
+ * @description Canonical Amellus collection containing the foundational general-purpose icon set.
31
+ */
32
+ export const AmellusCollection = Collection.define({
33
+ identity: {
34
+ name: "amellus",
35
+ },
36
+ icons: [
37
+ ArrowLeft,
38
+ ArrowRight,
39
+ ArrowUp,
40
+ ArrowDown,
41
+ Home,
42
+ Menu,
43
+ Check,
44
+ Close,
45
+ Download,
46
+ Plus,
47
+ Search,
48
+ Settings,
49
+ Heart,
50
+ Info,
51
+ Lock,
52
+ Star,
53
+ Warning,
54
+ Camera,
55
+ Pause,
56
+ Play,
57
+ Bell,
58
+ Mail,
59
+ Cloud,
60
+ Folder,
61
+ Leaf,
62
+ User,
63
+ ],
64
+ metadata: {
65
+ displayName: "Amellus",
66
+ description: "Minimalist general-purpose outline icons for application interfaces.",
67
+ tags: [
68
+ "application-icons",
69
+ "general-purpose",
70
+ "interface-icons",
71
+ "minimalist",
72
+ "outline-icons",
73
+ ],
74
+ licence: asterArtworkLicence,
75
+ attribution: "BlueLuscious",
76
+ },
77
+ });
@@ -0,0 +1,9 @@
1
+ import type { CollectionDefinitionLoader } from "./collection-definition-loader.contract.js";
2
+ /**
3
+ * @description Immutable exact-loader lookup indexed by canonical collection identity keys.
4
+ * @remarks Unknown keys resolve to `undefined`; the map performs no error adaptation.
5
+ */
6
+ export interface CollectionDefinitionLoaderMap {
7
+ /** @description Exact loader when the canonical collection identity is distributed. */
8
+ readonly [key: string]: CollectionDefinitionLoader | undefined;
9
+ }
@@ -0,0 +1,12 @@
1
+ import type { CollectionDefinition } from "@luscious-garden/aster-core";
2
+ /**
3
+ * @description Asynchronously resolves one exact distributed collection definition.
4
+ * @remarks Native dynamic-import rejections are preserved for the caller to classify.
5
+ */
6
+ export interface CollectionDefinitionLoader {
7
+ /**
8
+ * @description Loads the canonical definition targeted by this loader.
9
+ * @returns Promise resolving to the exact immutable collection definition.
10
+ */
11
+ (): Promise<CollectionDefinition>;
12
+ }
@@ -0,0 +1,9 @@
1
+ import type { IconDefinitionLoader } from "./icon-definition-loader.contract.js";
2
+ /**
3
+ * @description Immutable exact-loader lookup indexed by canonical icon identity keys.
4
+ * @remarks Unknown keys resolve to `undefined`; the map performs no error adaptation.
5
+ */
6
+ export interface IconDefinitionLoaderMap {
7
+ /** @description Exact loader when the canonical icon identity is distributed. */
8
+ readonly [key: string]: IconDefinitionLoader | undefined;
9
+ }
@@ -0,0 +1,12 @@
1
+ import type { IconDefinition } from "@luscious-garden/aster-core";
2
+ /**
3
+ * @description Asynchronously resolves one exact distributed icon definition.
4
+ * @remarks Native dynamic-import rejections are preserved for the caller to classify.
5
+ */
6
+ export interface IconDefinitionLoader {
7
+ /**
8
+ * @description Loads the canonical definition targeted by this loader.
9
+ * @returns Promise resolving to the exact immutable icon definition.
10
+ */
11
+ (): Promise<IconDefinition>;
12
+ }
@@ -0,0 +1,4 @@
1
+ export type { CollectionDefinitionLoader, } from "./collection-definition-loader.contract.js";
2
+ export type { CollectionDefinitionLoaderMap, } from "./collection-definition-loader-map.contract.js";
3
+ export type { IconDefinitionLoader, } from "./icon-definition-loader.contract.js";
4
+ export type { IconDefinitionLoaderMap, } from "./icon-definition-loader-map.contract.js";
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export type { CollectionDefinitionLoader, CollectionDefinitionLoaderMap, IconDefinitionLoader, IconDefinitionLoaderMap, } from "./contracts/index.js";
2
+ export { AsterCollectionLoaders, AsterIconLoaders, } from "../generated/dynamic/index.js";
@@ -0,0 +1 @@
1
+ export { AsterCollectionLoaders, AsterIconLoaders, } from "../generated/dynamic/index.js";
@@ -0,0 +1,9 @@
1
+ import type { CollectionDefinitionLoaderMap, IconDefinitionLoaderMap } from "../../dynamic/contracts/index.js";
2
+ /**
3
+ * @description Immutable exact asynchronous loaders for distributed Aster icon definitions.
4
+ */
5
+ export declare const AsterIconLoaders: IconDefinitionLoaderMap;
6
+ /**
7
+ * @description Immutable exact asynchronous loaders for distributed Aster collections.
8
+ */
9
+ export declare const AsterCollectionLoaders: CollectionDefinitionLoaderMap;
@@ -0,0 +1,39 @@
1
+ // Generated by `pnpm --dir packages/icons run generate:catalogue`.
2
+ // Canonical definition modules are the source of truth. Do not edit manually.
3
+ /**
4
+ * @description Immutable exact asynchronous loaders for distributed Aster icon definitions.
5
+ */
6
+ export const AsterIconLoaders = Object.freeze({
7
+ "aster/arrow-down": Object.freeze(() => import("../facades/icons/arrow-down.js").then(({ ArrowDown }) => ArrowDown)),
8
+ "aster/arrow-left": Object.freeze(() => import("../facades/icons/arrow-left.js").then(({ ArrowLeft }) => ArrowLeft)),
9
+ "aster/arrow-right": Object.freeze(() => import("../facades/icons/arrow-right.js").then(({ ArrowRight }) => ArrowRight)),
10
+ "aster/arrow-up": Object.freeze(() => import("../facades/icons/arrow-up.js").then(({ ArrowUp }) => ArrowUp)),
11
+ "aster/bell": Object.freeze(() => import("../facades/icons/bell.js").then(({ Bell }) => Bell)),
12
+ "aster/camera": Object.freeze(() => import("../facades/icons/camera.js").then(({ Camera }) => Camera)),
13
+ "aster/check": Object.freeze(() => import("../facades/icons/check.js").then(({ Check }) => Check)),
14
+ "aster/close": Object.freeze(() => import("../facades/icons/close.js").then(({ Close }) => Close)),
15
+ "aster/cloud": Object.freeze(() => import("../facades/icons/cloud.js").then(({ Cloud }) => Cloud)),
16
+ "aster/download": Object.freeze(() => import("../facades/icons/download.js").then(({ Download }) => Download)),
17
+ "aster/folder": Object.freeze(() => import("../facades/icons/folder.js").then(({ Folder }) => Folder)),
18
+ "aster/heart": Object.freeze(() => import("../facades/icons/heart.js").then(({ Heart }) => Heart)),
19
+ "aster/home": Object.freeze(() => import("../facades/icons/home.js").then(({ Home }) => Home)),
20
+ "aster/info": Object.freeze(() => import("../facades/icons/info.js").then(({ Info }) => Info)),
21
+ "aster/leaf": Object.freeze(() => import("../facades/icons/leaf.js").then(({ Leaf }) => Leaf)),
22
+ "aster/lock": Object.freeze(() => import("../facades/icons/lock.js").then(({ Lock }) => Lock)),
23
+ "aster/mail": Object.freeze(() => import("../facades/icons/mail.js").then(({ Mail }) => Mail)),
24
+ "aster/menu": Object.freeze(() => import("../facades/icons/menu.js").then(({ Menu }) => Menu)),
25
+ "aster/pause": Object.freeze(() => import("../facades/icons/pause.js").then(({ Pause }) => Pause)),
26
+ "aster/play": Object.freeze(() => import("../facades/icons/play.js").then(({ Play }) => Play)),
27
+ "aster/plus": Object.freeze(() => import("../facades/icons/plus.js").then(({ Plus }) => Plus)),
28
+ "aster/search": Object.freeze(() => import("../facades/icons/search.js").then(({ Search }) => Search)),
29
+ "aster/settings": Object.freeze(() => import("../facades/icons/settings.js").then(({ Settings }) => Settings)),
30
+ "aster/star": Object.freeze(() => import("../facades/icons/star.js").then(({ Star }) => Star)),
31
+ "aster/user": Object.freeze(() => import("../facades/icons/user.js").then(({ User }) => User)),
32
+ "aster/warning": Object.freeze(() => import("../facades/icons/warning.js").then(({ Warning }) => Warning)),
33
+ });
34
+ /**
35
+ * @description Immutable exact asynchronous loaders for distributed Aster collections.
36
+ */
37
+ export const AsterCollectionLoaders = Object.freeze({
38
+ "amellus": Object.freeze(() => import("../facades/collections/amellus.js").then(({ AmellusCollection }) => AmellusCollection)),
39
+ });
@@ -0,0 +1 @@
1
+ export { AmellusCollection } from "../../../collections/a/amellus/amellus.collection.js";
@@ -0,0 +1,3 @@
1
+ // Generated by `pnpm --dir packages/icons run generate:catalogue`.
2
+ // Canonical definition modules are the source of truth. Do not edit manually.
3
+ export { AmellusCollection } from "../../../collections/a/amellus/amellus.collection.js";
@@ -0,0 +1 @@
1
+ export { ArrowDown } from "../../../glyphs/a/arrow-down/arrow-down.icon.js";
@@ -0,0 +1,3 @@
1
+ // Generated by `pnpm --dir packages/icons run generate:catalogue`.
2
+ // Canonical definition modules are the source of truth. Do not edit manually.
3
+ export { ArrowDown } from "../../../glyphs/a/arrow-down/arrow-down.icon.js";
@@ -0,0 +1 @@
1
+ export { ArrowLeft } from "../../../glyphs/a/arrow-left/arrow-left.icon.js";
@@ -0,0 +1,3 @@
1
+ // Generated by `pnpm --dir packages/icons run generate:catalogue`.
2
+ // Canonical definition modules are the source of truth. Do not edit manually.
3
+ export { ArrowLeft } from "../../../glyphs/a/arrow-left/arrow-left.icon.js";
@@ -0,0 +1 @@
1
+ export { ArrowRight } from "../../../glyphs/a/arrow-right/arrow-right.icon.js";
@@ -0,0 +1,3 @@
1
+ // Generated by `pnpm --dir packages/icons run generate:catalogue`.
2
+ // Canonical definition modules are the source of truth. Do not edit manually.
3
+ export { ArrowRight } from "../../../glyphs/a/arrow-right/arrow-right.icon.js";
@@ -0,0 +1 @@
1
+ export { ArrowUp } from "../../../glyphs/a/arrow-up/arrow-up.icon.js";
@@ -0,0 +1,3 @@
1
+ // Generated by `pnpm --dir packages/icons run generate:catalogue`.
2
+ // Canonical definition modules are the source of truth. Do not edit manually.
3
+ export { ArrowUp } from "../../../glyphs/a/arrow-up/arrow-up.icon.js";
@@ -0,0 +1 @@
1
+ export { Bell } from "../../../glyphs/b/bell/bell.icon.js";
@@ -0,0 +1,3 @@
1
+ // Generated by `pnpm --dir packages/icons run generate:catalogue`.
2
+ // Canonical definition modules are the source of truth. Do not edit manually.
3
+ export { Bell } from "../../../glyphs/b/bell/bell.icon.js";
@@ -0,0 +1 @@
1
+ export { Camera } from "../../../glyphs/c/camera/camera.icon.js";
@@ -0,0 +1,3 @@
1
+ // Generated by `pnpm --dir packages/icons run generate:catalogue`.
2
+ // Canonical definition modules are the source of truth. Do not edit manually.
3
+ export { Camera } from "../../../glyphs/c/camera/camera.icon.js";
@@ -0,0 +1 @@
1
+ export { Check } from "../../../glyphs/c/check/check.icon.js";
@@ -0,0 +1,3 @@
1
+ // Generated by `pnpm --dir packages/icons run generate:catalogue`.
2
+ // Canonical definition modules are the source of truth. Do not edit manually.
3
+ export { Check } from "../../../glyphs/c/check/check.icon.js";
@@ -0,0 +1 @@
1
+ export { Close } from "../../../glyphs/c/close/close.icon.js";
@@ -0,0 +1,3 @@
1
+ // Generated by `pnpm --dir packages/icons run generate:catalogue`.
2
+ // Canonical definition modules are the source of truth. Do not edit manually.
3
+ export { Close } from "../../../glyphs/c/close/close.icon.js";
@@ -0,0 +1 @@
1
+ export { Cloud } from "../../../glyphs/c/cloud/cloud.icon.js";
@@ -0,0 +1,3 @@
1
+ // Generated by `pnpm --dir packages/icons run generate:catalogue`.
2
+ // Canonical definition modules are the source of truth. Do not edit manually.
3
+ export { Cloud } from "../../../glyphs/c/cloud/cloud.icon.js";
@@ -0,0 +1 @@
1
+ export { Download } from "../../../glyphs/d/download/download.icon.js";
@@ -0,0 +1,3 @@
1
+ // Generated by `pnpm --dir packages/icons run generate:catalogue`.
2
+ // Canonical definition modules are the source of truth. Do not edit manually.
3
+ export { Download } from "../../../glyphs/d/download/download.icon.js";
@@ -0,0 +1 @@
1
+ export { Folder } from "../../../glyphs/f/folder/folder.icon.js";
@@ -0,0 +1,3 @@
1
+ // Generated by `pnpm --dir packages/icons run generate:catalogue`.
2
+ // Canonical definition modules are the source of truth. Do not edit manually.
3
+ export { Folder } from "../../../glyphs/f/folder/folder.icon.js";
@@ -0,0 +1 @@
1
+ export { Heart } from "../../../glyphs/h/heart/heart.icon.js";
@@ -0,0 +1,3 @@
1
+ // Generated by `pnpm --dir packages/icons run generate:catalogue`.
2
+ // Canonical definition modules are the source of truth. Do not edit manually.
3
+ export { Heart } from "../../../glyphs/h/heart/heart.icon.js";
@@ -0,0 +1 @@
1
+ export { Home } from "../../../glyphs/h/home/home.icon.js";
@@ -0,0 +1,3 @@
1
+ // Generated by `pnpm --dir packages/icons run generate:catalogue`.
2
+ // Canonical definition modules are the source of truth. Do not edit manually.
3
+ export { Home } from "../../../glyphs/h/home/home.icon.js";
@@ -0,0 +1 @@
1
+ export { Info } from "../../../glyphs/i/info/info.icon.js";
@@ -0,0 +1,3 @@
1
+ // Generated by `pnpm --dir packages/icons run generate:catalogue`.
2
+ // Canonical definition modules are the source of truth. Do not edit manually.
3
+ export { Info } from "../../../glyphs/i/info/info.icon.js";
@@ -0,0 +1 @@
1
+ export { Leaf } from "../../../glyphs/l/leaf/leaf.icon.js";
@@ -0,0 +1,3 @@
1
+ // Generated by `pnpm --dir packages/icons run generate:catalogue`.
2
+ // Canonical definition modules are the source of truth. Do not edit manually.
3
+ export { Leaf } from "../../../glyphs/l/leaf/leaf.icon.js";
@@ -0,0 +1 @@
1
+ export { Lock } from "../../../glyphs/l/lock/lock.icon.js";
@@ -0,0 +1,3 @@
1
+ // Generated by `pnpm --dir packages/icons run generate:catalogue`.
2
+ // Canonical definition modules are the source of truth. Do not edit manually.
3
+ export { Lock } from "../../../glyphs/l/lock/lock.icon.js";
@@ -0,0 +1 @@
1
+ export { Mail } from "../../../glyphs/m/mail/mail.icon.js";
@@ -0,0 +1,3 @@
1
+ // Generated by `pnpm --dir packages/icons run generate:catalogue`.
2
+ // Canonical definition modules are the source of truth. Do not edit manually.
3
+ export { Mail } from "../../../glyphs/m/mail/mail.icon.js";
@@ -0,0 +1 @@
1
+ export { Menu } from "../../../glyphs/m/menu/menu.icon.js";
@@ -0,0 +1,3 @@
1
+ // Generated by `pnpm --dir packages/icons run generate:catalogue`.
2
+ // Canonical definition modules are the source of truth. Do not edit manually.
3
+ export { Menu } from "../../../glyphs/m/menu/menu.icon.js";
@@ -0,0 +1 @@
1
+ export { Pause } from "../../../glyphs/p/pause/pause.icon.js";
@@ -0,0 +1,3 @@
1
+ // Generated by `pnpm --dir packages/icons run generate:catalogue`.
2
+ // Canonical definition modules are the source of truth. Do not edit manually.
3
+ export { Pause } from "../../../glyphs/p/pause/pause.icon.js";
@@ -0,0 +1 @@
1
+ export { Play } from "../../../glyphs/p/play/play.icon.js";