minerva-design 1.8.0 → 1.10.0

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 (268) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +4 -0
  3. package/custom-elements.json +356 -0
  4. package/dist/angular/fesm2022/minerva-angular.mjs +743 -40
  5. package/dist/angular/fesm2022/minerva-angular.mjs.map +1 -1
  6. package/dist/angular/types/minerva-angular.d.ts +211 -0
  7. package/dist/core/contracts.cjs +1 -1
  8. package/dist/core/contracts.cjs.map +1 -1
  9. package/dist/core/contracts.js +1 -1
  10. package/dist/core/contracts.js.map +1 -1
  11. package/dist/icons/_virtual/_rolldown/runtime.cjs +1 -0
  12. package/dist/icons/_virtual/_rolldown/runtime.js +11 -0
  13. package/dist/icons/core.cjs +1 -0
  14. package/dist/icons/core.d.cts +12 -0
  15. package/dist/icons/core.d.ts +12 -0
  16. package/dist/icons/core.js +21 -0
  17. package/dist/icons/engine/canvas2d.cjs +2 -0
  18. package/dist/icons/engine/canvas2d.cjs.map +1 -0
  19. package/dist/icons/engine/canvas2d.d.cts +10 -0
  20. package/dist/icons/engine/canvas2d.d.ts +10 -0
  21. package/dist/icons/engine/canvas2d.js +47 -0
  22. package/dist/icons/engine/canvas2d.js.map +1 -0
  23. package/dist/icons/engine/color.cjs +2 -0
  24. package/dist/icons/engine/color.cjs.map +1 -0
  25. package/dist/icons/engine/color.d.cts +9 -0
  26. package/dist/icons/engine/color.d.ts +9 -0
  27. package/dist/icons/engine/color.js +115 -0
  28. package/dist/icons/engine/color.js.map +1 -0
  29. package/dist/icons/engine/defaults.cjs +2 -0
  30. package/dist/icons/engine/defaults.cjs.map +1 -0
  31. package/dist/icons/engine/defaults.d.cts +17 -0
  32. package/dist/icons/engine/defaults.d.ts +17 -0
  33. package/dist/icons/engine/defaults.js +39 -0
  34. package/dist/icons/engine/defaults.js.map +1 -0
  35. package/dist/icons/engine/define.cjs +2 -0
  36. package/dist/icons/engine/define.cjs.map +1 -0
  37. package/dist/icons/engine/define.d.cts +8 -0
  38. package/dist/icons/engine/define.d.ts +8 -0
  39. package/dist/icons/engine/define.js +19 -0
  40. package/dist/icons/engine/define.js.map +1 -0
  41. package/dist/icons/engine/icon-canvas.cjs +2 -0
  42. package/dist/icons/engine/icon-canvas.cjs.map +1 -0
  43. package/dist/icons/engine/icon-canvas.d.cts +13 -0
  44. package/dist/icons/engine/icon-canvas.d.ts +13 -0
  45. package/dist/icons/engine/icon-canvas.js +117 -0
  46. package/dist/icons/engine/icon-canvas.js.map +1 -0
  47. package/dist/icons/engine/icons/actions.cjs +2 -0
  48. package/dist/icons/engine/icons/actions.cjs.map +1 -0
  49. package/dist/icons/engine/icons/actions.d.cts +67 -0
  50. package/dist/icons/engine/icons/actions.d.ts +67 -0
  51. package/dist/icons/engine/icons/actions.js +447 -0
  52. package/dist/icons/engine/icons/actions.js.map +1 -0
  53. package/dist/icons/engine/icons/arrows.cjs +2 -0
  54. package/dist/icons/engine/icons/arrows.cjs.map +1 -0
  55. package/dist/icons/engine/icons/arrows.d.cts +69 -0
  56. package/dist/icons/engine/icons/arrows.d.ts +69 -0
  57. package/dist/icons/engine/icons/arrows.js +417 -0
  58. package/dist/icons/engine/icons/arrows.js.map +1 -0
  59. package/dist/icons/engine/icons/communication.cjs +2 -0
  60. package/dist/icons/engine/icons/communication.cjs.map +1 -0
  61. package/dist/icons/engine/icons/communication.d.cts +21 -0
  62. package/dist/icons/engine/icons/communication.d.ts +21 -0
  63. package/dist/icons/engine/icons/communication.js +142 -0
  64. package/dist/icons/engine/icons/communication.js.map +1 -0
  65. package/dist/icons/engine/icons/data.cjs +2 -0
  66. package/dist/icons/engine/icons/data.cjs.map +1 -0
  67. package/dist/icons/engine/icons/data.d.cts +29 -0
  68. package/dist/icons/engine/icons/data.d.ts +29 -0
  69. package/dist/icons/engine/icons/data.js +203 -0
  70. package/dist/icons/engine/icons/data.js.map +1 -0
  71. package/dist/icons/engine/icons/devices.cjs +2 -0
  72. package/dist/icons/engine/icons/devices.cjs.map +1 -0
  73. package/dist/icons/engine/icons/devices.d.cts +25 -0
  74. package/dist/icons/engine/icons/devices.d.ts +25 -0
  75. package/dist/icons/engine/icons/devices.js +188 -0
  76. package/dist/icons/engine/icons/devices.js.map +1 -0
  77. package/dist/icons/engine/icons/files.cjs +2 -0
  78. package/dist/icons/engine/icons/files.cjs.map +1 -0
  79. package/dist/icons/engine/icons/files.d.cts +33 -0
  80. package/dist/icons/engine/icons/files.d.ts +33 -0
  81. package/dist/icons/engine/icons/files.js +218 -0
  82. package/dist/icons/engine/icons/files.js.map +1 -0
  83. package/dist/icons/engine/icons/finance.cjs +2 -0
  84. package/dist/icons/engine/icons/finance.cjs.map +1 -0
  85. package/dist/icons/engine/icons/finance.d.cts +29 -0
  86. package/dist/icons/engine/icons/finance.d.ts +29 -0
  87. package/dist/icons/engine/icons/finance.js +229 -0
  88. package/dist/icons/engine/icons/finance.js.map +1 -0
  89. package/dist/icons/engine/icons/index.d.cts +10 -0
  90. package/dist/icons/engine/icons/index.d.ts +10 -0
  91. package/dist/icons/engine/icons/interface.cjs +2 -0
  92. package/dist/icons/engine/icons/interface.cjs.map +1 -0
  93. package/dist/icons/engine/icons/interface.d.cts +69 -0
  94. package/dist/icons/engine/icons/interface.d.ts +69 -0
  95. package/dist/icons/engine/icons/interface.js +471 -0
  96. package/dist/icons/engine/icons/interface.js.map +1 -0
  97. package/dist/icons/engine/icons/media.cjs +2 -0
  98. package/dist/icons/engine/icons/media.cjs.map +1 -0
  99. package/dist/icons/engine/icons/media.d.cts +41 -0
  100. package/dist/icons/engine/icons/media.d.ts +41 -0
  101. package/dist/icons/engine/icons/media.js +266 -0
  102. package/dist/icons/engine/icons/media.js.map +1 -0
  103. package/dist/icons/engine/icons/status.cjs +2 -0
  104. package/dist/icons/engine/icons/status.cjs.map +1 -0
  105. package/dist/icons/engine/icons/status.d.cts +31 -0
  106. package/dist/icons/engine/icons/status.d.ts +31 -0
  107. package/dist/icons/engine/icons/status.js +197 -0
  108. package/dist/icons/engine/icons/status.js.map +1 -0
  109. package/dist/icons/engine/path.cjs +3 -0
  110. package/dist/icons/engine/path.cjs.map +1 -0
  111. package/dist/icons/engine/path.d.cts +45 -0
  112. package/dist/icons/engine/path.d.ts +45 -0
  113. package/dist/icons/engine/path.js +215 -0
  114. package/dist/icons/engine/path.js.map +1 -0
  115. package/dist/icons/engine/registry.cjs +2 -0
  116. package/dist/icons/engine/registry.cjs.map +1 -0
  117. package/dist/icons/engine/registry.d.cts +13 -0
  118. package/dist/icons/engine/registry.d.ts +13 -0
  119. package/dist/icons/engine/registry.js +37 -0
  120. package/dist/icons/engine/registry.js.map +1 -0
  121. package/dist/icons/engine/renderers/batch.cjs +2 -0
  122. package/dist/icons/engine/renderers/batch.cjs.map +1 -0
  123. package/dist/icons/engine/renderers/batch.d.cts +32 -0
  124. package/dist/icons/engine/renderers/batch.d.ts +32 -0
  125. package/dist/icons/engine/renderers/batch.js +51 -0
  126. package/dist/icons/engine/renderers/batch.js.map +1 -0
  127. package/dist/icons/engine/renderers/canvas2d.cjs +2 -0
  128. package/dist/icons/engine/renderers/canvas2d.cjs.map +1 -0
  129. package/dist/icons/engine/renderers/canvas2d.d.cts +4 -0
  130. package/dist/icons/engine/renderers/canvas2d.d.ts +4 -0
  131. package/dist/icons/engine/renderers/canvas2d.js +30 -0
  132. package/dist/icons/engine/renderers/canvas2d.js.map +1 -0
  133. package/dist/icons/engine/renderers/detect.cjs +2 -0
  134. package/dist/icons/engine/renderers/detect.cjs.map +1 -0
  135. package/dist/icons/engine/renderers/detect.d.cts +13 -0
  136. package/dist/icons/engine/renderers/detect.d.ts +13 -0
  137. package/dist/icons/engine/renderers/detect.js +38 -0
  138. package/dist/icons/engine/renderers/detect.js.map +1 -0
  139. package/dist/icons/engine/renderers/gl.cjs +2 -0
  140. package/dist/icons/engine/renderers/gl.cjs.map +1 -0
  141. package/dist/icons/engine/renderers/gl.d.cts +9 -0
  142. package/dist/icons/engine/renderers/gl.d.ts +9 -0
  143. package/dist/icons/engine/renderers/gl.js +79 -0
  144. package/dist/icons/engine/renderers/gl.js.map +1 -0
  145. package/dist/icons/engine/renderers/shaders.cjs +58 -0
  146. package/dist/icons/engine/renderers/shaders.cjs.map +1 -0
  147. package/dist/icons/engine/renderers/shaders.d.cts +5 -0
  148. package/dist/icons/engine/renderers/shaders.d.ts +5 -0
  149. package/dist/icons/engine/renderers/shaders.js +6 -0
  150. package/dist/icons/engine/renderers/shaders.js.map +1 -0
  151. package/dist/icons/engine/renderers/types.d.cts +35 -0
  152. package/dist/icons/engine/renderers/types.d.ts +35 -0
  153. package/dist/icons/engine/renderers/webgpu.cjs +2 -0
  154. package/dist/icons/engine/renderers/webgpu.cjs.map +1 -0
  155. package/dist/icons/engine/renderers/webgpu.d.cts +4 -0
  156. package/dist/icons/engine/renderers/webgpu.d.ts +4 -0
  157. package/dist/icons/engine/renderers/webgpu.js +172 -0
  158. package/dist/icons/engine/renderers/webgpu.js.map +1 -0
  159. package/dist/icons/engine/surface.cjs +2 -0
  160. package/dist/icons/engine/surface.cjs.map +1 -0
  161. package/dist/icons/engine/surface.d.cts +7 -0
  162. package/dist/icons/engine/surface.d.ts +7 -0
  163. package/dist/icons/engine/surface.js +150 -0
  164. package/dist/icons/engine/surface.js.map +1 -0
  165. package/dist/icons/engine/svg.cjs +2 -0
  166. package/dist/icons/engine/svg.cjs.map +1 -0
  167. package/dist/icons/engine/svg.d.cts +13 -0
  168. package/dist/icons/engine/svg.d.ts +13 -0
  169. package/dist/icons/engine/svg.js +29 -0
  170. package/dist/icons/engine/svg.js.map +1 -0
  171. package/dist/icons/engine/tessellate.cjs +2 -0
  172. package/dist/icons/engine/tessellate.cjs.map +1 -0
  173. package/dist/icons/engine/tessellate.d.cts +20 -0
  174. package/dist/icons/engine/tessellate.d.ts +20 -0
  175. package/dist/icons/engine/tessellate.js +73 -0
  176. package/dist/icons/engine/tessellate.js.map +1 -0
  177. package/dist/icons/engine/theme.cjs +2 -0
  178. package/dist/icons/engine/theme.cjs.map +1 -0
  179. package/dist/icons/engine/theme.d.cts +2 -0
  180. package/dist/icons/engine/theme.d.ts +2 -0
  181. package/dist/icons/engine/theme.js +22 -0
  182. package/dist/icons/engine/theme.js.map +1 -0
  183. package/dist/icons/engine/types.d.cts +120 -0
  184. package/dist/icons/engine/types.d.ts +120 -0
  185. package/dist/icons/index.cjs +1 -0
  186. package/dist/icons/index.d.cts +7 -0
  187. package/dist/icons/index.d.ts +7 -0
  188. package/dist/icons/index.js +27 -0
  189. package/dist/icons/react/DynamicIcon.cjs +2 -0
  190. package/dist/icons/react/DynamicIcon.cjs.map +1 -0
  191. package/dist/icons/react/DynamicIcon.d.cts +7 -0
  192. package/dist/icons/react/DynamicIcon.d.ts +7 -0
  193. package/dist/icons/react/DynamicIcon.js +16 -0
  194. package/dist/icons/react/DynamicIcon.js.map +1 -0
  195. package/dist/icons/react/Icon.cjs +2 -0
  196. package/dist/icons/react/Icon.cjs.map +1 -0
  197. package/dist/icons/react/Icon.d.cts +7 -0
  198. package/dist/icons/react/Icon.d.ts +7 -0
  199. package/dist/icons/react/Icon.js +101 -0
  200. package/dist/icons/react/Icon.js.map +1 -0
  201. package/dist/icons/react/IconCanvas.cjs +2 -0
  202. package/dist/icons/react/IconCanvas.cjs.map +1 -0
  203. package/dist/icons/react/IconCanvas.d.cts +9 -0
  204. package/dist/icons/react/IconCanvas.d.ts +9 -0
  205. package/dist/icons/react/IconCanvas.js +64 -0
  206. package/dist/icons/react/IconCanvas.js.map +1 -0
  207. package/dist/icons/react/createIcon.cjs +2 -0
  208. package/dist/icons/react/createIcon.cjs.map +1 -0
  209. package/dist/icons/react/createIcon.d.cts +10 -0
  210. package/dist/icons/react/createIcon.d.ts +10 -0
  211. package/dist/icons/react/createIcon.js +18 -0
  212. package/dist/icons/react/createIcon.js.map +1 -0
  213. package/dist/icons/react/icons.cjs +2 -0
  214. package/dist/icons/react/icons.cjs.map +1 -0
  215. package/dist/icons/react/icons.d.cts +808 -0
  216. package/dist/icons/react/icons.d.ts +808 -0
  217. package/dist/icons/react/icons.js +18 -0
  218. package/dist/icons/react/icons.js.map +1 -0
  219. package/dist/icons/react/types.d.cts +62 -0
  220. package/dist/icons/react/types.d.ts +62 -0
  221. package/dist/vue/icon/DynamicIcon.vue.d.ts +68 -0
  222. package/dist/vue/icon/DynamicIcon.vue.js +7 -0
  223. package/dist/vue/icon/DynamicIcon.vue.js.map +1 -0
  224. package/dist/vue/icon/DynamicIcon.vue_vue_type_script_setup_true_lang.js +43 -0
  225. package/dist/vue/icon/DynamicIcon.vue_vue_type_script_setup_true_lang.js.map +1 -0
  226. package/dist/vue/icon/Icon.vue.d.ts +69 -0
  227. package/dist/vue/icon/Icon.vue.js +7 -0
  228. package/dist/vue/icon/Icon.vue.js.map +1 -0
  229. package/dist/vue/icon/Icon.vue_vue_type_script_setup_true_lang.js +95 -0
  230. package/dist/vue/icon/Icon.vue_vue_type_script_setup_true_lang.js.map +1 -0
  231. package/dist/vue/icon/IconCanvas.vue.d.ts +70 -0
  232. package/dist/vue/icon/IconCanvas.vue.js +7 -0
  233. package/dist/vue/icon/IconCanvas.vue.js.map +1 -0
  234. package/dist/vue/icon/IconCanvas.vue_vue_type_script_setup_true_lang.js +64 -0
  235. package/dist/vue/icon/IconCanvas.vue_vue_type_script_setup_true_lang.js.map +1 -0
  236. package/dist/vue/icon/createIcon.d.ts +30 -0
  237. package/dist/vue/icon/createIcon.js +15 -0
  238. package/dist/vue/icon/createIcon.js.map +1 -0
  239. package/dist/vue/icon/icons.d.ts +202 -0
  240. package/dist/vue/icon/icons.js +8 -0
  241. package/dist/vue/icon/icons.js.map +1 -0
  242. package/dist/vue/icon/index.d.ts +6 -0
  243. package/dist/vue/icon/index.js +6 -0
  244. package/dist/vue/icon/props.d.ts +38 -0
  245. package/dist/vue/icon/props.js +28 -0
  246. package/dist/vue/icon/props.js.map +1 -0
  247. package/dist/vue/icons-global.d.ts +9 -0
  248. package/dist/vue/icons.d.ts +20 -0
  249. package/dist/vue/icons.js +23 -0
  250. package/dist/vue/icons.js.map +1 -0
  251. package/dist/web-components/components/icon/icon-canvas.d.ts +59 -0
  252. package/dist/web-components/components/icon/icon-canvas.js +89 -0
  253. package/dist/web-components/components/icon/icon-canvas.js.map +1 -0
  254. package/dist/web-components/components/icon/icon.d.ts +63 -0
  255. package/dist/web-components/components/icon/icon.js +116 -0
  256. package/dist/web-components/components/icon/icon.js.map +1 -0
  257. package/dist/web-components/components/icon/renderer.d.ts +25 -0
  258. package/dist/web-components/components/icon/renderer.js +21 -0
  259. package/dist/web-components/components/icon/renderer.js.map +1 -0
  260. package/dist/web-components/elements/icon.d.ts +4 -0
  261. package/dist/web-components/elements/icon.js +8 -0
  262. package/dist/web-components/elements/icon.js.map +1 -0
  263. package/dist/web-components/html-custom-data.json +110 -0
  264. package/dist/web-components/types/react.d.ts +18 -0
  265. package/dist/web-components/types/solid.d.ts +12 -0
  266. package/dist/web-components/types/svelte.d.ts +12 -0
  267. package/dist/web-components/types/vue.d.ts +14 -0
  268. package/package.json +39 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # minerva-design
