@vobs/ui 1.2.1 → 1.3.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 (120) hide show
  1. package/dist/activity-rail.cjs +65 -629
  2. package/dist/activity-rail.cjs.map +1 -1
  3. package/dist/activity-rail.js +44 -612
  4. package/dist/activity-rail.js.map +1 -1
  5. package/dist/alert.cjs +58 -536
  6. package/dist/alert.cjs.map +1 -1
  7. package/dist/alert.js +33 -519
  8. package/dist/alert.js.map +1 -1
  9. package/dist/avatar.cjs +45 -519
  10. package/dist/avatar.cjs.map +1 -1
  11. package/dist/avatar.js +26 -508
  12. package/dist/avatar.js.map +1 -1
  13. package/dist/button.cjs +46 -559
  14. package/dist/button.cjs.map +1 -1
  15. package/dist/button.js +21 -545
  16. package/dist/button.js.map +1 -1
  17. package/dist/card.cjs +55 -532
  18. package/dist/card.cjs.map +1 -1
  19. package/dist/card.js +30 -515
  20. package/dist/card.js.map +1 -1
  21. package/dist/chat-composer.cjs +84 -602
  22. package/dist/chat-composer.cjs.map +1 -1
  23. package/dist/chat-composer.js +52 -576
  24. package/dist/chat-composer.js.map +1 -1
  25. package/dist/dialog.cjs +88 -591
  26. package/dist/dialog.cjs.map +1 -1
  27. package/dist/dialog.js +63 -569
  28. package/dist/dialog.js.map +1 -1
  29. package/dist/drawer.cjs +91 -594
  30. package/dist/drawer.cjs.map +1 -1
  31. package/dist/drawer.js +65 -571
  32. package/dist/drawer.js.map +1 -1
  33. package/dist/editor-tabs.cjs +75 -635
  34. package/dist/editor-tabs.cjs.map +1 -1
  35. package/dist/editor-tabs.js +51 -616
  36. package/dist/editor-tabs.js.map +1 -1
  37. package/dist/file-tree.cjs +70 -634
  38. package/dist/file-tree.cjs.map +1 -1
  39. package/dist/file-tree.js +49 -617
  40. package/dist/file-tree.js.map +1 -1
  41. package/dist/forms.cjs +80 -589
  42. package/dist/forms.cjs.map +1 -1
  43. package/dist/forms.js +41 -559
  44. package/dist/forms.js.map +1 -1
  45. package/dist/icon.cjs +44 -624
  46. package/dist/icon.cjs.map +1 -1
  47. package/dist/icon.js +25 -615
  48. package/dist/icon.js.map +1 -1
  49. package/dist/icons.cjs +2 -3
  50. package/dist/icons.cjs.map +1 -1
  51. package/dist/icons.js +0 -1
  52. package/dist/icons.js.map +1 -1
  53. package/dist/index.cjs +735 -1586
  54. package/dist/index.cjs.map +1 -1
  55. package/dist/index.js +811 -1517
  56. package/dist/index.js.map +1 -1
  57. package/dist/kbd.cjs +53 -525
  58. package/dist/kbd.cjs.map +1 -1
  59. package/dist/kbd.js +30 -509
  60. package/dist/kbd.js.map +1 -1
  61. package/dist/menu.cjs +68 -582
  62. package/dist/menu.cjs.map +1 -1
  63. package/dist/menu.js +47 -565
  64. package/dist/menu.js.map +1 -1
  65. package/dist/nav-list.cjs +71 -635
  66. package/dist/nav-list.cjs.map +1 -1
  67. package/dist/nav-list.js +50 -618
  68. package/dist/nav-list.js.map +1 -1
  69. package/dist/overlay.cjs +43 -197
  70. package/dist/overlay.cjs.map +1 -1
  71. package/dist/overlay.js +20 -192
  72. package/dist/overlay.js.map +1 -1
  73. package/dist/page-header.cjs +68 -585
  74. package/dist/page-header.cjs.map +1 -1
  75. package/dist/page-header.js +42 -565
  76. package/dist/page-header.js.map +1 -1
  77. package/dist/pagination.cjs +70 -585
  78. package/dist/pagination.cjs.map +1 -1
  79. package/dist/pagination.js +53 -572
  80. package/dist/pagination.js.map +1 -1
  81. package/dist/stat-card.cjs +62 -538
  82. package/dist/stat-card.cjs.map +1 -1
  83. package/dist/stat-card.js +36 -519
  84. package/dist/stat-card.js.map +1 -1
  85. package/dist/status-bar.cjs +65 -576
  86. package/dist/status-bar.cjs.map +1 -1
  87. package/dist/status-bar.js +43 -560
  88. package/dist/status-bar.js.map +1 -1
  89. package/dist/table.cjs +87 -605
  90. package/dist/table.cjs.map +1 -1
  91. package/dist/table.js +57 -579
  92. package/dist/table.js.map +1 -1
  93. package/dist/tabs.cjs +62 -626
  94. package/dist/tabs.cjs.map +1 -1
  95. package/dist/tabs.js +45 -613
  96. package/dist/tabs.js.map +1 -1
  97. package/dist/tag.cjs +40 -514
  98. package/dist/tag.cjs.map +1 -1
  99. package/dist/tag.js +18 -503
  100. package/dist/tag.js.map +1 -1
  101. package/dist/toast.cjs +95 -1001
  102. package/dist/toast.cjs.map +1 -1
  103. package/dist/toast.js +74 -980
  104. package/dist/toast.js.map +1 -1
  105. package/dist/types.cjs +18 -2
  106. package/dist/types.cjs.map +1 -1
  107. package/dist/types.d.cts +5 -1
  108. package/dist/types.d.ts +5 -1
  109. package/dist/types.js +0 -2
  110. package/dist/types.js.map +1 -1
  111. package/dist/utils.cjs +77 -580
  112. package/dist/utils.cjs.map +1 -1
  113. package/dist/utils.js +29 -545
  114. package/dist/utils.js.map +1 -1
  115. package/dist/workbench-titlebar.cjs +83 -598
  116. package/dist/workbench-titlebar.cjs.map +1 -1
  117. package/dist/workbench-titlebar.js +55 -575
  118. package/dist/workbench-titlebar.js.map +1 -1
  119. package/package.json +5 -5
  120. package/src/types.ts +7 -0
