snice 4.17.0 → 4.18.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 (252) hide show
  1. package/adapters/react/code-block.d.ts +1 -0
  2. package/adapters/react/code-block.d.ts.map +1 -1
  3. package/adapters/react/code-block.js +1 -1
  4. package/adapters/react/code-block.js.map +1 -1
  5. package/adapters/react/code-block.tsx +2 -1
  6. package/dist/cdn/accordion/snice-accordion.js +1 -1
  7. package/dist/cdn/accordion/snice-accordion.min.js +1 -1
  8. package/dist/cdn/alert/snice-alert.js +1 -1
  9. package/dist/cdn/alert/snice-alert.min.js +1 -1
  10. package/dist/cdn/app-tiles/snice-app-tiles.js +1 -1
  11. package/dist/cdn/app-tiles/snice-app-tiles.min.js +1 -1
  12. package/dist/cdn/audio-recorder/snice-audio-recorder.js +1 -1
  13. package/dist/cdn/audio-recorder/snice-audio-recorder.min.js +1 -1
  14. package/dist/cdn/avatar/snice-avatar.js +1 -1
  15. package/dist/cdn/avatar/snice-avatar.min.js +1 -1
  16. package/dist/cdn/badge/snice-badge.js +1 -1
  17. package/dist/cdn/badge/snice-badge.min.js +1 -1
  18. package/dist/cdn/banner/snice-banner.js +1 -1
  19. package/dist/cdn/banner/snice-banner.min.js +1 -1
  20. package/dist/cdn/book/snice-book.js +1 -1
  21. package/dist/cdn/book/snice-book.min.js +1 -1
  22. package/dist/cdn/breadcrumbs/snice-breadcrumbs.js +1 -1
  23. package/dist/cdn/breadcrumbs/snice-breadcrumbs.min.js +1 -1
  24. package/dist/cdn/button/snice-button.js +1 -1
  25. package/dist/cdn/button/snice-button.min.js +1 -1
  26. package/dist/cdn/calendar/snice-calendar.js +1 -1
  27. package/dist/cdn/calendar/snice-calendar.min.js +1 -1
  28. package/dist/cdn/camera/snice-camera.js +1 -1
  29. package/dist/cdn/camera/snice-camera.min.js +1 -1
  30. package/dist/cdn/camera-annotate/snice-camera-annotate.js +1 -1
  31. package/dist/cdn/camera-annotate/snice-camera-annotate.min.js +1 -1
  32. package/dist/cdn/candlestick/snice-candlestick.js +1 -1
  33. package/dist/cdn/candlestick/snice-candlestick.min.js +1 -1
  34. package/dist/cdn/card/snice-card.js +1 -1
  35. package/dist/cdn/card/snice-card.min.js +1 -1
  36. package/dist/cdn/carousel/snice-carousel.js +1 -1
  37. package/dist/cdn/carousel/snice-carousel.min.js +1 -1
  38. package/dist/cdn/chart/snice-chart.js +1 -1
  39. package/dist/cdn/chart/snice-chart.min.js +1 -1
  40. package/dist/cdn/chat/snice-chat.js +1 -1
  41. package/dist/cdn/chat/snice-chat.min.js +1 -1
  42. package/dist/cdn/checkbox/snice-checkbox.js +1 -1
  43. package/dist/cdn/checkbox/snice-checkbox.min.js +1 -1
  44. package/dist/cdn/chip/snice-chip.js +1 -1
  45. package/dist/cdn/chip/snice-chip.min.js +1 -1
  46. package/dist/cdn/code-block/README.md +2 -2
  47. package/dist/cdn/code-block/snice-code-block.js +314 -3
  48. package/dist/cdn/code-block/snice-code-block.js.map +1 -1
  49. package/dist/cdn/code-block/snice-code-block.min.js +3 -3
  50. package/dist/cdn/code-block/snice-code-block.min.js.map +1 -1
  51. package/dist/cdn/color-display/snice-color-display.js +1 -1
  52. package/dist/cdn/color-display/snice-color-display.min.js +1 -1
  53. package/dist/cdn/color-picker/snice-color-picker.js +1 -1
  54. package/dist/cdn/color-picker/snice-color-picker.min.js +1 -1
  55. package/dist/cdn/command-palette/snice-command-palette.js +1 -1
  56. package/dist/cdn/command-palette/snice-command-palette.min.js +1 -1
  57. package/dist/cdn/comments/snice-comments.js +1 -1
  58. package/dist/cdn/comments/snice-comments.min.js +1 -1
  59. package/dist/cdn/countdown/snice-countdown.js +1 -1
  60. package/dist/cdn/countdown/snice-countdown.min.js +1 -1
  61. package/dist/cdn/cropper/snice-cropper.js +1 -1
  62. package/dist/cdn/cropper/snice-cropper.min.js +1 -1
  63. package/dist/cdn/date-picker/snice-date-picker.js +1 -1
  64. package/dist/cdn/date-picker/snice-date-picker.min.js +1 -1
  65. package/dist/cdn/diff/snice-diff.js +1 -1
  66. package/dist/cdn/diff/snice-diff.min.js +1 -1
  67. package/dist/cdn/divider/snice-divider.js +1 -1
  68. package/dist/cdn/divider/snice-divider.min.js +1 -1
  69. package/dist/cdn/doc/snice-doc.js +1 -1
  70. package/dist/cdn/doc/snice-doc.min.js +1 -1
  71. package/dist/cdn/draw/snice-draw.js +1 -1
  72. package/dist/cdn/draw/snice-draw.min.js +1 -1
  73. package/dist/cdn/drawer/snice-drawer.js +1 -1
  74. package/dist/cdn/drawer/snice-drawer.min.js +1 -1
  75. package/dist/cdn/empty-state/snice-empty-state.js +1 -1
  76. package/dist/cdn/empty-state/snice-empty-state.min.js +1 -1
  77. package/dist/cdn/file-gallery/snice-file-gallery.js +1 -1
  78. package/dist/cdn/file-gallery/snice-file-gallery.min.js +1 -1
  79. package/dist/cdn/file-upload/snice-file-upload.js +1 -1
  80. package/dist/cdn/file-upload/snice-file-upload.min.js +1 -1
  81. package/dist/cdn/flip-card/snice-flip-card.js +1 -1
  82. package/dist/cdn/flip-card/snice-flip-card.min.js +1 -1
  83. package/dist/cdn/flow/snice-flow.js +1 -1
  84. package/dist/cdn/flow/snice-flow.min.js +1 -1
  85. package/dist/cdn/funnel/snice-funnel.js +1 -1
  86. package/dist/cdn/funnel/snice-funnel.min.js +1 -1
  87. package/dist/cdn/gantt/snice-gantt.js +1 -1
  88. package/dist/cdn/gantt/snice-gantt.min.js +1 -1
  89. package/dist/cdn/gauge/snice-gauge.js +1 -1
  90. package/dist/cdn/gauge/snice-gauge.min.js +1 -1
  91. package/dist/cdn/heatmap/snice-heatmap.js +1 -1
  92. package/dist/cdn/heatmap/snice-heatmap.min.js +1 -1
  93. package/dist/cdn/image/snice-image.js +1 -1
  94. package/dist/cdn/image/snice-image.min.js +1 -1
  95. package/dist/cdn/input/snice-input.js +1 -1
  96. package/dist/cdn/input/snice-input.min.js +1 -1
  97. package/dist/cdn/kanban/snice-kanban.js +1 -1
  98. package/dist/cdn/kanban/snice-kanban.min.js +1 -1
  99. package/dist/cdn/kpi/snice-kpi.js +1 -1
  100. package/dist/cdn/kpi/snice-kpi.min.js +1 -1
  101. package/dist/cdn/layout/snice-layout.js +1 -1
  102. package/dist/cdn/layout/snice-layout.min.js +1 -1
  103. package/dist/cdn/link/snice-link.js +1 -1
  104. package/dist/cdn/link/snice-link.min.js +1 -1
  105. package/dist/cdn/link-preview/snice-link-preview.js +1 -1
  106. package/dist/cdn/link-preview/snice-link-preview.min.js +1 -1
  107. package/dist/cdn/list/snice-list.js +1 -1
  108. package/dist/cdn/list/snice-list.min.js +1 -1
  109. package/dist/cdn/location/snice-location.js +1 -1
  110. package/dist/cdn/location/snice-location.min.js +1 -1
  111. package/dist/cdn/login/snice-login.js +1 -1
  112. package/dist/cdn/login/snice-login.min.js +1 -1
  113. package/dist/cdn/map/snice-map.js +1 -1
  114. package/dist/cdn/map/snice-map.min.js +1 -1
  115. package/dist/cdn/markdown/snice-markdown.js +1 -1
  116. package/dist/cdn/markdown/snice-markdown.min.js +1 -1
  117. package/dist/cdn/masonry/snice-masonry.js +1 -1
  118. package/dist/cdn/masonry/snice-masonry.min.js +1 -1
  119. package/dist/cdn/menu/snice-menu.js +1 -1
  120. package/dist/cdn/menu/snice-menu.min.js +1 -1
  121. package/dist/cdn/modal/snice-modal.js +1 -1
  122. package/dist/cdn/modal/snice-modal.min.js +1 -1
  123. package/dist/cdn/music-player/snice-music-player.js +1 -1
  124. package/dist/cdn/music-player/snice-music-player.min.js +1 -1
  125. package/dist/cdn/nav/snice-nav.js +1 -1
  126. package/dist/cdn/nav/snice-nav.min.js +1 -1
  127. package/dist/cdn/network-graph/snice-network-graph.js +1 -1
  128. package/dist/cdn/network-graph/snice-network-graph.min.js +1 -1
  129. package/dist/cdn/notification-center/snice-notification-center.js +1 -1
  130. package/dist/cdn/notification-center/snice-notification-center.min.js +1 -1
  131. package/dist/cdn/org-chart/snice-org-chart.js +1 -1
  132. package/dist/cdn/org-chart/snice-org-chart.min.js +1 -1
  133. package/dist/cdn/pagination/snice-pagination.js +1 -1
  134. package/dist/cdn/pagination/snice-pagination.min.js +1 -1
  135. package/dist/cdn/paint/snice-paint.js +1 -1
  136. package/dist/cdn/paint/snice-paint.min.js +1 -1
  137. package/dist/cdn/pdf-viewer/snice-pdf-viewer.js +1 -1
  138. package/dist/cdn/pdf-viewer/snice-pdf-viewer.min.js +1 -1
  139. package/dist/cdn/podcast-player/snice-podcast-player.js +1 -1
  140. package/dist/cdn/podcast-player/snice-podcast-player.min.js +1 -1
  141. package/dist/cdn/pricing-table/snice-pricing-table.js +1 -1
  142. package/dist/cdn/pricing-table/snice-pricing-table.min.js +1 -1
  143. package/dist/cdn/progress/snice-progress.js +1 -1
  144. package/dist/cdn/progress/snice-progress.min.js +1 -1
  145. package/dist/cdn/qr-code/snice-qr-code.js +1 -1
  146. package/dist/cdn/qr-code/snice-qr-code.min.js +1 -1
  147. package/dist/cdn/qr-reader/snice-qr-reader.js +1 -1
  148. package/dist/cdn/qr-reader/snice-qr-reader.min.js +1 -1
  149. package/dist/cdn/radio/snice-radio.js +1 -1
  150. package/dist/cdn/radio/snice-radio.min.js +1 -1
  151. package/dist/cdn/rating/snice-rating.js +1 -1
  152. package/dist/cdn/rating/snice-rating.min.js +1 -1
  153. package/dist/cdn/recipe/snice-recipe.js +1 -1
  154. package/dist/cdn/recipe/snice-recipe.min.js +1 -1
  155. package/dist/cdn/runtime/snice-runtime.esm.js +4 -4
  156. package/dist/cdn/runtime/snice-runtime.esm.js.map +1 -1
  157. package/dist/cdn/runtime/snice-runtime.esm.min.js +4 -4
  158. package/dist/cdn/runtime/snice-runtime.esm.min.js.map +1 -1
  159. package/dist/cdn/runtime/snice-runtime.js +4 -4
  160. package/dist/cdn/runtime/snice-runtime.js.map +1 -1
  161. package/dist/cdn/runtime/snice-runtime.min.js +4 -4
  162. package/dist/cdn/runtime/snice-runtime.min.js.map +1 -1
  163. package/dist/cdn/sankey/snice-sankey.js +1 -1
  164. package/dist/cdn/sankey/snice-sankey.min.js +1 -1
  165. package/dist/cdn/select/snice-select.js +1 -1
  166. package/dist/cdn/select/snice-select.min.js +1 -1
  167. package/dist/cdn/skeleton/snice-skeleton.js +1 -1
  168. package/dist/cdn/skeleton/snice-skeleton.min.js +1 -1
  169. package/dist/cdn/slider/snice-slider.js +1 -1
  170. package/dist/cdn/slider/snice-slider.min.js +1 -1
  171. package/dist/cdn/sortable/snice-sortable.js +1 -1
  172. package/dist/cdn/sortable/snice-sortable.min.js +1 -1
  173. package/dist/cdn/sparkline/snice-sparkline.js +1 -1
  174. package/dist/cdn/sparkline/snice-sparkline.min.js +1 -1
  175. package/dist/cdn/spinner/snice-spinner.js +1 -1
  176. package/dist/cdn/spinner/snice-spinner.min.js +1 -1
  177. package/dist/cdn/split-pane/snice-split-pane.js +1 -1
  178. package/dist/cdn/split-pane/snice-split-pane.min.js +1 -1
  179. package/dist/cdn/spotlight/snice-spotlight.js +1 -1
  180. package/dist/cdn/spotlight/snice-spotlight.min.js +1 -1
  181. package/dist/cdn/spreadsheet/snice-spreadsheet.js +1 -1
  182. package/dist/cdn/spreadsheet/snice-spreadsheet.min.js +1 -1
  183. package/dist/cdn/stepper/snice-stepper.js +1 -1
  184. package/dist/cdn/stepper/snice-stepper.min.js +1 -1
  185. package/dist/cdn/switch/snice-switch.js +1 -1
  186. package/dist/cdn/switch/snice-switch.min.js +1 -1
  187. package/dist/cdn/table/snice-table.js +1 -1
  188. package/dist/cdn/table/snice-table.min.js +1 -1
  189. package/dist/cdn/tabs/snice-tabs.js +1 -1
  190. package/dist/cdn/tabs/snice-tabs.min.js +1 -1
  191. package/dist/cdn/tag-input/snice-tag-input.js +1 -1
  192. package/dist/cdn/tag-input/snice-tag-input.min.js +1 -1
  193. package/dist/cdn/terminal/snice-terminal.js +1 -1
  194. package/dist/cdn/terminal/snice-terminal.min.js +1 -1
  195. package/dist/cdn/testimonial/snice-testimonial.js +1 -1
  196. package/dist/cdn/testimonial/snice-testimonial.min.js +1 -1
  197. package/dist/cdn/textarea/snice-textarea.js +1 -1
  198. package/dist/cdn/textarea/snice-textarea.min.js +1 -1
  199. package/dist/cdn/time-range-picker/snice-time-range-picker.js +1 -1
  200. package/dist/cdn/time-range-picker/snice-time-range-picker.min.js +1 -1
  201. package/dist/cdn/timeline/snice-timeline.js +1 -1
  202. package/dist/cdn/timeline/snice-timeline.min.js +1 -1
  203. package/dist/cdn/timer/snice-timer.js +1 -1
  204. package/dist/cdn/timer/snice-timer.min.js +1 -1
  205. package/dist/cdn/toast/snice-toast.js +1 -1
  206. package/dist/cdn/toast/snice-toast.min.js +1 -1
  207. package/dist/cdn/tooltip/snice-tooltip.js +1 -1
  208. package/dist/cdn/tooltip/snice-tooltip.min.js +1 -1
  209. package/dist/cdn/tree/snice-tree.js +1 -1
  210. package/dist/cdn/tree/snice-tree.min.js +1 -1
  211. package/dist/cdn/treemap/snice-treemap.js +1 -1
  212. package/dist/cdn/treemap/snice-treemap.min.js +1 -1
  213. package/dist/cdn/video-player/snice-video-player.js +1 -1
  214. package/dist/cdn/video-player/snice-video-player.min.js +1 -1
  215. package/dist/cdn/virtual-scroller/snice-virtual-scroller.js +1 -1
  216. package/dist/cdn/virtual-scroller/snice-virtual-scroller.min.js +1 -1
  217. package/dist/cdn/waterfall/snice-waterfall.js +1 -1
  218. package/dist/cdn/waterfall/snice-waterfall.min.js +1 -1
  219. package/dist/cdn/weather/snice-weather.js +1 -1
  220. package/dist/cdn/weather/snice-weather.min.js +1 -1
  221. package/dist/components/code-block/formatter.d.ts +26 -0
  222. package/dist/components/code-block/formatter.js +245 -0
  223. package/dist/components/code-block/formatter.js.map +1 -0
  224. package/dist/components/code-block/formatters/indent.d.ts +25 -0
  225. package/dist/components/code-block/formatters/indent.js +95 -0
  226. package/dist/components/code-block/formatters/indent.js.map +1 -0
  227. package/dist/components/code-block/formatters/json.d.ts +25 -0
  228. package/dist/components/code-block/formatters/json.js +38 -0
  229. package/dist/components/code-block/formatters/json.js.map +1 -0
  230. package/dist/components/code-block/formatters/prettier.d.ts +53 -0
  231. package/dist/components/code-block/formatters/prettier.js +82 -0
  232. package/dist/components/code-block/formatters/prettier.js.map +1 -0
  233. package/dist/components/code-block/grammars/css.json +13 -0
  234. package/dist/components/code-block/grammars/json.json +13 -0
  235. package/dist/components/code-block/grammars/snice.json +14 -0
  236. package/dist/components/code-block/grammars/typescript.json +14 -0
  237. package/dist/components/code-block/highlighter.d.ts +1 -0
  238. package/dist/components/code-block/highlighter.js.map +1 -1
  239. package/dist/components/code-block/snice-code-block.d.ts +7 -1
  240. package/dist/components/code-block/snice-code-block.js +71 -2
  241. package/dist/components/code-block/snice-code-block.js.map +1 -1
  242. package/dist/components/code-block/snice-code-block.types.d.ts +11 -0
  243. package/dist/index.cjs +1 -1
  244. package/dist/index.esm.js +1 -1
  245. package/dist/index.iife.js +1 -1
  246. package/dist/symbols.cjs +1 -1
  247. package/dist/symbols.esm.js +1 -1
  248. package/dist/transitions.cjs +1 -1
  249. package/dist/transitions.esm.js +1 -1
  250. package/docs/ai/components/code-block.md +71 -0
  251. package/docs/components/code-block.md +126 -0
  252. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"snice-code-block.min.js","sources":["../../../node_modules/tslib/tslib.es6.mjs","../../components/code-block/highlighter.js","../../components/code-block/snice-code-block.js"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","/**\n * JSON-driven syntax highlighter with Monarch-inspired state machine.\n * Grammars are JSON-serializable objects with states, transitions, and lookup tables.\n */\n// ── Grammar compilation ────────────────────────────────────────────────\nconst compiledCache = new WeakMap();\nfunction compileGrammar(grammar) {\n const cached = compiledCache.get(grammar);\n if (cached)\n return cached;\n const states = new Map();\n const flags = grammar.ignoreCase ? 'yi' : 'y';\n for (const [stateName, entries] of Object.entries(grammar.tokenizer)) {\n const rules = resolveEntries(grammar, entries, new Set());\n const compiled = rules.map(rule => ({\n regex: new RegExp(rule[0], flags),\n token: rule[1],\n nextState: rule[2],\n }));\n states.set(stateName, compiled);\n }\n const result = { grammar, states };\n compiledCache.set(grammar, result);\n return result;\n}\nfunction resolveEntries(grammar, entries, visited) {\n const result = [];\n for (const entry of entries) {\n if ('include' in entry) {\n const stateName = entry.include.replace(/^@/, '');\n if (visited.has(stateName))\n continue;\n visited.add(stateName);\n const included = grammar.tokenizer[stateName];\n if (included) {\n result.push(...resolveEntries(grammar, included, visited));\n }\n }\n else {\n result.push(entry);\n }\n }\n return result;\n}\n// ── Tokenizer engine ───────────────────────────────────────────────────\nfunction resolveToken(grammar, tokenDef, matchedText) {\n if (typeof tokenDef === 'string')\n return tokenDef;\n // Conditional token via cases lookup\n for (const [pattern, tokenType] of Object.entries(tokenDef.cases)) {\n if (pattern === '@default')\n continue;\n // @tableName — check if matchedText is in the lookup table\n if (pattern.startsWith('@')) {\n const tableName = pattern.slice(1);\n const table = grammar[tableName];\n if (Array.isArray(table) && table.includes(matchedText)) {\n return tokenType;\n }\n }\n else if (pattern === matchedText) {\n return tokenType;\n }\n }\n // Fallback to @default\n if (tokenDef.cases['@default'] !== undefined) {\n return tokenDef.cases['@default'];\n }\n return '';\n}\nfunction tokenizeWithGrammar(code, compiled) {\n const { grammar, states } = compiled;\n const tokens = [];\n const stateStack = ['root'];\n let pos = 0;\n const defaultToken = grammar.defaultToken || '';\n // Safety: max iterations to prevent infinite loops on bad grammars\n const maxIterations = code.length * 10;\n let iterations = 0;\n while (pos < code.length && iterations < maxIterations) {\n iterations++;\n const currentState = stateStack[stateStack.length - 1];\n const rules = states.get(currentState);\n if (!rules) {\n // Unknown state — consume one char as default token\n tokens.push({ text: code[pos], type: defaultToken || null });\n pos++;\n continue;\n }\n let matched = false;\n for (const rule of rules) {\n rule.regex.lastIndex = pos;\n const m = rule.regex.exec(code);\n if (m && m.index === pos && m[0].length > 0) {\n const tokenType = resolveToken(grammar, rule.token, m[0]);\n tokens.push({ text: m[0], type: tokenType || null });\n pos += m[0].length;\n // State transition\n if (rule.nextState) {\n if (rule.nextState === '@pop') {\n if (stateStack.length > 1)\n stateStack.pop();\n }\n else {\n const target = rule.nextState.replace(/^@/, '');\n stateStack.push(target);\n }\n }\n matched = true;\n break;\n }\n }\n if (!matched) {\n // No rule matched — consume one char\n // Try to batch consecutive unmatched chars\n let end = pos + 1;\n while (end < code.length) {\n let anyMatch = false;\n for (const rule of rules) {\n rule.regex.lastIndex = end;\n const m = rule.regex.exec(code);\n if (m && m.index === end && m[0].length > 0) {\n anyMatch = true;\n break;\n }\n }\n if (anyMatch)\n break;\n end++;\n iterations++;\n if (iterations >= maxIterations)\n break;\n }\n tokens.push({ text: code.slice(pos, end), type: defaultToken || null });\n pos = end;\n }\n }\n return tokens;\n}\n// ── HTML rendering ─────────────────────────────────────────────────────\nfunction escapeHtml(text) {\n return text\n .replace(/&/g, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;')\n .replace(/\"/g, '&quot;');\n}\nfunction tokensToHtml(tokens) {\n return tokens\n .map(t => {\n const escaped = escapeHtml(t.text);\n return t.type ? `<span class=\"token ${t.type}\">${escaped}</span>` : escaped;\n })\n .join('');\n}\n// ── Grammar registry ───────────────────────────────────────────────────\nconst customGrammars = new Map();\n/**\n * Register a custom grammar.\n */\nfunction registerGrammar(name, grammar) {\n customGrammars.set(name.toLowerCase(), grammar);\n}\n/**\n * Unregister a custom grammar.\n */\nfunction unregisterGrammar(name) {\n customGrammars.delete(name.toLowerCase());\n}\n/**\n * Get a grammar by language name (custom registry only).\n */\nfunction getGrammar(language) {\n return customGrammars.get(language.toLowerCase());\n}\n/**\n * Highlight code using a grammar (by language name or direct Grammar object).\n */\nfunction highlightCode(code, language) {\n const grammar = typeof language === 'string' ? getGrammar(language) : language;\n if (!grammar)\n return escapeHtml(code);\n const compiled = compileGrammar(grammar);\n const tokens = tokenizeWithGrammar(code, compiled);\n return tokensToHtml(tokens);\n}\n/**\n * Tokenize code and return raw tokens (for advanced use).\n */\nfunction tokenize(code, language) {\n const grammar = typeof language === 'string' ? getGrammar(language) : language;\n if (!grammar)\n return [{ text: code, type: null }];\n const compiled = compileGrammar(grammar);\n return tokenizeWithGrammar(code, compiled);\n}\n\nexport { getGrammar, highlightCode, registerGrammar, tokenize, unregisterGrammar };\n//# sourceMappingURL=highlighter.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, query, dispatch, request, render, styles, ready, on, watch, html, css } from 'snice';\nimport { highlightCode } from './highlighter.js';\n\nvar cssContent = \":host{display:block}.code-block{position:relative;background:hsl(var(--snice-color-gray-900));border-radius:var(--snice-border-radius-md,.375rem);overflow:hidden}.code-block__header{display:flex;justify-content:space-between;align-items:center;padding:var(--snice-spacing-sm,.75rem) var(--snice-spacing-md,1rem);background:hsl(var(--snice-color-gray-800));border-bottom:1px solid hsl(var(--snice-color-gray-700))}.code-block__filename{font-size:var(--snice-font-size-sm, .875rem);color:hsl(var(--snice-color-gray-300));font-family:var(--snice-font-family-mono, monospace)}.code-block__copy{background:0 0;border:1px solid hsl(var(--snice-color-gray-600));color:hsl(var(--snice-color-gray-300));padding:.25rem .5rem;border-radius:var(--snice-border-radius-sm,.25rem);cursor:pointer;font-size:var(--snice-font-size-xs, .75rem);transition:.2s}.code-block__copy:hover{background:hsl(var(--snice-color-gray-700));border-color:hsl(var(--snice-color-gray-500))}.code-block__copy--copied{background:var(--snice-color-success);border-color:hsl(var(--snice-color-green-500));color:hsl(0 0% 100%)}.code-block__content{overflow-x:auto}.code-block__pre{margin:0;padding:var(--snice-spacing-md,1rem);background:0 0;overflow-x:auto}.code-block__code{font-family:var(--snice-font-family-mono, 'Courier New', monospace);font-size:var(--snice-font-size-sm, .875rem);line-height:1.5;color:hsl(var(--snice-color-gray-100));display:block}.code-block__line{display:block}.code-block__line--highlight{background:hsl(0 0% 100% / .1);border-left:3px solid var(--snice-color-primary);padding-left:calc(var(--snice-spacing-sm,.75rem) - 3px);margin-left:calc(-1 * var(--snice-spacing-md,1rem));padding-right:var(--snice-spacing-md,1rem)}.code-block__line-number{display:inline-block;width:3rem;text-align:right;margin-right:var(--snice-spacing-md,1rem);color:hsl(var(--snice-color-gray-500));user-select:none}.token.keyword{color:var(--code-keyword-color,#c678dd)}.token.function{color:var(--code-function-color,#61afef)}.token.string{color:var(--code-string-color,#98c379)}.token.number{color:var(--code-number-color,#d19a66)}.token.comment{color:var(--code-comment-color,#6a9955);font-style:italic}.token.operator{color:var(--code-operator-color,#56b6c2)}.token.punctuation{color:var(--code-punctuation-color,#abb2bf)}.token.tag{color:var(--code-tag-color,#e06c75)}.token.attr-name,.token.property{color:var(--code-attr-name-color,#d19a66)}.token.attr-value{color:var(--code-attr-value-color,#98c379)}.token.boolean,.token.constant{color:var(--code-constant-color,#d19a66)}.token.class-name{color:var(--code-class-color,#e5c07b)}.token.builtin{color:var(--code-builtin-color,#e06c75)}.token.regex{color:var(--code-regex-color,#98c379)}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}\";\n\nconst LOAD_GRAMMAR_REQUEST = 'snice/code-block/load-grammar';\n\nlet SniceCodeBlock = (() => {\n let _classDecorators = [element('snice-code-block')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _language_decorators;\n let _language_initializers = [];\n let _language_extraInitializers = [];\n let _showLineNumbers_decorators;\n let _showLineNumbers_initializers = [];\n let _showLineNumbers_extraInitializers = [];\n let _startLine_decorators;\n let _startLine_initializers = [];\n let _startLine_extraInitializers = [];\n let _highlightLines_decorators;\n let _highlightLines_initializers = [];\n let _highlightLines_extraInitializers = [];\n let _copyable_decorators;\n let _copyable_initializers = [];\n let _copyable_extraInitializers = [];\n let _filename_decorators;\n let _filename_initializers = [];\n let _filename_extraInitializers = [];\n let _grammar_decorators;\n let _grammar_initializers = [];\n let _grammar_extraInitializers = [];\n let _fetchMode_decorators;\n let _fetchMode_initializers = [];\n let _fetchMode_extraInitializers = [];\n let _codeEl_decorators;\n let _codeEl_initializers = [];\n let _codeEl_extraInitializers = [];\n let _headerEl_decorators;\n let _headerEl_initializers = [];\n let _headerEl_extraInitializers = [];\n let _filenameEl_decorators;\n let _filenameEl_initializers = [];\n let _filenameEl_extraInitializers = [];\n let _copyBtn_decorators;\n let _copyBtn_initializers = [];\n let _copyBtn_extraInitializers = [];\n let _dispatchCopyEvent_decorators;\n let _dispatchBeforeHighlightEvent_decorators;\n let _dispatchAfterHighlightEvent_decorators;\n let _dispatchGrammarRequestEvent_decorators;\n let _dispatchGrammarLoadedEvent_decorators;\n let _requestGrammar_decorators;\n let _template_decorators;\n let _styles_decorators;\n let _onReady_decorators;\n let _handleSlotChange_decorators;\n let _onGrammarChange_decorators;\n let _onFetchModeChange_decorators;\n let _updateHeader_decorators;\n let _onLanguageChange_decorators;\n (class extends _classSuper {\n static { _classThis = this; }\n static {\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;\n _language_decorators = [property({})];\n _showLineNumbers_decorators = [property({ type: Boolean, attribute: 'show-line-numbers' })];\n _startLine_decorators = [property({ type: Number, attribute: 'start-line' })];\n _highlightLines_decorators = [property({ type: Array, attribute: 'highlight-lines' })];\n _copyable_decorators = [property({ type: Boolean })];\n _filename_decorators = [property({})];\n _grammar_decorators = [property({})];\n _fetchMode_decorators = [property({ attribute: 'fetch-mode' })];\n _codeEl_decorators = [query('.code-block__code')];\n _headerEl_decorators = [query('.code-block__header')];\n _filenameEl_decorators = [query('.code-block__filename')];\n _copyBtn_decorators = [query('.code-block__copy')];\n _dispatchCopyEvent_decorators = [dispatch('code-copy', { bubbles: true, composed: true })];\n _dispatchBeforeHighlightEvent_decorators = [dispatch('code-before-highlight', { bubbles: true, composed: true })];\n _dispatchAfterHighlightEvent_decorators = [dispatch('code-after-highlight', { bubbles: true, composed: true })];\n _dispatchGrammarRequestEvent_decorators = [dispatch('grammar-request', { bubbles: true, composed: true })];\n _dispatchGrammarLoadedEvent_decorators = [dispatch('grammar-loaded', { bubbles: true, composed: true })];\n _requestGrammar_decorators = [request(LOAD_GRAMMAR_REQUEST)];\n _template_decorators = [render({ once: true })];\n _styles_decorators = [styles()];\n _onReady_decorators = [ready()];\n _handleSlotChange_decorators = [on('slotchange', { target: 'slot' })];\n _onGrammarChange_decorators = [watch('grammar')];\n _onFetchModeChange_decorators = [watch('fetchMode')];\n _updateHeader_decorators = [watch('filename', 'copyable')];\n _onLanguageChange_decorators = [watch('language')];\n __esDecorate(this, null, _dispatchCopyEvent_decorators, { kind: \"method\", name: \"dispatchCopyEvent\", static: false, private: false, access: { has: obj => \"dispatchCopyEvent\" in obj, get: obj => obj.dispatchCopyEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchBeforeHighlightEvent_decorators, { kind: \"method\", name: \"dispatchBeforeHighlightEvent\", static: false, private: false, access: { has: obj => \"dispatchBeforeHighlightEvent\" in obj, get: obj => obj.dispatchBeforeHighlightEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchAfterHighlightEvent_decorators, { kind: \"method\", name: \"dispatchAfterHighlightEvent\", static: false, private: false, access: { has: obj => \"dispatchAfterHighlightEvent\" in obj, get: obj => obj.dispatchAfterHighlightEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchGrammarRequestEvent_decorators, { kind: \"method\", name: \"dispatchGrammarRequestEvent\", static: false, private: false, access: { has: obj => \"dispatchGrammarRequestEvent\" in obj, get: obj => obj.dispatchGrammarRequestEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchGrammarLoadedEvent_decorators, { kind: \"method\", name: \"dispatchGrammarLoadedEvent\", static: false, private: false, access: { has: obj => \"dispatchGrammarLoadedEvent\" in obj, get: obj => obj.dispatchGrammarLoadedEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _requestGrammar_decorators, { kind: \"method\", name: \"requestGrammar\", static: false, private: false, access: { has: obj => \"requestGrammar\" in obj, get: obj => obj.requestGrammar }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _template_decorators, { kind: \"method\", name: \"template\", static: false, private: false, access: { has: obj => \"template\" in obj, get: obj => obj.template }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _styles_decorators, { kind: \"method\", name: \"styles\", static: false, private: false, access: { has: obj => \"styles\" in obj, get: obj => obj.styles }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _onReady_decorators, { kind: \"method\", name: \"onReady\", static: false, private: false, access: { has: obj => \"onReady\" in obj, get: obj => obj.onReady }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleSlotChange_decorators, { kind: \"method\", name: \"handleSlotChange\", static: false, private: false, access: { has: obj => \"handleSlotChange\" in obj, get: obj => obj.handleSlotChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _onGrammarChange_decorators, { kind: \"method\", name: \"onGrammarChange\", static: false, private: false, access: { has: obj => \"onGrammarChange\" in obj, get: obj => obj.onGrammarChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _onFetchModeChange_decorators, { kind: \"method\", name: \"onFetchModeChange\", static: false, private: false, access: { has: obj => \"onFetchModeChange\" in obj, get: obj => obj.onFetchModeChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _updateHeader_decorators, { kind: \"method\", name: \"updateHeader\", static: false, private: false, access: { has: obj => \"updateHeader\" in obj, get: obj => obj.updateHeader }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _onLanguageChange_decorators, { kind: \"method\", name: \"onLanguageChange\", static: false, private: false, access: { has: obj => \"onLanguageChange\" in obj, get: obj => obj.onLanguageChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _language_decorators, { kind: \"field\", name: \"language\", static: false, private: false, access: { has: obj => \"language\" in obj, get: obj => obj.language, set: (obj, value) => { obj.language = value; } }, metadata: _metadata }, _language_initializers, _language_extraInitializers);\n __esDecorate(null, null, _showLineNumbers_decorators, { kind: \"field\", name: \"showLineNumbers\", static: false, private: false, access: { has: obj => \"showLineNumbers\" in obj, get: obj => obj.showLineNumbers, set: (obj, value) => { obj.showLineNumbers = value; } }, metadata: _metadata }, _showLineNumbers_initializers, _showLineNumbers_extraInitializers);\n __esDecorate(null, null, _startLine_decorators, { kind: \"field\", name: \"startLine\", static: false, private: false, access: { has: obj => \"startLine\" in obj, get: obj => obj.startLine, set: (obj, value) => { obj.startLine = value; } }, metadata: _metadata }, _startLine_initializers, _startLine_extraInitializers);\n __esDecorate(null, null, _highlightLines_decorators, { kind: \"field\", name: \"highlightLines\", static: false, private: false, access: { has: obj => \"highlightLines\" in obj, get: obj => obj.highlightLines, set: (obj, value) => { obj.highlightLines = value; } }, metadata: _metadata }, _highlightLines_initializers, _highlightLines_extraInitializers);\n __esDecorate(null, null, _copyable_decorators, { kind: \"field\", name: \"copyable\", static: false, private: false, access: { has: obj => \"copyable\" in obj, get: obj => obj.copyable, set: (obj, value) => { obj.copyable = value; } }, metadata: _metadata }, _copyable_initializers, _copyable_extraInitializers);\n __esDecorate(null, null, _filename_decorators, { kind: \"field\", name: \"filename\", static: false, private: false, access: { has: obj => \"filename\" in obj, get: obj => obj.filename, set: (obj, value) => { obj.filename = value; } }, metadata: _metadata }, _filename_initializers, _filename_extraInitializers);\n __esDecorate(null, null, _grammar_decorators, { kind: \"field\", name: \"grammar\", static: false, private: false, access: { has: obj => \"grammar\" in obj, get: obj => obj.grammar, set: (obj, value) => { obj.grammar = value; } }, metadata: _metadata }, _grammar_initializers, _grammar_extraInitializers);\n __esDecorate(null, null, _fetchMode_decorators, { kind: \"field\", name: \"fetchMode\", static: false, private: false, access: { has: obj => \"fetchMode\" in obj, get: obj => obj.fetchMode, set: (obj, value) => { obj.fetchMode = value; } }, metadata: _metadata }, _fetchMode_initializers, _fetchMode_extraInitializers);\n __esDecorate(null, null, _codeEl_decorators, { kind: \"field\", name: \"codeEl\", static: false, private: false, access: { has: obj => \"codeEl\" in obj, get: obj => obj.codeEl, set: (obj, value) => { obj.codeEl = value; } }, metadata: _metadata }, _codeEl_initializers, _codeEl_extraInitializers);\n __esDecorate(null, null, _headerEl_decorators, { kind: \"field\", name: \"headerEl\", static: false, private: false, access: { has: obj => \"headerEl\" in obj, get: obj => obj.headerEl, set: (obj, value) => { obj.headerEl = value; } }, metadata: _metadata }, _headerEl_initializers, _headerEl_extraInitializers);\n __esDecorate(null, null, _filenameEl_decorators, { kind: \"field\", name: \"filenameEl\", static: false, private: false, access: { has: obj => \"filenameEl\" in obj, get: obj => obj.filenameEl, set: (obj, value) => { obj.filenameEl = value; } }, metadata: _metadata }, _filenameEl_initializers, _filenameEl_extraInitializers);\n __esDecorate(null, null, _copyBtn_decorators, { kind: \"field\", name: \"copyBtn\", static: false, private: false, access: { has: obj => \"copyBtn\" in obj, get: obj => obj.copyBtn, set: (obj, value) => { obj.copyBtn = value; } }, metadata: _metadata }, _copyBtn_initializers, _copyBtn_extraInitializers);\n __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);\n _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });\n __runInitializers(_classThis, _classExtraInitializers);\n }\n dispatchCopyEvent() {\n return { code: this.code, codeBlock: this };\n }\n dispatchBeforeHighlightEvent() {\n return { code: this.code, language: this.language, codeBlock: this };\n }\n dispatchAfterHighlightEvent() {\n return { code: this.code, language: this.language, codeBlock: this };\n }\n dispatchGrammarRequestEvent() {\n return { url: this.grammar, language: this.language, codeBlock: this };\n }\n dispatchGrammarLoadedEvent(grammar, url) {\n return { grammar, url, language: this.language, codeBlock: this };\n }\n async *requestGrammar(url) {\n const grammar = await (yield { url });\n return grammar;\n }\n template() {\n return html /*html*/ `\n <slot style=\"display:none\"></slot>\n <div class=\"code-block\" part=\"container\">\n <div class=\"code-block__header\" part=\"header\">\n <div class=\"code-block__filename\" part=\"filename\">${this.filename}</div>\n <button\n class=\"code-block__copy\"\n part=\"copy-button\"\n @click=\"${() => this.copy()}\">\n Copy\n </button>\n </div>\n <div class=\"code-block__content\" part=\"content\">\n <pre class=\"code-block__pre\" part=\"pre\"><code class=\"code-block__code language-${this.language}\" part=\"code\" data-language=\"${this.language}\"></code></pre>\n </div>\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n async onReady() {\n this.updateHeader();\n if (!this.code) {\n this.readSlottedContent();\n }\n if (this.code) {\n await this.highlight();\n }\n }\n handleSlotChange() {\n this.readSlottedContent();\n }\n readSlottedContent() {\n const text = this.textContent?.trim();\n if (text) {\n this.code = text;\n this.highlight();\n }\n }\n onGrammarChange() {\n this.loadedGrammar = null;\n this.loadedGrammarUrl = null;\n if (this.code) {\n this.highlight();\n }\n }\n onFetchModeChange() {\n this.loadedGrammar = null;\n this.loadedGrammarUrl = null;\n if (this.code) {\n this.highlight();\n }\n }\n updateHeader() {\n if (!this.headerEl)\n return;\n const show = this.filename || this.copyable;\n this.headerEl.style.display = show ? '' : 'none';\n if (this.filenameEl)\n this.filenameEl.textContent = this.filename;\n if (this.copyBtn)\n this.copyBtn.style.display = this.copyable ? '' : 'none';\n }\n onLanguageChange() {\n if (!this.codeEl)\n return;\n this.codeEl.className = `code-block__code language-${this.language}`;\n this.codeEl.setAttribute('data-language', this.language);\n }\n escapeHtml(text) {\n const div = document.createElement('div');\n div.textContent = text;\n return div.innerHTML;\n }\n updateCodeDisplay() {\n if (!this.codeEl)\n return;\n const codeToRender = this.highlightedCode || this.escapeHtml(this.code);\n if (this.showLineNumbers || this.highlightLines.length > 0) {\n const lines = codeToRender.split('\\n');\n const markup = lines.map((line, index) => {\n const lineNumber = this.startLine + index;\n const isHighlighted = this.highlightLines.includes(lineNumber);\n const lineClasses = [\n 'code-block__line',\n isHighlighted ? 'code-block__line--highlight' : ''\n ].filter(Boolean).join(' ');\n const lineNumberHtml = this.showLineNumbers\n ? `<span class=\"code-block__line-number\">${lineNumber}</span>`\n : '';\n return `<span class=\"${lineClasses}\">${lineNumberHtml}${line}\\n</span>`;\n }).join('');\n this.codeEl.innerHTML = markup;\n }\n else {\n this.codeEl.innerHTML = codeToRender;\n }\n }\n async copy() {\n try {\n await navigator.clipboard.writeText(this.code);\n this.copied = true;\n this.dispatchCopyEvent();\n if (this.copyBtn)\n this.copyBtn.textContent = 'Copied!';\n setTimeout(() => {\n this.copied = false;\n if (this.copyBtn)\n this.copyBtn.textContent = 'Copy';\n }, 2000);\n }\n catch (err) {\n console.error('Failed to copy code:', err);\n }\n }\n setHighlighter(highlighter) {\n this.highlighter = highlighter;\n }\n setGrammar(grammar) {\n this.loadedGrammar = grammar;\n this.loadedGrammarUrl = null;\n this.dispatchGrammarLoadedEvent(grammar, '');\n if (this.code) {\n this.highlight();\n }\n }\n async resolveGrammar() {\n if (this.loadedGrammar)\n return this.loadedGrammar;\n if (!this.grammar)\n return null;\n try {\n switch (this.fetchMode) {\n case 'native': {\n const response = await fetch(this.grammar);\n const grammar = await response.json();\n if (grammar) {\n this.loadedGrammar = grammar;\n this.loadedGrammarUrl = this.grammar;\n this.dispatchGrammarLoadedEvent(grammar, this.grammar);\n }\n return grammar;\n }\n case 'virtual': {\n const grammar = await this.requestGrammar(this.grammar);\n if (grammar) {\n this.loadedGrammar = grammar;\n this.loadedGrammarUrl = this.grammar;\n this.dispatchGrammarLoadedEvent(grammar, this.grammar);\n }\n return grammar;\n }\n case 'event': {\n this.dispatchGrammarRequestEvent();\n return null;\n }\n default:\n return null;\n }\n }\n catch (error) {\n console.error(`Failed to load grammar from ${this.grammar}:`, error);\n return null;\n }\n }\n async highlight() {\n if (!this.code)\n return;\n const version = ++this.highlightVersion;\n this.dispatchBeforeHighlightEvent();\n try {\n if (this.highlighter) {\n const escapedCode = this.escapeHtml(this.code);\n const lines = escapedCode.split('\\n');\n const highlightedLines = await Promise.all(lines.map(line => this.highlighter(line, this.language)));\n if (version !== this.highlightVersion)\n return;\n this.highlightedCode = highlightedLines.join('\\n');\n }\n else {\n const grammarObj = await this.resolveGrammar();\n if (version !== this.highlightVersion)\n return;\n this.highlightedCode = highlightCode(this.code, grammarObj || this.language);\n }\n this.updateCodeDisplay();\n this.dispatchAfterHighlightEvent();\n }\n catch (error) {\n console.error('Syntax highlighting failed:', error);\n }\n }\n constructor() {\n super(...arguments);\n this.code = (__runInitializers(this, _instanceExtraInitializers), '');\n this.language = __runInitializers(this, _language_initializers, 'plaintext');\n this.showLineNumbers = (__runInitializers(this, _language_extraInitializers), __runInitializers(this, _showLineNumbers_initializers, false));\n this.startLine = (__runInitializers(this, _showLineNumbers_extraInitializers), __runInitializers(this, _startLine_initializers, 1));\n this.highlightLines = (__runInitializers(this, _startLine_extraInitializers), __runInitializers(this, _highlightLines_initializers, []));\n this.copyable = (__runInitializers(this, _highlightLines_extraInitializers), __runInitializers(this, _copyable_initializers, true));\n this.filename = (__runInitializers(this, _copyable_extraInitializers), __runInitializers(this, _filename_initializers, ''));\n this.grammar = (__runInitializers(this, _filename_extraInitializers), __runInitializers(this, _grammar_initializers, ''));\n this.fetchMode = (__runInitializers(this, _grammar_extraInitializers), __runInitializers(this, _fetchMode_initializers, 'native'));\n this.highlighter = __runInitializers(this, _fetchMode_extraInitializers);\n this.copied = false;\n this.highlightedCode = '';\n this.loadedGrammar = null;\n this.loadedGrammarUrl = null;\n this.highlightVersion = 0;\n this.codeEl = __runInitializers(this, _codeEl_initializers, void 0);\n this.headerEl = (__runInitializers(this, _codeEl_extraInitializers), __runInitializers(this, _headerEl_initializers, void 0));\n this.filenameEl = (__runInitializers(this, _headerEl_extraInitializers), __runInitializers(this, _filenameEl_initializers, void 0));\n this.copyBtn = (__runInitializers(this, _filenameEl_extraInitializers), __runInitializers(this, _copyBtn_initializers, void 0));\n __runInitializers(this, _copyBtn_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCodeBlock };\n//# sourceMappingURL=snice-code-block.js.map\n"],"names":["__esDecorate","ctor","descriptorIn","decorators","contextIn","initializers","extraInitializers","accept","f","TypeError","_","kind","key","target","prototype","descriptor","Object","getOwnPropertyDescriptor","name","done","i","length","context","p","access","addInitializer","push","result","get","set","init","unshift","defineProperty","__runInitializers","thisArg","value","useValue","arguments","call","SuppressedError","compiledCache","WeakMap","resolveEntries","grammar","entries","visited","entry","stateName","include","replace","has","add","included","tokenizer","resolveToken","tokenDef","matchedText","pattern","tokenType","cases","startsWith","table","slice","Array","isArray","includes","undefined","escapeHtml","text","customGrammars","Map","highlightCode","code","language","toLowerCase","getGrammar","compiled","cached","states","flags","ignoreCase","Set","map","rule","regex","RegExp","token","nextState","compileGrammar","tokens","stateStack","pos","defaultToken","maxIterations","iterations","currentState","rules","type","matched","lastIndex","m","exec","index","pop","end","anyMatch","tokenizeWithGrammar","t","escaped","join","tokensToHtml","SniceCodeBlock","_classDescriptor","_classThis","_language_decorators","_showLineNumbers_decorators","_startLine_decorators","_highlightLines_decorators","_copyable_decorators","_filename_decorators","_grammar_decorators","_fetchMode_decorators","_codeEl_decorators","_headerEl_decorators","_filenameEl_decorators","_copyBtn_decorators","_dispatchCopyEvent_decorators","_dispatchBeforeHighlightEvent_decorators","_dispatchAfterHighlightEvent_decorators","_dispatchGrammarRequestEvent_decorators","_dispatchGrammarLoadedEvent_decorators","_requestGrammar_decorators","_template_decorators","_styles_decorators","_onReady_decorators","_handleSlotChange_decorators","_onGrammarChange_decorators","_onFetchModeChange_decorators","_updateHeader_decorators","_onLanguageChange_decorators","_classDecorators","element","_classExtraInitializers","_classSuper","HTMLElement","_instanceExtraInitializers","_language_initializers","_language_extraInitializers","_showLineNumbers_initializers","_showLineNumbers_extraInitializers","_startLine_initializers","_startLine_extraInitializers","_highlightLines_initializers","_highlightLines_extraInitializers","_copyable_initializers","_copyable_extraInitializers","_filename_initializers","_filename_extraInitializers","_grammar_initializers","_grammar_extraInitializers","_fetchMode_initializers","_fetchMode_extraInitializers","_codeEl_initializers","_codeEl_extraInitializers","_headerEl_initializers","_headerEl_extraInitializers","_filenameEl_initializers","_filenameEl_extraInitializers","_copyBtn_initializers","_copyBtn_extraInitializers","this","_metadata","Symbol","metadata","create","property","Boolean","attribute","Number","query","dispatch","bubbles","composed","request","render","once","styles","ready","on","watch","static","private","obj","dispatchCopyEvent","dispatchBeforeHighlightEvent","dispatchAfterHighlightEvent","dispatchGrammarRequestEvent","dispatchGrammarLoadedEvent","requestGrammar","template","onReady","handleSlotChange","onGrammarChange","onFetchModeChange","updateHeader","onLanguageChange","showLineNumbers","startLine","highlightLines","copyable","filename","fetchMode","codeEl","headerEl","filenameEl","copyBtn","enumerable","configurable","writable","codeBlock","url","html","copy","css","readSlottedContent","highlight","textContent","trim","loadedGrammar","loadedGrammarUrl","show","style","display","className","setAttribute","div","document","createElement","innerHTML","updateCodeDisplay","codeToRender","highlightedCode","markup","split","line","lineNumber","filter","navigator","clipboard","writeText","copied","setTimeout","err","console","error","setHighlighter","highlighter","setGrammar","resolveGrammar","response","fetch","json","version","highlightVersion","lines","highlightedLines","Promise","all","grammarObj","constructor","super"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"snice-code-block.min.js","sources":["../../../node_modules/tslib/tslib.es6.mjs","../../components/code-block/highlighter.js","../../components/code-block/formatter.js","../../components/code-block/snice-code-block.js"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","/**\n * JSON-driven syntax highlighter with Monarch-inspired state machine.\n * Grammars are JSON-serializable objects with states, transitions, and lookup tables.\n */\n// ── Grammar compilation ────────────────────────────────────────────────\nconst compiledCache = new WeakMap();\nfunction compileGrammar(grammar) {\n const cached = compiledCache.get(grammar);\n if (cached)\n return cached;\n const states = new Map();\n const flags = grammar.ignoreCase ? 'yi' : 'y';\n for (const [stateName, entries] of Object.entries(grammar.tokenizer)) {\n const rules = resolveEntries(grammar, entries, new Set());\n const compiled = rules.map(rule => ({\n regex: new RegExp(rule[0], flags),\n token: rule[1],\n nextState: rule[2],\n }));\n states.set(stateName, compiled);\n }\n const result = { grammar, states };\n compiledCache.set(grammar, result);\n return result;\n}\nfunction resolveEntries(grammar, entries, visited) {\n const result = [];\n for (const entry of entries) {\n if ('include' in entry) {\n const stateName = entry.include.replace(/^@/, '');\n if (visited.has(stateName))\n continue;\n visited.add(stateName);\n const included = grammar.tokenizer[stateName];\n if (included) {\n result.push(...resolveEntries(grammar, included, visited));\n }\n }\n else {\n result.push(entry);\n }\n }\n return result;\n}\n// ── Tokenizer engine ───────────────────────────────────────────────────\nfunction resolveToken(grammar, tokenDef, matchedText) {\n if (typeof tokenDef === 'string')\n return tokenDef;\n // Conditional token via cases lookup\n for (const [pattern, tokenType] of Object.entries(tokenDef.cases)) {\n if (pattern === '@default')\n continue;\n // @tableName — check if matchedText is in the lookup table\n if (pattern.startsWith('@')) {\n const tableName = pattern.slice(1);\n const table = grammar[tableName];\n if (Array.isArray(table) && table.includes(matchedText)) {\n return tokenType;\n }\n }\n else if (pattern === matchedText) {\n return tokenType;\n }\n }\n // Fallback to @default\n if (tokenDef.cases['@default'] !== undefined) {\n return tokenDef.cases['@default'];\n }\n return '';\n}\nfunction tokenizeWithGrammar(code, compiled) {\n const { grammar, states } = compiled;\n const tokens = [];\n const stateStack = ['root'];\n let pos = 0;\n const defaultToken = grammar.defaultToken || '';\n // Safety: max iterations to prevent infinite loops on bad grammars\n const maxIterations = code.length * 10;\n let iterations = 0;\n while (pos < code.length && iterations < maxIterations) {\n iterations++;\n const currentState = stateStack[stateStack.length - 1];\n const rules = states.get(currentState);\n if (!rules) {\n // Unknown state — consume one char as default token\n tokens.push({ text: code[pos], type: defaultToken || null });\n pos++;\n continue;\n }\n let matched = false;\n for (const rule of rules) {\n rule.regex.lastIndex = pos;\n const m = rule.regex.exec(code);\n if (m && m.index === pos && m[0].length > 0) {\n const tokenType = resolveToken(grammar, rule.token, m[0]);\n tokens.push({ text: m[0], type: tokenType || null });\n pos += m[0].length;\n // State transition\n if (rule.nextState) {\n if (rule.nextState === '@pop') {\n if (stateStack.length > 1)\n stateStack.pop();\n }\n else {\n const target = rule.nextState.replace(/^@/, '');\n stateStack.push(target);\n }\n }\n matched = true;\n break;\n }\n }\n if (!matched) {\n // No rule matched — consume one char\n // Try to batch consecutive unmatched chars\n let end = pos + 1;\n while (end < code.length) {\n let anyMatch = false;\n for (const rule of rules) {\n rule.regex.lastIndex = end;\n const m = rule.regex.exec(code);\n if (m && m.index === end && m[0].length > 0) {\n anyMatch = true;\n break;\n }\n }\n if (anyMatch)\n break;\n end++;\n iterations++;\n if (iterations >= maxIterations)\n break;\n }\n tokens.push({ text: code.slice(pos, end), type: defaultToken || null });\n pos = end;\n }\n }\n return tokens;\n}\n// ── HTML rendering ─────────────────────────────────────────────────────\nfunction escapeHtml(text) {\n return text\n .replace(/&/g, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;')\n .replace(/\"/g, '&quot;');\n}\nfunction tokensToHtml(tokens) {\n return tokens\n .map(t => {\n const escaped = escapeHtml(t.text);\n return t.type ? `<span class=\"token ${t.type}\">${escaped}</span>` : escaped;\n })\n .join('');\n}\n// ── Grammar registry ───────────────────────────────────────────────────\nconst customGrammars = new Map();\n/**\n * Register a custom grammar.\n */\nfunction registerGrammar(name, grammar) {\n customGrammars.set(name.toLowerCase(), grammar);\n}\n/**\n * Unregister a custom grammar.\n */\nfunction unregisterGrammar(name) {\n customGrammars.delete(name.toLowerCase());\n}\n/**\n * Get a grammar by language name (custom registry only).\n */\nfunction getGrammar(language) {\n return customGrammars.get(language.toLowerCase());\n}\n/**\n * Highlight code using a grammar (by language name or direct Grammar object).\n */\nfunction highlightCode(code, language) {\n const grammar = typeof language === 'string' ? getGrammar(language) : language;\n if (!grammar)\n return escapeHtml(code);\n const compiled = compileGrammar(grammar);\n const tokens = tokenizeWithGrammar(code, compiled);\n return tokensToHtml(tokens);\n}\n/**\n * Tokenize code and return raw tokens (for advanced use).\n */\nfunction tokenize(code, language) {\n const grammar = typeof language === 'string' ? getGrammar(language) : language;\n if (!grammar)\n return [{ text: code, type: null }];\n const compiled = compileGrammar(grammar);\n return tokenizeWithGrammar(code, compiled);\n}\n\nexport { getGrammar, highlightCode, registerGrammar, tokenize, unregisterGrammar };\n//# sourceMappingURL=highlighter.js.map\n","/**\n * Declarative grammar-based code formatter for snice-code-block.\n *\n * Rules are defined in grammar JSON files under \"formatters\" section.\n * The engine scans code char by char, tracks string/comment context,\n * and applies newline/space/indent rules based on regex char classes.\n */\n/**\n * Format code using declarative rules.\n */\nfunction formatCode(code, rules) {\n const tabSize = rules.tabSize ?? 2;\n const useTabs = rules.useTabs ?? false;\n const indentUnit = useTabs ? '\\t' : ' '.repeat(tabSize);\n const trimTrailing = rules.trimTrailing ?? true;\n const skipStrings = rules.skipStrings ?? true;\n const skipComments = rules.skipComments ?? true;\n const newlineAfter = rules.newlineAfter ? new RegExp(rules.newlineAfter) : null;\n const newlineBefore = rules.newlineBefore ? new RegExp(rules.newlineBefore) : null;\n const spaceAfter = rules.spaceAfter ? new RegExp(rules.spaceAfter) : null;\n const spaceBefore = rules.spaceBefore ? new RegExp(rules.spaceBefore) : null;\n const spaceAround = rules.spaceAround ? new RegExp(rules.spaceAround) : null;\n const indentRe = rules.indent ? new RegExp(rules.indent) : null;\n const dedentRe = rules.dedent ? new RegExp(rules.dedent) : null;\n // Strip existing formatting: collapse whitespace outside strings/comments\n const stripped = stripWhitespace(code, skipStrings, skipComments);\n // Build formatted output\n let result = '';\n let depth = 0;\n let lineStart = true;\n let inString = null;\n let inComment = false; // block comment\n let inLineComment = false;\n for (let i = 0; i < stripped.length; i++) {\n const ch = stripped[i];\n const prev = i > 0 ? stripped[i - 1] : '';\n const next = i + 1 < stripped.length ? stripped[i + 1] : '';\n // Track string context\n if (!inComment && !inLineComment && skipStrings) {\n if (inString) {\n result += ch;\n if (ch === inString && prev !== '\\\\') {\n inString = null;\n }\n continue;\n }\n if (ch === '\"' || ch === \"'\" || ch === '`') {\n inString = ch;\n if (lineStart) {\n result += indentUnit.repeat(depth);\n lineStart = false;\n }\n result += ch;\n continue;\n }\n }\n // Track comment context\n if (skipComments) {\n if (inLineComment) {\n result += ch;\n if (ch === '\\n') {\n inLineComment = false;\n lineStart = true;\n }\n continue;\n }\n if (inComment) {\n result += ch;\n if (ch === '/' && prev === '*') {\n inComment = false;\n }\n continue;\n }\n if (ch === '/' && next === '/') {\n if (lineStart) {\n result += indentUnit.repeat(depth);\n lineStart = false;\n }\n inLineComment = true;\n result += ch;\n continue;\n }\n if (ch === '/' && next === '*') {\n if (lineStart) {\n result += indentUnit.repeat(depth);\n lineStart = false;\n }\n inComment = true;\n result += ch;\n continue;\n }\n }\n // Dedent before the char\n if (dedentRe && dedentRe.test(ch)) {\n depth = Math.max(0, depth - 1);\n }\n // Newline before\n if (newlineBefore && newlineBefore.test(ch)) {\n if (!lineStart) {\n result = trimTrailingSpaces(result);\n result += '\\n';\n lineStart = true;\n }\n }\n // Space before (including spaceAround)\n if ((spaceBefore && spaceBefore.test(ch)) || (spaceAround && spaceAround.test(ch))) {\n if (!lineStart && result.length > 0 && result[result.length - 1] !== ' ' && result[result.length - 1] !== '\\n') {\n result += ' ';\n }\n }\n // Write indent if at line start\n if (lineStart && ch !== '\\n') {\n result += indentUnit.repeat(depth);\n lineStart = false;\n }\n result += ch;\n // Indent after the char\n if (indentRe && indentRe.test(ch)) {\n depth++;\n }\n // Space after (including spaceAround)\n if ((spaceAfter && spaceAfter.test(ch)) || (spaceAround && spaceAround.test(ch))) {\n if (next && next !== '\\n' && next !== ' ') {\n result += ' ';\n }\n }\n // Newline after\n if (newlineAfter && newlineAfter.test(ch)) {\n result = trimTrailingSpaces(result);\n result += '\\n';\n lineStart = true;\n }\n }\n // Post-processing\n let lines = result.split('\\n');\n if (trimTrailing) {\n lines = lines.map(l => l.replace(/\\s+$/, ''));\n }\n if (rules.collapseBlankLines !== undefined) {\n lines = collapseBlankLinesArr(lines, rules.collapseBlankLines);\n }\n // Trim leading/trailing blank lines\n while (lines.length > 0 && lines[0].trim() === '')\n lines.shift();\n while (lines.length > 0 && lines[lines.length - 1].trim() === '')\n lines.pop();\n return lines.join('\\n');\n}\n/**\n * Strip existing whitespace: replace runs of whitespace (outside strings/comments)\n * with a single space, and remove all newlines.\n */\nfunction stripWhitespace(code, skipStrings, skipComments) {\n let result = '';\n let inString = null;\n let inComment = false;\n let inLineComment = false;\n for (let i = 0; i < code.length; i++) {\n const ch = code[i];\n const prev = i > 0 ? code[i - 1] : '';\n const next = i + 1 < code.length ? code[i + 1] : '';\n // Track strings\n if (!inComment && !inLineComment && skipStrings) {\n if (inString) {\n result += ch;\n if (ch === inString && prev !== '\\\\') {\n inString = null;\n }\n continue;\n }\n if (ch === '\"' || ch === \"'\" || ch === '`') {\n inString = ch;\n result += ch;\n continue;\n }\n }\n // Track comments\n if (skipComments) {\n if (inLineComment) {\n if (ch === '\\n') {\n inLineComment = false;\n // Emit the newline so line comments stay separate\n result += ch;\n }\n else {\n result += ch;\n }\n continue;\n }\n if (inComment) {\n result += ch;\n if (ch === '/' && prev === '*') {\n inComment = false;\n }\n continue;\n }\n if (ch === '/' && next === '/') {\n inLineComment = true;\n result += ch;\n continue;\n }\n if (ch === '/' && next === '*') {\n inComment = true;\n result += ch;\n continue;\n }\n }\n // Collapse whitespace\n if (/\\s/.test(ch)) {\n if (result.length > 0 && !/\\s/.test(result[result.length - 1])) {\n result += ' ';\n }\n }\n else {\n result += ch;\n }\n }\n return result;\n}\nfunction trimTrailingSpaces(s) {\n let end = s.length;\n while (end > 0 && s[end - 1] === ' ')\n end--;\n return s.slice(0, end);\n}\nfunction collapseBlankLinesArr(lines, max) {\n const result = [];\n let blankCount = 0;\n for (const line of lines) {\n if (line.trim() === '') {\n blankCount++;\n if (blankCount <= max) {\n result.push(line);\n }\n }\n else {\n blankCount = 0;\n result.push(line);\n }\n }\n return result;\n}\n\nexport { formatCode };\n//# sourceMappingURL=formatter.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, query, dispatch, request, render, styles, ready, on, watch, html, css } from 'snice';\nimport { highlightCode } from './highlighter.js';\nimport { formatCode } from './formatter.js';\n\nvar cssContent = \":host{display:block}.code-block{position:relative;background:hsl(var(--snice-color-gray-900));border-radius:var(--snice-border-radius-md,.375rem);overflow:hidden}.code-block__header{display:flex;justify-content:space-between;align-items:center;padding:var(--snice-spacing-sm,.75rem) var(--snice-spacing-md,1rem);background:hsl(var(--snice-color-gray-800));border-bottom:1px solid hsl(var(--snice-color-gray-700))}.code-block__filename{font-size:var(--snice-font-size-sm, .875rem);color:hsl(var(--snice-color-gray-300));font-family:var(--snice-font-family-mono, monospace)}.code-block__copy{background:0 0;border:1px solid hsl(var(--snice-color-gray-600));color:hsl(var(--snice-color-gray-300));padding:.25rem .5rem;border-radius:var(--snice-border-radius-sm,.25rem);cursor:pointer;font-size:var(--snice-font-size-xs, .75rem);transition:.2s}.code-block__copy:hover{background:hsl(var(--snice-color-gray-700));border-color:hsl(var(--snice-color-gray-500))}.code-block__copy--copied{background:var(--snice-color-success);border-color:hsl(var(--snice-color-green-500));color:hsl(0 0% 100%)}.code-block__content{overflow-x:auto}.code-block__pre{margin:0;padding:var(--snice-spacing-md,1rem);background:0 0;overflow-x:auto}.code-block__code{font-family:var(--snice-font-family-mono, 'Courier New', monospace);font-size:var(--snice-font-size-sm, .875rem);line-height:1.5;color:hsl(var(--snice-color-gray-100));display:block}.code-block__line{display:block}.code-block__line--highlight{background:hsl(0 0% 100% / .1);border-left:3px solid var(--snice-color-primary);padding-left:calc(var(--snice-spacing-sm,.75rem) - 3px);margin-left:calc(-1 * var(--snice-spacing-md,1rem));padding-right:var(--snice-spacing-md,1rem)}.code-block__line-number{display:inline-block;width:3rem;text-align:right;margin-right:var(--snice-spacing-md,1rem);color:hsl(var(--snice-color-gray-500));user-select:none}.token.keyword{color:var(--code-keyword-color,#c678dd)}.token.function{color:var(--code-function-color,#61afef)}.token.string{color:var(--code-string-color,#98c379)}.token.number{color:var(--code-number-color,#d19a66)}.token.comment{color:var(--code-comment-color,#6a9955);font-style:italic}.token.operator{color:var(--code-operator-color,#56b6c2)}.token.punctuation{color:var(--code-punctuation-color,#abb2bf)}.token.tag{color:var(--code-tag-color,#e06c75)}.token.attr-name,.token.property{color:var(--code-attr-name-color,#d19a66)}.token.attr-value{color:var(--code-attr-value-color,#98c379)}.token.boolean,.token.constant{color:var(--code-constant-color,#d19a66)}.token.class-name{color:var(--code-class-color,#e5c07b)}.token.builtin{color:var(--code-builtin-color,#e06c75)}.token.regex{color:var(--code-regex-color,#98c379)}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}\";\n\nconst LOAD_GRAMMAR_REQUEST = 'snice/code-block/load-grammar';\n\nfunction dedent(text) {\n const lines = text.replace(/^\\n+/, '').replace(/\\n\\s*$/, '').split('\\n');\n if (lines.length === 0)\n return '';\n const indents = lines.filter(l => l.trim()).map(l => l.match(/^(\\s*)/)?.[1].length ?? 0);\n if (indents.length === 0)\n return lines.join('\\n');\n const minIndent = Math.min(...indents);\n if (minIndent === 0)\n return lines.join('\\n');\n return lines.map(l => l.slice(minIndent)).join('\\n');\n}\nlet SniceCodeBlock = (() => {\n let _classDecorators = [element('snice-code-block')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _language_decorators;\n let _language_initializers = [];\n let _language_extraInitializers = [];\n let _showLineNumbers_decorators;\n let _showLineNumbers_initializers = [];\n let _showLineNumbers_extraInitializers = [];\n let _startLine_decorators;\n let _startLine_initializers = [];\n let _startLine_extraInitializers = [];\n let _highlightLines_decorators;\n let _highlightLines_initializers = [];\n let _highlightLines_extraInitializers = [];\n let _copyable_decorators;\n let _copyable_initializers = [];\n let _copyable_extraInitializers = [];\n let _filename_decorators;\n let _filename_initializers = [];\n let _filename_extraInitializers = [];\n let _grammar_decorators;\n let _grammar_initializers = [];\n let _grammar_extraInitializers = [];\n let _fetchMode_decorators;\n let _fetchMode_initializers = [];\n let _fetchMode_extraInitializers = [];\n let _format_decorators;\n let _format_initializers = [];\n let _format_extraInitializers = [];\n let _codeEl_decorators;\n let _codeEl_initializers = [];\n let _codeEl_extraInitializers = [];\n let _headerEl_decorators;\n let _headerEl_initializers = [];\n let _headerEl_extraInitializers = [];\n let _filenameEl_decorators;\n let _filenameEl_initializers = [];\n let _filenameEl_extraInitializers = [];\n let _copyBtn_decorators;\n let _copyBtn_initializers = [];\n let _copyBtn_extraInitializers = [];\n let _dispatchCopyEvent_decorators;\n let _dispatchBeforeHighlightEvent_decorators;\n let _dispatchAfterHighlightEvent_decorators;\n let _dispatchBeforeFormatEvent_decorators;\n let _dispatchAfterFormatEvent_decorators;\n let _dispatchGrammarRequestEvent_decorators;\n let _dispatchGrammarLoadedEvent_decorators;\n let _requestGrammar_decorators;\n let _template_decorators;\n let _styles_decorators;\n let _onReady_decorators;\n let _handleSlotChange_decorators;\n let _onGrammarChange_decorators;\n let _onFetchModeChange_decorators;\n let _onFormatChange_decorators;\n let _updateHeader_decorators;\n let _onLanguageChange_decorators;\n (class extends _classSuper {\n static { _classThis = this; }\n static {\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;\n _language_decorators = [property({})];\n _showLineNumbers_decorators = [property({ type: Boolean, attribute: 'show-line-numbers' })];\n _startLine_decorators = [property({ type: Number, attribute: 'start-line' })];\n _highlightLines_decorators = [property({ type: Array, attribute: 'highlight-lines' })];\n _copyable_decorators = [property({ type: Boolean })];\n _filename_decorators = [property({})];\n _grammar_decorators = [property({})];\n _fetchMode_decorators = [property({ attribute: 'fetch-mode' })];\n _format_decorators = [property({})];\n _codeEl_decorators = [query('.code-block__code')];\n _headerEl_decorators = [query('.code-block__header')];\n _filenameEl_decorators = [query('.code-block__filename')];\n _copyBtn_decorators = [query('.code-block__copy')];\n _dispatchCopyEvent_decorators = [dispatch('code-copy', { bubbles: true, composed: true })];\n _dispatchBeforeHighlightEvent_decorators = [dispatch('code-before-highlight', { bubbles: true, composed: true })];\n _dispatchAfterHighlightEvent_decorators = [dispatch('code-after-highlight', { bubbles: true, composed: true })];\n _dispatchBeforeFormatEvent_decorators = [dispatch('code-before-format', { bubbles: true, composed: true })];\n _dispatchAfterFormatEvent_decorators = [dispatch('code-after-format', { bubbles: true, composed: true })];\n _dispatchGrammarRequestEvent_decorators = [dispatch('grammar-request', { bubbles: true, composed: true })];\n _dispatchGrammarLoadedEvent_decorators = [dispatch('grammar-loaded', { bubbles: true, composed: true })];\n _requestGrammar_decorators = [request(LOAD_GRAMMAR_REQUEST)];\n _template_decorators = [render({ once: true })];\n _styles_decorators = [styles()];\n _onReady_decorators = [ready()];\n _handleSlotChange_decorators = [on('slotchange', { target: 'slot' })];\n _onGrammarChange_decorators = [watch('grammar')];\n _onFetchModeChange_decorators = [watch('fetchMode')];\n _onFormatChange_decorators = [watch('format')];\n _updateHeader_decorators = [watch('filename', 'copyable')];\n _onLanguageChange_decorators = [watch('language')];\n __esDecorate(this, null, _dispatchCopyEvent_decorators, { kind: \"method\", name: \"dispatchCopyEvent\", static: false, private: false, access: { has: obj => \"dispatchCopyEvent\" in obj, get: obj => obj.dispatchCopyEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchBeforeHighlightEvent_decorators, { kind: \"method\", name: \"dispatchBeforeHighlightEvent\", static: false, private: false, access: { has: obj => \"dispatchBeforeHighlightEvent\" in obj, get: obj => obj.dispatchBeforeHighlightEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchAfterHighlightEvent_decorators, { kind: \"method\", name: \"dispatchAfterHighlightEvent\", static: false, private: false, access: { has: obj => \"dispatchAfterHighlightEvent\" in obj, get: obj => obj.dispatchAfterHighlightEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchBeforeFormatEvent_decorators, { kind: \"method\", name: \"dispatchBeforeFormatEvent\", static: false, private: false, access: { has: obj => \"dispatchBeforeFormatEvent\" in obj, get: obj => obj.dispatchBeforeFormatEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchAfterFormatEvent_decorators, { kind: \"method\", name: \"dispatchAfterFormatEvent\", static: false, private: false, access: { has: obj => \"dispatchAfterFormatEvent\" in obj, get: obj => obj.dispatchAfterFormatEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchGrammarRequestEvent_decorators, { kind: \"method\", name: \"dispatchGrammarRequestEvent\", static: false, private: false, access: { has: obj => \"dispatchGrammarRequestEvent\" in obj, get: obj => obj.dispatchGrammarRequestEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchGrammarLoadedEvent_decorators, { kind: \"method\", name: \"dispatchGrammarLoadedEvent\", static: false, private: false, access: { has: obj => \"dispatchGrammarLoadedEvent\" in obj, get: obj => obj.dispatchGrammarLoadedEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _requestGrammar_decorators, { kind: \"method\", name: \"requestGrammar\", static: false, private: false, access: { has: obj => \"requestGrammar\" in obj, get: obj => obj.requestGrammar }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _template_decorators, { kind: \"method\", name: \"template\", static: false, private: false, access: { has: obj => \"template\" in obj, get: obj => obj.template }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _styles_decorators, { kind: \"method\", name: \"styles\", static: false, private: false, access: { has: obj => \"styles\" in obj, get: obj => obj.styles }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _onReady_decorators, { kind: \"method\", name: \"onReady\", static: false, private: false, access: { has: obj => \"onReady\" in obj, get: obj => obj.onReady }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleSlotChange_decorators, { kind: \"method\", name: \"handleSlotChange\", static: false, private: false, access: { has: obj => \"handleSlotChange\" in obj, get: obj => obj.handleSlotChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _onGrammarChange_decorators, { kind: \"method\", name: \"onGrammarChange\", static: false, private: false, access: { has: obj => \"onGrammarChange\" in obj, get: obj => obj.onGrammarChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _onFetchModeChange_decorators, { kind: \"method\", name: \"onFetchModeChange\", static: false, private: false, access: { has: obj => \"onFetchModeChange\" in obj, get: obj => obj.onFetchModeChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _onFormatChange_decorators, { kind: \"method\", name: \"onFormatChange\", static: false, private: false, access: { has: obj => \"onFormatChange\" in obj, get: obj => obj.onFormatChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _updateHeader_decorators, { kind: \"method\", name: \"updateHeader\", static: false, private: false, access: { has: obj => \"updateHeader\" in obj, get: obj => obj.updateHeader }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _onLanguageChange_decorators, { kind: \"method\", name: \"onLanguageChange\", static: false, private: false, access: { has: obj => \"onLanguageChange\" in obj, get: obj => obj.onLanguageChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _language_decorators, { kind: \"field\", name: \"language\", static: false, private: false, access: { has: obj => \"language\" in obj, get: obj => obj.language, set: (obj, value) => { obj.language = value; } }, metadata: _metadata }, _language_initializers, _language_extraInitializers);\n __esDecorate(null, null, _showLineNumbers_decorators, { kind: \"field\", name: \"showLineNumbers\", static: false, private: false, access: { has: obj => \"showLineNumbers\" in obj, get: obj => obj.showLineNumbers, set: (obj, value) => { obj.showLineNumbers = value; } }, metadata: _metadata }, _showLineNumbers_initializers, _showLineNumbers_extraInitializers);\n __esDecorate(null, null, _startLine_decorators, { kind: \"field\", name: \"startLine\", static: false, private: false, access: { has: obj => \"startLine\" in obj, get: obj => obj.startLine, set: (obj, value) => { obj.startLine = value; } }, metadata: _metadata }, _startLine_initializers, _startLine_extraInitializers);\n __esDecorate(null, null, _highlightLines_decorators, { kind: \"field\", name: \"highlightLines\", static: false, private: false, access: { has: obj => \"highlightLines\" in obj, get: obj => obj.highlightLines, set: (obj, value) => { obj.highlightLines = value; } }, metadata: _metadata }, _highlightLines_initializers, _highlightLines_extraInitializers);\n __esDecorate(null, null, _copyable_decorators, { kind: \"field\", name: \"copyable\", static: false, private: false, access: { has: obj => \"copyable\" in obj, get: obj => obj.copyable, set: (obj, value) => { obj.copyable = value; } }, metadata: _metadata }, _copyable_initializers, _copyable_extraInitializers);\n __esDecorate(null, null, _filename_decorators, { kind: \"field\", name: \"filename\", static: false, private: false, access: { has: obj => \"filename\" in obj, get: obj => obj.filename, set: (obj, value) => { obj.filename = value; } }, metadata: _metadata }, _filename_initializers, _filename_extraInitializers);\n __esDecorate(null, null, _grammar_decorators, { kind: \"field\", name: \"grammar\", static: false, private: false, access: { has: obj => \"grammar\" in obj, get: obj => obj.grammar, set: (obj, value) => { obj.grammar = value; } }, metadata: _metadata }, _grammar_initializers, _grammar_extraInitializers);\n __esDecorate(null, null, _fetchMode_decorators, { kind: \"field\", name: \"fetchMode\", static: false, private: false, access: { has: obj => \"fetchMode\" in obj, get: obj => obj.fetchMode, set: (obj, value) => { obj.fetchMode = value; } }, metadata: _metadata }, _fetchMode_initializers, _fetchMode_extraInitializers);\n __esDecorate(null, null, _format_decorators, { kind: \"field\", name: \"format\", static: false, private: false, access: { has: obj => \"format\" in obj, get: obj => obj.format, set: (obj, value) => { obj.format = value; } }, metadata: _metadata }, _format_initializers, _format_extraInitializers);\n __esDecorate(null, null, _codeEl_decorators, { kind: \"field\", name: \"codeEl\", static: false, private: false, access: { has: obj => \"codeEl\" in obj, get: obj => obj.codeEl, set: (obj, value) => { obj.codeEl = value; } }, metadata: _metadata }, _codeEl_initializers, _codeEl_extraInitializers);\n __esDecorate(null, null, _headerEl_decorators, { kind: \"field\", name: \"headerEl\", static: false, private: false, access: { has: obj => \"headerEl\" in obj, get: obj => obj.headerEl, set: (obj, value) => { obj.headerEl = value; } }, metadata: _metadata }, _headerEl_initializers, _headerEl_extraInitializers);\n __esDecorate(null, null, _filenameEl_decorators, { kind: \"field\", name: \"filenameEl\", static: false, private: false, access: { has: obj => \"filenameEl\" in obj, get: obj => obj.filenameEl, set: (obj, value) => { obj.filenameEl = value; } }, metadata: _metadata }, _filenameEl_initializers, _filenameEl_extraInitializers);\n __esDecorate(null, null, _copyBtn_decorators, { kind: \"field\", name: \"copyBtn\", static: false, private: false, access: { has: obj => \"copyBtn\" in obj, get: obj => obj.copyBtn, set: (obj, value) => { obj.copyBtn = value; } }, metadata: _metadata }, _copyBtn_initializers, _copyBtn_extraInitializers);\n __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);\n _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });\n __runInitializers(_classThis, _classExtraInitializers);\n }\n dispatchCopyEvent() {\n return { code: this.code, codeBlock: this };\n }\n dispatchBeforeHighlightEvent() {\n return { code: this.code, language: this.language, codeBlock: this };\n }\n dispatchAfterHighlightEvent() {\n return { code: this.code, language: this.language, codeBlock: this };\n }\n dispatchBeforeFormatEvent() {\n return { code: this.code, language: this.language, codeBlock: this };\n }\n dispatchAfterFormatEvent() {\n return { code: this.code, language: this.language, codeBlock: this };\n }\n dispatchGrammarRequestEvent() {\n return { url: this.grammar, language: this.language, codeBlock: this };\n }\n dispatchGrammarLoadedEvent(grammar, url) {\n return { grammar, url, language: this.language, codeBlock: this };\n }\n async *requestGrammar(url) {\n const grammar = await (yield { url });\n return grammar;\n }\n template() {\n return html /*html*/ `\n <slot style=\"display:none\"></slot>\n <div class=\"code-block\" part=\"container\">\n <div class=\"code-block__header\" part=\"header\">\n <div class=\"code-block__filename\" part=\"filename\">${this.filename}</div>\n <button\n class=\"code-block__copy\"\n part=\"copy-button\"\n @click=\"${() => this.copy()}\">\n Copy\n </button>\n </div>\n <div class=\"code-block__content\" part=\"content\">\n <pre class=\"code-block__pre\" part=\"pre\"><code class=\"code-block__code language-${this.language}\" part=\"code\" data-language=\"${this.language}\"></code></pre>\n </div>\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n async onReady() {\n this.updateHeader();\n if (!this.code) {\n this.readSlottedContent();\n }\n if (this.code) {\n await this.highlight();\n }\n }\n handleSlotChange() {\n this.readSlottedContent();\n }\n readSlottedContent() {\n const raw = this.textContent;\n if (!raw)\n return;\n const text = dedent(raw);\n if (text) {\n this.code = text;\n this.highlight();\n }\n }\n onGrammarChange() {\n this.loadedGrammar = null;\n this.loadedGrammarUrl = null;\n if (this.code) {\n this.highlight();\n }\n }\n onFetchModeChange() {\n this.loadedGrammar = null;\n this.loadedGrammarUrl = null;\n if (this.code) {\n this.highlight();\n }\n }\n onFormatChange() {\n if (this.code) {\n this.highlight();\n }\n }\n updateHeader() {\n if (!this.headerEl)\n return;\n const show = this.filename || this.copyable;\n this.headerEl.style.display = show ? '' : 'none';\n if (this.filenameEl)\n this.filenameEl.textContent = this.filename;\n if (this.copyBtn)\n this.copyBtn.style.display = this.copyable ? '' : 'none';\n }\n onLanguageChange() {\n if (!this.codeEl)\n return;\n this.codeEl.className = `code-block__code language-${this.language}`;\n this.codeEl.setAttribute('data-language', this.language);\n }\n escapeHtml(text) {\n const div = document.createElement('div');\n div.textContent = text;\n return div.innerHTML;\n }\n updateCodeDisplay() {\n if (!this.codeEl)\n return;\n const codeToRender = this.highlightedCode || this.escapeHtml(this.code);\n if (this.showLineNumbers || this.highlightLines.length > 0) {\n const lines = codeToRender.split('\\n');\n const markup = lines.map((line, index) => {\n const lineNumber = this.startLine + index;\n const isHighlighted = this.highlightLines.includes(lineNumber);\n const lineClasses = [\n 'code-block__line',\n isHighlighted ? 'code-block__line--highlight' : ''\n ].filter(Boolean).join(' ');\n const lineNumberHtml = this.showLineNumbers\n ? `<span class=\"code-block__line-number\">${lineNumber}</span>`\n : '';\n return `<span class=\"${lineClasses}\">${lineNumberHtml}${line}\\n</span>`;\n }).join('');\n this.codeEl.innerHTML = markup;\n }\n else {\n this.codeEl.innerHTML = codeToRender;\n }\n }\n async copy() {\n try {\n await navigator.clipboard.writeText(this.code);\n this.copied = true;\n this.dispatchCopyEvent();\n if (this.copyBtn)\n this.copyBtn.textContent = 'Copied!';\n setTimeout(() => {\n this.copied = false;\n if (this.copyBtn)\n this.copyBtn.textContent = 'Copy';\n }, 2000);\n }\n catch (err) {\n console.error('Failed to copy code:', err);\n }\n }\n setHighlighter(highlighter) {\n this.highlighter = highlighter;\n }\n setFormatter(formatter) {\n this._formatter = formatter;\n }\n setGrammar(grammar) {\n this.loadedGrammar = grammar;\n this.loadedGrammarUrl = null;\n this.dispatchGrammarLoadedEvent(grammar, '');\n if (this.code) {\n this.highlight();\n }\n }\n async resolveGrammar() {\n if (this.loadedGrammar)\n return this.loadedGrammar;\n if (!this.grammar)\n return null;\n try {\n switch (this.fetchMode) {\n case 'native': {\n const response = await fetch(this.grammar);\n const grammar = await response.json();\n if (grammar) {\n this.loadedGrammar = grammar;\n this.loadedGrammarUrl = this.grammar;\n this.dispatchGrammarLoadedEvent(grammar, this.grammar);\n }\n return grammar;\n }\n case 'virtual': {\n const grammar = await this.requestGrammar(this.grammar);\n if (grammar) {\n this.loadedGrammar = grammar;\n this.loadedGrammarUrl = this.grammar;\n this.dispatchGrammarLoadedEvent(grammar, this.grammar);\n }\n return grammar;\n }\n case 'event': {\n this.dispatchGrammarRequestEvent();\n return null;\n }\n default:\n return null;\n }\n }\n catch (error) {\n console.error(`Failed to load grammar from ${this.grammar}:`, error);\n return null;\n }\n }\n async highlight() {\n if (!this.code)\n return;\n const version = ++this.highlightVersion;\n // Resolve formatter: imperative setFormatter() wins, then grammar-based\n let formatFn = this._formatter;\n if (!formatFn && this.format) {\n const grammar = await this.resolveGrammar();\n if (version !== this.highlightVersion)\n return;\n if (grammar?.formatters?.[this.format]) {\n const rules = grammar.formatters[this.format];\n formatFn = (code) => formatCode(code, rules);\n }\n }\n if (formatFn && this.format) {\n this.dispatchBeforeFormatEvent();\n try {\n const formatted = await formatFn(this.code, this.language);\n if (version !== this.highlightVersion)\n return;\n this.code = formatted;\n this.dispatchAfterFormatEvent();\n }\n catch (error) {\n console.error('Code formatting failed:', error);\n }\n }\n this.dispatchBeforeHighlightEvent();\n try {\n if (this.highlighter) {\n const escapedCode = this.escapeHtml(this.code);\n const lines = escapedCode.split('\\n');\n const highlightedLines = await Promise.all(lines.map(line => this.highlighter(line, this.language)));\n if (version !== this.highlightVersion)\n return;\n this.highlightedCode = highlightedLines.join('\\n');\n }\n else {\n const grammarObj = await this.resolveGrammar();\n if (version !== this.highlightVersion)\n return;\n this.highlightedCode = highlightCode(this.code, grammarObj || this.language);\n }\n this.updateCodeDisplay();\n this.dispatchAfterHighlightEvent();\n }\n catch (error) {\n console.error('Syntax highlighting failed:', error);\n }\n }\n constructor() {\n super(...arguments);\n this.code = (__runInitializers(this, _instanceExtraInitializers), '');\n this.language = __runInitializers(this, _language_initializers, 'plaintext');\n this.showLineNumbers = (__runInitializers(this, _language_extraInitializers), __runInitializers(this, _showLineNumbers_initializers, false));\n this.startLine = (__runInitializers(this, _showLineNumbers_extraInitializers), __runInitializers(this, _startLine_initializers, 1));\n this.highlightLines = (__runInitializers(this, _startLine_extraInitializers), __runInitializers(this, _highlightLines_initializers, []));\n this.copyable = (__runInitializers(this, _highlightLines_extraInitializers), __runInitializers(this, _copyable_initializers, true));\n this.filename = (__runInitializers(this, _copyable_extraInitializers), __runInitializers(this, _filename_initializers, ''));\n this.grammar = (__runInitializers(this, _filename_extraInitializers), __runInitializers(this, _grammar_initializers, ''));\n this.fetchMode = (__runInitializers(this, _grammar_extraInitializers), __runInitializers(this, _fetchMode_initializers, 'native'));\n this.format = (__runInitializers(this, _fetchMode_extraInitializers), __runInitializers(this, _format_initializers, ''));\n this.highlighter = __runInitializers(this, _format_extraInitializers);\n this.copied = false;\n this.highlightedCode = '';\n this.loadedGrammar = null;\n this.loadedGrammarUrl = null;\n this.highlightVersion = 0;\n this.codeEl = __runInitializers(this, _codeEl_initializers, void 0);\n this.headerEl = (__runInitializers(this, _codeEl_extraInitializers), __runInitializers(this, _headerEl_initializers, void 0));\n this.filenameEl = (__runInitializers(this, _headerEl_extraInitializers), __runInitializers(this, _filenameEl_initializers, void 0));\n this.copyBtn = (__runInitializers(this, _filenameEl_extraInitializers), __runInitializers(this, _copyBtn_initializers, void 0));\n __runInitializers(this, _copyBtn_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCodeBlock };\n//# sourceMappingURL=snice-code-block.js.map\n"],"names":["__esDecorate","ctor","descriptorIn","decorators","contextIn","initializers","extraInitializers","accept","f","TypeError","_","kind","key","target","prototype","descriptor","Object","getOwnPropertyDescriptor","name","done","i","length","context","p","access","addInitializer","push","result","get","set","init","unshift","defineProperty","__runInitializers","thisArg","value","useValue","arguments","call","SuppressedError","compiledCache","WeakMap","resolveEntries","grammar","entries","visited","entry","stateName","include","replace","has","add","included","tokenizer","resolveToken","tokenDef","matchedText","pattern","tokenType","cases","startsWith","table","slice","Array","isArray","includes","undefined","escapeHtml","text","customGrammars","Map","highlightCode","code","language","toLowerCase","getGrammar","compiled","cached","states","flags","ignoreCase","Set","map","rule","regex","RegExp","token","nextState","compileGrammar","tokens","stateStack","pos","defaultToken","maxIterations","iterations","currentState","rules","type","matched","lastIndex","m","exec","index","pop","end","anyMatch","tokenizeWithGrammar","t","escaped","join","tokensToHtml","trimTrailingSpaces","s","SniceCodeBlock","_classDescriptor","_classThis","_language_decorators","_showLineNumbers_decorators","_startLine_decorators","_highlightLines_decorators","_copyable_decorators","_filename_decorators","_grammar_decorators","_fetchMode_decorators","_format_decorators","_codeEl_decorators","_headerEl_decorators","_filenameEl_decorators","_copyBtn_decorators","_dispatchCopyEvent_decorators","_dispatchBeforeHighlightEvent_decorators","_dispatchAfterHighlightEvent_decorators","_dispatchBeforeFormatEvent_decorators","_dispatchAfterFormatEvent_decorators","_dispatchGrammarRequestEvent_decorators","_dispatchGrammarLoadedEvent_decorators","_requestGrammar_decorators","_template_decorators","_styles_decorators","_onReady_decorators","_handleSlotChange_decorators","_onGrammarChange_decorators","_onFetchModeChange_decorators","_onFormatChange_decorators","_updateHeader_decorators","_onLanguageChange_decorators","_classDecorators","element","_classExtraInitializers","_classSuper","HTMLElement","_instanceExtraInitializers","_language_initializers","_language_extraInitializers","_showLineNumbers_initializers","_showLineNumbers_extraInitializers","_startLine_initializers","_startLine_extraInitializers","_highlightLines_initializers","_highlightLines_extraInitializers","_copyable_initializers","_copyable_extraInitializers","_filename_initializers","_filename_extraInitializers","_grammar_initializers","_grammar_extraInitializers","_fetchMode_initializers","_fetchMode_extraInitializers","_format_initializers","_format_extraInitializers","_codeEl_initializers","_codeEl_extraInitializers","_headerEl_initializers","_headerEl_extraInitializers","_filenameEl_initializers","_filenameEl_extraInitializers","_copyBtn_initializers","_copyBtn_extraInitializers","this","_metadata","Symbol","metadata","create","property","Boolean","attribute","Number","query","dispatch","bubbles","composed","request","render","once","styles","ready","on","watch","static","private","obj","dispatchCopyEvent","dispatchBeforeHighlightEvent","dispatchAfterHighlightEvent","dispatchBeforeFormatEvent","dispatchAfterFormatEvent","dispatchGrammarRequestEvent","dispatchGrammarLoadedEvent","requestGrammar","template","onReady","handleSlotChange","onGrammarChange","onFetchModeChange","onFormatChange","updateHeader","onLanguageChange","showLineNumbers","startLine","highlightLines","copyable","filename","fetchMode","format","codeEl","headerEl","filenameEl","copyBtn","enumerable","configurable","writable","codeBlock","url","html","copy","css","readSlottedContent","highlight","raw","textContent","lines","split","indents","filter","l","trim","match","minIndent","Math","min","dedent","loadedGrammar","loadedGrammarUrl","show","style","display","className","setAttribute","div","document","createElement","innerHTML","updateCodeDisplay","codeToRender","highlightedCode","markup","line","lineNumber","navigator","clipboard","writeText","copied","setTimeout","err","console","error","setHighlighter","highlighter","setFormatter","formatter","_formatter","setGrammar","resolveGrammar","response","fetch","json","version","highlightVersion","formatFn","formatters","tabSize","indentUnit","useTabs","repeat","trimTrailing","skipStrings","skipComments","newlineAfter","newlineBefore","spaceAfter","spaceBefore","spaceAround","indentRe","indent","dedentRe","stripped","inString","inComment","inLineComment","ch","prev","next","test","stripWhitespace","depth","lineStart","max","collapseBlankLines","blankCount","collapseBlankLinesArr","shift","formatCode","formatted","highlightedLines","Promise","all","grammarObj","constructor","super"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.16.0
2
+ * snice v4.17.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.16.0
2
+ * snice v4.17.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.16.0
2
+ * snice v4.17.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.16.0
2
+ * snice v4.17.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.16.0
2
+ * snice v4.17.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.16.0
2
+ * snice v4.17.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.16.0
2
+ * snice v4.17.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.16.0
2
+ * snice v4.17.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.16.0
2
+ * snice v4.17.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.16.0
2
+ * snice v4.17.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.16.0
2
+ * snice v4.17.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.16.0
2
+ * snice v4.17.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.16.0
2
+ * snice v4.17.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.16.0
2
+ * snice v4.17.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.16.0
2
+ * snice v4.17.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.16.0
2
+ * snice v4.17.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.16.0
2
+ * snice v4.17.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.16.0
2
+ * snice v4.17.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.16.0
2
+ * snice v4.17.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.16.0
2
+ * snice v4.17.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.16.0
2
+ * snice v4.17.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v4.16.0
2
+ * snice v4.17.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.