2
2
 
3
+ ## 1.10.0
4
+
5
+ ### Minor Changes
6
+
7
+ - b7dd085: The icon set for Vue, Angular and Web Components. `minerva-design/vue/icons` has `Icon`, `IconCanvas`, `DynamicIcon`, `createIcon`, one component per icon (`SearchIcon`…) and the opt-in `MinervaVueIcons` plugin (`<MnIcon>`, `<MnIconCanvas>`, `<MnDynamicIcon>`, typed by `minerva-design/vue/icons-global`). `minerva-design/angular` adds `MnIcon`, `MnIconCanvas` and `MnDynamicIcon`. The optional entry `minerva-design/web-components/icon` registers `<minerva-icon name="search">` and `<minerva-icon-canvas>` (not in the all-in-one entry or the CDN bundle). Each binding renders inline SVG by default and accepts the same `renderer` values as React; in Vue and Angular, as in React, the canvas renderers load with the first canvas icon. All of them share the single copy of `minerva-design/icons/core`.
8
+
9
+ ## 1.9.0
10
+
11
+ ### Minor Changes
12
+
13
+ - b1e8e8f: New icon set: `minerva-design/icons` and `minerva-design/icons/core`. 202 original icons drawn for Minerva on a 24×24 grid (2px strokes, round caps and joins) in 10 categories. Each icon is a tree-shakeable constant (`searchIcon`) and a React component (`SearchIcon`). `Icon` renders inline SVG by default, server-rendered and colored by `currentColor`; with `renderer="auto" | "webgpu" | "webgl2" | "webgl" | "canvas2d"` it draws on a canvas through a backend shared by the page. `IconCanvas` draws thousands of icons in a few instanced GPU draws (4× MSAA, one blend per icon), falling back WebGPU -> WebGL2 -> WebGL -> Canvas2D like the charts. `createIcon`, `defineIcon` and `DynamicIcon` cover custom icons and icons chosen by name. The framework-free core adds `toSvg`, `toSvgDataUri`, `drawIcon`, `createIconCanvas`, `createIconSurface`, `setDefaultIconRenderer` and the geometry helpers (`parseIconPath`, `flattenIconPath`, `tessellateIcon`).
14
+
3
15
  ## 1.8.0