package/dist/icons.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/icons.js"],"names":[],"mappings":"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","file":"icons.js","sourcesContent":["/**\n * Lightweight icon set inspired by Lucide / shadcn — square, 2px stroke,\n * butt caps, miter joins. Use <i data-icon=\"name\"></i> and call Icons.render().\n */\n(function (global) {\n const ATTRS = 'xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"butt\" stroke-linejoin=\"miter\"';\n\n const PATHS = {\n // navigation\n 'globe': '<circle cx=\"12\" cy=\"12\" r=\"10\"/><path d=\"M2 12h20\"/><path d=\"M12 2a15.3 15.3 0 0 1 0 20\"/><path d=\"M12 2a15.3 15.3 0 0 0 0 20\"/>',\n 'dashboard': '<rect x=\"3\" y=\"3\" width=\"7\" height=\"9\"/><rect x=\"14\" y=\"3\" width=\"7\" height=\"5\"/><rect x=\"14\" y=\"12\" width=\"7\" height=\"9\"/><rect x=\"3\" y=\"16\" width=\"7\" height=\"5\"/>',\n 'mouse': '<rect x=\"6\" y=\"2\" width=\"12\" height=\"20\" rx=\"6\"/><line x1=\"12\" y1=\"6\" x2=\"12\" y2=\"11\"/>',\n 'search': '<circle cx=\"11\" cy=\"11\" r=\"7\"/><path d=\"m20 20-3.5-3.5\"/>',\n 'square': '<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\"/>',\n 'circle': '<circle cx=\"12\" cy=\"12\" r=\"9\"/>',\n 'list': '<line x1=\"8\" y1=\"6\" x2=\"21\" y2=\"6\"/><line x1=\"8\" y1=\"12\" x2=\"21\" y2=\"12\"/><line x1=\"8\" y1=\"18\" x2=\"21\" y2=\"18\"/><line x1=\"3\" y1=\"6\" x2=\"3.01\" y2=\"6\"/><line x1=\"3\" y1=\"12\" x2=\"3.01\" y2=\"12\"/><line x1=\"3\" y1=\"18\" x2=\"3.01\" y2=\"18\"/>',\n 'palette': '<rect x=\"3\" y=\"3\" width=\"8\" height=\"8\"/><rect x=\"13\" y=\"3\" width=\"8\" height=\"8\"/><rect x=\"3\" y=\"13\" width=\"8\" height=\"8\"/><rect x=\"13\" y=\"13\" width=\"8\" height=\"8\"/>',\n 'type': '<polyline points=\"4 7 4 4 20 4 20 7\"/><line x1=\"9\" y1=\"20\" x2=\"15\" y2=\"20\"/><line x1=\"12\" y1=\"4\" x2=\"12\" y2=\"20\"/>',\n 'ruler': '<rect x=\"3\" y=\"9\" width=\"18\" height=\"6\" transform=\"rotate(-45 12 12)\"/><line x1=\"7.5\" y1=\"12.5\" x2=\"9\" y2=\"14\"/><line x1=\"11\" y1=\"9\" x2=\"12.5\" y2=\"10.5\"/><line x1=\"14.5\" y1=\"5.5\" x2=\"16\" y2=\"7\"/>',\n 'sparkles': '<path d=\"M12 3l1.8 4.2L18 9l-4.2 1.8L12 15l-1.8-4.2L6 9l4.2-1.8L12 3z\"/><path d=\"M19 14l1 2.2 2.2 1-2.2 1L19 20.4l-1-2.2-2.2-1 2.2-1L19 14z\"/>',\n // actions\n 'copy': '<rect x=\"8\" y=\"8\" width=\"13\" height=\"13\"/><path d=\"M16 8V4H4v13h4\"/>',\n 'download': '<path d=\"M12 3v12\"/><polyline points=\"7 10 12 15 17 10\"/><line x1=\"3\" y1=\"21\" x2=\"21\" y2=\"21\"/>',\n 'refresh': '<polyline points=\"21 4 21 10 15 10\"/><polyline points=\"3 20 3 14 9 14\"/><path d=\"M20.5 9A9 9 0 0 0 5 5.5L3 7M3.5 15A9 9 0 0 0 19 18.5L21 17\"/>',\n 'external': '<polyline points=\"14 4 20 4 20 10\"/><line x1=\"20\" y1=\"4\" x2=\"11\" y2=\"13\"/><path d=\"M20 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h5\"/>',\n 'settings': '<circle cx=\"12\" cy=\"12\" r=\"3\"/><path d=\"M19.4 15a1.7 1.7 0 0 0 .3 1.8l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.8-.3 1.7 1.7 0 0 0-1 1.5V21a2 2 0 1 1-4 0v-.1a1.7 1.7 0 0 0-1-1.5 1.7 1.7 0 0 0-1.8.3l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1H3a2 2 0 1 1 0-4h.1a1.7 1.7 0 0 0 1.5-1 1.7 1.7 0 0 0-.3-1.8l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.8.3H9a1.7 1.7 0 0 0 1-1.5V3a2 2 0 1 1 4 0v.1a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.8-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.8V9a1.7 1.7 0 0 0 1.5 1H21a2 2 0 1 1 0 4h-.1a1.7 1.7 0 0 0-1.5 1z\"/>',\n 'sliders': '<line x1=\"4\" y1=\"21\" x2=\"4\" y2=\"14\"/><line x1=\"4\" y1=\"10\" x2=\"4\" y2=\"3\"/><line x1=\"12\" y1=\"21\" x2=\"12\" y2=\"12\"/><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"3\"/><line x1=\"20\" y1=\"21\" x2=\"20\" y2=\"16\"/><line x1=\"20\" y1=\"12\" x2=\"20\" y2=\"3\"/><line x1=\"1\" y1=\"14\" x2=\"7\" y2=\"14\"/><line x1=\"9\" y1=\"8\" x2=\"15\" y2=\"8\"/><line x1=\"17\" y1=\"16\" x2=\"23\" y2=\"16\"/>',\n 'plus': '<line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"/>',\n 'minus': '<line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"/>',\n 'x': '<line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"/><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"/>',\n 'github': '<path d=\"M9 19c-4.3 1.4-4.3-2.5-6-3m12 5v-3.5c0-1 .1-1.4-.5-2 2.8-.3 5.5-1.4 5.5-6a4.6 4.6 0 0 0-1.3-3.2 4.2 4.2 0 0 0-.1-3.2s-1.1-.3-3.5 1.3a12 12 0 0 0-6.2 0C6.5 2.8 5.4 3.1 5.4 3.1a4.2 4.2 0 0 0-.1 3.2A4.6 4.6 0 0 0 4 9.5c0 4.6 2.7 5.7 5.5 6-.6.6-.6 1.2-.5 2V21\"/>',\n 'message-circle':'<path d=\"M21 12a9 9 0 0 1-13.5 7.8L3 21l1.2-4.5A9 9 0 1 1 21 12z\"/>',\n // SOLO chat title-bar glyphs (Figma 2510_18334) — round bubble + plus,\n // 4-tooth gear with center circle, and person-in-circle account avatar.\n 'message-plus':'<path d=\"M21 12a9 9 0 0 1-13.5 7.8L3 21l1.2-4.5A9 9 0 1 1 21 12z\"/><line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"15\"/><line x1=\"9\" y1=\"12\" x2=\"15\" y2=\"12\"/>',\n 'gear': '<path d=\"M9.3 5.7 6.375 5.025 5.025 6.375 5.7 9.3 3 11.1 3 12.9 5.7 14.7 5.025 17.625 6.375 18.975 9.3 18.3 11.1 21 12.9 21 14.7 18.3 17.625 18.975 18.975 17.625 18.3 14.7 21 12.9 21 11.1 18.3 9.3 18.975 6.375 17.625 5.025 14.7 5.7 12.9 3 11.1 3 9.3 5.7Z\"/><circle cx=\"12\" cy=\"12\" r=\"3\"/>',\n 'user-circle': '<circle cx=\"12\" cy=\"12\" r=\"9\"/><circle cx=\"12\" cy=\"10\" r=\"2.5\"/><path d=\"M7 17.5a5 5 0 0 1 10 0\"/>',\n 'shield': '<path d=\"M12 3 4 6v6c0 5 3.5 8 8 9 4.5-1 8-4 8-9V6z\"/>',\n 'check': '<polyline points=\"4 12 10 18 20 6\"/>',\n 'arrow-right': '<line x1=\"4\" y1=\"12\" x2=\"20\" y2=\"12\"/><polyline points=\"14 6 20 12 14 18\"/>',\n 'arrow-up-right': '<line x1=\"6\" y1=\"18\" x2=\"18\" y2=\"6\"/><polyline points=\"9 6 18 6 18 15\"/>',\n 'chevron-right':'<polyline points=\"9 6 15 12 9 18\"/>',\n 'chevron-down':'<polyline points=\"6 9 12 15 18 9\"/>',\n // status — strict outline, 24x24, 2px stroke (no filled bowls)\n 'check-circle':'<circle cx=\"12\" cy=\"12\" r=\"9\"/><polyline points=\"8 12 11 15 16 9\"/>',\n 'alert-circle':'<circle cx=\"12\" cy=\"12\" r=\"9\"/><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"13\"/><line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"16.01\"/>',\n 'alert-triangle':'<path d=\"M12 3 22 20 2 20 Z\"/><line x1=\"12\" y1=\"10\" x2=\"12\" y2=\"15\"/><line x1=\"12\" y1=\"18\" x2=\"12\" y2=\"18.01\"/>',\n 'info-circle': '<circle cx=\"12\" cy=\"12\" r=\"9\"/><line x1=\"12\" y1=\"11\" x2=\"12\" y2=\"16\"/><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"8.01\"/>',\n 'x-circle': '<circle cx=\"12\" cy=\"12\" r=\"9\"/><line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\"/><line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\"/>',\n // legacy aliases — kept outline, square frame\n 'alert': '<path d=\"M12 3 22 20 2 20 Z\"/><line x1=\"12\" y1=\"10\" x2=\"12\" y2=\"15\"/><line x1=\"12\" y1=\"18\" x2=\"12\" y2=\"18.01\"/>',\n 'info': '<circle cx=\"12\" cy=\"12\" r=\"9\"/><line x1=\"12\" y1=\"11\" x2=\"12\" y2=\"16\"/><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"8.01\"/>',\n // misc\n 'mail': '<rect x=\"3\" y=\"5\" width=\"18\" height=\"14\"/><polyline points=\"3 6 12 13 21 6\"/>',\n 'user': '<path d=\"M4 21v-1a6 6 0 0 1 6-6h4a6 6 0 0 1 6 6v1\"/><circle cx=\"12\" cy=\"8\" r=\"4\"/>',\n 'users': '<path d=\"M2 21v-1a5 5 0 0 1 5-5h3a5 5 0 0 1 5 5v1\"/><circle cx=\"8.5\" cy=\"8\" r=\"3.5\"/><path d=\"M22 21v-1a5 5 0 0 0-4-4.9\"/><path d=\"M16 3.1A4 4 0 0 1 16 11\"/>',\n 'box': '<polyline points=\"3 7 12 2 21 7 21 17 12 22 3 17 3 7\"/><line x1=\"3\" y1=\"7\" x2=\"12\" y2=\"12\"/><line x1=\"21\" y1=\"7\" x2=\"12\" y2=\"12\"/><line x1=\"12\" y1=\"22\" x2=\"12\" y2=\"12\"/>',\n 'zap': '<polygon points=\"13 2 4 14 12 14 11 22 20 10 12 10 13 2\"/>',\n 'moon': '<path d=\"M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z\"/>',\n 'sun': '<circle cx=\"12\" cy=\"12\" r=\"4\"/><line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"5\"/><line x1=\"12\" y1=\"19\" x2=\"12\" y2=\"22\"/><line x1=\"2\" y1=\"12\" x2=\"5\" y2=\"12\"/><line x1=\"19\" y1=\"12\" x2=\"22\" y2=\"12\"/><line x1=\"4.6\" y1=\"4.6\" x2=\"6.7\" y2=\"6.7\"/><line x1=\"17.3\" y1=\"17.3\" x2=\"19.4\" y2=\"19.4\"/><line x1=\"4.6\" y1=\"19.4\" x2=\"6.7\" y2=\"17.3\"/><line x1=\"17.3\" y1=\"6.7\" x2=\"19.4\" y2=\"4.6\"/>',\n 'cmd': '<path d=\"M9 6h6v12H9z\"/><rect x=\"3\" y=\"3\" width=\"6\" height=\"6\"/><rect x=\"15\" y=\"3\" width=\"6\" height=\"6\"/><rect x=\"3\" y=\"15\" width=\"6\" height=\"6\"/><rect x=\"15\" y=\"15\" width=\"6\" height=\"6\"/>',\n 'key': '<circle cx=\"7.5\" cy=\"14.5\" r=\"3.5\"/><line x1=\"10\" y1=\"12\" x2=\"22\" y2=\"12\"/><line x1=\"22\" y1=\"12\" x2=\"22\" y2=\"16\"/><line x1=\"18\" y1=\"12\" x2=\"18\" y2=\"15\"/>',\n 'bell': '<path d=\"M6 8a6 6 0 0 1 12 0c0 7 3 8 3 8H3s3-1 3-8z\"/><path d=\"M10 21a2 2 0 0 0 4 0\"/>',\n 'arrow-up': '<line x1=\"12\" y1=\"20\" x2=\"12\" y2=\"4\"/><polyline points=\"6 10 12 4 18 10\"/>',\n 'chevron-up': '<polyline points=\"6 15 12 9 18 15\"/>',\n 'arrow-left': '<line x1=\"20\" y1=\"12\" x2=\"4\" y2=\"12\"/><polyline points=\"10 6 4 12 10 18\"/>',\n 'mic': '<rect x=\"9\" y=\"3\" width=\"6\" height=\"12\" rx=\"3\"/><path d=\"M5 11a7 7 0 0 0 14 0\"/><line x1=\"12\" y1=\"18\" x2=\"12\" y2=\"22\"/>',\n 'at': '<circle cx=\"12\" cy=\"12\" r=\"4\"/><path d=\"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8\"/>',\n 'hash': '<line x1=\"4\" y1=\"9\" x2=\"20\" y2=\"9\"/><line x1=\"4\" y1=\"15\" x2=\"20\" y2=\"15\"/><line x1=\"10\" y1=\"3\" x2=\"8\" y2=\"21\"/><line x1=\"16\" y1=\"3\" x2=\"14\" y2=\"21\"/>',\n 'sidebar-left': '<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\"/><line x1=\"9\" y1=\"3\" x2=\"9\" y2=\"21\"/>',\n 'sidebar-right': '<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\"/><line x1=\"15\" y1=\"3\" x2=\"15\" y2=\"21\"/>',\n 'panel-bottom': '<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\"/><line x1=\"3\" y1=\"15\" x2=\"21\" y2=\"15\"/>',\n /* ===== Activity-bar icon set =====================================\n * Lucide / shadcn-ui (MIT) — squared outline, 2px stroke. Every glyph\n * draws into the same standard 24-grid bbox (≈3..21) so they read at\n * identical optical size when sized via `data-size` alone, just like\n * every other glyph in this file. See skill.md §13.4. */\n 'git': '<circle cx=\"6\" cy=\"5\" r=\"3\"/><circle cx=\"6\" cy=\"19\" r=\"3\"/><circle cx=\"18\" cy=\"5\" r=\"3\"/><line x1=\"6\" y1=\"8\" x2=\"6\" y2=\"16\"/><path d=\"M18 8v3a4 4 0 0 1-4 4h-4\"/>',\n 'bug': '<rect x=\"8\" y=\"6\" width=\"8\" height=\"14\" rx=\"4\"/><line x1=\"12\" y1=\"11\" x2=\"12\" y2=\"20\"/><line x1=\"3\" y1=\"9\" x2=\"8\" y2=\"9\"/><line x1=\"3\" y1=\"14\" x2=\"8\" y2=\"14\"/><line x1=\"3\" y1=\"19\" x2=\"8\" y2=\"19\"/><line x1=\"16\" y1=\"9\" x2=\"21\" y2=\"9\"/><line x1=\"16\" y1=\"14\" x2=\"21\" y2=\"14\"/><line x1=\"16\" y1=\"19\" x2=\"21\" y2=\"19\"/><line x1=\"9\" y1=\"6\" x2=\"9\" y2=\"3\"/><line x1=\"15\" y1=\"6\" x2=\"15\" y2=\"3\"/>',\n 'search-menu': '<circle cx=\"11\" cy=\"11\" r=\"6\"/><line x1=\"20\" y1=\"20\" x2=\"16\" y2=\"16\"/><line x1=\"3\" y1=\"20\" x2=\"13\" y2=\"20\"/>',\n 'extensions': '<rect x=\"3\" y=\"3\" width=\"7\" height=\"7\"/><rect x=\"14\" y=\"3\" width=\"7\" height=\"7\"/><rect x=\"3\" y=\"14\" width=\"7\" height=\"7\"/><path d=\"M17.5 14v3.5H21a2 2 0 0 1 0 4h-3.5V21a2 2 0 0 1-4 0v-3.5H14a2 2 0 0 1 0-4h3.5z\"/>',\n // settings sidebar — squared, hard-edged outline (Lucide-ish), 2px stroke\n 'wrench': '<path d=\"M14.7 6.3a4 4 0 0 0 5 5L21 12.5l-7.5 7.5a3 3 0 0 1-4.2-4.2L16.7 8 14.7 6.3z\"/><path d=\"M14.7 6.3 12 9l-3-3 2.7-2.7a4 4 0 0 1 3 3z\"/>',\n 'message-square': '<path d=\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\"/>',\n 'file-text': '<path d=\"M14 3H6v18h12V8z\"/><polyline points=\"14 3 14 8 18 8\"/><line x1=\"9\" y1=\"13\" x2=\"15\" y2=\"13\"/><line x1=\"9\" y1=\"17\" x2=\"15\" y2=\"17\"/>',\n 'scroll-text': '<path d=\"M5 4h11a3 3 0 0 1 3 3v10H8v3a1 1 0 0 1-1 1 3 3 0 0 1-3-3V7a3 3 0 0 1 1-3z\"/><line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"9\"/><line x1=\"9\" y1=\"13\" x2=\"15\" y2=\"13\"/>',\n 'atom': '<circle cx=\"12\" cy=\"12\" r=\"2\"/><ellipse cx=\"12\" cy=\"12\" rx=\"10\" ry=\"4\"/><ellipse cx=\"12\" cy=\"12\" rx=\"10\" ry=\"4\" transform=\"rotate(60 12 12)\"/><ellipse cx=\"12\" cy=\"12\" rx=\"10\" ry=\"4\" transform=\"rotate(120 12 12)\"/>',\n 'arrow-right-to-line': '<line x1=\"20\" y1=\"4\" x2=\"20\" y2=\"20\"/><line x1=\"3\" y1=\"12\" x2=\"17\" y2=\"12\"/><polyline points=\"11 6 17 12 11 18\"/>',\n 'info-square': '<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\"/><line x1=\"12\" y1=\"11\" x2=\"12\" y2=\"16\"/><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"8.01\"/>',\n /* Window-control glyphs for SOLO top bar (Figma 2510_20754):\n * .arrow-minimize → diagonal-in arrows (collapse to corners)\n * .icon-expand → diagonal-out arrows (expand to corners) */\n 'arrow-minimize': '<polyline points=\"20 4 14 10 20 10\"/><line x1=\"14\" y1=\"10\" x2=\"14\" y2=\"4\"/><polyline points=\"4 20 10 14 4 14\"/><line x1=\"10\" y1=\"14\" x2=\"10\" y2=\"20\"/>',\n 'arrow-expand': '<polyline points=\"14 4 20 4 20 10\"/><line x1=\"14\" y1=\"10\" x2=\"20\" y2=\"4\"/><polyline points=\"10 20 4 20 4 14\"/><line x1=\"10\" y1=\"14\" x2=\"4\" y2=\"20\"/>',\n 'arrow-down': '<line x1=\"12\" y1=\"4\" x2=\"12\" y2=\"20\"/><polyline points=\"6 14 12 20 18 14\"/>',\n 'logo': '<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\"/><line x1=\"3\" y1=\"9\" x2=\"21\" y2=\"9\"/><line x1=\"9\" y1=\"21\" x2=\"9\" y2=\"9\"/>',\n // additional UI\n 'more-h': '<circle cx=\"5\" cy=\"12\" r=\"1.5\" fill=\"currentColor\"/><circle cx=\"12\" cy=\"12\" r=\"1.5\" fill=\"currentColor\"/><circle cx=\"19\" cy=\"12\" r=\"1.5\" fill=\"currentColor\"/>',\n 'edit': '<path d=\"M4 20h4l10-10-4-4L4 16v4z\"/><path d=\"M14 6l4 4\"/>',\n 'trash': '<polyline points=\"4 6 20 6\"/><path d=\"M6 6v14h12V6\"/><path d=\"M9 6V4h6v2\"/><line x1=\"10\" y1=\"10\" x2=\"10\" y2=\"17\"/><line x1=\"14\" y1=\"10\" x2=\"14\" y2=\"17\"/>',\n 'file': '<path d=\"M14 3H6v18h12V7z\"/><polyline points=\"14 3 14 7 18 7\"/>',\n // Stacked documents — Lucide \"files\" (3..21).\n 'files': '<path d=\"M21 8v13H8V3h8z\"/><polyline points=\"16 3 16 8 21 8\"/><path d=\"M8 7H3v14h13v-3\"/>',\n // Pure 2×2 grid — Lucide \"layout-grid\" (3..21).\n 'grid-2x2': '<rect x=\"3\" y=\"3\" width=\"8\" height=\"8\"/><rect x=\"13\" y=\"3\" width=\"8\" height=\"8\"/><rect x=\"3\" y=\"13\" width=\"8\" height=\"8\"/><rect x=\"13\" y=\"13\" width=\"8\" height=\"8\"/>',\n 'folder': '<path d=\"M3 6h6l2 3h10v10H3z\"/>',\n 'layers': '<polygon points=\"12 3 22 8 12 13 2 8 12 3\"/><polyline points=\"2 13 12 18 22 13\"/>',\n 'layout': '<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\"/><line x1=\"3\" y1=\"9\" x2=\"21\" y2=\"9\"/><line x1=\"9\" y1=\"21\" x2=\"9\" y2=\"9\"/>',\n 'terminal': '<polyline points=\"4 7 9 12 4 17\"/><line x1=\"12\" y1=\"17\" x2=\"20\" y2=\"17\"/>',\n 'image': '<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\"/><circle cx=\"9\" cy=\"9\" r=\"1.5\" fill=\"currentColor\"/><polyline points=\"3 18 9 12 13 16 17 12 21 16\"/>',\n 'play': '<polygon points=\"6 4 20 12 6 20 6 4\"/>',\n 'pause': '<rect x=\"6\" y=\"4\" width=\"4\" height=\"16\"/><rect x=\"14\" y=\"4\" width=\"4\" height=\"16\"/>',\n 'help': '<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\"/><path d=\"M9 9a3 3 0 0 1 6 0c0 2-3 2-3 4\"/><line x1=\"12\" y1=\"17\" x2=\"12\" y2=\"17.01\"/>',\n 'lock': '<rect x=\"4\" y=\"11\" width=\"16\" height=\"10\"/><path d=\"M8 11V8a4 4 0 0 1 8 0v3\"/>',\n // Lucide \"eye\" (2..22 horizontal, naturally short — eye shape).\n 'eye': '<path d=\"M2 12s4-7 10-7 10 7 10 7-4 7-10 7-10-7-10-7z\"/><circle cx=\"12\" cy=\"12\" r=\"3\"/>',\n 'star': '<polygon points=\"12 3 15 9 22 10 17 14 18 21 12 18 6 21 7 14 2 10 9 9 12 3\"/>',\n 'heart': '<path d=\"M12 21s-7-5-7-11a4 4 0 0 1 7-2 4 4 0 0 1 7 2c0 6-7 11-7 11z\"/>',\n 'home': '<polygon points=\"3 11 12 3 21 11 21 21 14 21 14 14 10 14 10 21 3 21 3 11\"/>',\n 'calendar': '<rect x=\"3\" y=\"5\" width=\"18\" height=\"16\"/><line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"/><line x1=\"8\" y1=\"3\" x2=\"8\" y2=\"7\"/><line x1=\"16\" y1=\"3\" x2=\"16\" y2=\"7\"/>',\n 'clock': '<circle cx=\"12\" cy=\"12\" r=\"9\"/><polyline points=\"12 7 12 12 16 14\"/>',\n 'filter': '<polygon points=\"3 4 21 4 14 12 14 20 10 18 10 12 3 4\"/>',\n 'send': '<polygon points=\"3 12 21 4 17 21 12 13 3 12\"/>',\n 'link': '<path d=\"M10 14a4 4 0 0 1 0-6l3-3a4 4 0 0 1 6 6l-1.5 1.5\"/><path d=\"M14 10a4 4 0 0 1 0 6l-3 3a4 4 0 0 1-6-6l1.5-1.5\"/>',\n 'upload': '<path d=\"M12 21V9\"/><polyline points=\"7 14 12 9 17 14\"/><line x1=\"3\" y1=\"3\" x2=\"21\" y2=\"3\"/>',\n 'log-out': '<path d=\"M14 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h9\"/><polyline points=\"16 16 21 12 16 8\"/><line x1=\"9\" y1=\"12\" x2=\"21\" y2=\"12\"/>',\n 'menu': '<line x1=\"4\" y1=\"6\" x2=\"20\" y2=\"6\"/><line x1=\"4\" y1=\"12\" x2=\"20\" y2=\"12\"/><line x1=\"4\" y1=\"18\" x2=\"20\" y2=\"18\"/>',\n // data / charts\n 'dollar': '<line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"22\"/><path d=\"M17 6H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6\"/>',\n 'bar': '<line x1=\"3\" y1=\"21\" x2=\"21\" y2=\"21\"/><rect x=\"5\" y=\"11\" width=\"3\" height=\"8\"/><rect x=\"10.5\" y=\"6\" width=\"3\" height=\"13\"/><rect x=\"16\" y=\"14\" width=\"3\" height=\"5\"/>',\n 'trending-up': '<polyline points=\"3 17 9 11 13 15 21 7\"/><polyline points=\"15 7 21 7 21 13\"/>',\n 'trending-down': '<polyline points=\"3 7 9 13 13 9 21 17\"/><polyline points=\"15 17 21 17 21 11\"/>',\n 'columns': '<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\"/><line x1=\"9\" y1=\"3\" x2=\"9\" y2=\"21\"/><line x1=\"15\" y1=\"3\" x2=\"15\" y2=\"21\"/>',\n // settings — framework rules\n 'plug': '<path d=\"M9 2v6\"/><path d=\"M15 2v6\"/><path d=\"M7 8h10v4a5 5 0 0 1-10 0V8z\"/><path d=\"M12 17v5\"/>',\n 'cpu': '<rect x=\"6\" y=\"6\" width=\"12\" height=\"12\"/><rect x=\"9\" y=\"9\" width=\"6\" height=\"6\"/><line x1=\"9\" y1=\"2\" x2=\"9\" y2=\"6\"/><line x1=\"15\" y1=\"2\" x2=\"15\" y2=\"6\"/><line x1=\"9\" y1=\"18\" x2=\"9\" y2=\"22\"/><line x1=\"15\" y1=\"18\" x2=\"15\" y2=\"22\"/><line x1=\"2\" y1=\"9\" x2=\"6\" y2=\"9\"/><line x1=\"2\" y1=\"15\" x2=\"6\" y2=\"15\"/><line x1=\"18\" y1=\"9\" x2=\"22\" y2=\"9\"/><line x1=\"18\" y1=\"15\" x2=\"22\" y2=\"15\"/>',\n 'code': '<polyline points=\"16 18 22 12 16 6\"/><polyline points=\"8 6 2 12 8 18\"/>',\n // brand — filled Apple glyph for download CTA\n 'apple': '<path fill=\"currentColor\" stroke=\"none\" d=\"M17.05 12.04c-.03-3.04 2.49-4.5 2.6-4.57-1.42-2.07-3.62-2.36-4.4-2.39-1.87-.19-3.65 1.1-4.6 1.1-.96 0-2.42-1.08-3.98-1.05-2.05.03-3.94 1.19-4.99 3.02-2.13 3.69-.54 9.13 1.53 12.12 1.01 1.46 2.21 3.1 3.78 3.04 1.52-.06 2.09-.98 3.93-.98 1.83 0 2.36.98 3.97.95 1.64-.03 2.68-1.49 3.68-2.96 1.16-1.7 1.64-3.35 1.66-3.43-.04-.02-3.18-1.22-3.21-4.85zM14.06 4.34c.83-1.01 1.39-2.41 1.24-3.81-1.2.05-2.65.8-3.51 1.8-.77.89-1.45 2.31-1.27 3.68 1.34.1 2.71-.68 3.54-1.67z\"/>',\n };\n\n function svg(name, size = 16, viewBox = '0 0 24 24') {\n const path = PATHS[name];\n if (!path) return '';\n const attrs = ATTRS\n .replace('width=\"16\"', `width=\"${size}\"`)\n .replace('height=\"16\"', `height=\"${size}\"`)\n .replace('viewBox=\"0 0 24 24\"', `viewBox=\"${viewBox}\"`);\n return `<svg ${attrs}>${path}</svg>`;\n }\n\n function render(root = document) {\n root.querySelectorAll('[data-icon]').forEach(el => {\n const name = el.getAttribute('data-icon');\n const size = +el.getAttribute('data-size') || 16;\n const vb = el.getAttribute('data-viewbox') || '0 0 24 24';\n el.innerHTML = svg(name, size, vb);\n el.classList.add('icon');\n });\n }\n\n global.Icons = { svg, render, PATHS };\n if (document.readyState !== 'loading') render();\n else document.addEventListener('DOMContentLoaded', () => render());\n})(typeof window !== 'undefined' ? window : globalThis);\n"]}
1
+ {"version":3,"sources":["../src/icons.js"],"sourcesContent":["/**\n * Lightweight icon set inspired by Lucide / shadcn — square, 2px stroke,\n * butt caps, miter joins. Use <i data-icon=\"name\"></i> and call Icons.render().\n */\n(function (global) {\n const ATTRS = 'xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"butt\" stroke-linejoin=\"miter\"';\n\n const PATHS = {\n // navigation\n 'globe': '<circle cx=\"12\" cy=\"12\" r=\"10\"/><path d=\"M2 12h20\"/><path d=\"M12 2a15.3 15.3 0 0 1 0 20\"/><path d=\"M12 2a15.3 15.3 0 0 0 0 20\"/>',\n 'dashboard': '<rect x=\"3\" y=\"3\" width=\"7\" height=\"9\"/><rect x=\"14\" y=\"3\" width=\"7\" height=\"5\"/><rect x=\"14\" y=\"12\" width=\"7\" height=\"9\"/><rect x=\"3\" y=\"16\" width=\"7\" height=\"5\"/>',\n 'mouse': '<rect x=\"6\" y=\"2\" width=\"12\" height=\"20\" rx=\"6\"/><line x1=\"12\" y1=\"6\" x2=\"12\" y2=\"11\"/>',\n 'search': '<circle cx=\"11\" cy=\"11\" r=\"7\"/><path d=\"m20 20-3.5-3.5\"/>',\n 'square': '<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\"/>',\n 'circle': '<circle cx=\"12\" cy=\"12\" r=\"9\"/>',\n 'list': '<line x1=\"8\" y1=\"6\" x2=\"21\" y2=\"6\"/><line x1=\"8\" y1=\"12\" x2=\"21\" y2=\"12\"/><line x1=\"8\" y1=\"18\" x2=\"21\" y2=\"18\"/><line x1=\"3\" y1=\"6\" x2=\"3.01\" y2=\"6\"/><line x1=\"3\" y1=\"12\" x2=\"3.01\" y2=\"12\"/><line x1=\"3\" y1=\"18\" x2=\"3.01\" y2=\"18\"/>',\n 'palette': '<rect x=\"3\" y=\"3\" width=\"8\" height=\"8\"/><rect x=\"13\" y=\"3\" width=\"8\" height=\"8\"/><rect x=\"3\" y=\"13\" width=\"8\" height=\"8\"/><rect x=\"13\" y=\"13\" width=\"8\" height=\"8\"/>',\n 'type': '<polyline points=\"4 7 4 4 20 4 20 7\"/><line x1=\"9\" y1=\"20\" x2=\"15\" y2=\"20\"/><line x1=\"12\" y1=\"4\" x2=\"12\" y2=\"20\"/>',\n 'ruler': '<rect x=\"3\" y=\"9\" width=\"18\" height=\"6\" transform=\"rotate(-45 12 12)\"/><line x1=\"7.5\" y1=\"12.5\" x2=\"9\" y2=\"14\"/><line x1=\"11\" y1=\"9\" x2=\"12.5\" y2=\"10.5\"/><line x1=\"14.5\" y1=\"5.5\" x2=\"16\" y2=\"7\"/>',\n 'sparkles': '<path d=\"M12 3l1.8 4.2L18 9l-4.2 1.8L12 15l-1.8-4.2L6 9l4.2-1.8L12 3z\"/><path d=\"M19 14l1 2.2 2.2 1-2.2 1L19 20.4l-1-2.2-2.2-1 2.2-1L19 14z\"/>',\n // actions\n 'copy': '<rect x=\"8\" y=\"8\" width=\"13\" height=\"13\"/><path d=\"M16 8V4H4v13h4\"/>',\n 'download': '<path d=\"M12 3v12\"/><polyline points=\"7 10 12 15 17 10\"/><line x1=\"3\" y1=\"21\" x2=\"21\" y2=\"21\"/>',\n 'refresh': '<polyline points=\"21 4 21 10 15 10\"/><polyline points=\"3 20 3 14 9 14\"/><path d=\"M20.5 9A9 9 0 0 0 5 5.5L3 7M3.5 15A9 9 0 0 0 19 18.5L21 17\"/>',\n 'external': '<polyline points=\"14 4 20 4 20 10\"/><line x1=\"20\" y1=\"4\" x2=\"11\" y2=\"13\"/><path d=\"M20 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h5\"/>',\n 'settings': '<circle cx=\"12\" cy=\"12\" r=\"3\"/><path d=\"M19.4 15a1.7 1.7 0 0 0 .3 1.8l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.8-.3 1.7 1.7 0 0 0-1 1.5V21a2 2 0 1 1-4 0v-.1a1.7 1.7 0 0 0-1-1.5 1.7 1.7 0 0 0-1.8.3l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1H3a2 2 0 1 1 0-4h.1a1.7 1.7 0 0 0 1.5-1 1.7 1.7 0 0 0-.3-1.8l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.8.3H9a1.7 1.7 0 0 0 1-1.5V3a2 2 0 1 1 4 0v.1a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.8-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.8V9a1.7 1.7 0 0 0 1.5 1H21a2 2 0 1 1 0 4h-.1a1.7 1.7 0 0 0-1.5 1z\"/>',\n 'sliders': '<line x1=\"4\" y1=\"21\" x2=\"4\" y2=\"14\"/><line x1=\"4\" y1=\"10\" x2=\"4\" y2=\"3\"/><line x1=\"12\" y1=\"21\" x2=\"12\" y2=\"12\"/><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"3\"/><line x1=\"20\" y1=\"21\" x2=\"20\" y2=\"16\"/><line x1=\"20\" y1=\"12\" x2=\"20\" y2=\"3\"/><line x1=\"1\" y1=\"14\" x2=\"7\" y2=\"14\"/><line x1=\"9\" y1=\"8\" x2=\"15\" y2=\"8\"/><line x1=\"17\" y1=\"16\" x2=\"23\" y2=\"16\"/>',\n 'plus': '<line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"/>',\n 'minus': '<line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"/>',\n 'x': '<line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"/><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"/>',\n 'github': '<path d=\"M9 19c-4.3 1.4-4.3-2.5-6-3m12 5v-3.5c0-1 .1-1.4-.5-2 2.8-.3 5.5-1.4 5.5-6a4.6 4.6 0 0 0-1.3-3.2 4.2 4.2 0 0 0-.1-3.2s-1.1-.3-3.5 1.3a12 12 0 0 0-6.2 0C6.5 2.8 5.4 3.1 5.4 3.1a4.2 4.2 0 0 0-.1 3.2A4.6 4.6 0 0 0 4 9.5c0 4.6 2.7 5.7 5.5 6-.6.6-.6 1.2-.5 2V21\"/>',\n 'message-circle':'<path d=\"M21 12a9 9 0 0 1-13.5 7.8L3 21l1.2-4.5A9 9 0 1 1 21 12z\"/>',\n // SOLO chat title-bar glyphs (Figma 2510_18334) — round bubble + plus,\n // 4-tooth gear with center circle, and person-in-circle account avatar.\n 'message-plus':'<path d=\"M21 12a9 9 0 0 1-13.5 7.8L3 21l1.2-4.5A9 9 0 1 1 21 12z\"/><line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"15\"/><line x1=\"9\" y1=\"12\" x2=\"15\" y2=\"12\"/>',\n 'gear': '<path d=\"M9.3 5.7 6.375 5.025 5.025 6.375 5.7 9.3 3 11.1 3 12.9 5.7 14.7 5.025 17.625 6.375 18.975 9.3 18.3 11.1 21 12.9 21 14.7 18.3 17.625 18.975 18.975 17.625 18.3 14.7 21 12.9 21 11.1 18.3 9.3 18.975 6.375 17.625 5.025 14.7 5.7 12.9 3 11.1 3 9.3 5.7Z\"/><circle cx=\"12\" cy=\"12\" r=\"3\"/>',\n 'user-circle': '<circle cx=\"12\" cy=\"12\" r=\"9\"/><circle cx=\"12\" cy=\"10\" r=\"2.5\"/><path d=\"M7 17.5a5 5 0 0 1 10 0\"/>',\n 'shield': '<path d=\"M12 3 4 6v6c0 5 3.5 8 8 9 4.5-1 8-4 8-9V6z\"/>',\n 'check': '<polyline points=\"4 12 10 18 20 6\"/>',\n 'arrow-right': '<line x1=\"4\" y1=\"12\" x2=\"20\" y2=\"12\"/><polyline points=\"14 6 20 12 14 18\"/>',\n 'arrow-up-right': '<line x1=\"6\" y1=\"18\" x2=\"18\" y2=\"6\"/><polyline points=\"9 6 18 6 18 15\"/>',\n 'chevron-right':'<polyline points=\"9 6 15 12 9 18\"/>',\n 'chevron-down':'<polyline points=\"6 9 12 15 18 9\"/>',\n // status — strict outline, 24x24, 2px stroke (no filled bowls)\n 'check-circle':'<circle cx=\"12\" cy=\"12\" r=\"9\"/><polyline points=\"8 12 11 15 16 9\"/>',\n 'alert-circle':'<circle cx=\"12\" cy=\"12\" r=\"9\"/><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"13\"/><line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"16.01\"/>',\n 'alert-triangle':'<path d=\"M12 3 22 20 2 20 Z\"/><line x1=\"12\" y1=\"10\" x2=\"12\" y2=\"15\"/><line x1=\"12\" y1=\"18\" x2=\"12\" y2=\"18.01\"/>',\n 'info-circle': '<circle cx=\"12\" cy=\"12\" r=\"9\"/><line x1=\"12\" y1=\"11\" x2=\"12\" y2=\"16\"/><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"8.01\"/>',\n 'x-circle': '<circle cx=\"12\" cy=\"12\" r=\"9\"/><line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\"/><line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\"/>',\n // legacy aliases — kept outline, square frame\n 'alert': '<path d=\"M12 3 22 20 2 20 Z\"/><line x1=\"12\" y1=\"10\" x2=\"12\" y2=\"15\"/><line x1=\"12\" y1=\"18\" x2=\"12\" y2=\"18.01\"/>',\n 'info': '<circle cx=\"12\" cy=\"12\" r=\"9\"/><line x1=\"12\" y1=\"11\" x2=\"12\" y2=\"16\"/><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"8.01\"/>',\n // misc\n 'mail': '<rect x=\"3\" y=\"5\" width=\"18\" height=\"14\"/><polyline points=\"3 6 12 13 21 6\"/>',\n 'user': '<path d=\"M4 21v-1a6 6 0 0 1 6-6h4a6 6 0 0 1 6 6v1\"/><circle cx=\"12\" cy=\"8\" r=\"4\"/>',\n 'users': '<path d=\"M2 21v-1a5 5 0 0 1 5-5h3a5 5 0 0 1 5 5v1\"/><circle cx=\"8.5\" cy=\"8\" r=\"3.5\"/><path d=\"M22 21v-1a5 5 0 0 0-4-4.9\"/><path d=\"M16 3.1A4 4 0 0 1 16 11\"/>',\n 'box': '<polyline points=\"3 7 12 2 21 7 21 17 12 22 3 17 3 7\"/><line x1=\"3\" y1=\"7\" x2=\"12\" y2=\"12\"/><line x1=\"21\" y1=\"7\" x2=\"12\" y2=\"12\"/><line x1=\"12\" y1=\"22\" x2=\"12\" y2=\"12\"/>',\n 'zap': '<polygon points=\"13 2 4 14 12 14 11 22 20 10 12 10 13 2\"/>',\n 'moon': '<path d=\"M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z\"/>',\n 'sun': '<circle cx=\"12\" cy=\"12\" r=\"4\"/><line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"5\"/><line x1=\"12\" y1=\"19\" x2=\"12\" y2=\"22\"/><line x1=\"2\" y1=\"12\" x2=\"5\" y2=\"12\"/><line x1=\"19\" y1=\"12\" x2=\"22\" y2=\"12\"/><line x1=\"4.6\" y1=\"4.6\" x2=\"6.7\" y2=\"6.7\"/><line x1=\"17.3\" y1=\"17.3\" x2=\"19.4\" y2=\"19.4\"/><line x1=\"4.6\" y1=\"19.4\" x2=\"6.7\" y2=\"17.3\"/><line x1=\"17.3\" y1=\"6.7\" x2=\"19.4\" y2=\"4.6\"/>',\n 'cmd': '<path d=\"M9 6h6v12H9z\"/><rect x=\"3\" y=\"3\" width=\"6\" height=\"6\"/><rect x=\"15\" y=\"3\" width=\"6\" height=\"6\"/><rect x=\"3\" y=\"15\" width=\"6\" height=\"6\"/><rect x=\"15\" y=\"15\" width=\"6\" height=\"6\"/>',\n 'key': '<circle cx=\"7.5\" cy=\"14.5\" r=\"3.5\"/><line x1=\"10\" y1=\"12\" x2=\"22\" y2=\"12\"/><line x1=\"22\" y1=\"12\" x2=\"22\" y2=\"16\"/><line x1=\"18\" y1=\"12\" x2=\"18\" y2=\"15\"/>',\n 'bell': '<path d=\"M6 8a6 6 0 0 1 12 0c0 7 3 8 3 8H3s3-1 3-8z\"/><path d=\"M10 21a2 2 0 0 0 4 0\"/>',\n 'arrow-up': '<line x1=\"12\" y1=\"20\" x2=\"12\" y2=\"4\"/><polyline points=\"6 10 12 4 18 10\"/>',\n 'chevron-up': '<polyline points=\"6 15 12 9 18 15\"/>',\n 'arrow-left': '<line x1=\"20\" y1=\"12\" x2=\"4\" y2=\"12\"/><polyline points=\"10 6 4 12 10 18\"/>',\n 'mic': '<rect x=\"9\" y=\"3\" width=\"6\" height=\"12\" rx=\"3\"/><path d=\"M5 11a7 7 0 0 0 14 0\"/><line x1=\"12\" y1=\"18\" x2=\"12\" y2=\"22\"/>',\n 'at': '<circle cx=\"12\" cy=\"12\" r=\"4\"/><path d=\"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8\"/>',\n 'hash': '<line x1=\"4\" y1=\"9\" x2=\"20\" y2=\"9\"/><line x1=\"4\" y1=\"15\" x2=\"20\" y2=\"15\"/><line x1=\"10\" y1=\"3\" x2=\"8\" y2=\"21\"/><line x1=\"16\" y1=\"3\" x2=\"14\" y2=\"21\"/>',\n 'sidebar-left': '<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\"/><line x1=\"9\" y1=\"3\" x2=\"9\" y2=\"21\"/>',\n 'sidebar-right': '<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\"/><line x1=\"15\" y1=\"3\" x2=\"15\" y2=\"21\"/>',\n 'panel-bottom': '<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\"/><line x1=\"3\" y1=\"15\" x2=\"21\" y2=\"15\"/>',\n /* ===== Activity-bar icon set =====================================\n * Lucide / shadcn-ui (MIT) — squared outline, 2px stroke. Every glyph\n * draws into the same standard 24-grid bbox (≈3..21) so they read at\n * identical optical size when sized via `data-size` alone, just like\n * every other glyph in this file. See skill.md §13.4. */\n 'git': '<circle cx=\"6\" cy=\"5\" r=\"3\"/><circle cx=\"6\" cy=\"19\" r=\"3\"/><circle cx=\"18\" cy=\"5\" r=\"3\"/><line x1=\"6\" y1=\"8\" x2=\"6\" y2=\"16\"/><path d=\"M18 8v3a4 4 0 0 1-4 4h-4\"/>',\n 'bug': '<rect x=\"8\" y=\"6\" width=\"8\" height=\"14\" rx=\"4\"/><line x1=\"12\" y1=\"11\" x2=\"12\" y2=\"20\"/><line x1=\"3\" y1=\"9\" x2=\"8\" y2=\"9\"/><line x1=\"3\" y1=\"14\" x2=\"8\" y2=\"14\"/><line x1=\"3\" y1=\"19\" x2=\"8\" y2=\"19\"/><line x1=\"16\" y1=\"9\" x2=\"21\" y2=\"9\"/><line x1=\"16\" y1=\"14\" x2=\"21\" y2=\"14\"/><line x1=\"16\" y1=\"19\" x2=\"21\" y2=\"19\"/><line x1=\"9\" y1=\"6\" x2=\"9\" y2=\"3\"/><line x1=\"15\" y1=\"6\" x2=\"15\" y2=\"3\"/>',\n 'search-menu': '<circle cx=\"11\" cy=\"11\" r=\"6\"/><line x1=\"20\" y1=\"20\" x2=\"16\" y2=\"16\"/><line x1=\"3\" y1=\"20\" x2=\"13\" y2=\"20\"/>',\n 'extensions': '<rect x=\"3\" y=\"3\" width=\"7\" height=\"7\"/><rect x=\"14\" y=\"3\" width=\"7\" height=\"7\"/><rect x=\"3\" y=\"14\" width=\"7\" height=\"7\"/><path d=\"M17.5 14v3.5H21a2 2 0 0 1 0 4h-3.5V21a2 2 0 0 1-4 0v-3.5H14a2 2 0 0 1 0-4h3.5z\"/>',\n // settings sidebar — squared, hard-edged outline (Lucide-ish), 2px stroke\n 'wrench': '<path d=\"M14.7 6.3a4 4 0 0 0 5 5L21 12.5l-7.5 7.5a3 3 0 0 1-4.2-4.2L16.7 8 14.7 6.3z\"/><path d=\"M14.7 6.3 12 9l-3-3 2.7-2.7a4 4 0 0 1 3 3z\"/>',\n 'message-square': '<path d=\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\"/>',\n 'file-text': '<path d=\"M14 3H6v18h12V8z\"/><polyline points=\"14 3 14 8 18 8\"/><line x1=\"9\" y1=\"13\" x2=\"15\" y2=\"13\"/><line x1=\"9\" y1=\"17\" x2=\"15\" y2=\"17\"/>',\n 'scroll-text': '<path d=\"M5 4h11a3 3 0 0 1 3 3v10H8v3a1 1 0 0 1-1 1 3 3 0 0 1-3-3V7a3 3 0 0 1 1-3z\"/><line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"9\"/><line x1=\"9\" y1=\"13\" x2=\"15\" y2=\"13\"/>',\n 'atom': '<circle cx=\"12\" cy=\"12\" r=\"2\"/><ellipse cx=\"12\" cy=\"12\" rx=\"10\" ry=\"4\"/><ellipse cx=\"12\" cy=\"12\" rx=\"10\" ry=\"4\" transform=\"rotate(60 12 12)\"/><ellipse cx=\"12\" cy=\"12\" rx=\"10\" ry=\"4\" transform=\"rotate(120 12 12)\"/>',\n 'arrow-right-to-line': '<line x1=\"20\" y1=\"4\" x2=\"20\" y2=\"20\"/><line x1=\"3\" y1=\"12\" x2=\"17\" y2=\"12\"/><polyline points=\"11 6 17 12 11 18\"/>',\n 'info-square': '<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\"/><line x1=\"12\" y1=\"11\" x2=\"12\" y2=\"16\"/><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"8.01\"/>',\n /* Window-control glyphs for SOLO top bar (Figma 2510_20754):\n * .arrow-minimize → diagonal-in arrows (collapse to corners)\n * .icon-expand → diagonal-out arrows (expand to corners) */\n 'arrow-minimize': '<polyline points=\"20 4 14 10 20 10\"/><line x1=\"14\" y1=\"10\" x2=\"14\" y2=\"4\"/><polyline points=\"4 20 10 14 4 14\"/><line x1=\"10\" y1=\"14\" x2=\"10\" y2=\"20\"/>',\n 'arrow-expand': '<polyline points=\"14 4 20 4 20 10\"/><line x1=\"14\" y1=\"10\" x2=\"20\" y2=\"4\"/><polyline points=\"10 20 4 20 4 14\"/><line x1=\"10\" y1=\"14\" x2=\"4\" y2=\"20\"/>',\n 'arrow-down': '<line x1=\"12\" y1=\"4\" x2=\"12\" y2=\"20\"/><polyline points=\"6 14 12 20 18 14\"/>',\n 'logo': '<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\"/><line x1=\"3\" y1=\"9\" x2=\"21\" y2=\"9\"/><line x1=\"9\" y1=\"21\" x2=\"9\" y2=\"9\"/>',\n // additional UI\n 'more-h': '<circle cx=\"5\" cy=\"12\" r=\"1.5\" fill=\"currentColor\"/><circle cx=\"12\" cy=\"12\" r=\"1.5\" fill=\"currentColor\"/><circle cx=\"19\" cy=\"12\" r=\"1.5\" fill=\"currentColor\"/>',\n 'edit': '<path d=\"M4 20h4l10-10-4-4L4 16v4z\"/><path d=\"M14 6l4 4\"/>',\n 'trash': '<polyline points=\"4 6 20 6\"/><path d=\"M6 6v14h12V6\"/><path d=\"M9 6V4h6v2\"/><line x1=\"10\" y1=\"10\" x2=\"10\" y2=\"17\"/><line x1=\"14\" y1=\"10\" x2=\"14\" y2=\"17\"/>',\n 'file': '<path d=\"M14 3H6v18h12V7z\"/><polyline points=\"14 3 14 7 18 7\"/>',\n // Stacked documents — Lucide \"files\" (3..21).\n 'files': '<path d=\"M21 8v13H8V3h8z\"/><polyline points=\"16 3 16 8 21 8\"/><path d=\"M8 7H3v14h13v-3\"/>',\n // Pure 2×2 grid — Lucide \"layout-grid\" (3..21).\n 'grid-2x2': '<rect x=\"3\" y=\"3\" width=\"8\" height=\"8\"/><rect x=\"13\" y=\"3\" width=\"8\" height=\"8\"/><rect x=\"3\" y=\"13\" width=\"8\" height=\"8\"/><rect x=\"13\" y=\"13\" width=\"8\" height=\"8\"/>',\n 'folder': '<path d=\"M3 6h6l2 3h10v10H3z\"/>',\n 'layers': '<polygon points=\"12 3 22 8 12 13 2 8 12 3\"/><polyline points=\"2 13 12 18 22 13\"/>',\n 'layout': '<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\"/><line x1=\"3\" y1=\"9\" x2=\"21\" y2=\"9\"/><line x1=\"9\" y1=\"21\" x2=\"9\" y2=\"9\"/>',\n 'terminal': '<polyline points=\"4 7 9 12 4 17\"/><line x1=\"12\" y1=\"17\" x2=\"20\" y2=\"17\"/>',\n 'image': '<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\"/><circle cx=\"9\" cy=\"9\" r=\"1.5\" fill=\"currentColor\"/><polyline points=\"3 18 9 12 13 16 17 12 21 16\"/>',\n 'play': '<polygon points=\"6 4 20 12 6 20 6 4\"/>',\n 'pause': '<rect x=\"6\" y=\"4\" width=\"4\" height=\"16\"/><rect x=\"14\" y=\"4\" width=\"4\" height=\"16\"/>',\n 'help': '<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\"/><path d=\"M9 9a3 3 0 0 1 6 0c0 2-3 2-3 4\"/><line x1=\"12\" y1=\"17\" x2=\"12\" y2=\"17.01\"/>',\n 'lock': '<rect x=\"4\" y=\"11\" width=\"16\" height=\"10\"/><path d=\"M8 11V8a4 4 0 0 1 8 0v3\"/>',\n // Lucide \"eye\" (2..22 horizontal, naturally short — eye shape).\n 'eye': '<path d=\"M2 12s4-7 10-7 10 7 10 7-4 7-10 7-10-7-10-7z\"/><circle cx=\"12\" cy=\"12\" r=\"3\"/>',\n 'star': '<polygon points=\"12 3 15 9 22 10 17 14 18 21 12 18 6 21 7 14 2 10 9 9 12 3\"/>',\n 'heart': '<path d=\"M12 21s-7-5-7-11a4 4 0 0 1 7-2 4 4 0 0 1 7 2c0 6-7 11-7 11z\"/>',\n 'home': '<polygon points=\"3 11 12 3 21 11 21 21 14 21 14 14 10 14 10 21 3 21 3 11\"/>',\n 'calendar': '<rect x=\"3\" y=\"5\" width=\"18\" height=\"16\"/><line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"/><line x1=\"8\" y1=\"3\" x2=\"8\" y2=\"7\"/><line x1=\"16\" y1=\"3\" x2=\"16\" y2=\"7\"/>',\n 'clock': '<circle cx=\"12\" cy=\"12\" r=\"9\"/><polyline points=\"12 7 12 12 16 14\"/>',\n 'filter': '<polygon points=\"3 4 21 4 14 12 14 20 10 18 10 12 3 4\"/>',\n 'send': '<polygon points=\"3 12 21 4 17 21 12 13 3 12\"/>',\n 'link': '<path d=\"M10 14a4 4 0 0 1 0-6l3-3a4 4 0 0 1 6 6l-1.5 1.5\"/><path d=\"M14 10a4 4 0 0 1 0 6l-3 3a4 4 0 0 1-6-6l1.5-1.5\"/>',\n 'upload': '<path d=\"M12 21V9\"/><polyline points=\"7 14 12 9 17 14\"/><line x1=\"3\" y1=\"3\" x2=\"21\" y2=\"3\"/>',\n 'log-out': '<path d=\"M14 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h9\"/><polyline points=\"16 16 21 12 16 8\"/><line x1=\"9\" y1=\"12\" x2=\"21\" y2=\"12\"/>',\n 'menu': '<line x1=\"4\" y1=\"6\" x2=\"20\" y2=\"6\"/><line x1=\"4\" y1=\"12\" x2=\"20\" y2=\"12\"/><line x1=\"4\" y1=\"18\" x2=\"20\" y2=\"18\"/>',\n // data / charts\n 'dollar': '<line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"22\"/><path d=\"M17 6H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6\"/>',\n 'bar': '<line x1=\"3\" y1=\"21\" x2=\"21\" y2=\"21\"/><rect x=\"5\" y=\"11\" width=\"3\" height=\"8\"/><rect x=\"10.5\" y=\"6\" width=\"3\" height=\"13\"/><rect x=\"16\" y=\"14\" width=\"3\" height=\"5\"/>',\n 'trending-up': '<polyline points=\"3 17 9 11 13 15 21 7\"/><polyline points=\"15 7 21 7 21 13\"/>',\n 'trending-down': '<polyline points=\"3 7 9 13 13 9 21 17\"/><polyline points=\"15 17 21 17 21 11\"/>',\n 'columns': '<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\"/><line x1=\"9\" y1=\"3\" x2=\"9\" y2=\"21\"/><line x1=\"15\" y1=\"3\" x2=\"15\" y2=\"21\"/>',\n // settings — framework rules\n 'plug': '<path d=\"M9 2v6\"/><path d=\"M15 2v6\"/><path d=\"M7 8h10v4a5 5 0 0 1-10 0V8z\"/><path d=\"M12 17v5\"/>',\n 'cpu': '<rect x=\"6\" y=\"6\" width=\"12\" height=\"12\"/><rect x=\"9\" y=\"9\" width=\"6\" height=\"6\"/><line x1=\"9\" y1=\"2\" x2=\"9\" y2=\"6\"/><line x1=\"15\" y1=\"2\" x2=\"15\" y2=\"6\"/><line x1=\"9\" y1=\"18\" x2=\"9\" y2=\"22\"/><line x1=\"15\" y1=\"18\" x2=\"15\" y2=\"22\"/><line x1=\"2\" y1=\"9\" x2=\"6\" y2=\"9\"/><line x1=\"2\" y1=\"15\" x2=\"6\" y2=\"15\"/><line x1=\"18\" y1=\"9\" x2=\"22\" y2=\"9\"/><line x1=\"18\" y1=\"15\" x2=\"22\" y2=\"15\"/>',\n 'code': '<polyline points=\"16 18 22 12 16 6\"/><polyline points=\"8 6 2 12 8 18\"/>',\n // brand — filled Apple glyph for download CTA\n 'apple': '<path fill=\"currentColor\" stroke=\"none\" d=\"M17.05 12.04c-.03-3.04 2.49-4.5 2.6-4.57-1.42-2.07-3.62-2.36-4.4-2.39-1.87-.19-3.65 1.1-4.6 1.1-.96 0-2.42-1.08-3.98-1.05-2.05.03-3.94 1.19-4.99 3.02-2.13 3.69-.54 9.13 1.53 12.12 1.01 1.46 2.21 3.1 3.78 3.04 1.52-.06 2.09-.98 3.93-.98 1.83 0 2.36.98 3.97.95 1.64-.03 2.68-1.49 3.68-2.96 1.16-1.7 1.64-3.35 1.66-3.43-.04-.02-3.18-1.22-3.21-4.85zM14.06 4.34c.83-1.01 1.39-2.41 1.24-3.81-1.2.05-2.65.8-3.51 1.8-.77.89-1.45 2.31-1.27 3.68 1.34.1 2.71-.68 3.54-1.67z\"/>',\n };\n\n function svg(name, size = 16, viewBox = '0 0 24 24') {\n const path = PATHS[name];\n if (!path) return '';\n const attrs = ATTRS\n .replace('width=\"16\"', `width=\"${size}\"`)\n .replace('height=\"16\"', `height=\"${size}\"`)\n .replace('viewBox=\"0 0 24 24\"', `viewBox=\"${viewBox}\"`);\n return `<svg ${attrs}>${path}</svg>`;\n }\n\n function render(root = document) {\n root.querySelectorAll('[data-icon]').forEach(el => {\n const name = el.getAttribute('data-icon');\n const size = +el.getAttribute('data-size') || 16;\n const vb = el.getAttribute('data-viewbox') || '0 0 24 24';\n el.innerHTML = svg(name, size, vb);\n el.classList.add('icon');\n });\n }\n\n global.Icons = { svg, render, PATHS };\n if (document.readyState !== 'loading') render();\n else document.addEventListener('DOMContentLoaded', () => render());\n})(typeof window !== 'undefined' ? window : globalThis);\n"],"mappings":";;;;CAIC,SAAU,QAAQ;AACjB,QAAM,QAAQ;AAEd,QAAM,QAAQ;AAAA;AAAA,IAEZ,SAAe;AAAA,IACf,aAAe;AAAA,IACf,SAAe;AAAA,IACf,UAAe;AAAA,IACf,UAAe;AAAA,IACf,UAAe;AAAA,IACf,QAAe;AAAA,IACf,WAAe;AAAA,IACf,QAAe;AAAA,IACf,SAAe;AAAA,IACf,YAAe;AAAA;AAAA,IAEf,QAAe;AAAA,IACf,YAAe;AAAA,IACf,WAAe;AAAA,IACf,YAAe;AAAA,IACf,YAAe;AAAA,IACf,WAAe;AAAA,IACf,QAAe;AAAA,IACf,SAAe;AAAA,IACf,KAAe;AAAA,IACf,UAAe;AAAA,IACf,kBAAiB;AAAA;AAAA;AAAA,IAGjB,gBAAe;AAAA,IACf,QAAe;AAAA,IACf,eAAe;AAAA,IACf,UAAe;AAAA,IACf,SAAe;AAAA,IACf,eAAe;AAAA,IACf,kBAAkB;AAAA,IAClB,iBAAgB;AAAA,IAChB,gBAAe;AAAA;AAAA,IAEf,gBAAe;AAAA,IACf,gBAAe;AAAA,IACf,kBAAiB;AAAA,IACjB,eAAe;AAAA,IACf,YAAe;AAAA;AAAA,IAEf,SAAe;AAAA,IACf,QAAe;AAAA;AAAA,IAEf,QAAe;AAAA,IACf,QAAe;AAAA,IACf,SAAe;AAAA,IACf,OAAe;AAAA,IACf,OAAe;AAAA,IACf,QAAe;AAAA,IACf,OAAe;AAAA,IACf,OAAe;AAAA,IACf,OAAe;AAAA,IACf,QAAe;AAAA,IACf,YAAe;AAAA,IACf,cAAe;AAAA,IACf,cAAe;AAAA,IACf,OAAe;AAAA,IACf,MAAe;AAAA,IACf,QAAe;AAAA,IACf,gBAAiB;AAAA,IACjB,iBAAiB;AAAA,IACjB,gBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMjB,OAAe;AAAA,IACf,OAAe;AAAA,IACf,eAAe;AAAA,IACf,cAAe;AAAA;AAAA,IAEf,UAAuB;AAAA,IACvB,kBAAuB;AAAA,IACvB,aAAuB;AAAA,IACvB,eAAuB;AAAA,IACvB,QAAuB;AAAA,IACvB,uBAAuB;AAAA,IACvB,eAAuB;AAAA;AAAA;AAAA;AAAA,IAIvB,kBAAuB;AAAA,IACvB,gBAAuB;AAAA,IACvB,cAAe;AAAA,IACf,QAAe;AAAA;AAAA,IAEf,UAAe;AAAA,IACf,QAAe;AAAA,IACf,SAAe;AAAA,IACf,QAAe;AAAA;AAAA,IAEf,SAAe;AAAA;AAAA,IAEf,YAAe;AAAA,IACf,UAAe;AAAA,IACf,UAAe;AAAA,IACf,UAAe;AAAA,IACf,YAAe;AAAA,IACf,SAAe;AAAA,IACf,QAAe;AAAA,IACf,SAAe;AAAA,IACf,QAAe;AAAA,IACf,QAAe;AAAA;AAAA,IAEf,OAAe;AAAA,IACf,QAAe;AAAA,IACf,SAAe;AAAA,IACf,QAAe;AAAA,IACf,YAAe;AAAA,IACf,SAAe;AAAA,IACf,UAAe;AAAA,IACf,QAAe;AAAA,IACf,QAAe;AAAA,IACf,UAAe;AAAA,IACf,WAAe;AAAA,IACf,QAAe;AAAA;AAAA,IAEf,UAAkB;AAAA,IAClB,OAAkB;AAAA,IAClB,eAAkB;AAAA,IAClB,iBAAkB;AAAA,IAClB,WAAkB;AAAA;AAAA,IAElB,QAAkB;AAAA,IAClB,OAAkB;AAAA,IAClB,QAAkB;AAAA;AAAA,IAElB,SAAkB;AAAA,EACpB;AAEA,WAAS,IAAI,MAAM,OAAO,IAAI,UAAU,aAAa;AACnD,UAAM,OAAO,MAAM,IAAI;AACvB,QAAI,CAAC,KAAM,QAAO;AAClB,UAAM,QAAQ,MACX,QAAQ,cAAc,UAAU,IAAI,GAAG,EACvC,QAAQ,eAAe,WAAW,IAAI,GAAG,EACzC,QAAQ,uBAAuB,YAAY,OAAO,GAAG;AACxD,WAAO,QAAQ,KAAK,IAAI,IAAI;AAAA,EAC9B;AARS;AAUT,WAAS,OAAO,OAAO,UAAU;AAC/B,SAAK,iBAAiB,aAAa,EAAE,QAAQ,QAAM;AACjD,YAAM,OAAO,GAAG,aAAa,WAAW;AACxC,YAAM,OAAO,CAAC,GAAG,aAAa,WAAW,KAAK;AAC9C,YAAM,KAAO,GAAG,aAAa,cAAc,KAAK;AAChD,SAAG,YAAY,IAAI,MAAM,MAAM,EAAE;AACjC,SAAG,UAAU,IAAI,MAAM;AAAA,IACzB,CAAC;AAAA,EACH;AARS;AAUT,SAAO,QAAQ,EAAE,KAAK,QAAQ,MAAM;AACpC,MAAI,SAAS,eAAe,UAAW,QAAO;AAAA,MACzC,UAAS,iBAAiB,oBAAoB,MAAM,OAAO,CAAC;AACnE,GAAG,OAAO,WAAW,cAAc,SAAS,UAAU;","names":[]}