4
16
 
5
17
  ### Minor Changes
package/README.md CHANGED
@@ -300,6 +300,10 @@ helpers are published as `minerva-design/styling-hooks`.
300
300
  | `minerva-design/monaco` | `MonacoCodeEditor` (optional peers `@monaco-editor/react` and `monaco-editor`) |
301
301
  | `minerva-design/charts` | GPU charts (WebGPU → WebGL2 → WebGL → Canvas2D): 2D, statistics, hierarchies and flows, relationship graphs (networks, DAGs, trees, chords), trading with 21 indicators, order books and 3D (`"use client"`) |
302
302
  | `minerva-design/charts/core` | The framework-free chart engines: `createChart`, `createShapeChart`, `createTradingChart`, `createDepthChart` / `createOrderBook` / `createOrderBookHeatmap` / `createTimeAndSales`, `createChart3D`, `createGraphChart`, plus `setDefaultChartRenderer` and `formatCompact` (server-safe import, no dependencies) |
303
+ | `minerva-design/icons` | 202 original icons: one component per icon (`SearchIcon`…), `Icon` (inline SVG, or a canvas with `renderer`), `IconCanvas` (thousands of icons in a few GPU draws), `createIcon`, `DynamicIcon` (`"use client"`) |
304
+ | `minerva-design/icons/core` | The framework-free icon set: icon data (`searchIcon`…), `toSvg`, `drawIcon`, `createIconCanvas`, `defineIcon`, `setDefaultIconRenderer` (server-safe import, no dependencies) |
305
+ | `minerva-design/vue/icons` | The icons for Vue 3: `Icon`, `IconCanvas`, `DynamicIcon`, `createIcon`, one component per icon and the opt-in `MinervaVueIcons` plugin (typings: `minerva-design/vue/icons-global`); Angular has `MnIcon`, `MnIconCanvas` and `MnDynamicIcon` in `minerva-design/angular` |
306
+ | `minerva-design/web-components/icon` | Optional: `<minerva-icon>` and `<minerva-icon-canvas>` (they load the icon set); not in the all-in-one / CDN |
303
307
  | `minerva-design/web-components` | Registers every custom element; exports the element classes, their types and the authoring utilities (ESM) |
304
308
  | `minerva-design/web-components/<name>` | Registers one element (and its parts / dependencies), e.g. `/button`, `/select`, `/modal`, `/config` |
305
309
  | `minerva-design/web-components/code-editor` | Optional: `<minerva-code-editor>` (Monaco), needs the optional peer `monaco-editor`; not in the all-in-one / CDN |
@@ -20278,6 +20278,362 @@
20278
20278
  }
20279
20279
  ]
20280
20280
  },
20281
+ {
20282
+ "kind": "javascript-module",
20283
+ "path": "src/components/icon/icon-canvas.ts",
20284
+ "declarations": [
20285
+ {
20286
+ "kind": "class",
20287
+ "description": "Many icons of minerva-design/icons on one canvas (the `<IconCanvas>` of\nReact): one instanced GPU draw per run of identical icons (WebGPU, WebGL2,\nWebGL) or Canvas2D, for dense pictures, maps, particles or animations of\nthousands of icons; for icons in the UI use `<minerva-icon>`. Set the\nicons (`IconCanvasItem`: `icon`, `x`, `y`, `size`, `color`, `rotation`,\n`opacity`...) as the `items` property; replace the array to redraw.\n\nThe canvas fills a box of `width` × `height` (100% × 240 pixels by\ndefault; a number is in pixels, any CSS size works) and follows its size.\nWith `renderer` `auto` it follows the page default\n(`setDefaultIconRenderer`) live. The host gets `data-renderer` with the\nbackend drawing.\n\nPublished as the optional entry `minerva-design/web-components/icon`.",
20288
+ "name": "MinervaIconCanvas",
20289
+ "cssParts": [
20290
+ {
20291
+ "description": "The box the canvas is drawn in (role=img when labelled)",
20292
+ "name": "surface"
20293
+ }
20294
+ ],
20295
+ "members": [
20296
+ {
20297
+ "kind": "field",
20298
+ "name": "items",
20299
+ "type": {
20300
+ "text": "readonly IconCanvasItem[]"
20301
+ },
20302
+ "default": "[]",
20303
+ "description": "Icons to draw, in painting order (later ones on top); replace the array to redraw; property only"
20304
+ },
20305
+ {
20306
+ "kind": "field",
20307
+ "name": "renderer",
20308
+ "type": {
20309
+ "text": "\"auto\" | \"webgpu\" | \"webgl2\" | \"webgl\" | \"canvas2d\""
20310
+ },
20311
+ "default": "\"auto\"",
20312
+ "description": "Backend preference (`auto` follows the page default)",
20313
+ "attribute": "renderer"
20314
+ },
20315
+ {
20316
+ "kind": "field",
20317
+ "name": "width",
20318
+ "type": {
20319
+ "text": "number | string"
20320
+ },
20321
+ "default": "\"100%\"",
20322
+ "description": "Width of the canvas box: a number is in pixels, or any CSS size",
20323
+ "attribute": "width"
20324
+ },
20325
+ {
20326
+ "kind": "field",
20327
+ "name": "height",
20328
+ "type": {
20329
+ "text": "number | string"
20330
+ },
20331
+ "default": "240",
20332
+ "description": "Height of the canvas box: a number is in pixels, or any CSS size",
20333
+ "attribute": "height"
20334
+ },
20335
+ {
20336
+ "kind": "field",
20337
+ "name": "pixelRatio",
20338
+ "type": {
20339
+ "text": "number | undefined"
20340
+ },
20341
+ "description": "Device pixel ratio of the canvas; by default the screen's",
20342
+ "attribute": "pixel-ratio"
20343
+ },
20344
+ {
20345
+ "kind": "field",
20346
+ "name": "label",
20347
+ "type": {
20348
+ "text": "string | undefined"
20349
+ },
20350
+ "description": "Accessible name of the picture (role=img); without it the canvas is hidden from assistive technologies",
20351
+ "attribute": "label"
20352
+ },
20353
+ {
20354
+ "kind": "field",
20355
+ "name": "canvas",
20356
+ "type": {
20357
+ "text": "HTMLCanvasElement | null"
20358
+ },
20359
+ "description": "The `<canvas>` drawn into, `null` until the element is rendered and connected",
20360
+ "readonly": true
20361
+ },
20362
+ {
20363
+ "kind": "method",
20364
+ "name": "getRenderer",
20365
+ "return": {
20366
+ "type": {
20367
+ "text": "IconRendererKind | null"
20368
+ }
20369
+ },
20370
+ "description": "Backend drawing (`webgpu`, `webgl2`, `webgl`, `canvas2d`), `null` until it started"
20371
+ },
20372
+ {
20373
+ "kind": "method",
20374
+ "name": "ready",
20375
+ "return": {
20376
+ "type": {
20377
+ "text": "Promise<IconRendererKind>"
20378
+ }
20379
+ },
20380
+ "description": "Resolves with the backend once it started and the current items are drawn; rejects when the element is not connected or no backend can start"
20381
+ }
20382
+ ],
20383
+ "events": [
20384
+ {
20385
+ "description": "The backend started (or fell back after a GPU loss); detail: { renderer }",
20386
+ "name": "minerva-renderer-change"
20387
+ }
20388
+ ],
20389
+ "attributes": [
20390
+ {
20391
+ "name": "renderer",
20392
+ "type": {
20393
+ "text": "\"auto\" | \"webgpu\" | \"webgl2\" | \"webgl\" | \"canvas2d\""
20394
+ },
20395
+ "default": "\"auto\"",
20396
+ "description": "Backend preference (`auto` follows the page default)",
20397
+ "fieldName": "renderer"
20398
+ },
20399
+ {
20400
+ "name": "width",
20401
+ "type": {
20402
+ "text": "number | string"
20403
+ },
20404
+ "default": "\"100%\"",
20405
+ "description": "Width of the canvas box: a number is in pixels, or any CSS size",
20406
+ "fieldName": "width"
20407
+ },
20408
+ {
20409
+ "name": "height",
20410
+ "type": {
20411
+ "text": "number | string"
20412
+ },
20413
+ "default": "240",
20414
+ "description": "Height of the canvas box: a number is in pixels, or any CSS size",
20415
+ "fieldName": "height"
20416
+ },
20417
+ {
20418
+ "name": "pixel-ratio",
20419
+ "type": {
20420
+ "text": "number | undefined"
20421
+ },
20422
+ "description": "Device pixel ratio of the canvas; by default the screen's",
20423
+ "fieldName": "pixelRatio"
20424
+ },
20425
+ {
20426
+ "name": "label",
20427
+ "type": {
20428
+ "text": "string | undefined"
20429
+ },
20430
+ "description": "Accessible name of the picture (role=img); without it the canvas is hidden from assistive technologies",
20431
+ "fieldName": "label"
20432
+ }
20433
+ ],
20434
+ "tagName": "minerva-icon-canvas",
20435
+ "customElement": true,
20436
+ "summary": "Thousands of icons on one GPU canvas."
20437
+ }
20438
+ ],
20439
+ "exports": [
20440
+ {
20441
+ "kind": "js",
20442
+ "name": "MinervaIconCanvas",
20443
+ "declaration": {
20444
+ "name": "MinervaIconCanvas",
20445
+ "module": "src/components/icon/icon-canvas.ts"
20446
+ }
20447
+ }
20448
+ ]
20449
+ },
20450
+ {
20451
+ "kind": "javascript-module",
20452
+ "path": "src/components/icon/icon.ts",
20453
+ "declarations": [
20454
+ {
20455
+ "kind": "class",
20456
+ "description": "An icon of minerva-design/icons (the `<Icon>` of React): inline SVG by\ndefault (crisp at any size, styled by CSS, server-renderable), or a\ncanvas drawn with WebGPU, WebGL2, WebGL or Canvas2D (`renderer`) by a\nbackend shared by every canvas icon of the page. Set a built-in icon by\n`name` (`search`, `arrow-up`...) or any icon, custom ones made with\n`defineIcon` included, as the `icon` property. The stroke follows the\ntext color unless `color` is set.\n\nWithout `label` the icon is decorative (hidden from assistive\ntechnologies); with one it is an image with that accessible name. In\ncanvas mode the host gets `data-renderer` with the backend drawing.\n\nPublished as the optional entry `minerva-design/web-components/icon`\n(not part of the all-in-one entry nor the CDN bundle: it loads the icon\nset `minerva-design/icons/core`).",
20457
+ "name": "MinervaIcon",
20458
+ "cssParts": [
20459
+ {
20460
+ "description": "The <svg> (or the <canvas> in canvas mode) drawing the icon",
20461
+ "name": "icon"
20462
+ }
20463
+ ],
20464
+ "members": [
20465
+ {
20466
+ "kind": "field",
20467
+ "name": "name",
20468
+ "type": {
20469
+ "text": "string | undefined"
20470
+ },
20471
+ "description": "Name of a built-in icon (`search`, `arrow-up`...); the `icon` property wins over it",
20472
+ "attribute": "name"
20473
+ },
20474
+ {
20475
+ "kind": "field",
20476
+ "name": "icon",
20477
+ "type": {
20478
+ "text": "IconDefinition | undefined"
20479
+ },
20480
+ "description": "Icon definition (a built-in icon constant, or a custom icon of `defineIcon`); wins over `name`; property only"
20481
+ },
20482
+ {
20483
+ "kind": "field",
20484
+ "name": "size",
20485
+ "type": {
20486
+ "text": "number"
20487
+ },
20488
+ "default": "24",
20489
+ "description": "Width and height in pixels",
20490
+ "attribute": "size"
20491
+ },
20492
+ {
20493
+ "kind": "field",
20494
+ "name": "color",
20495
+ "type": {
20496
+ "text": "string"
20497
+ },
20498
+ "default": "\"currentColor\"",
20499
+ "description": "Stroke color, any CSS color (`currentColor` follows the text color)",
20500
+ "attribute": "color"
20501
+ },
20502
+ {
20503
+ "kind": "field",
20504
+ "name": "strokeWidth",
20505
+ "type": {
20506
+ "text": "number"
20507
+ },
20508
+ "default": "2",
20509
+ "description": "Stroke width on the 24×24 grid (scales with the size unless `absolute-stroke-width`)",
20510
+ "attribute": "stroke-width"
20511
+ },
20512
+ {
20513
+ "kind": "field",
20514
+ "name": "absoluteStrokeWidth",
20515
+ "type": {
20516
+ "text": "boolean"
20517
+ },
20518
+ "default": "false",
20519
+ "description": "Keeps the stroke width in pixels whatever the size",
20520
+ "attribute": "absolute-stroke-width"
20521
+ },
20522
+ {
20523
+ "kind": "field",
20524
+ "name": "label",
20525
+ "type": {
20526
+ "text": "string | undefined"
20527
+ },
20528
+ "description": "Accessible name: the icon becomes an image (role=img); without it the icon is hidden from assistive technologies",
20529
+ "attribute": "label"
20530
+ },
20531
+ {
20532
+ "kind": "field",
20533
+ "name": "renderer",
20534
+ "type": {
20535
+ "text": "\"svg\" | \"auto\" | \"webgpu\" | \"webgl2\" | \"webgl\" | \"canvas2d\""
20536
+ },
20537
+ "default": "\"svg\"",
20538
+ "description": "`svg` (inline SVG), or a canvas drawn with the backend preference (`auto` follows the page default)",
20539
+ "attribute": "renderer"
20540
+ },
20541
+ {
20542
+ "kind": "method",
20543
+ "name": "getRenderer",
20544
+ "return": {
20545
+ "type": {
20546
+ "text": "IconRendererKind | null"
20547
+ }
20548
+ },
20549
+ "description": "Backend drawing the canvas (`webgpu`, `webgl2`, `webgl`, `canvas2d`); `null` in SVG mode or until drawn"
20550
+ }
20551
+ ],
20552
+ "events": [
20553
+ {
20554
+ "description": "Canvas mode: the backend drew the icon (or fell back after a GPU loss); detail: { renderer }",
20555
+ "name": "minerva-renderer-change"
20556
+ }
20557
+ ],
20558
+ "attributes": [
20559
+ {
20560
+ "name": "name",
20561
+ "type": {
20562
+ "text": "string | undefined"
20563
+ },
20564
+ "description": "Name of a built-in icon (`search`, `arrow-up`...); the `icon` property wins over it",
20565
+ "fieldName": "name"
20566
+ },
20567
+ {
20568
+ "name": "size",
20569
+ "type": {
20570
+ "text": "number"
20571
+ },
20572
+ "default": "24",
20573
+ "description": "Width and height in pixels",
20574
+ "fieldName": "size"
20575
+ },
20576
+ {
20577
+ "name": "color",
20578
+ "type": {
20579
+ "text": "string"
20580
+ },
20581
+ "default": "\"currentColor\"",
20582
+ "description": "Stroke color, any CSS color (`currentColor` follows the text color)",
20583
+ "fieldName": "color"
20584
+ },
20585
+ {
20586
+ "name": "stroke-width",
20587
+ "type": {
20588
+ "text": "number"
20589
+ },
20590
+ "default": "2",
20591
+ "description": "Stroke width on the 24×24 grid (scales with the size unless `absolute-stroke-width`)",
20592
+ "fieldName": "strokeWidth"
20593
+ },
20594
+ {
20595
+ "name": "absolute-stroke-width",
20596
+ "type": {
20597
+ "text": "boolean"
20598
+ },
20599
+ "default": "false",
20600
+ "description": "Keeps the stroke width in pixels whatever the size",
20601
+ "fieldName": "absoluteStrokeWidth"
20602
+ },
20603
+ {
20604
+ "name": "label",
20605
+ "type": {
20606
+ "text": "string | undefined"
20607
+ },
20608
+ "description": "Accessible name: the icon becomes an image (role=img); without it the icon is hidden from assistive technologies",
20609
+ "fieldName": "label"
20610
+ },
20611
+ {
20612
+ "name": "renderer",
20613
+ "type": {
20614
+ "text": "\"svg\" | \"auto\" | \"webgpu\" | \"webgl2\" | \"webgl\" | \"canvas2d\""
20615
+ },
20616
+ "default": "\"svg\"",
20617
+ "description": "`svg` (inline SVG), or a canvas drawn with the backend preference (`auto` follows the page default)",
20618
+ "fieldName": "renderer"
20619
+ }
20620
+ ],
20621
+ "tagName": "minerva-icon",
20622
+ "customElement": true,
20623
+ "summary": "Icon of the Minerva icon set, as inline SVG or on a GPU canvas."
20624
+ }
20625
+ ],
20626
+ "exports": [
20627
+ {
20628
+ "kind": "js",
20629
+ "name": "MinervaIcon",
20630
+ "declaration": {
20631
+ "name": "MinervaIcon",
20632
+ "module": "src/components/icon/icon.ts"
20633
+ }
20634
+ }
20635
+ ]
20636
+ },
20281
20637
  {
20282
20638
  "kind": "javascript-module",
20283
20639
  "path": "src/components/input/input.ts",