solid-tom-ui 0.1.2 → 0.2.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 (1036) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +1 -0
  2. package/dist/components/avatar/avatar.js.map +1 -0
  3. package/dist/components/badge/badge.js.map +1 -0
  4. package/dist/components/blank/blank.js.map +1 -0
  5. package/dist/components/breadcrumb/breadcrumb.js.map +1 -0
  6. package/dist/components/button/button.js.map +1 -0
  7. package/dist/components/carousel/carousel.js +2 -0
  8. package/dist/components/carousel/carousel.js.map +1 -0
  9. package/dist/components/chat-bubble/chatBubble.js.map +1 -0
  10. package/dist/components/checkbox/checkbox.js.map +1 -0
  11. package/dist/components/code-preview/code-preview.d.ts +23 -0
  12. package/dist/components/code-preview/code-preview.d.ts.map +1 -0
  13. package/dist/components/code-preview/code-preview.js +2 -0
  14. package/dist/components/code-preview/code-preview.js.map +1 -0
  15. package/dist/components/code-preview/index.d.ts +3 -0
  16. package/dist/components/code-preview/index.d.ts.map +1 -0
  17. package/dist/components/collapse/collapse.js.map +1 -0
  18. package/dist/components/context-menu/context-menu.js +2 -0
  19. package/dist/components/context-menu/context-menu.js.map +1 -0
  20. package/dist/components/context-menu/context-menu.store.js.map +1 -0
  21. package/dist/components/diff/diff.js.map +1 -0
  22. package/dist/components/divider/divider.js.map +1 -0
  23. package/dist/components/drawer/drawer.js +2 -0
  24. package/dist/components/drawer/drawer.js.map +1 -0
  25. package/dist/components/dropdown/dropdown.js.map +1 -0
  26. package/dist/components/dropdown/dropdown.store.js.map +1 -0
  27. package/dist/components/float-button/float-button.js.map +1 -0
  28. package/dist/components/hover-3d-image/hover-3d-image.js.map +1 -0
  29. package/dist/components/image-preview/image-preview.js +2 -0
  30. package/dist/components/image-preview/image-preview.js.map +1 -0
  31. package/dist/components/indicator/indicator.js.map +1 -0
  32. package/dist/components/input/input.js.map +1 -0
  33. package/dist/components/input/input.utils.js.map +1 -0
  34. package/dist/components/input/variants/input-color.js.map +1 -0
  35. package/dist/components/input/variants/input-date.js.map +1 -0
  36. package/dist/components/input/variants/input-number.js +2 -0
  37. package/dist/components/input/variants/input-number.js.map +1 -0
  38. package/dist/components/input/variants/input-otp.js.map +1 -0
  39. package/dist/components/input/variants/input-password.js +2 -0
  40. package/dist/components/input/variants/input-password.js.map +1 -0
  41. package/dist/components/input/variants/input-radio.js.map +1 -0
  42. package/dist/components/input/variants/input-range.js.map +1 -0
  43. package/dist/components/input/variants/input-text.js +2 -0
  44. package/dist/components/input/variants/input-text.js.map +1 -0
  45. package/dist/components/input/variants/input-textarea.js +2 -0
  46. package/dist/components/input/variants/input-textarea.js.map +1 -0
  47. package/dist/components/loading/loading.js +2 -0
  48. package/dist/components/loading/loading.js.map +1 -0
  49. package/dist/components/mansory/mansory.js.map +1 -0
  50. package/dist/components/menu/menu.js +2 -0
  51. package/dist/components/menu/menu.js.map +1 -0
  52. package/dist/components/modal/modal.js +2 -0
  53. package/dist/components/modal/modal.js.map +1 -0
  54. package/dist/components/modal/modalContext.js.map +1 -0
  55. package/dist/components/pagination/pagination.js +2 -0
  56. package/dist/components/pagination/pagination.js.map +1 -0
  57. package/dist/components/progress-bar/progress-bar.js.map +1 -0
  58. package/dist/components/qr-code/qr-code.js +2 -0
  59. package/dist/components/qr-code/qr-code.js.map +1 -0
  60. package/dist/components/rating/rating.js.map +1 -0
  61. package/dist/components/select/select.js +2 -0
  62. package/dist/components/select/select.js.map +1 -0
  63. package/dist/components/select-zone/select-zone.js.map +1 -0
  64. package/dist/components/skeleton/skeleton.js.map +1 -0
  65. package/dist/components/slider/slider.js.map +1 -0
  66. package/dist/components/splitter/splitter.js.map +1 -0
  67. package/dist/components/steps/steps.js +2 -0
  68. package/dist/components/steps/steps.js.map +1 -0
  69. package/dist/components/swap/swap.js.map +1 -0
  70. package/dist/components/switch/switch.js.map +1 -0
  71. package/dist/components/tab/tab.js +2 -0
  72. package/dist/components/tab/tab.js.map +1 -0
  73. package/dist/components/table/table.js +2 -0
  74. package/dist/components/table/table.js.map +1 -0
  75. package/dist/components/text-rotate/text-rotate.js.map +1 -0
  76. package/dist/components/timeline/timeline.js +2 -0
  77. package/dist/components/timeline/timeline.js.map +1 -0
  78. package/dist/components/toast/icons/ErrorIcon.js.map +1 -0
  79. package/dist/components/toast/icons/IconCircle.js.map +1 -0
  80. package/dist/components/toast/icons/InfoIcon.js.map +1 -0
  81. package/dist/components/toast/icons/LoaderIcon.js.map +1 -0
  82. package/dist/components/toast/icons/SuccessIcon.js.map +1 -0
  83. package/dist/components/toast/icons/WarningIcon.js.map +1 -0
  84. package/dist/components/toast/toast.js +2 -0
  85. package/dist/components/toast/toast.js.map +1 -0
  86. package/dist/components/toast/toast.store.js.map +1 -0
  87. package/dist/components/tooltip/tooltip.js.map +1 -0
  88. package/dist/{src/components → components}/tour/tour.js +1 -1
  89. package/dist/components/tour/tour.js.map +1 -0
  90. package/dist/components/upload/upload.js +2 -0
  91. package/dist/components/upload/upload.js.map +1 -0
  92. package/dist/components/z-index/z-index.context.js.map +1 -0
  93. package/dist/components/z-index/z-index.js.map +1 -0
  94. package/dist/components/z-index/z-index.store.js.map +1 -0
  95. package/dist/components/z-index/z-index.types.js.map +1 -0
  96. package/dist/lib.d.ts +1 -2
  97. package/dist/lib.d.ts.map +1 -1
  98. package/dist/lib.js +1 -0
  99. package/dist/node_modules/.pnpm/@shikijs_core@4.0.2/node_modules/@shikijs/core/dist/index.js +3 -0
  100. package/dist/node_modules/.pnpm/@shikijs_core@4.0.2/node_modules/@shikijs/core/dist/index.js.map +1 -0
  101. package/dist/node_modules/.pnpm/@shikijs_engine-javascript@4.0.2/node_modules/@shikijs/engine-javascript/dist/engine-compile.js +2 -0
  102. package/dist/node_modules/.pnpm/@shikijs_engine-javascript@4.0.2/node_modules/@shikijs/engine-javascript/dist/engine-compile.js.map +1 -0
  103. package/dist/node_modules/.pnpm/@shikijs_engine-javascript@4.0.2/node_modules/@shikijs/engine-javascript/dist/scanner-BFcBmQR1.js +2 -0
  104. package/dist/node_modules/.pnpm/@shikijs_engine-javascript@4.0.2/node_modules/@shikijs/engine-javascript/dist/scanner-BFcBmQR1.js.map +1 -0
  105. package/dist/node_modules/.pnpm/@shikijs_engine-oniguruma@4.0.2/node_modules/@shikijs/engine-oniguruma/dist/index.js +2 -0
  106. package/dist/node_modules/.pnpm/@shikijs_engine-oniguruma@4.0.2/node_modules/@shikijs/engine-oniguruma/dist/index.js.map +1 -0
  107. package/dist/node_modules/.pnpm/@shikijs_engine-oniguruma@4.0.2/node_modules/@shikijs/engine-oniguruma/dist/wasm-inlined.js +2 -0
  108. package/dist/node_modules/.pnpm/@shikijs_engine-oniguruma@4.0.2/node_modules/@shikijs/engine-oniguruma/dist/wasm-inlined.js.map +1 -0
  109. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/abap.js +2 -0
  110. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/abap.js.map +1 -0
  111. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/actionscript-3.js +2 -0
  112. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/actionscript-3.js.map +1 -0
  113. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/ada.js +2 -0
  114. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/ada.js.map +1 -0
  115. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/angular-expression.js +2 -0
  116. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/angular-expression.js.map +1 -0
  117. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/angular-html.js +2 -0
  118. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/angular-html.js.map +1 -0
  119. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/angular-inline-style.js +2 -0
  120. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/angular-inline-style.js.map +1 -0
  121. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/angular-inline-template.js +2 -0
  122. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/angular-inline-template.js.map +1 -0
  123. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/angular-let-declaration.js +2 -0
  124. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/angular-let-declaration.js.map +1 -0
  125. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/angular-template-blocks.js +2 -0
  126. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/angular-template-blocks.js.map +1 -0
  127. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/angular-template.js +2 -0
  128. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/angular-template.js.map +1 -0
  129. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/angular-ts.js +2 -0
  130. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/angular-ts.js.map +1 -0
  131. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/apache.js +2 -0
  132. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/apache.js.map +1 -0
  133. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/apex.js +2 -0
  134. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/apex.js.map +1 -0
  135. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/apl.js +2 -0
  136. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/apl.js.map +1 -0
  137. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/applescript.js +2 -0
  138. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/applescript.js.map +1 -0
  139. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/ara.js +2 -0
  140. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/ara.js.map +1 -0
  141. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/asciidoc.js +2 -0
  142. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/asciidoc.js.map +1 -0
  143. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/asm.js +2 -0
  144. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/asm.js.map +1 -0
  145. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/astro.js +2 -0
  146. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/astro.js.map +1 -0
  147. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/awk.js +2 -0
  148. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/awk.js.map +1 -0
  149. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/ballerina.js +2 -0
  150. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/ballerina.js.map +1 -0
  151. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/bat.js +2 -0
  152. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/bat.js.map +1 -0
  153. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/beancount.js +2 -0
  154. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/beancount.js.map +1 -0
  155. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/berry.js +2 -0
  156. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/berry.js.map +1 -0
  157. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/bibtex.js +2 -0
  158. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/bibtex.js.map +1 -0
  159. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/bicep.js +2 -0
  160. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/bicep.js.map +1 -0
  161. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/bird2.js +2 -0
  162. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/bird2.js.map +1 -0
  163. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/blade.js +2 -0
  164. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/blade.js.map +1 -0
  165. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/bsl.js +2 -0
  166. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/bsl.js.map +1 -0
  167. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/c.js +2 -0
  168. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/c.js.map +1 -0
  169. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/c3.js +2 -0
  170. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/c3.js.map +1 -0
  171. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/cadence.js +2 -0
  172. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/cadence.js.map +1 -0
  173. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/cairo.js +2 -0
  174. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/cairo.js.map +1 -0
  175. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/clarity.js +2 -0
  176. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/clarity.js.map +1 -0
  177. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/clojure.js +2 -0
  178. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/clojure.js.map +1 -0
  179. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/cmake.js +2 -0
  180. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/cmake.js.map +1 -0
  181. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/cobol.js +2 -0
  182. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/cobol.js.map +1 -0
  183. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/codeowners.js +2 -0
  184. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/codeowners.js.map +1 -0
  185. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/codeql.js +2 -0
  186. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/codeql.js.map +1 -0
  187. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/coffee.js +2 -0
  188. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/coffee.js.map +1 -0
  189. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/common-lisp.js +2 -0
  190. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/common-lisp.js.map +1 -0
  191. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/coq.js +2 -0
  192. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/coq.js.map +1 -0
  193. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/cpp-macro.js +2 -0
  194. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/cpp-macro.js.map +1 -0
  195. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/cpp.js +2 -0
  196. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/cpp.js.map +1 -0
  197. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/crystal.js +2 -0
  198. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/crystal.js.map +1 -0
  199. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/csharp.js +2 -0
  200. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/csharp.js.map +1 -0
  201. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/css.js +2 -0
  202. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/css.js.map +1 -0
  203. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/csv.js +2 -0
  204. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/csv.js.map +1 -0
  205. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/cue.js +2 -0
  206. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/cue.js.map +1 -0
  207. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/cypher.js +2 -0
  208. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/cypher.js.map +1 -0
  209. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/d.js +2 -0
  210. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/d.js.map +1 -0
  211. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/dart.js +2 -0
  212. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/dart.js.map +1 -0
  213. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/dax.js +2 -0
  214. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/dax.js.map +1 -0
  215. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/desktop.js +2 -0
  216. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/desktop.js.map +1 -0
  217. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/diff.js +2 -0
  218. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/diff.js.map +1 -0
  219. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/docker.js +2 -0
  220. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/docker.js.map +1 -0
  221. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/dotenv.js +2 -0
  222. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/dotenv.js.map +1 -0
  223. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/dream-maker.js +2 -0
  224. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/dream-maker.js.map +1 -0
  225. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/edge.js +2 -0
  226. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/edge.js.map +1 -0
  227. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/elixir.js +2 -0
  228. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/elixir.js.map +1 -0
  229. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/elm.js +2 -0
  230. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/elm.js.map +1 -0
  231. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/emacs-lisp.js +2 -0
  232. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/emacs-lisp.js.map +1 -0
  233. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/erb.js +2 -0
  234. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/erb.js.map +1 -0
  235. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/erlang.js +2 -0
  236. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/erlang.js.map +1 -0
  237. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/es-tag-css.js +2 -0
  238. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/es-tag-css.js.map +1 -0
  239. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/es-tag-glsl.js +2 -0
  240. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/es-tag-glsl.js.map +1 -0
  241. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/es-tag-html.js +2 -0
  242. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/es-tag-html.js.map +1 -0
  243. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/es-tag-sql.js +2 -0
  244. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/es-tag-sql.js.map +1 -0
  245. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/es-tag-xml.js +2 -0
  246. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/es-tag-xml.js.map +1 -0
  247. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/fennel.js +2 -0
  248. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/fennel.js.map +1 -0
  249. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/fish.js +2 -0
  250. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/fish.js.map +1 -0
  251. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/fluent.js +2 -0
  252. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/fluent.js.map +1 -0
  253. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/fortran-fixed-form.js +2 -0
  254. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/fortran-fixed-form.js.map +1 -0
  255. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/fortran-free-form.js +2 -0
  256. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/fortran-free-form.js.map +1 -0
  257. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/fsharp.js +2 -0
  258. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/fsharp.js.map +1 -0
  259. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/gdresource.js +2 -0
  260. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/gdresource.js.map +1 -0
  261. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/gdscript.js +2 -0
  262. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/gdscript.js.map +1 -0
  263. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/gdshader.js +2 -0
  264. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/gdshader.js.map +1 -0
  265. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/genie.js +2 -0
  266. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/genie.js.map +1 -0
  267. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/gherkin.js +2 -0
  268. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/gherkin.js.map +1 -0
  269. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/git-commit.js +2 -0
  270. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/git-commit.js.map +1 -0
  271. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/git-rebase.js +2 -0
  272. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/git-rebase.js.map +1 -0
  273. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/gleam.js +2 -0
  274. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/gleam.js.map +1 -0
  275. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/glimmer-js.js +2 -0
  276. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/glimmer-js.js.map +1 -0
  277. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/glimmer-ts.js +2 -0
  278. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/glimmer-ts.js.map +1 -0
  279. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/glsl.js +2 -0
  280. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/glsl.js.map +1 -0
  281. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/gn.js +2 -0
  282. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/gn.js.map +1 -0
  283. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/gnuplot.js +2 -0
  284. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/gnuplot.js.map +1 -0
  285. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/go.js +2 -0
  286. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/go.js.map +1 -0
  287. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/graphql.js +2 -0
  288. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/graphql.js.map +1 -0
  289. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/groovy.js +2 -0
  290. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/groovy.js.map +1 -0
  291. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/hack.js +2 -0
  292. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/hack.js.map +1 -0
  293. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/haml.js +2 -0
  294. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/haml.js.map +1 -0
  295. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/handlebars.js +2 -0
  296. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/handlebars.js.map +1 -0
  297. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/haskell.js +2 -0
  298. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/haskell.js.map +1 -0
  299. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/haxe.js +2 -0
  300. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/haxe.js.map +1 -0
  301. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/hcl.js +2 -0
  302. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/hcl.js.map +1 -0
  303. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/hjson.js +2 -0
  304. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/hjson.js.map +1 -0
  305. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/hlsl.js +2 -0
  306. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/hlsl.js.map +1 -0
  307. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/html-derivative.js +2 -0
  308. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/html-derivative.js.map +1 -0
  309. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/html.js +2 -0
  310. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/html.js.map +1 -0
  311. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/http.js +2 -0
  312. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/http.js.map +1 -0
  313. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/hurl.js +2 -0
  314. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/hurl.js.map +1 -0
  315. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/hxml.js +2 -0
  316. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/hxml.js.map +1 -0
  317. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/hy.js +2 -0
  318. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/hy.js.map +1 -0
  319. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/imba.js +2 -0
  320. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/imba.js.map +1 -0
  321. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/ini.js +2 -0
  322. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/ini.js.map +1 -0
  323. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/java.js +2 -0
  324. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/java.js.map +1 -0
  325. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/javascript.js +2 -0
  326. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/javascript.js.map +1 -0
  327. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/jinja-html.js +2 -0
  328. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/jinja-html.js.map +1 -0
  329. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/jinja.js +2 -0
  330. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/jinja.js.map +1 -0
  331. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/jison.js +2 -0
  332. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/jison.js.map +1 -0
  333. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/json.js +2 -0
  334. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/json.js.map +1 -0
  335. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/json5.js +2 -0
  336. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/json5.js.map +1 -0
  337. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/jsonc.js +2 -0
  338. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/jsonc.js.map +1 -0
  339. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/jsonl.js +2 -0
  340. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/jsonl.js.map +1 -0
  341. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/jsonnet.js +2 -0
  342. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/jsonnet.js.map +1 -0
  343. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/jssm.js +2 -0
  344. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/jssm.js.map +1 -0
  345. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/jsx.js +2 -0
  346. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/jsx.js.map +1 -0
  347. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/julia.js +2 -0
  348. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/julia.js.map +1 -0
  349. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/just.js +2 -0
  350. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/just.js.map +1 -0
  351. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/kdl.js +2 -0
  352. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/kdl.js.map +1 -0
  353. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/kotlin.js +2 -0
  354. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/kotlin.js.map +1 -0
  355. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/kusto.js +2 -0
  356. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/kusto.js.map +1 -0
  357. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/latex.js +2 -0
  358. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/latex.js.map +1 -0
  359. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/lean.js +2 -0
  360. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/lean.js.map +1 -0
  361. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/less.js +2 -0
  362. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/less.js.map +1 -0
  363. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/liquid.js +2 -0
  364. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/liquid.js.map +1 -0
  365. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/llvm.js +2 -0
  366. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/llvm.js.map +1 -0
  367. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/log.js +2 -0
  368. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/log.js.map +1 -0
  369. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/logo.js +2 -0
  370. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/logo.js.map +1 -0
  371. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/lua.js +2 -0
  372. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/lua.js.map +1 -0
  373. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/luau.js +2 -0
  374. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/luau.js.map +1 -0
  375. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/make.js +2 -0
  376. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/make.js.map +1 -0
  377. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/markdown-nix.js +2 -0
  378. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/markdown-nix.js.map +1 -0
  379. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/markdown-vue.js +2 -0
  380. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/markdown-vue.js.map +1 -0
  381. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/markdown.js +2 -0
  382. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/markdown.js.map +1 -0
  383. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/marko.js +2 -0
  384. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/marko.js.map +1 -0
  385. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/matlab.js +2 -0
  386. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/matlab.js.map +1 -0
  387. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/mdc.js +2 -0
  388. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/mdc.js.map +1 -0
  389. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/mdx.js +2 -0
  390. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/mdx.js.map +1 -0
  391. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/mermaid.js +2 -0
  392. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/mermaid.js.map +1 -0
  393. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/mipsasm.js +2 -0
  394. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/mipsasm.js.map +1 -0
  395. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/mojo.js +2 -0
  396. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/mojo.js.map +1 -0
  397. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/moonbit.js +2 -0
  398. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/moonbit.js.map +1 -0
  399. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/move.js +2 -0
  400. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/move.js.map +1 -0
  401. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/narrat.js +2 -0
  402. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/narrat.js.map +1 -0
  403. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/nextflow-groovy.js +2 -0
  404. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/nextflow-groovy.js.map +1 -0
  405. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/nextflow.js +2 -0
  406. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/nextflow.js.map +1 -0
  407. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/nginx.js +2 -0
  408. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/nginx.js.map +1 -0
  409. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/nim.js +2 -0
  410. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/nim.js.map +1 -0
  411. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/nix.js +2 -0
  412. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/nix.js.map +1 -0
  413. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/nushell.js +2 -0
  414. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/nushell.js.map +1 -0
  415. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/objective-c.js +2 -0
  416. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/objective-c.js.map +1 -0
  417. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/objective-cpp.js +2 -0
  418. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/objective-cpp.js.map +1 -0
  419. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/ocaml.js +2 -0
  420. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/ocaml.js.map +1 -0
  421. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/odin.js +2 -0
  422. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/odin.js.map +1 -0
  423. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/openscad.js +2 -0
  424. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/openscad.js.map +1 -0
  425. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/pascal.js +2 -0
  426. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/pascal.js.map +1 -0
  427. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/perl.js +2 -0
  428. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/perl.js.map +1 -0
  429. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/php.js +2 -0
  430. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/php.js.map +1 -0
  431. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/pkl.js +2 -0
  432. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/pkl.js.map +1 -0
  433. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/plsql.js +2 -0
  434. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/plsql.js.map +1 -0
  435. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/po.js +2 -0
  436. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/po.js.map +1 -0
  437. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/polar.js +2 -0
  438. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/polar.js.map +1 -0
  439. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/postcss.js +2 -0
  440. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/postcss.js.map +1 -0
  441. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/powerquery.js +2 -0
  442. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/powerquery.js.map +1 -0
  443. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/powershell.js +2 -0
  444. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/powershell.js.map +1 -0
  445. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/prisma.js +2 -0
  446. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/prisma.js.map +1 -0
  447. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/prolog.js +2 -0
  448. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/prolog.js.map +1 -0
  449. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/proto.js +2 -0
  450. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/proto.js.map +1 -0
  451. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/pug.js +2 -0
  452. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/pug.js.map +1 -0
  453. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/puppet.js +2 -0
  454. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/puppet.js.map +1 -0
  455. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/purescript.js +2 -0
  456. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/purescript.js.map +1 -0
  457. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/python.js +2 -0
  458. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/python.js.map +1 -0
  459. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/qml.js +2 -0
  460. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/qml.js.map +1 -0
  461. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/qmldir.js +2 -0
  462. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/qmldir.js.map +1 -0
  463. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/qss.js +2 -0
  464. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/qss.js.map +1 -0
  465. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/r.js +2 -0
  466. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/r.js.map +1 -0
  467. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/racket.js +2 -0
  468. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/racket.js.map +1 -0
  469. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/raku.js +2 -0
  470. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/raku.js.map +1 -0
  471. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/razor.js +2 -0
  472. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/razor.js.map +1 -0
  473. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/reg.js +2 -0
  474. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/reg.js.map +1 -0
  475. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/regexp.js +2 -0
  476. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/regexp.js.map +1 -0
  477. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/rel.js +2 -0
  478. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/rel.js.map +1 -0
  479. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/riscv.js +2 -0
  480. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/riscv.js.map +1 -0
  481. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/ron.js +2 -0
  482. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/ron.js.map +1 -0
  483. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/rosmsg.js +2 -0
  484. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/rosmsg.js.map +1 -0
  485. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/rst.js +2 -0
  486. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/rst.js.map +1 -0
  487. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/ruby.js +2 -0
  488. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/ruby.js.map +1 -0
  489. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/rust.js +2 -0
  490. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/rust.js.map +1 -0
  491. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/sas.js +2 -0
  492. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/sas.js.map +1 -0
  493. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/sass.js +2 -0
  494. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/sass.js.map +1 -0
  495. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/scala.js +2 -0
  496. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/scala.js.map +1 -0
  497. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/scheme.js +2 -0
  498. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/scheme.js.map +1 -0
  499. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/scss.js +2 -0
  500. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/scss.js.map +1 -0
  501. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/sdbl.js +2 -0
  502. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/sdbl.js.map +1 -0
  503. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/shaderlab.js +2 -0
  504. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/shaderlab.js.map +1 -0
  505. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/shellscript.js +2 -0
  506. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/shellscript.js.map +1 -0
  507. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/shellsession.js +2 -0
  508. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/shellsession.js.map +1 -0
  509. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/smalltalk.js +2 -0
  510. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/smalltalk.js.map +1 -0
  511. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/solidity.js +2 -0
  512. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/solidity.js.map +1 -0
  513. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/soy.js +2 -0
  514. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/soy.js.map +1 -0
  515. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/sparql.js +2 -0
  516. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/sparql.js.map +1 -0
  517. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/splunk.js +2 -0
  518. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/splunk.js.map +1 -0
  519. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/sql.js +2 -0
  520. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/sql.js.map +1 -0
  521. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/ssh-config.js +2 -0
  522. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/ssh-config.js.map +1 -0
  523. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/stata.js +2 -0
  524. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/stata.js.map +1 -0
  525. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/stylus.js +2 -0
  526. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/stylus.js.map +1 -0
  527. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/surrealql.js +2 -0
  528. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/surrealql.js.map +1 -0
  529. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/svelte.js +2 -0
  530. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/svelte.js.map +1 -0
  531. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/swift.js +2 -0
  532. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/swift.js.map +1 -0
  533. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/system-verilog.js +2 -0
  534. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/system-verilog.js.map +1 -0
  535. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/systemd.js +2 -0
  536. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/systemd.js.map +1 -0
  537. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/talonscript.js +2 -0
  538. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/talonscript.js.map +1 -0
  539. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/tasl.js +2 -0
  540. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/tasl.js.map +1 -0
  541. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/tcl.js +2 -0
  542. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/tcl.js.map +1 -0
  543. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/templ.js +2 -0
  544. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/templ.js.map +1 -0
  545. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/terraform.js +2 -0
  546. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/terraform.js.map +1 -0
  547. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/tex.js +2 -0
  548. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/tex.js.map +1 -0
  549. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/toml.js +2 -0
  550. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/toml.js.map +1 -0
  551. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/ts-tags.js +2 -0
  552. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/ts-tags.js.map +1 -0
  553. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/tsv.js +2 -0
  554. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/tsv.js.map +1 -0
  555. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/tsx.js +2 -0
  556. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/tsx.js.map +1 -0
  557. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/turtle.js +2 -0
  558. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/turtle.js.map +1 -0
  559. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/twig.js +2 -0
  560. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/twig.js.map +1 -0
  561. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/typescript.js +2 -0
  562. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/typescript.js.map +1 -0
  563. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/typespec.js +2 -0
  564. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/typespec.js.map +1 -0
  565. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/typst.js +2 -0
  566. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/typst.js.map +1 -0
  567. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/v.js +2 -0
  568. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/v.js.map +1 -0
  569. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/vala.js +2 -0
  570. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/vala.js.map +1 -0
  571. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/vb.js +2 -0
  572. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/vb.js.map +1 -0
  573. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/verilog.js +2 -0
  574. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/verilog.js.map +1 -0
  575. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/vhdl.js +2 -0
  576. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/vhdl.js.map +1 -0
  577. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/viml.js +2 -0
  578. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/viml.js.map +1 -0
  579. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/vue-directives.js +2 -0
  580. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/vue-directives.js.map +1 -0
  581. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/vue-html.js +2 -0
  582. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/vue-html.js.map +1 -0
  583. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/vue-interpolations.js +2 -0
  584. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/vue-interpolations.js.map +1 -0
  585. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/vue-sfc-style-variable-injection.js +2 -0
  586. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/vue-sfc-style-variable-injection.js.map +1 -0
  587. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/vue-vine.js +2 -0
  588. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/vue-vine.js.map +1 -0
  589. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/vue.js +2 -0
  590. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/vue.js.map +1 -0
  591. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/vyper.js +2 -0
  592. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/vyper.js.map +1 -0
  593. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/wasm.js +2 -0
  594. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/wasm.js.map +1 -0
  595. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/wenyan.js +2 -0
  596. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/wenyan.js.map +1 -0
  597. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/wgsl.js +2 -0
  598. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/wgsl.js.map +1 -0
  599. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/wikitext.js +2 -0
  600. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/wikitext.js.map +1 -0
  601. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/wit.js +2 -0
  602. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/wit.js.map +1 -0
  603. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/wolfram.js +2 -0
  604. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/wolfram.js.map +1 -0
  605. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/xml.js +2 -0
  606. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/xml.js.map +1 -0
  607. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/xsl.js +2 -0
  608. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/xsl.js.map +1 -0
  609. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/yaml.js +2 -0
  610. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/yaml.js.map +1 -0
  611. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/zenscript.js +2 -0
  612. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/zenscript.js.map +1 -0
  613. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/zig.js +2 -0
  614. package/dist/node_modules/.pnpm/@shikijs_langs@4.0.2/node_modules/@shikijs/langs/dist/zig.js.map +1 -0
  615. package/dist/node_modules/.pnpm/@shikijs_primitive@4.0.2/node_modules/@shikijs/primitive/dist/index.js +2 -0
  616. package/dist/node_modules/.pnpm/@shikijs_primitive@4.0.2/node_modules/@shikijs/primitive/dist/index.js.map +1 -0
  617. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/andromeeda.js +2 -0
  618. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/andromeeda.js.map +1 -0
  619. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/aurora-x.js +2 -0
  620. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/aurora-x.js.map +1 -0
  621. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/ayu-dark.js +2 -0
  622. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/ayu-dark.js.map +1 -0
  623. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/ayu-light.js +2 -0
  624. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/ayu-light.js.map +1 -0
  625. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/ayu-mirage.js +2 -0
  626. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/ayu-mirage.js.map +1 -0
  627. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/catppuccin-frappe.js +2 -0
  628. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/catppuccin-frappe.js.map +1 -0
  629. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/catppuccin-latte.js +2 -0
  630. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/catppuccin-latte.js.map +1 -0
  631. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/catppuccin-macchiato.js +2 -0
  632. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/catppuccin-macchiato.js.map +1 -0
  633. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/catppuccin-mocha.js +2 -0
  634. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/catppuccin-mocha.js.map +1 -0
  635. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/dark-plus.js +2 -0
  636. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/dark-plus.js.map +1 -0
  637. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/dracula-soft.js +2 -0
  638. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/dracula-soft.js.map +1 -0
  639. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/dracula.js +2 -0
  640. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/dracula.js.map +1 -0
  641. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/everforest-dark.js +2 -0
  642. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/everforest-dark.js.map +1 -0
  643. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/everforest-light.js +2 -0
  644. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/everforest-light.js.map +1 -0
  645. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/github-dark-default.js +2 -0
  646. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/github-dark-default.js.map +1 -0
  647. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/github-dark-dimmed.js +2 -0
  648. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/github-dark-dimmed.js.map +1 -0
  649. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/github-dark-high-contrast.js +2 -0
  650. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/github-dark-high-contrast.js.map +1 -0
  651. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/github-dark.js +2 -0
  652. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/github-dark.js.map +1 -0
  653. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/github-light-default.js +2 -0
  654. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/github-light-default.js.map +1 -0
  655. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/github-light-high-contrast.js +2 -0
  656. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/github-light-high-contrast.js.map +1 -0
  657. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/github-light.js +2 -0
  658. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/github-light.js.map +1 -0
  659. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/gruvbox-dark-hard.js +2 -0
  660. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/gruvbox-dark-hard.js.map +1 -0
  661. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/gruvbox-dark-medium.js +2 -0
  662. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/gruvbox-dark-medium.js.map +1 -0
  663. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/gruvbox-dark-soft.js +2 -0
  664. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/gruvbox-dark-soft.js.map +1 -0
  665. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/gruvbox-light-hard.js +2 -0
  666. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/gruvbox-light-hard.js.map +1 -0
  667. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/gruvbox-light-medium.js +2 -0
  668. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/gruvbox-light-medium.js.map +1 -0
  669. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/gruvbox-light-soft.js +2 -0
  670. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/gruvbox-light-soft.js.map +1 -0
  671. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/horizon-bright.js +2 -0
  672. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/horizon-bright.js.map +1 -0
  673. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/horizon.js +2 -0
  674. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/horizon.js.map +1 -0
  675. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/houston.js +2 -0
  676. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/houston.js.map +1 -0
  677. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/kanagawa-dragon.js +2 -0
  678. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/kanagawa-dragon.js.map +1 -0
  679. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/kanagawa-lotus.js +2 -0
  680. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/kanagawa-lotus.js.map +1 -0
  681. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/kanagawa-wave.js +2 -0
  682. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/kanagawa-wave.js.map +1 -0
  683. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/laserwave.js +2 -0
  684. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/laserwave.js.map +1 -0
  685. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/light-plus.js +2 -0
  686. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/light-plus.js.map +1 -0
  687. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/material-theme-darker.js +2 -0
  688. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/material-theme-darker.js.map +1 -0
  689. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/material-theme-lighter.js +2 -0
  690. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/material-theme-lighter.js.map +1 -0
  691. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/material-theme-ocean.js +2 -0
  692. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/material-theme-ocean.js.map +1 -0
  693. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/material-theme-palenight.js +2 -0
  694. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/material-theme-palenight.js.map +1 -0
  695. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/material-theme.js +2 -0
  696. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/material-theme.js.map +1 -0
  697. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/min-dark.js +2 -0
  698. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/min-dark.js.map +1 -0
  699. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/min-light.js +2 -0
  700. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/min-light.js.map +1 -0
  701. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/monokai.js +2 -0
  702. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/monokai.js.map +1 -0
  703. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/night-owl-light.js +2 -0
  704. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/night-owl-light.js.map +1 -0
  705. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/night-owl.js +2 -0
  706. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/night-owl.js.map +1 -0
  707. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/nord.js +2 -0
  708. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/nord.js.map +1 -0
  709. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/one-dark-pro.js +2 -0
  710. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/one-dark-pro.js.map +1 -0
  711. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/one-light.js +2 -0
  712. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/one-light.js.map +1 -0
  713. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/plastic.js +2 -0
  714. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/plastic.js.map +1 -0
  715. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/poimandres.js +2 -0
  716. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/poimandres.js.map +1 -0
  717. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/red.js +2 -0
  718. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/red.js.map +1 -0
  719. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/rose-pine-dawn.js +2 -0
  720. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/rose-pine-dawn.js.map +1 -0
  721. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/rose-pine-moon.js +2 -0
  722. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/rose-pine-moon.js.map +1 -0
  723. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/rose-pine.js +2 -0
  724. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/rose-pine.js.map +1 -0
  725. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/slack-dark.js +2 -0
  726. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/slack-dark.js.map +1 -0
  727. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/slack-ochin.js +2 -0
  728. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/slack-ochin.js.map +1 -0
  729. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/snazzy-light.js +2 -0
  730. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/snazzy-light.js.map +1 -0
  731. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/solarized-dark.js +2 -0
  732. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/solarized-dark.js.map +1 -0
  733. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/solarized-light.js +2 -0
  734. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/solarized-light.js.map +1 -0
  735. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/synthwave-84.js +2 -0
  736. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/synthwave-84.js.map +1 -0
  737. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/tokyo-night.js +2 -0
  738. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/tokyo-night.js.map +1 -0
  739. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/vesper.js +2 -0
  740. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/vesper.js.map +1 -0
  741. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/vitesse-black.js +2 -0
  742. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/vitesse-black.js.map +1 -0
  743. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/vitesse-dark.js +2 -0
  744. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/vitesse-dark.js.map +1 -0
  745. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/vitesse-light.js +2 -0
  746. package/dist/node_modules/.pnpm/@shikijs_themes@4.0.2/node_modules/@shikijs/themes/dist/vitesse-light.js.map +1 -0
  747. package/dist/node_modules/.pnpm/@shikijs_types@4.0.2/node_modules/@shikijs/types/dist/index.js +2 -0
  748. package/dist/node_modules/.pnpm/@shikijs_types@4.0.2/node_modules/@shikijs/types/dist/index.js.map +1 -0
  749. package/dist/node_modules/.pnpm/@shikijs_vscode-textmate@10.0.2/node_modules/@shikijs/vscode-textmate/dist/index.js +4 -0
  750. package/dist/node_modules/.pnpm/@shikijs_vscode-textmate@10.0.2/node_modules/@shikijs/vscode-textmate/dist/index.js.map +1 -0
  751. package/dist/node_modules/.pnpm/ccount@2.0.1/node_modules/ccount/index.js +2 -0
  752. package/dist/node_modules/.pnpm/ccount@2.0.1/node_modules/ccount/index.js.map +1 -0
  753. package/dist/node_modules/.pnpm/character-entities-html4@2.1.0/node_modules/character-entities-html4/index.js +2 -0
  754. package/dist/node_modules/.pnpm/character-entities-html4@2.1.0/node_modules/character-entities-html4/index.js.map +1 -0
  755. package/dist/node_modules/.pnpm/character-entities-legacy@3.0.0/node_modules/character-entities-legacy/index.js +2 -0
  756. package/dist/node_modules/.pnpm/character-entities-legacy@3.0.0/node_modules/character-entities-legacy/index.js.map +1 -0
  757. package/dist/node_modules/.pnpm/comma-separated-tokens@2.0.3/node_modules/comma-separated-tokens/index.js +2 -0
  758. package/dist/node_modules/.pnpm/comma-separated-tokens@2.0.3/node_modules/comma-separated-tokens/index.js.map +1 -0
  759. package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/comment.js +2 -0
  760. package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/comment.js.map +1 -0
  761. package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/doctype.js +2 -0
  762. package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/doctype.js.map +1 -0
  763. package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/element.js +10 -0
  764. package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/element.js.map +1 -0
  765. package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/index.js +2 -0
  766. package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/index.js.map +1 -0
  767. package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/raw.js +2 -0
  768. package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/raw.js.map +1 -0
  769. package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/root.js +2 -0
  770. package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/root.js.map +1 -0
  771. package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/text.js +2 -0
  772. package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/text.js.map +1 -0
  773. package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/index.js +2 -0
  774. package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/index.js.map +1 -0
  775. package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/omission/closing.js +2 -0
  776. package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/omission/closing.js.map +1 -0
  777. package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/omission/omission.js +2 -0
  778. package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/omission/omission.js.map +1 -0
  779. package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/omission/opening.js +2 -0
  780. package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/omission/opening.js.map +1 -0
  781. package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/omission/util/siblings.js +2 -0
  782. package/dist/node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/omission/util/siblings.js.map +1 -0
  783. package/dist/node_modules/.pnpm/hast-util-whitespace@3.0.0/node_modules/hast-util-whitespace/lib/index.js +2 -0
  784. package/dist/node_modules/.pnpm/hast-util-whitespace@3.0.0/node_modules/hast-util-whitespace/lib/index.js.map +1 -0
  785. package/dist/node_modules/.pnpm/html-void-elements@3.0.0/node_modules/html-void-elements/index.js +2 -0
  786. package/dist/node_modules/.pnpm/html-void-elements@3.0.0/node_modules/html-void-elements/index.js.map +1 -0
  787. package/dist/node_modules/.pnpm/lucide-solid@1.8.0_solid-js@1.9.11/node_modules/lucide-solid/dist/source/icons/clipboard-copy.js +2 -0
  788. package/dist/node_modules/.pnpm/lucide-solid@1.8.0_solid-js@1.9.11/node_modules/lucide-solid/dist/source/icons/clipboard-copy.js.map +1 -0
  789. package/dist/node_modules/.pnpm/oniguruma-parser@0.12.1/node_modules/oniguruma-parser/dist/parser/node-utils.js +2 -0
  790. package/dist/node_modules/.pnpm/oniguruma-parser@0.12.1/node_modules/oniguruma-parser/dist/parser/node-utils.js.map +1 -0
  791. package/dist/node_modules/.pnpm/oniguruma-parser@0.12.1/node_modules/oniguruma-parser/dist/parser/parse.js +2 -0
  792. package/dist/node_modules/.pnpm/oniguruma-parser@0.12.1/node_modules/oniguruma-parser/dist/parser/parse.js.map +1 -0
  793. package/dist/node_modules/.pnpm/oniguruma-parser@0.12.1/node_modules/oniguruma-parser/dist/tokenizer/tokenize.js +34 -0
  794. package/dist/node_modules/.pnpm/oniguruma-parser@0.12.1/node_modules/oniguruma-parser/dist/tokenizer/tokenize.js.map +1 -0
  795. package/dist/node_modules/.pnpm/oniguruma-parser@0.12.1/node_modules/oniguruma-parser/dist/traverser/traverse.js +2 -0
  796. package/dist/node_modules/.pnpm/oniguruma-parser@0.12.1/node_modules/oniguruma-parser/dist/traverser/traverse.js.map +1 -0
  797. package/dist/node_modules/.pnpm/oniguruma-parser@0.12.1/node_modules/oniguruma-parser/dist/utils.js +2 -0
  798. package/dist/node_modules/.pnpm/oniguruma-parser@0.12.1/node_modules/oniguruma-parser/dist/utils.js.map +1 -0
  799. package/dist/node_modules/.pnpm/oniguruma-to-es@4.3.5/node_modules/oniguruma-to-es/dist/esm/index.js +95 -0
  800. package/dist/node_modules/.pnpm/oniguruma-to-es@4.3.5/node_modules/oniguruma-to-es/dist/esm/index.js.map +1 -0
  801. package/dist/node_modules/.pnpm/prettier@3.8.1/node_modules/prettier/plugins/babel.js +16 -0
  802. package/dist/node_modules/.pnpm/prettier@3.8.1/node_modules/prettier/plugins/babel.js.map +1 -0
  803. package/dist/node_modules/.pnpm/prettier@3.8.1/node_modules/prettier/plugins/estree.js +45 -0
  804. package/dist/node_modules/.pnpm/prettier@3.8.1/node_modules/prettier/plugins/estree.js.map +1 -0
  805. package/dist/node_modules/.pnpm/prettier@3.8.1/node_modules/prettier/standalone.js +30 -0
  806. package/dist/node_modules/.pnpm/prettier@3.8.1/node_modules/prettier/standalone.js.map +1 -0
  807. package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/index.js +2 -0
  808. package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/index.js.map +1 -0
  809. package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/aria.js +2 -0
  810. package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/aria.js.map +1 -0
  811. package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/find.js +2 -0
  812. package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/find.js.map +1 -0
  813. package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/html.js +2 -0
  814. package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/html.js.map +1 -0
  815. package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/normalize.js +2 -0
  816. package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/normalize.js.map +1 -0
  817. package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/svg.js +2 -0
  818. package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/svg.js.map +1 -0
  819. package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/case-insensitive-transform.js +2 -0
  820. package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/case-insensitive-transform.js.map +1 -0
  821. package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/case-sensitive-transform.js +2 -0
  822. package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/case-sensitive-transform.js.map +1 -0
  823. package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/create.js +2 -0
  824. package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/create.js.map +1 -0
  825. package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/defined-info.js +2 -0
  826. package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/defined-info.js.map +1 -0
  827. package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/info.js +2 -0
  828. package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/info.js.map +1 -0
  829. package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/merge.js +2 -0
  830. package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/merge.js.map +1 -0
  831. package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/schema.js +2 -0
  832. package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/schema.js.map +1 -0
  833. package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/types.js +2 -0
  834. package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/types.js.map +1 -0
  835. package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/xlink.js +2 -0
  836. package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/xlink.js.map +1 -0
  837. package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/xml.js +2 -0
  838. package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/xml.js.map +1 -0
  839. package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/xmlns.js +2 -0
  840. package/dist/node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/xmlns.js.map +1 -0
  841. package/dist/node_modules/.pnpm/regex-recursion@6.0.2/node_modules/regex-recursion/src/index.js +2 -0
  842. package/dist/node_modules/.pnpm/regex-recursion@6.0.2/node_modules/regex-recursion/src/index.js.map +1 -0
  843. package/dist/node_modules/.pnpm/regex-utilities@2.3.0/node_modules/regex-utilities/src/index.js +2 -0
  844. package/dist/node_modules/.pnpm/regex-utilities@2.3.0/node_modules/regex-utilities/src/index.js.map +1 -0
  845. package/dist/node_modules/.pnpm/regex@6.1.0/node_modules/regex/src/atomic.js +17 -0
  846. package/dist/node_modules/.pnpm/regex@6.1.0/node_modules/regex/src/atomic.js.map +1 -0
  847. package/dist/node_modules/.pnpm/regex@6.1.0/node_modules/regex/src/internals.js +1 -0
  848. package/dist/node_modules/.pnpm/regex@6.1.0/node_modules/regex/src/utils-internals.js +2 -0
  849. package/dist/node_modules/.pnpm/regex@6.1.0/node_modules/regex/src/utils-internals.js.map +1 -0
  850. package/dist/node_modules/.pnpm/shiki@4.0.2/node_modules/shiki/dist/bundle-full.js +2 -0
  851. package/dist/node_modules/.pnpm/shiki@4.0.2/node_modules/shiki/dist/bundle-full.js.map +1 -0
  852. package/dist/node_modules/.pnpm/shiki@4.0.2/node_modules/shiki/dist/chunk-CtajNgzt.js +2 -0
  853. package/dist/node_modules/.pnpm/shiki@4.0.2/node_modules/shiki/dist/chunk-CtajNgzt.js.map +1 -0
  854. package/dist/node_modules/.pnpm/shiki@4.0.2/node_modules/shiki/dist/engine-oniguruma.js +2 -0
  855. package/dist/node_modules/.pnpm/shiki@4.0.2/node_modules/shiki/dist/engine-oniguruma.js.map +1 -0
  856. package/dist/node_modules/.pnpm/shiki@4.0.2/node_modules/shiki/dist/index.js +2 -0
  857. package/dist/node_modules/.pnpm/shiki@4.0.2/node_modules/shiki/dist/index.js.map +1 -0
  858. package/dist/node_modules/.pnpm/shiki@4.0.2/node_modules/shiki/dist/langs-bundle-full-DfKZStlK.js +2 -0
  859. package/dist/node_modules/.pnpm/shiki@4.0.2/node_modules/shiki/dist/langs-bundle-full-DfKZStlK.js.map +1 -0
  860. package/dist/node_modules/.pnpm/shiki@4.0.2/node_modules/shiki/dist/themes.js +2 -0
  861. package/dist/node_modules/.pnpm/shiki@4.0.2/node_modules/shiki/dist/themes.js.map +1 -0
  862. package/dist/node_modules/.pnpm/shiki@4.0.2/node_modules/shiki/dist/wasm.js +1 -0
  863. package/dist/node_modules/.pnpm/space-separated-tokens@2.0.2/node_modules/space-separated-tokens/index.js +2 -0
  864. package/dist/node_modules/.pnpm/space-separated-tokens@2.0.2/node_modules/space-separated-tokens/index.js.map +1 -0
  865. package/dist/node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/constant/dangerous.js +2 -0
  866. package/dist/node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/constant/dangerous.js.map +1 -0
  867. package/dist/node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/core.js +2 -0
  868. package/dist/node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/core.js.map +1 -0
  869. package/dist/node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/index.js +2 -0
  870. package/dist/node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/index.js.map +1 -0
  871. package/dist/node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/util/format-smart.js +2 -0
  872. package/dist/node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/util/format-smart.js.map +1 -0
  873. package/dist/node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/util/to-decimal.js +2 -0
  874. package/dist/node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/util/to-decimal.js.map +1 -0
  875. package/dist/node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/util/to-hexadecimal.js +2 -0
  876. package/dist/node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/util/to-hexadecimal.js.map +1 -0
  877. package/dist/node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/util/to-named.js +2 -0
  878. package/dist/node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/util/to-named.js.map +1 -0
  879. package/dist/node_modules/.pnpm/zwitch@2.0.4/node_modules/zwitch/index.js +2 -0
  880. package/dist/node_modules/.pnpm/zwitch@2.0.4/node_modules/zwitch/index.js.map +1 -0
  881. package/dist/solid-ui.css +1 -1
  882. package/dist/utils/cn.js.map +1 -0
  883. package/dist/utils/element-tracker.js.map +1 -0
  884. package/dist/{src/utils → utils}/helper.js +1 -1
  885. package/dist/utils/helper.js.map +1 -0
  886. package/dist/utils/hoc.js.map +1 -0
  887. package/dist/utils/shiki-highlight.js +2 -0
  888. package/dist/utils/shiki-highlight.js.map +1 -0
  889. package/package.json +8 -6
  890. package/dist/components/dynamic-icon/DynamicIcon.d.ts +0 -8
  891. package/dist/components/dynamic-icon/DynamicIcon.d.ts.map +0 -1
  892. package/dist/components/dynamic-icon/index.d.ts +0 -2
  893. package/dist/components/dynamic-icon/index.d.ts.map +0 -1
  894. package/dist/solid-ui-source.css +0 -95
  895. package/dist/src/components/avatar/avatar.js.map +0 -1
  896. package/dist/src/components/badge/badge.js.map +0 -1
  897. package/dist/src/components/blank/blank.js.map +0 -1
  898. package/dist/src/components/breadcrumb/breadcrumb.js.map +0 -1
  899. package/dist/src/components/button/button.js.map +0 -1
  900. package/dist/src/components/carousel/carousel.js +0 -2
  901. package/dist/src/components/carousel/carousel.js.map +0 -1
  902. package/dist/src/components/chat-bubble/chatBubble.js.map +0 -1
  903. package/dist/src/components/checkbox/checkbox.js.map +0 -1
  904. package/dist/src/components/collapse/collapse.js.map +0 -1
  905. package/dist/src/components/context-menu/context-menu.js +0 -2
  906. package/dist/src/components/context-menu/context-menu.js.map +0 -1
  907. package/dist/src/components/context-menu/context-menu.store.js.map +0 -1
  908. package/dist/src/components/diff/diff.js.map +0 -1
  909. package/dist/src/components/divider/divider.js.map +0 -1
  910. package/dist/src/components/drawer/drawer.js +0 -2
  911. package/dist/src/components/drawer/drawer.js.map +0 -1
  912. package/dist/src/components/dropdown/dropdown.js.map +0 -1
  913. package/dist/src/components/dropdown/dropdown.store.js.map +0 -1
  914. package/dist/src/components/float-button/float-button.js.map +0 -1
  915. package/dist/src/components/hover-3d-image/hover-3d-image.js.map +0 -1
  916. package/dist/src/components/image-preview/image-preview.js +0 -2
  917. package/dist/src/components/image-preview/image-preview.js.map +0 -1
  918. package/dist/src/components/indicator/indicator.js.map +0 -1
  919. package/dist/src/components/input/input.js.map +0 -1
  920. package/dist/src/components/input/input.utils.js.map +0 -1
  921. package/dist/src/components/input/variants/input-color.js.map +0 -1
  922. package/dist/src/components/input/variants/input-date.js.map +0 -1
  923. package/dist/src/components/input/variants/input-number.js +0 -2
  924. package/dist/src/components/input/variants/input-number.js.map +0 -1
  925. package/dist/src/components/input/variants/input-otp.js.map +0 -1
  926. package/dist/src/components/input/variants/input-password.js +0 -2
  927. package/dist/src/components/input/variants/input-password.js.map +0 -1
  928. package/dist/src/components/input/variants/input-radio.js.map +0 -1
  929. package/dist/src/components/input/variants/input-range.js.map +0 -1
  930. package/dist/src/components/input/variants/input-text.js +0 -2
  931. package/dist/src/components/input/variants/input-text.js.map +0 -1
  932. package/dist/src/components/input/variants/input-textarea.js +0 -2
  933. package/dist/src/components/input/variants/input-textarea.js.map +0 -1
  934. package/dist/src/components/loading/loading.js +0 -2
  935. package/dist/src/components/loading/loading.js.map +0 -1
  936. package/dist/src/components/mansory/mansory.js.map +0 -1
  937. package/dist/src/components/menu/menu.js +0 -2
  938. package/dist/src/components/menu/menu.js.map +0 -1
  939. package/dist/src/components/modal/modal.js +0 -2
  940. package/dist/src/components/modal/modal.js.map +0 -1
  941. package/dist/src/components/modal/modalContext.js.map +0 -1
  942. package/dist/src/components/pagination/pagination.js +0 -2
  943. package/dist/src/components/pagination/pagination.js.map +0 -1
  944. package/dist/src/components/progress-bar/progress-bar.js.map +0 -1
  945. package/dist/src/components/qr-code/qr-code.js +0 -2
  946. package/dist/src/components/qr-code/qr-code.js.map +0 -1
  947. package/dist/src/components/rating/rating.js.map +0 -1
  948. package/dist/src/components/select/select.js +0 -2
  949. package/dist/src/components/select/select.js.map +0 -1
  950. package/dist/src/components/select-zone/select-zone.js.map +0 -1
  951. package/dist/src/components/skeleton/skeleton.js.map +0 -1
  952. package/dist/src/components/slider/slider.js.map +0 -1
  953. package/dist/src/components/splitter/splitter.js.map +0 -1
  954. package/dist/src/components/steps/steps.js +0 -2
  955. package/dist/src/components/steps/steps.js.map +0 -1
  956. package/dist/src/components/swap/swap.js.map +0 -1
  957. package/dist/src/components/switch/switch.js.map +0 -1
  958. package/dist/src/components/tab/tab.js +0 -2
  959. package/dist/src/components/tab/tab.js.map +0 -1
  960. package/dist/src/components/table/table.js +0 -2
  961. package/dist/src/components/table/table.js.map +0 -1
  962. package/dist/src/components/text-rotate/text-rotate.js.map +0 -1
  963. package/dist/src/components/timeline/timeline.js +0 -2
  964. package/dist/src/components/timeline/timeline.js.map +0 -1
  965. package/dist/src/components/toast/icons/ErrorIcon.js.map +0 -1
  966. package/dist/src/components/toast/icons/IconCircle.js.map +0 -1
  967. package/dist/src/components/toast/icons/InfoIcon.js.map +0 -1
  968. package/dist/src/components/toast/icons/LoaderIcon.js.map +0 -1
  969. package/dist/src/components/toast/icons/SuccessIcon.js.map +0 -1
  970. package/dist/src/components/toast/icons/WarningIcon.js.map +0 -1
  971. package/dist/src/components/toast/toast.js +0 -2
  972. package/dist/src/components/toast/toast.js.map +0 -1
  973. package/dist/src/components/toast/toast.store.js.map +0 -1
  974. package/dist/src/components/tooltip/tooltip.js.map +0 -1
  975. package/dist/src/components/tour/tour.js.map +0 -1
  976. package/dist/src/components/upload/upload.js +0 -2
  977. package/dist/src/components/upload/upload.js.map +0 -1
  978. package/dist/src/components/z-index/z-index.context.js.map +0 -1
  979. package/dist/src/components/z-index/z-index.js.map +0 -1
  980. package/dist/src/components/z-index/z-index.store.js.map +0 -1
  981. package/dist/src/components/z-index/z-index.types.js.map +0 -1
  982. package/dist/src/lib.js +0 -1
  983. package/dist/src/utils/cn.js.map +0 -1
  984. package/dist/src/utils/element-tracker.js.map +0 -1
  985. package/dist/src/utils/helper.js.map +0 -1
  986. package/dist/src/utils/hoc.js.map +0 -1
  987. /package/dist/{src/components → components}/avatar/avatar.js +0 -0
  988. /package/dist/{src/components → components}/badge/badge.js +0 -0
  989. /package/dist/{src/components → components}/blank/blank.js +0 -0
  990. /package/dist/{src/components → components}/breadcrumb/breadcrumb.js +0 -0
  991. /package/dist/{src/components → components}/button/button.js +0 -0
  992. /package/dist/{src/components → components}/chat-bubble/chatBubble.js +0 -0
  993. /package/dist/{src/components → components}/checkbox/checkbox.js +0 -0
  994. /package/dist/{src/components → components}/collapse/collapse.js +0 -0
  995. /package/dist/{src/components → components}/context-menu/context-menu.store.js +0 -0
  996. /package/dist/{src/components → components}/diff/diff.js +0 -0
  997. /package/dist/{src/components → components}/divider/divider.js +0 -0
  998. /package/dist/{src/components → components}/dropdown/dropdown.js +0 -0
  999. /package/dist/{src/components → components}/dropdown/dropdown.store.js +0 -0
  1000. /package/dist/{src/components → components}/float-button/float-button.js +0 -0
  1001. /package/dist/{src/components → components}/hover-3d-image/hover-3d-image.js +0 -0
  1002. /package/dist/{src/components → components}/indicator/indicator.js +0 -0
  1003. /package/dist/{src/components → components}/input/input.js +0 -0
  1004. /package/dist/{src/components → components}/input/input.utils.js +0 -0
  1005. /package/dist/{src/components → components}/input/variants/input-color.js +0 -0
  1006. /package/dist/{src/components → components}/input/variants/input-date.js +0 -0
  1007. /package/dist/{src/components → components}/input/variants/input-otp.js +0 -0
  1008. /package/dist/{src/components → components}/input/variants/input-radio.js +0 -0
  1009. /package/dist/{src/components → components}/input/variants/input-range.js +0 -0
  1010. /package/dist/{src/components → components}/mansory/mansory.js +0 -0
  1011. /package/dist/{src/components → components}/modal/modalContext.js +0 -0
  1012. /package/dist/{src/components → components}/progress-bar/progress-bar.js +0 -0
  1013. /package/dist/{src/components → components}/rating/rating.js +0 -0
  1014. /package/dist/{src/components → components}/select-zone/select-zone.js +0 -0
  1015. /package/dist/{src/components → components}/skeleton/skeleton.js +0 -0
  1016. /package/dist/{src/components → components}/slider/slider.js +0 -0
  1017. /package/dist/{src/components → components}/splitter/splitter.js +0 -0
  1018. /package/dist/{src/components → components}/swap/swap.js +0 -0
  1019. /package/dist/{src/components → components}/switch/switch.js +0 -0
  1020. /package/dist/{src/components → components}/table/index.js +0 -0
  1021. /package/dist/{src/components → components}/text-rotate/text-rotate.js +0 -0
  1022. /package/dist/{src/components → components}/toast/icons/ErrorIcon.js +0 -0
  1023. /package/dist/{src/components → components}/toast/icons/IconCircle.js +0 -0
  1024. /package/dist/{src/components → components}/toast/icons/InfoIcon.js +0 -0
  1025. /package/dist/{src/components → components}/toast/icons/LoaderIcon.js +0 -0
  1026. /package/dist/{src/components → components}/toast/icons/SuccessIcon.js +0 -0
  1027. /package/dist/{src/components → components}/toast/icons/WarningIcon.js +0 -0
  1028. /package/dist/{src/components → components}/toast/toast.store.js +0 -0
  1029. /package/dist/{src/components → components}/tooltip/tooltip.js +0 -0
  1030. /package/dist/{src/components → components}/z-index/z-index.context.js +0 -0
  1031. /package/dist/{src/components → components}/z-index/z-index.js +0 -0
  1032. /package/dist/{src/components → components}/z-index/z-index.store.js +0 -0
  1033. /package/dist/{src/components → components}/z-index/z-index.types.js +0 -0
  1034. /package/dist/{src/utils → utils}/cn.js +0 -0
  1035. /package/dist/{src/utils → utils}/element-tracker.js +0 -0
  1036. /package/dist/{src/utils → utils}/hoc.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.js","names":["Select","cn","getColor","ChevronLeft","ChevronRight","Component","createEffect","createMemo","createSignal","For","Match","mergeProps","Show","Switch","PaginationDefaultProps","PaginationFullyProps","PaginationProps","PaginationSimpleProps","DEFAULT_PROPS","defaultCurrent","defaultPageSize","total","align","const","size","color","hideOnSinglePage","showLessItems","showQuickJumper","showTitle","disabled","pageSizeOptions","totalBoundaryShowSizeChanger","buildSizeClass","buildAlignClass","mapSizeToSelect","buildPageItems","totalPages","current","sibling","Array","from","length","_","i","items","push","leftBound","Math","max","rightBound","min","PaginationDefault","props","p","internalCurrent","setInternalCurrent","internalPageSize","setInternalPageSize","jumpValue","setJumpValue","pageSize","ceil","showSizeChanger","shouldHide","changePage","page","clamped","onChange","changePageSize","newTotal","newCurrent","onShowSizeChange","pageItems","handleJump","val","parseInt","isNaN","range","start","end","pageSizeSelectOpts","map","opt","label","value","_$createComponent","when","children","_el$","_tmpl$5","_$insert","showTotal","_el$2","_tmpl$","_$effect","_$className","class","btn","_el$8","_tmpl$6","$$click","_p$","_v$6","prev","btnDisabled","_v$7","e","t","undefined","itemRender","each","item","_el$9","_tmpl$7","jump","_$setAttribute","_v$8","ellipsis","_v$9","pageBtn","_el$0","_tmpl$8","_v$0","itemActive","_v$1","_v$10","a","_el$1","_tmpl$9","_v$11","next","_v$12","_el$3","_tmpl$2","options","placement","root","sizeChanger","_el$4","_tmpl$4","_el$5","firstChild","_el$6","nextSibling","$$keydown","key","currentTarget","blur","$$input","_$memo","goButton","fallback","_el$7","_tmpl$3","_v$","jumper","_v$2","jumperLabel","_v$3","jumperInput","_v$4","_v$5","o","PaginationSimple","_el$10","_tmpl$0","_el$11","_el$12","_el$13","_el$14","_el$15","_el$16","addEventListener","v","target","HTMLInputElement","select","_v$13","_v$14","_v$15","_v$16","simplePager","_v$17","simpleInput","_v$18","_v$19","_v$20","slash","_v$21","_v$22","n","s","h","r","d","PaginationFully","modernPageInput","setModernPageInput","String","syncPageInput","commitPageInput","num","_el$17","_tmpl$1","_el$18","_el$19","_el$20","_el$21","_el$22","_el$23","_el$26","_el$24","_el$27","_el$25","_el$28","_el$29","_el$30","_el$31","_el$33","_el$32","_el$34","_el$35","Number","_el$36","_tmpl$10","_v$23","_v$24","fullyLeft","_v$25","fullyLabel","_v$26","_v$27","_v$28","fullyRange","_v$29","fullyRight","_v$30","fullyPageInput","_v$31","_v$32","_v$33","_v$34","fullyPages","_v$35","_v$36","_v$37","_v$38","l","_$setStyleProperty","u","c","w","m","f","Pagination","mode","_$delegateEvents"],"sources":["../../../src/components/pagination/pagination.tsx"],"sourcesContent":["import { Select } from '@/components/select';\nimport { cn } from '@/utils/cn';\nimport { getColor } from '@/utils/helper';\nimport ChevronLeft from 'lucide-solid/icons/chevron-left';\nimport ChevronRight from 'lucide-solid/icons/chevron-right';\nimport {\n Component,\n createEffect,\n createMemo,\n createSignal,\n For,\n Match,\n mergeProps,\n Show,\n Switch,\n} from 'solid-js';\nimport type {\n PaginationDefaultProps,\n PaginationFullyProps,\n PaginationProps,\n PaginationSimpleProps,\n} from './pagination.types';\n\nconst DEFAULT_PROPS = {\n defaultCurrent: 1,\n defaultPageSize: 10,\n total: 0,\n align: 'start' as const,\n size: 'md' as const,\n color: 'neutral' as const,\n hideOnSinglePage: false,\n showLessItems: false,\n showQuickJumper: false,\n showTitle: true,\n disabled: false,\n pageSizeOptions: [10, 20, 50, 100],\n totalBoundaryShowSizeChanger: 50,\n};\n\n// ─── Shared helpers ─────────────────────────────────────────────────────────\n\nfunction buildSizeClass(size: string) {\n switch (size) {\n case 'xs':\n return 'pag26';\n case 'sm':\n return 'pag27';\n case 'lg':\n return 'pag29';\n case 'xl':\n return 'pag30';\n default:\n return 'pag28';\n }\n}\n\nfunction buildAlignClass(align: string) {\n switch (align) {\n case 'center':\n return 'justify-center';\n case 'end':\n return 'justify-end';\n default:\n return 'justify-start';\n }\n}\n\nfunction mapSizeToSelect(size: string): 'sm' | 'md' | 'lg' {\n if (size === 'lg' || size === 'xl') return 'lg';\n if (size === 'md') return 'md';\n return 'sm';\n}\n\n// Build page list with ellipsis algorithm\nfunction buildPageItems(totalPages: number, current: number, showLessItems: boolean) {\n const sibling = showLessItems ? 1 : 2;\n\n if (totalPages <= (showLessItems ? 7 : 9)) {\n return Array.from({ length: totalPages }, (_, i) => i + 1);\n }\n\n const items: (number | 'prev-ellipsis' | 'next-ellipsis')[] = [];\n\n items.push(1);\n\n const leftBound = Math.max(2, current - sibling);\n const rightBound = Math.min(totalPages - 1, current + sibling);\n\n if (leftBound > 2) items.push('prev-ellipsis');\n for (let i = leftBound; i <= rightBound; i++) items.push(i);\n if (rightBound < totalPages - 1) items.push('next-ellipsis');\n\n items.push(totalPages);\n\n return items;\n}\n\n// ─── Mode: default ──────────────────────────────────────────────────────────\n\nconst PaginationDefault: Component<PaginationDefaultProps> = props => {\n const p = mergeProps(DEFAULT_PROPS, props);\n\n const [internalCurrent, setInternalCurrent] = createSignal(p.defaultCurrent);\n const [internalPageSize, setInternalPageSize] = createSignal(p.defaultPageSize);\n const [jumpValue, setJumpValue] = createSignal('');\n\n const current = createMemo(() => p.current ?? internalCurrent());\n const pageSize = createMemo(() => p.pageSize ?? internalPageSize());\n const totalPages = createMemo(() => Math.max(1, Math.ceil((p.total ?? 0) / pageSize())));\n\n const showSizeChanger = createMemo(() => {\n if (typeof p.showSizeChanger === 'boolean') return p.showSizeChanger;\n if (typeof p.showSizeChanger === 'object') return true;\n return (p.total ?? 0) > (p.totalBoundaryShowSizeChanger ?? 50);\n });\n\n const shouldHide = createMemo(() => p.hideOnSinglePage && totalPages() <= 1);\n\n const changePage = (page: number) => {\n const clamped = Math.min(Math.max(1, page), totalPages());\n if (clamped === current()) return;\n setInternalCurrent(clamped);\n p.onChange?.(clamped, pageSize());\n };\n\n const changePageSize = (size: number) => {\n const newTotal = Math.max(1, Math.ceil((p.total ?? 0) / size));\n const newCurrent = Math.min(current(), newTotal);\n setInternalPageSize(size);\n setInternalCurrent(newCurrent);\n p.onShowSizeChange?.(newCurrent, size);\n p.onChange?.(newCurrent, size);\n };\n\n const pageItems = createMemo(() => buildPageItems(totalPages(), current(), p.showLessItems));\n\n const handleJump = () => {\n const val = parseInt(jumpValue(), 10);\n if (!isNaN(val)) {\n changePage(val);\n setJumpValue('');\n }\n };\n\n const range = createMemo<[number, number]>(() => {\n const start = (current() - 1) * pageSize() + 1;\n const end = Math.min(current() * pageSize(), p.total ?? 0);\n return [start, end];\n });\n\n const pageSizeSelectOpts = createMemo(() =>\n p.pageSizeOptions.map(opt => ({ label: `${opt} / page`, value: opt as number })),\n );\n\n return (\n <Show when={!shouldHide()}>\n <div\n class={cn(\n 'pag01 pag02',\n buildSizeClass(p.size),\n buildAlignClass(p.align),\n getColor(p.color),\n p.disabled && 'pag05',\n p.class?.root,\n )}\n >\n {/* Show total */}\n <Show when={p.showTotal}>\n <span class={cn('pag13', p.class?.total)}>{p.showTotal!(p.total ?? 0, range())}</span>\n </Show>\n\n {/* Prev button */}\n {(() => {\n const btn = (\n <button\n class={cn(\n 'pag06 pag08',\n p.class?.btn,\n p.class?.prev,\n current() <= 1 && 'pag07',\n current() <= 1 && p.class?.btnDisabled,\n )}\n disabled={p.disabled || current() <= 1}\n onClick={() => changePage(current() - 1)}\n title=\"Previous Page\"\n >\n <ChevronLeft size={16} />\n </button>\n );\n return p.itemRender ? p.itemRender(current() - 1, 'prev', btn) : btn;\n })()}\n\n {/* Page items */}\n <For each={pageItems()}>\n {item => {\n if (item === 'prev-ellipsis' || item === 'next-ellipsis') {\n return (\n <button\n class={cn('pag06 pag10', p.class?.btn, p.class?.ellipsis)}\n disabled={p.disabled}\n onClick={() => {\n const jump =\n item === 'prev-ellipsis'\n ? Math.max(1, current() - (p.showLessItems ? 3 : 5))\n : Math.min(totalPages(), current() + (p.showLessItems ? 3 : 5));\n changePage(jump);\n }}\n title={item === 'prev-ellipsis' ? 'Previous 5 pages' : 'Next 5 pages'}\n >\n •••\n </button>\n );\n }\n const pageBtn = (\n <button\n class={cn(\n 'pag06',\n item === current() && 'pag11',\n item === current() && p.class?.itemActive,\n p.class?.btn,\n )}\n disabled={p.disabled}\n onClick={() => changePage(item)}\n title={p.showTitle ? `Page ${item}` : undefined}\n >\n {item}\n </button>\n );\n return p.itemRender ? p.itemRender(item, 'page', pageBtn) : pageBtn;\n }}\n </For>\n\n {/* Next button */}\n {(() => {\n const btn = (\n <button\n class={cn(\n 'pag06 pag09',\n current() >= totalPages() && 'pag07',\n current() >= totalPages() && p.class?.btnDisabled,\n p.class?.btn,\n p.class?.next,\n )}\n disabled={p.disabled || current() >= totalPages()}\n onClick={() => changePage(current() + 1)}\n title=\"Next Page\"\n >\n <ChevronRight size={16} />\n </button>\n );\n return p.itemRender ? p.itemRender(current() + 1, 'next', btn) : btn;\n })()}\n\n {/* Size changer */}\n <Show when={showSizeChanger()}>\n <div class=\"w-fit\">\n <Select\n options={pageSizeSelectOpts()}\n value={pageSize()}\n onChange={val => changePageSize(val as number)}\n disabled={p.disabled}\n size={mapSizeToSelect(p.size)}\n color={p.color}\n placement=\"top\"\n class={{ root: p.class?.sizeChanger }}\n />\n </div>\n </Show>\n\n {/* Quick jumper */}\n <Show when={p.showQuickJumper}>\n <span\n class={cn(\n 'pag14',\n p.align === 'end' && 'order-first mr-auto',\n p.align === 'start' && 'ml-auto',\n p.class?.jumper,\n )}\n >\n <span class={cn('pag15', p.class?.jumperLabel)}>Go to</span>\n <input\n class={cn('pag16', p.class?.jumperInput)}\n type=\"number\"\n min={1}\n max={totalPages()}\n value={jumpValue()}\n disabled={p.disabled}\n onInput={e => setJumpValue(e.currentTarget.value)}\n onKeyDown={e => {\n if (e.key === 'Enter') {\n handleJump();\n e.currentTarget.blur();\n }\n }}\n />\n <Show\n when={typeof p.showQuickJumper === 'object' && p.showQuickJumper.goButton}\n fallback={null}\n >\n <span onClick={() => handleJump()} class=\"cursor-pointer\">\n {(p.showQuickJumper as { goButton: any }).goButton}\n </span>\n </Show>\n </span>\n </Show>\n </div>\n </Show>\n );\n};\n\n// ─── Mode: simple ────────────────────────────────────────────────────────────\n\nconst PaginationSimple: Component<PaginationSimpleProps> = props => {\n const p = mergeProps(DEFAULT_PROPS, props);\n\n const [internalCurrent, setInternalCurrent] = createSignal(p.defaultCurrent);\n const [internalPageSize, setInternalPageSize] = createSignal(p.defaultPageSize);\n\n const current = createMemo(() => p.current ?? internalCurrent());\n const pageSize = createMemo(() => p.pageSize ?? internalPageSize());\n const totalPages = createMemo(() => Math.max(1, Math.ceil((p.total ?? 0) / pageSize())));\n const shouldHide = createMemo(() => p.hideOnSinglePage && totalPages() <= 1);\n\n const changePage = (page: number) => {\n const clamped = Math.min(Math.max(1, page), totalPages());\n if (clamped === current()) return;\n setInternalCurrent(clamped);\n p.onChange?.(clamped, pageSize());\n };\n\n return (\n <Show when={!shouldHide()}>\n <div\n class={cn(\n 'pag01 pag03',\n buildSizeClass(p.size),\n buildAlignClass(p.align),\n getColor(p.color),\n p.disabled && 'pag05',\n p.class?.root,\n )}\n >\n <button\n class={cn(\n 'pag06 pag08',\n p.class?.btn,\n p.class?.prev,\n current() <= 1 && 'pag07',\n current() <= 1 && p.class?.btnDisabled,\n )}\n disabled={p.disabled || current() <= 1}\n onClick={() => changePage(current() - 1)}\n title=\"Previous\"\n >\n <ChevronLeft size={16} />\n </button>\n <span class={cn('pag17', p.class?.simplePager)}>\n <input\n class={cn('pag18', p.class?.simpleInput)}\n type=\"number\"\n min={1}\n max={totalPages()}\n value={current()}\n disabled={p.disabled}\n onFocus={e => e.currentTarget.select()}\n onKeyDown={e => {\n if (e.key === 'Enter') {\n const v = parseInt((e.target as HTMLInputElement).value, 10);\n if (!isNaN(v)) changePage(v);\n }\n }}\n onBlur={e => {\n const v = parseInt(e.currentTarget.value, 10);\n if (!isNaN(v)) changePage(v);\n }}\n />\n <span class={cn('pag19', p.class?.slash)}>/</span>\n <span>{totalPages()}</span>\n </span>\n <button\n class={cn(\n 'pag06 pag09',\n p.class?.btn,\n p.class?.next,\n current() >= totalPages() && 'pag07',\n current() >= totalPages() && p.class?.btnDisabled,\n )}\n disabled={p.disabled || current() >= totalPages()}\n onClick={() => changePage(current() + 1)}\n title=\"Next\"\n >\n <ChevronRight size={16} />\n </button>\n </div>\n </Show>\n );\n};\n\n// ─── Mode: fully ─────────────────────────────────────────────────────────────\n\nconst PaginationFully: Component<PaginationFullyProps> = props => {\n const p = mergeProps(DEFAULT_PROPS, props);\n\n const [internalCurrent, setInternalCurrent] = createSignal(p.defaultCurrent);\n const [internalPageSize, setInternalPageSize] = createSignal(p.defaultPageSize);\n const [modernPageInput, setModernPageInput] = createSignal(String(p.defaultCurrent ?? 1));\n\n const current = createMemo(() => p.current ?? internalCurrent());\n const pageSize = createMemo(() => p.pageSize ?? internalPageSize());\n const totalPages = createMemo(() => Math.max(1, Math.ceil((p.total ?? 0) / pageSize())));\n const shouldHide = createMemo(() => p.hideOnSinglePage && totalPages() <= 1);\n\n createEffect(function syncPageInput() {\n setModernPageInput(String(current()));\n });\n\n const changePage = (page: number) => {\n const clamped = Math.min(Math.max(1, page), totalPages());\n if (clamped === current()) return;\n setInternalCurrent(clamped);\n p.onChange?.(clamped, pageSize());\n };\n\n const changePageSize = (size: number) => {\n const newTotal = Math.max(1, Math.ceil((p.total ?? 0) / size));\n const newCurrent = Math.min(current(), newTotal);\n setInternalPageSize(size);\n setInternalCurrent(newCurrent);\n p.onShowSizeChange?.(newCurrent, size);\n p.onChange?.(newCurrent, size);\n };\n\n const range = createMemo<[number, number]>(() => {\n const start = (current() - 1) * pageSize() + 1;\n const end = Math.min(current() * pageSize(), p.total ?? 0);\n return [start, end];\n });\n\n const commitPageInput = (value: string) => {\n const num = parseInt(value, 10);\n const clamped = !isNaN(num) ? Math.min(Math.max(1, num), totalPages()) : current();\n changePage(clamped);\n setModernPageInput(String(clamped));\n };\n\n return (\n <Show when={!shouldHide()}>\n <div\n class={cn(\n 'pag01 pag04',\n buildSizeClass(p.size),\n getColor(p.color),\n p.disabled && 'pag05',\n p.class?.root,\n )}\n >\n {/* Left: items-per-page dropdown + range */}\n <div class={cn('pag20', p.class?.fullyLeft)}>\n <span class={cn('pag22', p.class?.fullyLabel)}>Items per page:</span>\n <select\n class={cn('pag12', p.class?.sizeChanger)}\n disabled={p.disabled}\n value={pageSize()}\n onChange={e => changePageSize(Number(e.currentTarget.value))}\n >\n <For each={p.pageSizeOptions}>{opt => <option value={opt}>{opt}</option>}</For>\n </select>\n <div class=\"bg-c3/50 w-px self-stretch\"></div>\n <span class={cn('pag23', p.class?.fullyRange)}>\n {range()[0]}–{range()[1]} of {p.total ?? 0} items\n </span>\n </div>\n\n {/* Right: page input + prev/next buttons */}\n <div class={cn('pag21', p.class?.fullyRight)}>\n <input\n class={cn('pag25', p.class?.fullyPageInput)}\n type=\"number\"\n min={1}\n max={totalPages()}\n value={modernPageInput()}\n disabled={p.disabled}\n style={{ width: `${Math.max(2, modernPageInput().length) + 0.5}ch` }}\n onFocus={e => e.currentTarget.select()}\n onInput={e => setModernPageInput(e.currentTarget.value)}\n onBlur={e => commitPageInput(e.currentTarget.value)}\n onKeyDown={e => {\n if (e.key === 'Enter') {\n commitPageInput((e.currentTarget as HTMLInputElement).value);\n e.currentTarget.blur();\n }\n }}\n />\n <span class={cn('pag24', p.class?.fullyPages)}>of {totalPages()} pages</span>\n <button\n class={cn(\n 'pag06',\n p.class?.btn,\n p.class?.prev,\n current() <= 1 && 'pag07',\n current() <= 1 && p.class?.btnDisabled,\n )}\n disabled={p.disabled || current() <= 1}\n onClick={() => changePage(current() - 1)}\n title=\"Previous Page\"\n >\n <ChevronLeft size={16} />\n </button>\n <button\n class={cn(\n 'pag06',\n p.class?.btn,\n p.class?.next,\n current() >= totalPages() && 'pag07',\n current() >= totalPages() && p.class?.btnDisabled,\n )}\n disabled={p.disabled || current() >= totalPages()}\n onClick={() => changePage(current() + 1)}\n title=\"Next Page\"\n >\n <ChevronRight size={16} />\n </button>\n </div>\n </div>\n </Show>\n );\n};\n\n// ─── Public component ────────────────────────────────────────────────────────\n\nexport const Pagination: Component<PaginationProps> = p => {\n return (\n <Switch fallback={<PaginationDefault {...(p as PaginationDefaultProps)} />}>\n <Match when={p.mode === 'simple'}>\n <PaginationSimple {...(p as PaginationSimpleProps)} />\n </Match>\n <Match when={p.mode === 'fully'}>\n <PaginationFully {...(p as PaginationFullyProps)} />\n </Match>\n </Switch>\n );\n};\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress-bar.js","names":["render","createSignal","onCleanup","cn","getColor","ProgressBarOptions","BarProps","Required","instanceId","onDone","ProgressBarInner","props","progress","setProgress","opacity","setOpacity","rafId","startTime","INITIAL_SPEED","DECAY","MAX_PROGRESS","animate","timestamp","elapsed","speed","Math","pow","delta","prev","next","requestAnimationFrame","completeAndFade","cancelAnimationFrame","setTimeout","fadeOutDuration","completionHandlers","set","cancelProgressAnimation","delete","isRtl","direction","barStyle","width","height","transition","rounded","undefined","containerStyle","zIndex","position","const","left","right","_el$","_tmpl$","_el$2","firstChild","_$insert","_c$","_$memo","shimmer","_el$3","_tmpl$2","_$effect","_$className","_p$","_v$","_v$2","color","_v$3","e","_$style","t","a","Map","activeDisposers","containerEl","HTMLDivElement","ensureContainer","document","createElement","id","body","appendChild","disposeAll","dispose","values","clear","ProgressBarAPI","start","options","dismiss","DEFAULT_OPTIONS","progressBar","random","toString","slice","mergedOptions","slot","_$createComponent","_$mergeProps","remove","size","ids","keys","handler","get"],"sources":["../../../src/components/progress-bar/progress-bar.tsx"],"sourcesContent":["import { render } from 'solid-js/web';\nimport { createSignal, onCleanup } from 'solid-js';\nimport { cn } from '@/utils/cn';\nimport { getColor } from '@/utils/helper';\nimport type { ProgressBarOptions } from './progress-bar.types';\n\n// ─── Internal Bar Component ───────────────────────────────────────────────────\n\ninterface BarProps extends Required<ProgressBarOptions> {\n instanceId: string;\n onDone: () => void;\n}\n\nconst ProgressBarInner = (props: BarProps) => {\n const [progress, setProgress] = createSignal(0);\n const [opacity, setOpacity] = createSignal(1);\n\n let rafId: number;\n let startTime: number | null = null;\n\n // Tốc độ ban đầu (% mỗi giây), giảm dần theo hàm mũ\n const INITIAL_SPEED = 28;\n const DECAY = 0.88; // mỗi giây speed *= DECAY\n const MAX_PROGRESS = 99;\n\n const animate = (timestamp: number) => {\n if (startTime === null) startTime = timestamp;\n const elapsed = (timestamp - startTime) / 1000; // giây\n\n const speed = INITIAL_SPEED * Math.pow(DECAY, elapsed * 2.5);\n const delta = speed / 60; // per frame (60fps)\n\n setProgress(prev => {\n const next = prev + delta;\n return next >= MAX_PROGRESS ? MAX_PROGRESS : next;\n });\n\n if (progress() < MAX_PROGRESS) {\n rafId = requestAnimationFrame(animate);\n }\n };\n\n rafId = requestAnimationFrame(animate);\n\n // dismiss() gọi hàm này — jump lên 100% rồi fade out\n const completeAndFade = () => {\n cancelAnimationFrame(rafId);\n setProgress(100);\n setTimeout(() => {\n setOpacity(0);\n setTimeout(() => props.onDone(), props.fadeOutDuration);\n }, 80);\n };\n\n completionHandlers.set(props.instanceId, completeAndFade);\n\n onCleanup(function cancelProgressAnimation() {\n cancelAnimationFrame(rafId);\n completionHandlers.delete(props.instanceId);\n });\n\n const isRtl = () => props.direction === 'rightToLeft';\n\n const barStyle = () => ({\n width: `${progress()}%`,\n height: `${props.height}px`,\n transition: 'width 0.06s linear',\n 'border-radius': props.rounded\n ? isRtl()\n ? '9999px 0 0 9999px'\n : '0 9999px 9999px 0'\n : '0',\n 'margin-left': isRtl() ? 'auto' : undefined,\n });\n\n const containerStyle = () => ({\n opacity: opacity(),\n transition: `opacity ${props.fadeOutDuration}ms ease`,\n 'z-index': props.zIndex,\n position: 'fixed' as const,\n [props.position === 'bottom' ? 'bottom' : 'top']: '0',\n left: '0',\n right: '0',\n 'pointer-events': 'none' as const,\n });\n\n return (\n <div style={containerStyle()}>\n <div\n class={cn('relative overflow-hidden', getColor(props.color), 'bg-(--color)')}\n style={barStyle()}\n >\n {props.shimmer && (\n <div\n class={cn(\n 'absolute inset-0',\n 'animate-[shimmer_1.2s_ease-in-out_infinite]',\n 'bg-linear-to-r from-transparent via-white/40 to-transparent',\n )}\n />\n )}\n </div>\n </div>\n );\n};\n\n// ─── Global state ─────────────────────────────────────────────────────────────\n\nconst completionHandlers = new Map<string, () => void>();\n\n// Track tất cả instances đang tồn tại (có thể nhiều hơn 1 trong khoảng thời gian ngắn)\nconst activeDisposers = new Map<string, () => void>();\n\nlet containerEl: HTMLDivElement | null = null;\n\nconst ensureContainer = () => {\n if (containerEl) return;\n containerEl = document.createElement('div');\n containerEl.id = 'sui-progress-bar-container';\n document.body.appendChild(containerEl);\n};\n\n// Xóa tất cả instances ngay lập tức (không animate)\nconst disposeAll = () => {\n for (const dispose of activeDisposers.values()) {\n dispose();\n }\n activeDisposers.clear();\n};\n\n// ─── Public API ───────────────────────────────────────────────────────────────\n\nexport interface ProgressBarAPI {\n start: (options?: ProgressBarOptions) => void;\n dismiss: () => void;\n}\n\nconst DEFAULT_OPTIONS: Required<ProgressBarOptions> = {\n color: 'primary',\n height: 3,\n shimmer: true,\n rounded: true,\n zIndex: 9999,\n fadeOutDuration: 300,\n position: 'top',\n direction: 'leftToRight',\n};\n\nconst progressBar: ProgressBarAPI = {\n start(options?: ProgressBarOptions) {\n ensureContainer();\n\n // Xóa tất cả instances cũ ngay lập tức\n disposeAll();\n\n const instanceId = Math.random().toString(36).slice(2);\n\n const mergedOptions: Required<ProgressBarOptions> = {\n ...DEFAULT_OPTIONS,\n ...options,\n };\n\n const slot = document.createElement('div');\n containerEl!.appendChild(slot);\n\n const dispose = render(\n () => (\n <ProgressBarInner\n {...mergedOptions}\n instanceId={instanceId}\n onDone={() => {\n dispose();\n slot.remove();\n activeDisposers.delete(instanceId);\n }}\n />\n ),\n slot,\n );\n\n activeDisposers.set(instanceId, () => {\n dispose();\n slot.remove();\n });\n },\n\n dismiss() {\n if (activeDisposers.size === 0) return;\n\n // Lấy tất cả instanceIds hiện tại\n const ids = [...activeDisposers.keys()];\n\n for (const id of ids) {\n const handler = completionHandlers.get(id);\n if (handler) {\n // Animate lên 100% rồi fade out\n activeDisposers.delete(id);\n handler();\n } else {\n // Fallback: xóa ngay\n const dispose = activeDisposers.get(id);\n activeDisposers.delete(id);\n dispose?.();\n }\n }\n },\n};\n\nexport { progressBar };\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{cn as e}from"../../utils/cn.js";import{getColor as t}from"../../utils/helper.js";import{loader_default as n}from"../../node_modules/.pnpm/lucide-solid@1.8.0_solid-js@1.9.11/node_modules/lucide-solid/dist/source/icons/loader.js";import{refresh_cw_default as r}from"../../node_modules/.pnpm/lucide-solid@1.8.0_solid-js@1.9.11/node_modules/lucide-solid/dist/source/icons/refresh-cw.js";import{circle_check_big_default as i}from"../../node_modules/.pnpm/lucide-solid@1.8.0_solid-js@1.9.11/node_modules/lucide-solid/dist/source/icons/circle-check-big.js";import{addEventListener as a,className as o,createComponent as s,delegateEvents as c,effect as l,insert as u,setAttribute as d,setStyleProperty as f,template as p,use as m}from"solid-js/web";import{Show as h,createEffect as g,createUniqueId as _,mergeProps as v}from"solid-js";import y from"qrcode";var b=p(`<div>`),x=p(`<div><button aria-label="Refresh QR code"></button><span>`),S=p(`<div><canvas>`),C={size:160,color:`#000000`,bgColor:`#ffffff`,errorLevel:`M`,status:`active`,expiredText:`QR code expired`,accentColor:`primary`};async function w(e,t,n){await y.toCanvas(e,t||` `,{width:n.size,margin:2,color:{dark:n.color,light:n.bgColor},errorCorrectionLevel:n.errorLevel})}function T(e,t,n){let r=e.getContext(`2d`);if(!r)return;let i=new Image;i.crossOrigin=`anonymous`,i.onload=function(){let e=t.width??n*.2,a=t.height??e,o=t.padding??4,s=t.borderRadius??4,c=t.background??`#ffffff`,l=e+o*2,u=a+o*2,d=(n-l)/2,f=(n-u)/2;r.beginPath(),r.moveTo(d+s,f),r.lineTo(d+l-s,f),r.quadraticCurveTo(d+l,f,d+l,f+s),r.lineTo(d+l,f+u-s),r.quadraticCurveTo(d+l,f+u,d+l-s,f+u),r.lineTo(d+s,f+u),r.quadraticCurveTo(d,f+u,d,f+u-s),r.lineTo(d,f+s),r.quadraticCurveTo(d,f,d+s,f),r.closePath(),r.fillStyle=c,r.fill(),r.drawImage(i,d+o,f+o,e,a)},i.src=t.src}var E=c=>{let p=v(C,c),y=_(),E;return g(function(){if(!E)return;let e=E,t=p.value,n=p.size,r=p.color,i=p.bgColor,a=p.errorLevel,o=p.logo;w(e,t,{size:n,color:r,bgColor:i,errorLevel:a}).then(function(){o&&T(e,o,n)})}),(()=>{var c=S(),g=c.firstChild;d(c,`id`,y);var _=E;return typeof _==`function`?m(_,g):E=g,u(c,s(h,{get when(){return p.status===`loading`},get children(){var r=b();return u(r,s(n,{get class(){return e(`qr04 animate-spin`,p.class?.overlayIcon)},get size(){return p.size*.22}})),l(()=>o(r,e(`qr03`,t(p.accentColor),p.class?.overlay))),r}}),null),u(c,s(h,{get when(){return p.status===`expired`},get children(){var n=x(),i=n.firstChild,c=i.nextSibling;return a(i,`click`,p.onRefresh,!0),u(i,s(r,{get size(){return p.size*.22}})),u(c,()=>p.expiredText),l(r=>{var a=e(`qr03 qr05`,t(p.accentColor),p.class?.overlay),s=e(`qr06`,p.class?.overlayIcon),l=e(`qr07`,p.class?.overlayText);return a!==r.e&&o(n,r.e=a),s!==r.t&&o(i,r.t=s),l!==r.a&&o(c,r.a=l),r},{e:void 0,t:void 0,a:void 0}),n}}),null),u(c,s(h,{get when(){return p.status===`scanned`},get children(){var n=b();return u(n,s(i,{get class(){return e(`qr04`,p.class?.overlayIcon)},get size(){return p.size*.22}})),l(()=>o(n,e(`qr03`,t(`success`),p.class?.overlay))),n}}),null),l(t=>{var n=e(`qr01`,p.class?.root),r=`${p.size}px`,i=`${p.size}px`,a=e(`qr02`,p.class?.canvas),s=p.size,l=p.size,u=`QR code for: ${p.value}`;return n!==t.e&&o(c,t.e=n),r!==t.t&&f(c,`width`,t.t=r),i!==t.a&&f(c,`height`,t.a=i),a!==t.o&&o(g,t.o=a),s!==t.i&&d(g,`width`,t.i=s),l!==t.n&&d(g,`height`,t.n=l),u!==t.s&&d(g,`aria-label`,t.s=u),t},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),c})()};c([`click`]);export{E as QrCode};
2
+ //# sourceMappingURL=qr-code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qr-code.js","names":["cn","getColor","QRCode","RefreshCw","CheckCircle","Loader","Component","createEffect","createUniqueId","mergeProps","onCleanup","Show","QrCodeProps","DEFAULT_PROPS","size","color","bgColor","errorLevel","const","status","expiredText","accentColor","drawQr","canvas","HTMLCanvasElement","value","opts","Promise","toCanvas","width","margin","dark","light","errorCorrectionLevel","drawLogo","logo","NonNullable","ctx","getContext","img","Image","crossOrigin","onload","onLogoLoad","logoW","logoH","height","pad","padding","radius","borderRadius","bg","background","bgW","bgH","x","y","beginPath","moveTo","lineTo","quadraticCurveTo","closePath","fillStyle","fill","drawImage","src","QrCode","props","p","id","canvasRef","renderQrCode","then","onQrDrawn","_el$","_tmpl$3","_el$2","firstChild","_$setAttribute","_ref$","_$use","_$insert","_$createComponent","when","children","_el$3","_tmpl$","class","overlayIcon","_$effect","_$className","overlay","_el$4","_tmpl$2","_el$5","_el$6","nextSibling","_$addEventListener","onRefresh","_p$","_v$","_v$2","_v$3","overlayText","e","t","a","undefined","_el$7","_v$4","root","_v$5","_v$6","_v$7","_v$8","_v$9","_v$0","_$setStyleProperty","o","i","n","s","_$delegateEvents"],"sources":["../../../src/components/qr-code/qr-code.tsx"],"sourcesContent":["import { cn } from '@utils/cn';\nimport { getColor } from '@utils/helper';\nimport QRCode from 'qrcode';\nimport RefreshCw from 'lucide-solid/icons/refresh-cw';\nimport CheckCircle from 'lucide-solid/icons/check-circle';\nimport Loader from 'lucide-solid/icons/loader';\nimport { Component, createEffect, createUniqueId, mergeProps, onCleanup, Show } from 'solid-js';\nimport type { QrCodeProps } from './qr-code.types';\n\nconst DEFAULT_PROPS = {\n size: 160,\n color: '#000000',\n bgColor: '#ffffff',\n errorLevel: 'M' as const,\n status: 'active' as const,\n expiredText: 'QR code expired',\n accentColor: 'primary' as const,\n};\n\nasync function drawQr(\n canvas: HTMLCanvasElement,\n value: string,\n opts: {\n size: number;\n color: string;\n bgColor: string;\n errorLevel: 'L' | 'M' | 'Q' | 'H';\n },\n): Promise<void> {\n await QRCode.toCanvas(canvas, value || ' ', {\n width: opts.size,\n margin: 2,\n color: {\n dark: opts.color,\n light: opts.bgColor,\n },\n errorCorrectionLevel: opts.errorLevel,\n });\n}\n\nfunction drawLogo(\n canvas: HTMLCanvasElement,\n logo: NonNullable<QrCodeProps['logo']>,\n size: number,\n): void {\n const ctx = canvas.getContext('2d');\n if (!ctx) return;\n\n const img = new Image();\n img.crossOrigin = 'anonymous';\n img.onload = function onLogoLoad() {\n const logoW = logo.width ?? size * 0.2;\n const logoH = logo.height ?? logoW;\n const pad = logo.padding ?? 4;\n const radius = logo.borderRadius ?? 4;\n const bg = logo.background ?? '#ffffff';\n\n const bgW = logoW + pad * 2;\n const bgH = logoH + pad * 2;\n const x = (size - bgW) / 2;\n const y = (size - bgH) / 2;\n\n // Draw background rect with rounded corners\n ctx.beginPath();\n ctx.moveTo(x + radius, y);\n ctx.lineTo(x + bgW - radius, y);\n ctx.quadraticCurveTo(x + bgW, y, x + bgW, y + radius);\n ctx.lineTo(x + bgW, y + bgH - radius);\n ctx.quadraticCurveTo(x + bgW, y + bgH, x + bgW - radius, y + bgH);\n ctx.lineTo(x + radius, y + bgH);\n ctx.quadraticCurveTo(x, y + bgH, x, y + bgH - radius);\n ctx.lineTo(x, y + radius);\n ctx.quadraticCurveTo(x, y, x + radius, y);\n ctx.closePath();\n ctx.fillStyle = bg;\n ctx.fill();\n\n // Draw logo image centered inside background\n ctx.drawImage(img, x + pad, y + pad, logoW, logoH);\n };\n img.src = logo.src;\n}\n\nexport const QrCode: Component<QrCodeProps> = props => {\n const p = mergeProps(DEFAULT_PROPS, props);\n const id = createUniqueId();\n let canvasRef: HTMLCanvasElement | undefined;\n\n createEffect(function renderQrCode() {\n if (!canvasRef) return;\n\n // Snapshot all reactive values synchronously — reads inside .then() would\n // occur outside the reactive computation and throw \"Effects is null\".\n const canvas = canvasRef;\n const value = p.value;\n const size = p.size;\n const color = p.color;\n const bgColor = p.bgColor;\n const errorLevel = p.errorLevel;\n const logo = p.logo;\n\n drawQr(canvas, value, { size, color, bgColor, errorLevel }).then(function onQrDrawn() {\n if (logo) {\n drawLogo(canvas, logo, size);\n }\n });\n });\n\n return (\n <div\n id={id}\n class={cn('qr01', p.class?.root)}\n style={{ width: `${p.size}px`, height: `${p.size}px` }}\n >\n {/* The QR canvas */}\n <canvas\n ref={canvasRef}\n class={cn('qr02', p.class?.canvas)}\n width={p.size}\n height={p.size}\n aria-label={`QR code for: ${p.value}`}\n />\n\n {/* Loading overlay */}\n <Show when={p.status === 'loading'}>\n <div class={cn('qr03', getColor(p.accentColor), p.class?.overlay)}>\n <Loader\n class={cn('qr04 animate-spin', p.class?.overlayIcon)}\n size={p.size * 0.22}\n />\n </div>\n </Show>\n\n {/* Expired overlay */}\n <Show when={p.status === 'expired'}>\n <div class={cn('qr03 qr05', getColor(p.accentColor), p.class?.overlay)}>\n <button\n class={cn('qr06', p.class?.overlayIcon)}\n onClick={p.onRefresh}\n aria-label=\"Refresh QR code\"\n >\n <RefreshCw size={p.size * 0.22} />\n </button>\n <span class={cn('qr07', p.class?.overlayText)}>{p.expiredText}</span>\n </div>\n </Show>\n\n {/* Scanned overlay */}\n <Show when={p.status === 'scanned'}>\n <div class={cn('qr03', getColor('success'), p.class?.overlay)}>\n <CheckCircle\n class={cn('qr04', p.class?.overlayIcon)}\n size={p.size * 0.22}\n />\n </div>\n </Show>\n </div>\n );\n};\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rating.js","names":["cn","Component","createMemo","createSignal","For","mergeProps","on","createEffect","splitProps","RatingProps","sizeClass","Record","xs","sm","md","lg","xl","resolveColor","color","map","primary","secondary","accent","neutral","info","success","warning","error","DEFAULT_COLOR","star","heart","MASK_CLASS","DEFAULT_PROPS","Partial","count","mask","size","allowClear","half","readOnly","_uid","Rating","rawProps","local","rest","groupName","internal","setInternal","defaultValue","value","v","undefined","current","handleChange","val","onChange","colorCls","maskCls","gapCls","explicit","gap","steps","total","list","i","push","_el$","_tmpl$","_$spread","_$mergeProps","class","_$insert","_$createComponent","each","children","step","isHalfFirst","halfCls","_el$2","_$effect","_p$","_v$","_v$2","e","_$className","t","_$setAttribute","_el$3","_c$","_$memo","_el$4","_tmpl$2","addEventListener","checked","label","ariaLabel","_el$5","_tmpl$3"],"sources":["../../../src/components/rating/rating.tsx"],"sourcesContent":["import { cn } from '@/utils/cn';\nimport {\n Component,\n createMemo,\n createSignal,\n For,\n mergeProps,\n on,\n createEffect,\n splitProps,\n} from 'solid-js';\nimport type { RatingProps } from './rating.types';\n\nconst sizeClass: Record<string, string> = {\n xs: 'rating-xs',\n sm: 'rating-sm',\n md: 'rating-md',\n lg: 'rating-lg',\n xl: 'rating-xl',\n};\n\n/** Map BaseColorProps → Tailwind bg class; trả về nguyên string nếu không khớp */\nfunction resolveColor(color?: string): string {\n const map: Record<string, string> = {\n primary: 'bg-primary',\n secondary: 'bg-secondary',\n accent: 'bg-accent',\n neutral: 'bg-neutral',\n info: 'bg-info',\n success: 'bg-success',\n warning: 'bg-warning',\n error: 'bg-error',\n };\n if (!color) return '';\n return map[color] ?? color;\n}\n\n/** Màu mặc định theo mask khi user không truyền color */\nconst DEFAULT_COLOR: Record<string, string> = {\n star: 'bg-yellow-400',\n 'star-2': 'bg-orange-400',\n heart: 'bg-red-400',\n};\n\n/** Lookup đầy đủ để Tailwind CSS 4 scan được class strings */\nconst MASK_CLASS: Record<string, string> = {\n star: 'mask-star',\n 'star-2': 'mask-star-2',\n heart: 'mask-heart',\n};\n\nconst DEFAULT_PROPS: Partial<RatingProps> = {\n count: 5,\n mask: 'star-2',\n size: 'md',\n allowClear: true,\n half: false,\n readOnly: false,\n};\n\nlet _uid = 0;\n\nexport const Rating: Component<RatingProps> = rawProps => {\n const [local, rest] = splitProps(mergeProps(DEFAULT_PROPS, rawProps), [\n 'value',\n 'defaultValue',\n 'count',\n 'color',\n 'size',\n 'mask',\n 'readOnly',\n 'half',\n 'allowClear',\n 'gap',\n 'onChange',\n 'class',\n 'ariaLabel',\n ]);\n\n // unique name cho radio group\n const groupName = `rating-${++_uid}`;\n\n // Internal signal cho uncontrolled mode\n const [internal, setInternal] = createSignal<number>(local.defaultValue ?? 0);\n\n // Sync controlled value → internal\n createEffect(\n on(\n () => local.value,\n v => {\n if (v !== undefined) setInternal(v);\n },\n ),\n );\n\n const current = createMemo(() => (local.value !== undefined ? local.value : internal()));\n\n const handleChange = (val: number) => {\n if (local.readOnly) return;\n if (local.value === undefined) setInternal(val);\n local.onChange?.(val);\n };\n\n // Nếu user không truyền color, dùng màu mặc định theo mask\n const colorCls = createMemo(\n () => resolveColor(local.color) || DEFAULT_COLOR[local.mask ?? 'star-2'] || 'bg-orange-400',\n );\n const maskCls = createMemo(() => MASK_CLASS[local.mask ?? 'star-2'] ?? 'mask-star-2');\n\n // gap-1 mặc định bật cho heart, tắt cho star/star-2 (theo DaisyUI docs)\n const gapCls = createMemo(() => {\n const explicit = local.gap;\n if (explicit !== undefined) return explicit ? 'gap-1' : undefined;\n return local.mask === 'heart' ? 'gap-1' : undefined;\n });\n\n /** Danh sách các \"step\" value: nếu half thì 0.5, 1, 1.5 … sinon 1, 2, 3 … */\n const steps = createMemo<number[]>(() => {\n const total = local.count ?? 5;\n const list: number[] = [];\n if (local.half) {\n for (let i = 0.5; i <= total; i += 0.5) list.push(i);\n } else {\n for (let i = 1; i <= total; i++) list.push(i);\n }\n return list;\n });\n\n // ── READ-ONLY render ──────────────────────────────────────────────────────\n if (local.readOnly) {\n return (\n <div\n class={cn(\n 'rating',\n sizeClass[local.size!],\n local.half && 'rating-half',\n gapCls(),\n local.class,\n )}\n {...rest}\n >\n <For each={steps()}>\n {step => {\n const isHalfFirst = local.half && step % 1 !== 0;\n const halfCls = isHalfFirst ? 'mask-half-1' : local.half ? 'mask-half-2' : undefined;\n // Với half mode: ẩn nửa phải (mask-half-2) của sao tại vị trí current\n // vì DaisyUI render nó mờ 20% tạo ảo giác sao thừa\n if (local.half && !isHalfFirst && step - 0.5 === current()) return null;\n return (\n <div\n class={cn('mask', maskCls(), halfCls, colorCls())}\n aria-current={step === current() ? 'true' : undefined}\n />\n );\n }}\n </For>\n </div>\n );\n }\n\n // ── INTERACTIVE render ────────────────────────────────────────────────────\n return (\n <div\n class={cn(\n 'rating',\n sizeClass[local.size!],\n local.half && 'rating-half',\n gapCls(),\n local.class,\n )}\n {...rest}\n >\n {/* Input ẩn để reset */}\n {local.allowClear && (\n <input\n type=\"radio\"\n name={groupName}\n class=\"rating-hidden\"\n checked={current() === 0}\n aria-label=\"Reset rating\"\n onChange={() => handleChange(0)}\n />\n )}\n\n <For each={steps()}>\n {step => {\n const isHalfFirst = local.half && step % 1 !== 0;\n const halfCls = isHalfFirst ? 'mask-half-1' : local.half ? 'mask-half-2' : undefined;\n const label = local.ariaLabel\n ? `${local.ariaLabel} ${step}`\n : `${step} ${local.half ? 'stars' : 'star'}`;\n\n return (\n <input\n type=\"radio\"\n name={groupName}\n class={cn('mask', maskCls(), halfCls, colorCls())}\n checked={current() === step}\n aria-label={label}\n onChange={() => handleChange(step)}\n />\n );\n }}\n </For>\n </div>\n );\n};\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{cn as e}from"../../utils/cn.js";import{getColor as t}from"../../utils/helper.js";import{x_default as n}from"../../node_modules/.pnpm/lucide-solid@1.8.0_solid-js@1.9.11/node_modules/lucide-solid/dist/source/icons/x.js";import{Dropdown as r}from"../dropdown/dropdown.js";import{check_default as i}from"../../node_modules/.pnpm/lucide-solid@1.8.0_solid-js@1.9.11/node_modules/lucide-solid/dist/source/icons/check.js";import{chevron_down_default as a}from"../../node_modules/.pnpm/lucide-solid@1.8.0_solid-js@1.9.11/node_modules/lucide-solid/dist/source/icons/chevron-down.js";import{search_default as o}from"../../node_modules/.pnpm/lucide-solid@1.8.0_solid-js@1.9.11/node_modules/lucide-solid/dist/source/icons/search.js";import{className as s,createComponent as c,delegateEvents as l,effect as u,insert as d,memo as f,setAttribute as p,setStyleProperty as m,template as h,use as g}from"solid-js/web";import{cva as _}from"class-variance-authority";import{For as v,Show as y,createEffect as b,createMemo as x,createSignal as S,mergeProps as ee,on as C}from"solid-js";import{createVirtualizer as te}from"@tanstack/solid-virtual";var w=h(`<span class=sel19>`),T=h(`<span class=sel17><span class=sel18>`),E=h(`<span class=sel42><span class=sel43><span class=sel44>`),ne=h(`<span class=sel36>`),re=h(`<div><span class=sel35>`),ie=h(`<div class=sel39>`),ae=h(`<div style=overflow-y:auto><div style=width:100%;position:relative>`),oe=h(`<div style=position:absolute;top:0;left:0;width:100%>`),se=h(`<div class=sel37>`),ce=h(`<div class=sel30>`),le=h(`<div class="flex items-center px-3 shadow-2xs"><input class=sel29 autocomplete=off role=combobox aria-haspopup=listbox aria-autocomplete=list placeholder=Search...>`),ue=h(`<div role=listbox>`),de=h(`<span class=sel11>`),fe=h(`<span class="sel17 sel20">`),pe=h(`<span class=sel15>`),me=h(`<div class=sel16>`),he=h(`<span class=sel26>`),ge=h(`<span>`),_e=h(`<div role=combobox aria-haspopup=listbox><div class=sel12></div><div class=sel22>`),ve=h(`<span class=sel14>`),ye=h(`<div class=sel13>`),be=h(`<span class=sel25>`),xe=_(`sel01`,{variants:{variant:{outline:`sel07`,filled:`sel09`,borderless:`sel08`,underlined:`sel10`},size:{lg:`sel06`,md:`sel05`,sm:`sel04`},color:{neutral:`input-neutral`,primary:`input-primary`,secondary:`input-secondary`,accent:`input-accent`,info:`input-info`,success:`input-success`,warning:`input-warning`,error:`input-error`}}}),Se=e=>e.tagRender?e.tagRender({label:e.tag.label,value:e.tag.value,closable:e.tag.closable,onClose:()=>e.onRemove(e.tag.value,new MouseEvent(`click`))}):(()=>{var t=T(),r=t.firstChild;return d(r,()=>e.tag.label),d(t,c(y,{get when(){return e.tag.closable},get children(){var t=w();return t.$$click=t=>e.onRemove(e.tag.value,t),d(t,(()=>{var t=f(()=>!!e.removeIcon);return()=>t()?e.removeIcon:c(n,{class:`m-auto`,size:12,"stroke-width":3})})()),t}}),null),t})(),Ce=e=>(()=>{var t=E(),n=t.firstChild,r=n.firstChild;return d(t,()=>e.children,n),d(r,()=>e.content),t})();function we(e){return{label:e?.label??`label`,value:e?.value??`value`,options:e?.options??`options`,groupLabel:e?.groupLabel??`label`}}function D(e,t){return e?.[t]}function Te(e,t){if(!e)return[];let n=[];for(let r of e){let e=D(r,t.options);if(e&&Array.isArray(e)){let i=D(r,t.groupLabel);for(let r of e)n.push({label:D(r,t.label),value:D(r,t.value),disabled:r.disabled,class:r.class,title:r.title,groupLabel:i,raw:r})}else n.push({label:D(r,t.label),value:D(r,t.value),disabled:r.disabled,class:r.class,title:r.title,groupLabel:void 0,raw:r})}return n}function Ee(e){let t=[];for(let n of e){let e=t[t.length-1];e&&e.groupLabel===n.groupLabel?e.items.push(n):t.push({groupLabel:n.groupLabel,items:[n]})}return t}function O(e){if(e!=null)return typeof e==`object`&&`value`in e?e.value:e}function De(e){if(e==null)return[];if(Array.isArray(e))return e.map(e=>O(e)).filter(e=>e!==void 0);let t=O(e);return t===void 0?[]:[t]}var k=l=>{l=ee({color:`error`,size:`md`,variant:`outline`,disabled:!1,loading:!1,placement:`bottom`,listHeight:256,virtual:!1,defaultActiveFirstOption:!1,notFoundContent:`Not Found`,labelInValue:!1,placeholder:`Select...`,blockScroll:!0},l);let h=x(()=>we(l.fieldNames)),_=x(()=>l.mode===`multiple`),w=x(()=>_()&&!!l.allowCustomValue),T=x(()=>typeof l.showSearch==`boolean`?l.showSearch:typeof l.showSearch==`object`?!0:_()),E=x(()=>{let e={autoClearSearchValue:!0,filterOption:!0,optionFilterProp:`value`};return typeof l.showSearch==`object`?{...e,...l.showSearch}:e}),[O,k]=S(De(l.defaultValue)),[Oe,ke]=S(l.defaultOpen??!1),[Ae,A]=S(``),[j,M]=S(-1),N=x(()=>l.value===void 0?O():De(l.value)),P=x(()=>l.open===void 0?Oe():l.open),je=x(()=>{let e=E();if(e.searchValue!==void 0)return e.searchValue}),F=x(()=>je()??Ae()),Me,Ne,I,[L,R]=S(null),Pe=x(()=>Te(l.options,h())),z=x(()=>{let e=Pe();if(!w())return e;let t=new Set(e.map(e=>e.value)),n=[];for(let e of N())t.has(e)||n.push({label:String(e),value:e,disabled:!1,class:void 0,title:void 0,groupLabel:void 0,raw:{label:String(e),value:e}});return[...e,...n]}),B=x(()=>{let e=new Map;for(let t of z())e.set(t.value,t);return e}),V=x(()=>{let e=z(),t=F();if(!t||!T())return e;let n=E();if(n.filterOption===!1)return e;let r;if(typeof n.filterOption==`function`)r=e.filter(e=>n.filterOption(t,e.raw));else{let i=Array.isArray(n.optionFilterProp)?n.optionFilterProp:[n.optionFilterProp??`value`],a=t.toLowerCase();r=e.filter(e=>i.some(t=>{let n=D(e.raw,t)??(t===`label`?e.label:e.value);return String(n??``).toLowerCase().includes(a)}))}if(n.filterSort){let e=n.filterSort;r.sort((n,r)=>e(n.raw,r.raw,{searchValue:t}))}return r}),Fe=x(()=>F()&&T()?[{groupLabel:void 0,items:V()}]:Ee(z())),H=x(()=>{let e=Fe(),t=[],n=0;for(let r of e){r.groupLabel!==void 0&&t.push({type:`group`,groupLabel:r.groupLabel});for(let e of r.items)t.push({type:`option`,option:e,flatIdx:n}),n++}return t}),U=te({get count(){return H().length},getScrollElement:()=>L(),estimateSize:e=>H()[e]?.type===`group`?28:32,overscan:2}),Ie=x(()=>new Set(N())),W=e=>Ie().has(e),G=x(()=>{if(!_())return!1;let e=l.maxCount;return e===void 0?!1:N().length>=e}),K=0,q=()=>{l.disabled||(K=performance.now()+150,l.open===void 0&&ke(!0),l.onOpenChange?.(!0))},J=()=>{l.open===void 0&&ke(!1),R(null),l.onOpenChange?.(!1),T()&&(A(``),E().onSearch?.(``))},Le=()=>{P()?J():q()},Y=e=>{let t=B();if(_())return l.labelInValue?e.map(e=>({value:e,label:t.get(e)?.label??String(e)})):e;let n=e[0];if(n!==void 0)return l.labelInValue?{value:n,label:t.get(n)?.label??String(n)}:n},X=e=>{let t=B();if(_())return e.map(e=>t.get(e)?.raw??{value:e,label:String(e)});let n=e[0];return t.get(n)?.raw??{value:n,label:String(n)}},Z=e=>{let t=B().get(e),n=t?.raw??{value:e,label:String(e)};if(_()){let r=N(),i;if(r.includes(e)){i=r.filter(t=>t!==e);let n=l.labelInValue?{value:e,label:t?.label??String(e)}:e;l.onDeselect?.(n)}else{if(G())return;i=[...r,e];let a=l.labelInValue?{value:e,label:t?.label??String(e)}:e;l.onSelect?.(a,n)}l.value===void 0&&k(i),l.onChange?.(Y(i),X(i)),E().autoClearSearchValue!==!1&&(A(``),E().onSearch?.(``))}else{let r=[e],i=l.labelInValue?{value:e,label:t?.label??String(e)}:e;l.onSelect?.(i,n),l.value===void 0&&k(r),l.onChange?.(Y(r),X(r)),J(),A(``)}},Re=e=>{e.stopPropagation(),e.preventDefault(),l.value===void 0&&k([]),l.onClear?.(),l.onChange?.(_()?[]:void 0,_()?[]:void 0),A(``)},Q=(e,t)=>{t?.stopPropagation(),t?.preventDefault();let n=N().filter(t=>t!==e),r=B().get(e),i=l.labelInValue?{value:e,label:r?.label??String(e)}:e;l.onDeselect?.(i),l.value===void 0&&k(n),l.onChange?.(Y(n),X(n))},ze=e=>{if(l.disabled)return;l.onInputKeyDown?.(e);let t=V();switch(e.key){case`ArrowDown`:{if(e.preventDefault(),!P()){q();return}let n=j()+1;for(;n<t.length;){let e=t[n];if(!e.disabled&&(!G()||W(e.value)))break;n++}if(n<t.length){M(n);let e=l.labelInValue?{value:t[n].value,label:t[n].label}:t[n].value;l.onActive?.(e),Be(n)}break}case`ArrowUp`:{if(e.preventDefault(),!P()){q();return}let n=j()===-1?t.length-1:j()-1;for(;n>=0;){let e=t[n];if(!e.disabled&&(!G()||W(e.value)))break;n--}if(n>=0){M(n);let e=l.labelInValue?{value:t[n].value,label:t[n].label}:t[n].value;l.onActive?.(e),Be(n)}break}case`Enter`:case` `:{if(e.preventDefault(),!P()){q();return}if(e.key===` `&&T())break;let n=j();if(n>=0&&n<t.length){let e=t[n];e.disabled||Z(e.value)}else w()&&F().trim()&&Z(F().trim());break}case`Escape`:e.preventDefault(),J(),I?.focus();break;case`Backspace`:if(_()&&F()===``){let e=N();e.length>0&&Q(e[e.length-1])}break;case`Tab`:J();break}},Be=e=>{if(l.virtual){let t=H().findIndex(t=>t.type===`option`&&t.flatIdx===e);t>=0&&U.scrollToIndex(t,{align:`auto`});return}let t=L();if(!t)return;let n=t.querySelectorAll(`[data-option-index]`)[e];n&&n.scrollIntoView({block:`nearest`})},Ve=()=>{let e=N();if(e.length===0)return;let t=e[0],n=V().findIndex(e=>e.value===t);if(!(n<0))if(l.virtual){let e=H().findIndex(e=>e.type===`option`&&e.flatIdx===n);e>=0&&U.scrollToIndex(e,{align:`start`})}else{let e=L();if(!e)return;let t=e.querySelector(`[data-option-index="${n}"]`);t&&t.scrollIntoView({block:`nearest`})}},He=e=>{let t=e.target.value;je()===void 0&&A(t),E().onSearch?.(t),P()||q()},Ue=e=>{if(e.target===I){let e=window.scrollX,t=window.scrollY,n=()=>requestAnimationFrame(()=>requestAnimationFrame(()=>window.scrollTo(e,t)));window.addEventListener(`scroll`,n,{once:!0,passive:!1}),setTimeout(()=>window.removeEventListener(`scroll`,n),200)}l.onFocus?.(e)},We=e=>{let t=e.relatedTarget;t&&Ne?.contains(t)||t?.closest(`.nd-content`)||performance.now()<K||(l.onBlur?.(e),J())},Ge=x(()=>{if(_())return null;let e=N();if(e.length===0)return null;let t=e[0],n=B().get(t);return l.labelRender?l.labelRender({value:t,label:n?.label??String(t),key:String(t)}):n?.label??String(t)}),$=x(()=>{if(!_())return{visible:[],omitted:[]};let e=N(),t=B(),n=l.maxTagCount,r=l.maxTagTextLength,i=e.map(e=>{let n=t.get(e)?.label??String(e);return r&&typeof n==`string`&&n.length>r&&(n=n.slice(0,r)+`...`),{value:e,label:n,closable:!l.disabled}});return typeof n==`number`&&i.length>n?{visible:i.slice(0,n),omitted:i.slice(n)}:{visible:i,omitted:[]}}),Ke=x(()=>!l.allowClear||l.disabled?!1:N().length>0),qe=e=>{l.disabled||l.loading||(e.preventDefault(),Le())},Je=e=>{let t=e;for(;t;){let e=t.dataset?.optionIndex;if(e!==void 0)return Number(e);if(t.classList?.contains(`sel30`))return null;t=t.parentElement}return null},Ye=e=>{let t=Je(e.target);if(t===null)return;let n=V()[t];!n||n.disabled||G()&&!W(n.value)||(_()&&(K=performance.now()+150),Z(n.value))},Xe=(t,n)=>{let r=()=>W(t.value),a=()=>j()===n,o=()=>t.disabled||G()&&!r(),m={label:t.label,value:t.value,disabled:t.disabled,key:t.value,groupLabel:t.groupLabel},h=l.optionRender?l.optionRender(m,{index:n}):t.label;return(()=>{var m=re(),g=m.firstChild;return p(m,`data-option-index`,n),d(g,h),d(m,c(y,{get when(){return r()},get children(){var e=ne();return d(e,(()=>{var e=f(()=>!!l.menuItemSelectedIcon);return()=>e()?l.menuItemSelectedIcon:c(i,{size:14,color:`var(--color)`,"stroke-width":3})})()),e}}),null),u(n=>{var i=e(`sel31`,r()&&`sel33`,a()&&`sel32`,o()&&`sel34`,t.groupLabel!==void 0&&`sel38`,t.class),c=t.title;return i!==n.e&&s(m,n.e=i),c!==n.t&&p(m,`title`,n.t=c),n},{e:void 0,t:void 0}),m})()},Ze=()=>{let n=H();return n.length===0?(()=>{var e=ie();return d(e,()=>l.notFoundContent),e})():l.virtual?(()=>{var r=ae(),i=r.firstChild;return r.$$click=Ye,g(e=>{requestAnimationFrame(()=>R(e))},r),d(i,c(v,{get each(){return U.getVirtualItems()},children:e=>{let t=n[e.index];return(()=>{var n=oe();return d(n,(()=>{var e=f(()=>t.type===`group`);return()=>e()?(()=>{var e=se();return d(e,()=>t.groupLabel),e})():Xe(t.option,t.flatIdx)})()),u(t=>{var r=e.index,i=`translateY(${e.start}px)`;return r!==t.e&&p(n,`data-index`,t.e=r),i!==t.t&&m(n,`transform`,t.t=i),t},{e:void 0,t:void 0}),n})()}})),u(n=>{var a=e(`sel30`,t(l.color)),o=`${l.listHeight}px`,c=`${U.getTotalSize()}px`;return a!==n.e&&s(r,n.e=a),o!==n.t&&m(r,`max-height`,n.t=o),c!==n.a&&m(i,`height`,n.a=c),n},{e:void 0,t:void 0,a:void 0}),r})():(()=>{var e=ce();return e.$$click=Ye,g(e=>R(e),e),d(e,c(v,{each:n,children:e=>e.type===`group`?(()=>{var t=se();return d(t,()=>e.groupLabel),t})():Xe(e.option,e.flatIdx)})),u(t=>m(e,`max-height`,`${l.listHeight}px`)),e})()},Qe=e=>c(Se,{tag:e,get removeIcon(){return l.removeIcon},get tagRender(){return l.tagRender},onRemove:Q});return b(C(P,e=>{if(e&&l.defaultActiveFirstOption){let e=V().findIndex(e=>!e.disabled&&(!G()||W(e.value)));M(e>=0?e:-1)}e||M(-1)})),b(C(()=>F(),()=>{if(P()&&l.defaultActiveFirstOption){let e=V().findIndex(e=>!e.disabled&&(!G()||W(e.value)));M(e>=0?e:-1)}})),b(C(L,e=>{e&&P()&&requestAnimationFrame(()=>{l.virtual&&U.measure(),Ve()})})),b(C(()=>P(),e=>{e&&T()&&queueMicrotask(()=>Me?.focus({preventScroll:!0}))})),c(r,{ref:e=>Ne=e,get open(){return P()},get blockScroll(){return l.blockScroll},get position(){return l.placement===`top`?`top`:`bottom`},get class(){return{trigger:`${l.disabled?`pointer-events-none`:``} w-full`,content:e(`border-c3 bg-base-100 rounded-box menu p-0`,l.placement===`bottom`?`mt-1 shadow-md`:`shadow-md-top mb-1`,l.class?.dropdownContent)}},get triggerElement(){return(()=>{var r=_e(),i=r.firstChild,o=i.nextSibling;return r.addEventListener(`blur`,We),r.addEventListener(`focus`,Ue),r.$$keydown=ze,r.$$click=qe,g(e=>I=e,r),d(r,c(y,{get when(){return l.prefix},get children(){var e=de();return d(e,()=>l.prefix),e}}),i),d(i,c(y,{get when(){return _()},get fallback(){return(()=>{var e=ye();return d(e,c(y,{get when(){return N().length>0},get fallback(){return(()=>{var e=pe();return d(e,()=>l.placeholder),u(t=>m(e,`visibility`,F()?`hidden`:void 0)),e})()},get children(){var e=ve();return d(e,Ge),u(t=>m(e,`visibility`,F()&&T()?`hidden`:void 0)),e}})),e})()},get children(){var e=me();return d(e,c(v,{get each(){return $().visible},children:e=>Qe(e)}),null),d(e,c(y,{get when(){return $().omitted.length>0},get children(){return c(Ce,{get content(){return c(v,{get each(){return $().omitted},children:e=>c(Se,{tag:e,get removeIcon(){return l.removeIcon},get tagRender(){return l.tagRender},onRemove:Q})})},get children(){var e=fe();return d(e,()=>{let e=l.maxTagPlaceholder;return typeof e==`function`?e($().omitted.map(e=>({value:e.value,label:e.label}))):e||`+${$().omitted.length} more...`}),e}})}}),null),d(e,c(y,{get when(){return N().length===0},get children(){var e=pe();return d(e,()=>l.placeholder),e}}),null),e}})),d(o,c(y,{get when(){return Ke()},get children(){var e=he();return e.$$click=Re,d(e,c(n,{class:`m-auto`,size:14})),e}}),null),d(o,c(y,{get when(){return!l.loading},get fallback(){return be()},get children(){var t=ge();return d(t,(()=>{var e=f(()=>!!l.suffixIcon);return()=>e()?l.suffixIcon:c(a,{size:16})})()),u(()=>s(t,e(`sel23`,P()&&`sel24`))),t}}),null),u(n=>{var i=e(xe({size:l.size,variant:l.variant}),t(l.color),P()&&`sel41 sel02`,_()&&`sel40`,l.class?.root,l.disabled&&`sel03`),a=l.disabled?-1:0,o=P();return i!==n.e&&s(r,n.e=i),a!==n.t&&p(r,`tabindex`,n.t=a),o!==n.a&&p(r,`aria-expanded`,n.a=o),n},{e:void 0,t:void 0,a:void 0}),r})()},get children(){var e=ue();return e.$$mousedown=e=>{e.target?.tagName!==`INPUT`&&e.preventDefault()},d(e,c(y,{get when(){return T()},get children(){var e=le(),t=e.firstChild;return d(e,c(o,{size:14}),t),t.addEventListener(`blur`,We),t.addEventListener(`focus`,Ue),t.$$keydown=ze,t.$$input=He,g(e=>Me=e,t),u(e=>{var n=l.disabled,r=P();return n!==e.e&&(t.disabled=e.e=n),r!==e.t&&p(t,`aria-expanded`,e.t=r),e},{e:void 0,t:void 0}),u(()=>t.value=F()),e}}),null),d(e,(()=>{var e=f(()=>!!l.popupRender);return()=>e()?l.popupRender(Ze()):Ze()})(),null),u(()=>s(e,t(l.color))),e}})};l([`click`,`mousedown`,`input`,`keydown`]);export{k as Select};
2
+ //# sourceMappingURL=select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.js","names":["SolidComponent","cn","getColor","createVirtualizer","cva","VariantProps","Check","ChevronDown","Search","X","createEffect","createMemo","createSignal","For","mergeProps","on","Show","Component","JSXElement","Dropdown","FlattenOptionData","LabeledValue","OptGroupType","SelectBaseProps","SelectFieldNames","SelectOptionType","SelectProps","SelectValue","ShowSearchConfig","TagRenderProps","selectVariants","variants","variant","outline","filled","borderless","underlined","size","lg","md","sm","color","neutral","primary","secondary","accent","info","success","warning","error","SelectVariantsProps","SelectTagProps","tag","value","label","closable","removeIcon","tagRender","props","onRemove","e","MouseEvent","SelectTag","onClose","_el$","_tmpl$2","_el$2","firstChild","_$insert","Element","_$createComponent","when","children","_el$3","_tmpl$","$$click","_c$","_$memo","InnerTooltip","content","_el$4","_tmpl$3","_el$5","_el$6","resolveFieldNames","fn","options","groupLabel","getField","option","field","FlatOption","disabled","class","title","raw","flattenOptions","fieldNames","ReturnType","result","opt","subOptions","Array","isArray","sub","push","undefined","OptionGroup","items","regroupFlatOptions","flatOptions","groups","last","length","extractValue","v","extractValues","map","item","filter","x","single","Select","p","const","loading","placement","listHeight","virtual","defaultActiveFirstOption","notFoundContent","labelInValue","placeholder","blockScroll","isMultiple","mode","allowCustomValue","showSearchEnabled","showSearch","searchConfig","base","autoClearSearchValue","filterOption","optionFilterProp","internalValue","setInternalValue","defaultValue","isOpen","setIsOpen","defaultOpen","searchText","setSearchText","activeIndex","setActiveIndex","selectedValues","dropdownOpen","open","controlledSearchValue","cfg","searchValue","currentSearchText","inputRef","HTMLInputElement","selectRootRef","HTMLDivElement","triggerRef","listRef","setListRef","allFlatOptions","allOptionsWithCustom","flat","existingValues","Set","o","customOpts","val","has","String","optionMap","Map","set","filteredOptions","all","text","filtered","Function","filterProps","lowerText","toLowerCase","some","prop","includes","filterSort","sortFn","sort","a","b","groupedForRender","RenderItem","type","flatIdx","flatRenderList","group","ITEM_HEIGHT","GROUP_LABEL_HEIGHT","virtualizer","count","getScrollElement","estimateSize","index","overscan","selectedValuesSet","isSelected","isMaxReached","max","maxCount","suppressBlurUntil","openDropdown","performance","now","onOpenChange","closeDropdown","onSearch","toggleDropdown","buildOutputValue","values","get","buildOutputOption","handleSelect","optValue","rawOpt","current","newValues","deselectVal","onDeselect","selectVal","onSelect","onChange","handleClear","stopPropagation","preventDefault","onClear","handleRemoveTag","handleKeyDown","KeyboardEvent","onInputKeyDown","opts","key","next","onActive","scrollActiveIntoView","prev","idx","trim","focus","vals","list","renderIdx","findIndex","scrollToIndex","align","el","querySelectorAll","HTMLElement","scrollIntoView","block","scrollToFirstSelected","firstSelectedValue","querySelector","handleSearchInput","InputEvent","target","handleFocus","FocusEvent","scrollX","window","scrollY","restoreScroll","requestAnimationFrame","scrollTo","addEventListener","once","passive","setTimeout","removeEventListener","onFocus","handleBlur","related","relatedTarget","contains","closest","onBlur","selectedLabel","labelRender","TagInfo","visibleTags","visible","omitted","maxTagCount","maxTextLen","maxTagTextLength","tags","slice","showClear","allowClear","handleTriggerClick","findOptionIndex","EventTarget","dataset","optionIndex","Number","classList","parentElement","handleListClick","renderOptionItem","selected","isActive","isDisabledOpt","flattenData","optionRender","_el$7","_tmpl$5","_el$8","_$setAttribute","_el$9","_tmpl$4","_c$2","menuItemSelectedIcon","_$effect","_p$","_v$","_v$2","_$className","t","dropdownContent","renderList","_el$0","_tmpl$6","_el$1","_tmpl$7","_el$10","_$use","each","getVirtualItems","virtualRow","_el$11","_tmpl$8","_c$3","_el$12","_tmpl$9","_v$6","_v$7","start","_$setStyleProperty","_v$3","_v$4","_v$5","getTotalSize","_el$13","_tmpl$0","_el$14","_$p","renderTag","measure","queueMicrotask","preventScroll","ref","position","trigger","triggerElement","_el$18","_tmpl$17","_el$20","_el$24","nextSibling","$$keydown","prefix","_el$19","_tmpl$11","fallback","_el$27","_tmpl$19","_el$29","_tmpl$13","_el$28","_tmpl$18","_el$21","_tmpl$14","_el$22","_tmpl$12","maxTagPlaceholder","omittedValues","_el$23","_el$25","_tmpl$15","_tmpl$20","_el$26","_tmpl$16","_c$5","suffixIcon","_v$0","root","_v$1","_v$10","_el$15","_tmpl$10","$$mousedown","tagName","_el$16","_tmpl$1","_el$17","$$input","_v$8","_v$9","_c$4","popupRender","_$delegateEvents"],"sources":["../../../src/components/select/select.tsx"],"sourcesContent":["import type { SolidComponent } from '@/type';\nimport { cn } from '@/utils/cn';\nimport { getColor } from '@/utils/helper';\nimport { createVirtualizer } from '@tanstack/solid-virtual';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport Check from 'lucide-solid/icons/check';\nimport ChevronDown from 'lucide-solid/icons/chevron-down';\nimport Search from 'lucide-solid/icons/search';\nimport X from 'lucide-solid/icons/x';\nimport {\n createEffect,\n createMemo,\n createSignal,\n For,\n mergeProps,\n on,\n Show,\n type Component,\n type JSXElement,\n} from 'solid-js';\nimport { Dropdown } from '../dropdown';\nimport type {\n FlattenOptionData,\n LabeledValue,\n OptGroupType,\n SelectBaseProps,\n SelectFieldNames,\n SelectOptionType,\n SelectProps,\n SelectValue,\n ShowSearchConfig,\n TagRenderProps,\n} from './select.types';\n\nconst selectVariants = cva('sel01', {\n variants: {\n variant: {\n outline: 'sel07',\n filled: 'sel09',\n borderless: 'sel08',\n underlined: 'sel10',\n },\n size: {\n lg: 'sel06',\n md: 'sel05',\n sm: 'sel04',\n },\n color: {\n neutral: 'input-neutral',\n primary: 'input-primary',\n secondary: 'input-secondary',\n accent: 'input-accent',\n info: 'input-info',\n success: 'input-success',\n warning: 'input-warning',\n error: 'input-error',\n },\n },\n});\nexport type SelectVariantsProps = VariantProps<typeof selectVariants>;\n\ntype SelectTagProps = {\n tag: { value: string | number; label: SolidComponent; closable: boolean };\n removeIcon?: JSXElement;\n tagRender?: (props: TagRenderProps) => JSXElement;\n onRemove: (value: string | number, e: MouseEvent) => void;\n};\n\nconst SelectTag: Component<SelectTagProps> = props => {\n if (props.tagRender) {\n return props.tagRender({\n label: props.tag.label,\n value: props.tag.value,\n closable: props.tag.closable,\n onClose: () => props.onRemove(props.tag.value, new MouseEvent('click')),\n }) as JSXElement;\n }\n\n return (\n <span class=\"sel17\">\n <span class=\"sel18\">{props.tag.label as Element}</span>\n <Show when={props.tag.closable}>\n <span class=\"sel19\" onClick={e => props.onRemove(props.tag.value, e)}>\n {props.removeIcon ? (\n (props.removeIcon as Element)\n ) : (\n <X class=\"m-auto\" size={12} stroke-width={3} />\n )}\n </span>\n </Show>\n </span>\n );\n};\n\nconst InnerTooltip: Component<{ content: JSXElement; children: JSXElement }> = props => {\n return (\n <span class=\"sel42\">\n {props.children}\n <span class=\"sel43\">\n <span class=\"sel44\">{props.content}</span>\n </span>\n </span>\n );\n};\n\nfunction resolveFieldNames(fn?: SelectFieldNames) {\n return {\n label: fn?.label ?? 'label',\n value: fn?.value ?? 'value',\n options: fn?.options ?? 'options',\n groupLabel: fn?.groupLabel ?? 'label',\n };\n}\n\nfunction getField(option: any, field: string): any {\n return option?.[field];\n}\n\ninterface FlatOption {\n label: SolidComponent;\n value: string | number;\n disabled?: boolean;\n class?: string;\n title?: string;\n groupLabel?: SolidComponent;\n raw: any;\n}\n\nfunction flattenOptions(\n options: (SelectOptionType | OptGroupType)[] | undefined,\n fieldNames: ReturnType<typeof resolveFieldNames>,\n): FlatOption[] {\n if (!options) return [];\n const result: FlatOption[] = [];\n for (const opt of options) {\n const subOptions = getField(opt, fieldNames.options) as SelectOptionType[] | undefined;\n if (subOptions && Array.isArray(subOptions)) {\n const groupLabel = getField(opt, fieldNames.groupLabel) as SolidComponent;\n for (const sub of subOptions) {\n result.push({\n label: getField(sub, fieldNames.label) as SolidComponent,\n value: getField(sub, fieldNames.value) as string | number,\n disabled: sub.disabled,\n class: sub.class,\n title: sub.title,\n groupLabel,\n raw: sub,\n });\n }\n } else {\n result.push({\n label: getField(opt, fieldNames.label) as SolidComponent,\n value: getField(opt, fieldNames.value) as string | number,\n disabled: (opt as SelectOptionType).disabled,\n class: (opt as SelectOptionType).class,\n title: (opt as SelectOptionType).title,\n groupLabel: undefined,\n raw: opt,\n });\n }\n }\n return result;\n}\n\ninterface OptionGroup {\n groupLabel?: SolidComponent;\n items: FlatOption[];\n}\n\nfunction regroupFlatOptions(flatOptions: FlatOption[]): OptionGroup[] {\n const groups: OptionGroup[] = [];\n for (const opt of flatOptions) {\n const last = groups[groups.length - 1];\n if (last && last.groupLabel === opt.groupLabel) {\n last.items.push(opt);\n } else {\n groups.push({ groupLabel: opt.groupLabel, items: [opt] });\n }\n }\n return groups;\n}\n\nfunction extractValue(v: string | number | LabeledValue | undefined): string | number | undefined {\n if (v === undefined || v === null) return undefined;\n if (typeof v === 'object' && 'value' in v) return v.value;\n return v as string | number;\n}\n\nfunction extractValues(\n v: string | string[] | number | number[] | LabeledValue | LabeledValue[] | undefined,\n): (string | number)[] {\n if (v === undefined || v === null) return [];\n if (Array.isArray(v)) {\n return v.map(item => extractValue(item)!).filter(x => x !== undefined);\n }\n const single = extractValue(v as string | number | LabeledValue);\n return single !== undefined ? [single] : [];\n}\n\nexport const Select: Component<SelectProps> = p => {\n p = mergeProps(\n {\n color: 'error' as const,\n size: 'md' as const,\n variant: 'outline' as const,\n disabled: false,\n loading: false,\n placement: 'bottom' as const,\n listHeight: 256,\n virtual: false,\n defaultActiveFirstOption: false,\n notFoundContent: 'Not Found' as SolidComponent,\n labelInValue: false,\n placeholder: 'Select...',\n blockScroll: true,\n } as SelectBaseProps,\n p,\n );\n\n const fieldNames = createMemo(() => resolveFieldNames(p.fieldNames));\n\n const isMultiple = createMemo(() => p.mode === 'multiple');\n const allowCustomValue = createMemo(() => isMultiple() && !!(p as any).allowCustomValue);\n\n const showSearchEnabled = createMemo(() => {\n if (typeof p.showSearch === 'boolean') return p.showSearch;\n if (typeof p.showSearch === 'object') return true;\n\n return isMultiple();\n });\n\n const searchConfig = createMemo((): ShowSearchConfig => {\n const base: ShowSearchConfig = {\n autoClearSearchValue: true,\n filterOption: true,\n optionFilterProp: 'value',\n };\n if (typeof p.showSearch === 'object') {\n return { ...base, ...p.showSearch };\n }\n return base;\n });\n\n const [internalValue, setInternalValue] = createSignal<(string | number)[]>(\n extractValues(p.defaultValue),\n );\n const [isOpen, setIsOpen] = createSignal(p.defaultOpen ?? false);\n const [searchText, setSearchText] = createSignal('');\n const [activeIndex, setActiveIndex] = createSignal(-1);\n\n const selectedValues = createMemo(() => {\n if (p.value !== undefined) {\n return extractValues(p.value);\n }\n return internalValue();\n });\n\n const dropdownOpen = createMemo(() => {\n if (p.open !== undefined) {\n return p.open as boolean;\n }\n return isOpen();\n });\n\n const controlledSearchValue = createMemo(() => {\n const cfg = searchConfig();\n if (cfg.searchValue !== undefined) return cfg.searchValue;\n return undefined;\n });\n\n const currentSearchText = createMemo(() => {\n return controlledSearchValue() ?? searchText();\n });\n\n let inputRef: HTMLInputElement | undefined;\n let selectRootRef: HTMLDivElement | undefined;\n let triggerRef: HTMLDivElement | undefined;\n const [listRef, setListRef] = createSignal<HTMLDivElement | null>(null);\n\n const allFlatOptions = createMemo(() => flattenOptions(p.options, fieldNames()));\n\n const allOptionsWithCustom = createMemo(() => {\n const flat = allFlatOptions();\n if (!allowCustomValue()) return flat;\n const existingValues = new Set(flat.map(o => o.value));\n const customOpts: FlatOption[] = [];\n for (const val of selectedValues()) {\n if (!existingValues.has(val)) {\n customOpts.push({\n label: String(val),\n value: val,\n disabled: false,\n class: undefined,\n title: undefined,\n groupLabel: undefined,\n raw: { label: String(val), value: val },\n });\n }\n }\n return [...flat, ...customOpts];\n });\n\n const optionMap = createMemo(() => {\n const map = new Map<string | number, FlatOption>();\n for (const opt of allOptionsWithCustom()) {\n map.set(opt.value, opt);\n }\n return map;\n });\n\n const filteredOptions = createMemo(() => {\n const all = allOptionsWithCustom();\n const text = currentSearchText();\n if (!text || !showSearchEnabled()) return all;\n\n const cfg = searchConfig();\n if (cfg.filterOption === false) return all;\n\n let filtered: FlatOption[];\n if (typeof cfg.filterOption === 'function') {\n filtered = all.filter(opt =>\n (cfg.filterOption as Function)(text, opt.raw as SelectOptionType),\n );\n } else {\n const filterProps = Array.isArray(cfg.optionFilterProp)\n ? cfg.optionFilterProp\n : [cfg.optionFilterProp ?? 'value'];\n const lowerText = text.toLowerCase();\n filtered = all.filter(opt => {\n return filterProps.some(prop => {\n const val = getField(opt.raw, prop) ?? (prop === 'label' ? opt.label : opt.value);\n return String(val ?? '')\n .toLowerCase()\n .includes(lowerText);\n });\n });\n }\n\n if (cfg.filterSort) {\n const sortFn = cfg.filterSort;\n filtered.sort((a, b) =>\n sortFn(a.raw as SelectOptionType, b.raw as SelectOptionType, { searchValue: text }),\n );\n }\n\n return filtered;\n });\n\n const groupedForRender = createMemo(() => {\n const text = currentSearchText();\n if (text && showSearchEnabled()) {\n return [{ groupLabel: undefined, items: filteredOptions() }] as OptionGroup[];\n }\n return regroupFlatOptions(allOptionsWithCustom());\n });\n\n type RenderItem =\n | { type: 'group'; groupLabel: SolidComponent }\n | { type: 'option'; option: FlatOption; flatIdx: number };\n\n const flatRenderList = createMemo((): RenderItem[] => {\n const groups = groupedForRender();\n const result: RenderItem[] = [];\n let flatIdx = 0;\n for (const group of groups) {\n if (group.groupLabel !== undefined) {\n result.push({ type: 'group', groupLabel: group.groupLabel });\n }\n for (const item of group.items) {\n result.push({ type: 'option', option: item, flatIdx });\n flatIdx++;\n }\n }\n return result;\n });\n\n const ITEM_HEIGHT = 32;\n const GROUP_LABEL_HEIGHT = 28;\n\n const virtualizer = createVirtualizer({\n get count() {\n return flatRenderList().length;\n },\n getScrollElement: () => listRef(),\n estimateSize: (index: number) => {\n const item = flatRenderList()[index];\n return item?.type === 'group' ? GROUP_LABEL_HEIGHT : ITEM_HEIGHT;\n },\n overscan: 2,\n });\n\n const selectedValuesSet = createMemo(() => new Set(selectedValues()));\n\n const isSelected = (val: string | number) => {\n return selectedValuesSet().has(val);\n };\n\n const isMaxReached = createMemo(() => {\n if (!isMultiple()) return false;\n const max = p.maxCount as number | undefined;\n if (max === undefined) return false;\n return selectedValues().length >= max;\n });\n\n // Set for a brief window after openDropdown() to suppress spurious focusout events\n // that fire when SolidJS re-renders the DOM (inserting dropdown content causes\n // the focused trigger div to receive a focusout with relatedTarget=null before\n // the search input is mounted and re-focused via queueMicrotask).\n let suppressBlurUntil = 0;\n\n const openDropdown = () => {\n if (p.disabled) return;\n suppressBlurUntil = performance.now() + 150;\n if (p.open === undefined) {\n setIsOpen(true);\n }\n p.onOpenChange?.(true);\n };\n\n const closeDropdown = () => {\n if (p.open === undefined) {\n setIsOpen(false);\n }\n setListRef(null);\n p.onOpenChange?.(false);\n\n if (showSearchEnabled()) {\n setSearchText('');\n searchConfig().onSearch?.('');\n }\n };\n\n const toggleDropdown = () => {\n if (dropdownOpen()) {\n closeDropdown();\n } else {\n openDropdown();\n }\n };\n\n const buildOutputValue = (values: (string | number)[]): SelectValue => {\n const map = optionMap();\n if (isMultiple()) {\n if (p.labelInValue) {\n return values.map(v => {\n const opt = map.get(v);\n return {\n value: v,\n label: opt?.label ?? String(v),\n } as LabeledValue;\n });\n }\n return values as string[] | number[];\n }\n\n const val = values[0];\n if (val === undefined) return undefined as any;\n if (p.labelInValue) {\n const opt = map.get(val);\n return {\n value: val,\n label: opt?.label ?? String(val),\n } as LabeledValue;\n }\n return val;\n };\n\n const buildOutputOption = (\n values: (string | number)[],\n ): SelectOptionType | SelectOptionType[] => {\n const map = optionMap();\n if (isMultiple()) {\n return values.map(v => {\n const opt = map.get(v);\n return (opt?.raw as SelectOptionType) ?? { value: v, label: String(v) };\n });\n }\n const val = values[0];\n const opt = map.get(val);\n return (opt?.raw as SelectOptionType) ?? { value: val, label: String(val) };\n };\n\n const handleSelect = (optValue: string | number) => {\n const opt = optionMap().get(optValue);\n const rawOpt = (opt?.raw as SelectOptionType) ?? {\n value: optValue,\n label: String(optValue),\n };\n\n if (isMultiple()) {\n const current = selectedValues();\n let newValues: (string | number)[];\n\n if (current.includes(optValue)) {\n newValues = current.filter(v => v !== optValue);\n const deselectVal = p.labelInValue\n ? ({ value: optValue, label: opt?.label ?? String(optValue) } as LabeledValue)\n : optValue;\n p.onDeselect?.(deselectVal);\n } else {\n if (isMaxReached()) return;\n newValues = [...current, optValue];\n const selectVal = p.labelInValue\n ? ({ value: optValue, label: opt?.label ?? String(optValue) } as LabeledValue)\n : optValue;\n p.onSelect?.(selectVal, rawOpt);\n }\n\n if (p.value === undefined) {\n setInternalValue(newValues);\n }\n p.onChange?.(buildOutputValue(newValues), buildOutputOption(newValues));\n\n if (searchConfig().autoClearSearchValue !== false) {\n setSearchText('');\n searchConfig().onSearch?.('');\n }\n } else {\n const newValues = [optValue];\n const selectVal = p.labelInValue\n ? ({ value: optValue, label: opt?.label ?? String(optValue) } as LabeledValue)\n : optValue;\n p.onSelect?.(selectVal, rawOpt);\n\n if (p.value === undefined) {\n setInternalValue(newValues);\n }\n p.onChange?.(buildOutputValue(newValues), buildOutputOption(newValues));\n closeDropdown();\n setSearchText('');\n }\n };\n\n const handleClear = (e: MouseEvent) => {\n e.stopPropagation();\n e.preventDefault();\n if (p.value === undefined) {\n setInternalValue([]);\n }\n p.onClear?.();\n p.onChange?.(isMultiple() ? [] : (undefined as any), isMultiple() ? [] : (undefined as any));\n setSearchText('');\n };\n\n const handleRemoveTag = (val: string | number, e?: MouseEvent) => {\n e?.stopPropagation();\n e?.preventDefault();\n const current = selectedValues();\n const newValues = current.filter(v => v !== val);\n\n const opt = optionMap().get(val);\n const deselectVal = p.labelInValue\n ? ({ value: val, label: opt?.label ?? String(val) } as LabeledValue)\n : val;\n p.onDeselect?.(deselectVal);\n\n if (p.value === undefined) {\n setInternalValue(newValues);\n }\n p.onChange?.(buildOutputValue(newValues), buildOutputOption(newValues));\n };\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (p.disabled) return;\n p.onInputKeyDown?.(e);\n\n const opts = filteredOptions();\n\n switch (e.key) {\n case 'ArrowDown': {\n e.preventDefault();\n if (!dropdownOpen()) {\n openDropdown();\n return;\n }\n let next = activeIndex() + 1;\n while (next < opts.length) {\n const opt = opts[next];\n if (!opt.disabled && (!isMaxReached() || isSelected(opt.value))) {\n break;\n }\n next++;\n }\n if (next < opts.length) {\n setActiveIndex(next);\n const val = p.labelInValue\n ? ({ value: opts[next].value, label: opts[next].label } as LabeledValue)\n : opts[next].value;\n p.onActive?.(val);\n scrollActiveIntoView(next);\n }\n break;\n }\n case 'ArrowUp': {\n e.preventDefault();\n if (!dropdownOpen()) {\n openDropdown();\n return;\n }\n let prev = activeIndex() === -1 ? opts.length - 1 : activeIndex() - 1;\n while (prev >= 0) {\n const opt = opts[prev];\n if (!opt.disabled && (!isMaxReached() || isSelected(opt.value))) {\n break;\n }\n prev--;\n }\n if (prev >= 0) {\n setActiveIndex(prev);\n const val = p.labelInValue\n ? ({ value: opts[prev].value, label: opts[prev].label } as LabeledValue)\n : opts[prev].value;\n p.onActive?.(val);\n scrollActiveIntoView(prev);\n }\n break;\n }\n case 'Enter':\n case ' ': {\n e.preventDefault();\n if (!dropdownOpen()) {\n openDropdown();\n return;\n }\n if (e.key === ' ' && showSearchEnabled()) break;\n const idx = activeIndex();\n if (idx >= 0 && idx < opts.length) {\n const opt = opts[idx];\n if (!opt.disabled) {\n handleSelect(opt.value);\n }\n } else if (allowCustomValue() && currentSearchText().trim()) {\n const tag = currentSearchText().trim();\n handleSelect(tag);\n }\n break;\n }\n case 'Escape': {\n e.preventDefault();\n closeDropdown();\n triggerRef?.focus();\n break;\n }\n case 'Backspace': {\n if (isMultiple() && currentSearchText() === '') {\n const vals = selectedValues();\n if (vals.length > 0) {\n handleRemoveTag(vals[vals.length - 1]);\n }\n }\n break;\n }\n case 'Tab': {\n closeDropdown();\n break;\n }\n }\n };\n\n const scrollActiveIntoView = (flatIdx: number) => {\n if (p.virtual) {\n const list = flatRenderList();\n const renderIdx = list.findIndex(item => item.type === 'option' && item.flatIdx === flatIdx);\n if (renderIdx >= 0) {\n virtualizer.scrollToIndex(renderIdx, { align: 'auto' });\n }\n return;\n }\n\n const el = listRef();\n if (!el) return;\n const items = el.querySelectorAll('[data-option-index]');\n const item = items[flatIdx] as HTMLElement | undefined;\n if (item) {\n item.scrollIntoView({ block: 'nearest' });\n }\n };\n\n const scrollToFirstSelected = () => {\n const vals = selectedValues();\n if (vals.length === 0) return;\n\n const firstSelectedValue = vals[0];\n const opts = filteredOptions();\n const flatIdx = opts.findIndex(o => o.value === firstSelectedValue);\n if (flatIdx < 0) return;\n\n if (p.virtual) {\n const list = flatRenderList();\n const renderIdx = list.findIndex(item => item.type === 'option' && item.flatIdx === flatIdx);\n if (renderIdx >= 0) {\n virtualizer.scrollToIndex(renderIdx, { align: 'start' });\n }\n } else {\n const el = listRef();\n if (!el) return;\n const item = el.querySelector(`[data-option-index=\"${flatIdx}\"]`) as HTMLElement | null;\n if (item) {\n item.scrollIntoView({ block: 'nearest' });\n }\n }\n };\n\n const handleSearchInput = (e: InputEvent) => {\n const target = e.target as HTMLInputElement;\n const val = target.value;\n\n if (controlledSearchValue() === undefined) {\n setSearchText(val);\n }\n searchConfig().onSearch?.(val);\n\n if (!dropdownOpen()) {\n openDropdown();\n }\n };\n\n const handleFocus = (e: FocusEvent) => {\n // Only fix scroll when the trigger div (not the search input) receives focus.\n // The trigger div has offsetTop=0 relative to .dropdown (position:relative), which\n // causes Chromium to scroll the page to 0 when focusing it (a browser quirk).\n // We listen for the next scroll event and immediately restore the position.\n if (e.target === triggerRef) {\n const scrollX = window.scrollX;\n const scrollY = window.scrollY;\n // Chromium scrolls the page when focusing triggerRef because its offsetTop=0\n // relative to the .dropdown positioned parent (a browser quirk). We restore after\n // the focus-scroll completes by waiting for the scroll event, then deferring one rAF\n // so the browser's internal focus-scroll is truly done before we override it.\n const restoreScroll = () =>\n requestAnimationFrame(() => requestAnimationFrame(() => window.scrollTo(scrollX, scrollY)));\n window.addEventListener('scroll', restoreScroll, { once: true, passive: false });\n setTimeout(() => window.removeEventListener('scroll', restoreScroll), 200);\n }\n p.onFocus?.(e);\n };\n\n const handleBlur = (e: FocusEvent) => {\n const related = e.relatedTarget as HTMLElement | null;\n if (related && selectRootRef?.contains(related)) return;\n if (related?.closest('.nd-content')) return;\n // Suppress spurious focusout that fires immediately after openDropdown() while\n // SolidJS is re-rendering the DOM (before the search input is mounted and focused).\n if (performance.now() < suppressBlurUntil) return;\n p.onBlur?.(e);\n closeDropdown();\n };\n\n const selectedLabel = createMemo((): JSXElement => {\n if (isMultiple()) return null;\n const vals = selectedValues();\n if (vals.length === 0) return null;\n const val = vals[0];\n const opt = optionMap().get(val);\n\n if (p.labelRender) {\n return p.labelRender({\n value: val,\n label: opt?.label ?? String(val),\n key: String(val),\n });\n }\n\n return (opt?.label as Element) ?? String(val);\n });\n\n interface TagInfo {\n value: string | number;\n label: SolidComponent;\n closable: boolean;\n }\n const visibleTags = createMemo((): { visible: TagInfo[]; omitted: TagInfo[] } => {\n if (!isMultiple()) return { visible: [], omitted: [] };\n const vals = selectedValues();\n const map = optionMap();\n const maxTagCount = p.maxTagCount as number | 'responsive' | undefined;\n const maxTextLen = p.maxTagTextLength as number | undefined;\n\n const tags: TagInfo[] = vals.map(val => {\n const opt = map.get(val);\n let label: SolidComponent = opt?.label ?? String(val);\n if (maxTextLen && typeof label === 'string' && label.length > maxTextLen) {\n label = label.slice(0, maxTextLen) + '...';\n }\n return { value: val, label, closable: !p.disabled };\n });\n\n if (typeof maxTagCount === 'number' && tags.length > maxTagCount) {\n return { visible: tags.slice(0, maxTagCount), omitted: tags.slice(maxTagCount) };\n }\n\n return { visible: tags, omitted: [] };\n });\n\n const showClear = createMemo(() => {\n if (!p.allowClear) return false;\n if (p.disabled) return false;\n return selectedValues().length > 0;\n });\n\n const handleTriggerClick = (e: MouseEvent) => {\n if (p.disabled || p.loading) return;\n e.preventDefault();\n toggleDropdown();\n };\n\n const findOptionIndex = (target: EventTarget | null): number | null => {\n let el = target as HTMLElement | null;\n while (el) {\n const idx = el.dataset?.optionIndex;\n if (idx !== undefined) return Number(idx);\n\n if (el.classList?.contains('sel30')) return null;\n el = el.parentElement;\n }\n return null;\n };\n\n const handleListClick = (e: MouseEvent) => {\n const flatIdx = findOptionIndex(e.target);\n if (flatIdx === null) return;\n const opts = filteredOptions();\n const opt = opts[flatIdx];\n if (!opt || opt.disabled || (isMaxReached() && !isSelected(opt.value))) return;\n // In multiple mode, selecting an option re-renders the tag list (DOM mutation)\n // which can cause a spurious focusout. Suppress blur handling briefly.\n if (isMultiple()) suppressBlurUntil = performance.now() + 150;\n handleSelect(opt.value);\n };\n\n const renderOptionItem = (opt: FlatOption, flatIdx: number) => {\n const selected = () => isSelected(opt.value);\n const isActive = () => activeIndex() === flatIdx;\n const isDisabledOpt = () => opt.disabled || (isMaxReached() && !selected());\n\n const flattenData: FlattenOptionData = {\n label: opt.label,\n value: opt.value,\n disabled: opt.disabled,\n key: opt.value,\n groupLabel: opt.groupLabel,\n };\n\n const content = p.optionRender\n ? p.optionRender(flattenData, { index: flatIdx })\n : (opt.label as Element);\n\n return (\n <div\n data-option-index={flatIdx}\n class={cn(\n 'sel31',\n selected() && 'sel33',\n isActive() && 'sel32',\n isDisabledOpt() && 'sel34',\n opt.groupLabel !== undefined && 'sel38',\n opt.class,\n )}\n title={opt.title}\n >\n <span class=\"sel35\">{content}</span>\n <Show when={selected()}>\n <span class=\"sel36\">\n {p.menuItemSelectedIcon ? (\n (p.menuItemSelectedIcon as Element)\n ) : (\n <Check size={14} color=\"var(--color)\" stroke-width={3} />\n )}\n </span>\n </Show>\n </div>\n );\n };\n\n const dropdownContent = () => {\n const renderList = flatRenderList();\n\n if (renderList.length === 0) {\n return <div class=\"sel39\">{p.notFoundContent as Element}</div>;\n }\n\n if (p.virtual) {\n return (\n <div\n ref={el => {\n requestAnimationFrame(() => setListRef(el));\n }}\n class={cn('sel30', getColor(p.color))}\n style={{ 'max-height': `${p.listHeight}px`, 'overflow-y': 'auto' }}\n onClick={handleListClick}\n >\n <div\n style={{\n height: `${virtualizer.getTotalSize()}px`,\n width: '100%',\n position: 'relative',\n }}\n >\n <For each={virtualizer.getVirtualItems()}>\n {virtualRow => {\n const item = renderList[virtualRow.index];\n return (\n <div\n data-index={virtualRow.index}\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n transform: `translateY(${virtualRow.start}px)`,\n }}\n >\n {item.type === 'group' ? (\n <div class=\"sel37\">{item.groupLabel as Element}</div>\n ) : (\n renderOptionItem(item.option, item.flatIdx)\n )}\n </div>\n );\n }}\n </For>\n </div>\n </div>\n );\n }\n\n return (\n <div\n ref={el => setListRef(el)}\n class=\"sel30\"\n style={{ 'max-height': `${p.listHeight}px` }}\n onClick={handleListClick}\n >\n <For each={renderList}>\n {item =>\n item.type === 'group' ? (\n <div class=\"sel37\">{item.groupLabel as Element}</div>\n ) : (\n renderOptionItem(item.option, item.flatIdx)\n )\n }\n </For>\n </div>\n );\n };\n\n const renderTag = (tag: { value: string | number; label: SolidComponent; closable: boolean }) => (\n <SelectTag\n tag={tag}\n removeIcon={p.removeIcon as JSXElement}\n tagRender={p.tagRender as ((props: TagRenderProps) => JSXElement) | undefined}\n onRemove={handleRemoveTag}\n />\n );\n\n createEffect(\n on(dropdownOpen, open => {\n if (open && p.defaultActiveFirstOption) {\n const opts = filteredOptions();\n const idx = opts.findIndex(o => !o.disabled && (!isMaxReached() || isSelected(o.value)));\n setActiveIndex(idx >= 0 ? idx : -1);\n }\n if (!open) {\n setActiveIndex(-1);\n }\n }),\n );\n\n createEffect(\n on(\n () => currentSearchText(),\n () => {\n if (dropdownOpen() && p.defaultActiveFirstOption) {\n const opts = filteredOptions();\n const idx = opts.findIndex(o => !o.disabled && (!isMaxReached() || isSelected(o.value)));\n setActiveIndex(idx >= 0 ? idx : -1);\n }\n },\n ),\n );\n\n createEffect(\n on(listRef, el => {\n if (el && dropdownOpen()) {\n requestAnimationFrame(() => {\n if (p.virtual) virtualizer.measure();\n scrollToFirstSelected();\n });\n }\n }),\n );\n\n createEffect(\n on(\n () => dropdownOpen(),\n open => {\n if (open && showSearchEnabled()) {\n queueMicrotask(() => inputRef?.focus({ preventScroll: true }));\n }\n },\n ),\n );\n\n return (\n <Dropdown\n ref={el => (selectRootRef = el)}\n open={dropdownOpen()}\n blockScroll={p.blockScroll}\n position={p.placement === 'top' ? 'top' : 'bottom'}\n class={{\n trigger: `${p.disabled ? 'pointer-events-none' : ''} w-full`,\n content: cn(\n 'border-c3 bg-base-100 rounded-box menu p-0',\n p.placement === 'bottom' ? 'mt-1 shadow-md' : 'shadow-md-top mb-1',\n p.class?.dropdownContent,\n ),\n }}\n triggerElement={\n <div\n ref={el => (triggerRef = el)}\n class={cn(\n selectVariants({ size: p.size, variant: p.variant }),\n getColor(p.color),\n dropdownOpen() && 'sel41 sel02',\n isMultiple() && 'sel40',\n p.class?.root,\n p.disabled && 'sel03',\n )}\n tabIndex={p.disabled ? -1 : 0}\n onClick={handleTriggerClick}\n onKeyDown={handleKeyDown}\n onFocus={handleFocus}\n onBlur={handleBlur}\n role=\"combobox\"\n aria-expanded={dropdownOpen()}\n aria-haspopup=\"listbox\"\n >\n <Show when={p.prefix}>\n <span class=\"sel11\">{p.prefix as Element}</span>\n </Show>\n\n <div class=\"sel12\">\n <Show\n when={isMultiple()}\n fallback={\n <div class=\"sel13\">\n <Show\n when={selectedValues().length > 0}\n fallback={\n <span\n class=\"sel15\"\n style={{\n visibility: currentSearchText() ? 'hidden' : undefined,\n }}\n >\n {p.placeholder}\n </span>\n }\n >\n <span\n class=\"sel14\"\n style={{\n visibility:\n currentSearchText() && showSearchEnabled() ? 'hidden' : undefined,\n }}\n >\n {selectedLabel()}\n </span>\n </Show>\n </div>\n }\n >\n <div class=\"sel16\">\n <For each={visibleTags().visible}>{tag => renderTag(tag)}</For>\n\n <Show when={visibleTags().omitted.length > 0}>\n <InnerTooltip\n content={\n <For each={visibleTags().omitted}>\n {tag => (\n <SelectTag\n tag={tag}\n removeIcon={p.removeIcon as JSXElement}\n tagRender={\n p.tagRender as ((props: TagRenderProps) => JSXElement) | undefined\n }\n onRemove={handleRemoveTag}\n />\n )}\n </For>\n }\n >\n <span class=\"sel17 sel20\">\n {(() => {\n const placeholder = p.maxTagPlaceholder;\n if (typeof placeholder === 'function') {\n const omittedValues = visibleTags().omitted.map(t => ({\n value: t.value,\n label: t.label,\n })) as LabeledValue[];\n return placeholder(omittedValues) as Element;\n }\n if (placeholder) return placeholder;\n return `+${visibleTags().omitted.length} more...`;\n })()}\n </span>\n </InnerTooltip>\n </Show>\n\n <Show when={selectedValues().length === 0}>\n <span class=\"sel15\">{p.placeholder}</span>\n </Show>\n </div>\n </Show>\n </div>\n\n <div class=\"sel22\">\n <Show when={showClear()}>\n <span class=\"sel26\" onClick={handleClear}>\n <X class=\"m-auto\" size={14} />\n </span>\n </Show>\n <Show when={!p.loading} fallback={<span class=\"sel25\"></span>}>\n <span class={cn('sel23', dropdownOpen() && 'sel24')}>\n {p.suffixIcon ? (p.suffixIcon as Element) : <ChevronDown size={16} />}\n </span>\n </Show>\n </div>\n </div>\n }\n >\n <div\n role=\"listbox\"\n class={getColor(p.color)}\n onMouseDown={e => {\n if ((e.target as HTMLElement)?.tagName !== 'INPUT') {\n e.preventDefault();\n }\n }}\n >\n <Show when={showSearchEnabled()}>\n <div class=\"flex items-center px-3 shadow-2xs\">\n <Search size={14} />\n <input\n ref={ref => (inputRef = ref)}\n class=\"sel29\"\n value={currentSearchText()}\n onInput={handleSearchInput}\n onKeyDown={handleKeyDown}\n onFocus={handleFocus}\n onBlur={handleBlur}\n disabled={p.disabled}\n autocomplete=\"off\"\n role=\"combobox\"\n aria-expanded={dropdownOpen()}\n aria-haspopup=\"listbox\"\n aria-autocomplete=\"list\"\n placeholder=\"Search...\"\n />\n </div>\n </Show>\n {p.popupRender ? p.popupRender(dropdownContent()) : dropdownContent()}\n </div>\n </Dropdown>\n );\n};\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-zone.js","names":["Component","createContext","createEffect","createSignal","mergeProps","onCleanup","useContext","Portal","cn","SelectZoneItemProps","SelectZoneProps","SelectZoneContextValue","registerItem","key","el","HTMLElement","unregisterItem","isSelected","SelectZoneContext","DEFAULT_PROPS","additive","scrollThreshold","scrollSpeed","disabled","SelectZone","props","p","itemMap","Map","selectedKeys","setSelectedKeys","Set","overlayRect","setOverlayRect","x","y","w","h","rootEl","HTMLDivElement","intersects","selLeft","selTop","selRight","selBottom","r","getBoundingClientRect","docLeft","left","window","scrollX","docTop","top","scrollY","docRight","right","docBottom","bottom","computeSelection","startPageX","startPageY","currPageX","currPageY","Math","min","max","hit","forEach","checkItem","add","isDragging","isAdditive","prevKeys","rafId","lastClientX","lastClientY","scrollLoop","threshold","speed","vw","innerWidth","vh","innerHeight","cx","cy","dx","dy","scrollBy","updateOverlay","requestAnimationFrame","currClientX","currClientY","abs","next","k","has","delete","onMouseDown","e","MouseEvent","button","target","closest","clientX","clientY","shiftKey","ctrlKey","metaKey","document","addEventListener","onMouseMove","onMouseUp","removeEventListener","cancelAnimationFrame","onSelect","item","contextValue","set","syncControlledValue","v","value","undefined","mountListeners","unmountListeners","_$createComponent","Provider","children","_el$","_tmpl$","_ref$","_$use","_$insert","_c$","_$memo","mount","body","_el$2","_$effect","_p$","_v$","class","overlay","_v$2","_v$3","_v$4","_v$5","_$className","t","_$setStyleProperty","a","o","i","root","SelectZoneItem","ctx","Error","registerOnMount","itemKey","unregisterOnUnmount","_el$3","_ref$2","_v$6","_v$7","_$setAttribute"],"sources":["../../../src/components/select-zone/select-zone.tsx"],"sourcesContent":["import {\n Component,\n createContext,\n createEffect,\n createSignal,\n mergeProps,\n onCleanup,\n useContext,\n} from 'solid-js';\nimport { Portal } from 'solid-js/web';\nimport { cn } from '@utils/cn';\nimport { SelectZoneItemProps, SelectZoneProps } from './select-zone.types';\n\n// ─── Context ──────────────────────────────────────────────────────────────────\n\ninterface SelectZoneContextValue {\n registerItem: (key: string, el: HTMLElement) => void;\n unregisterItem: (key: string) => void;\n isSelected: (key: string) => boolean;\n}\n\nconst SelectZoneContext = createContext<SelectZoneContextValue>();\n\n// ─── SelectZone ───────────────────────────────────────────────────────────────\n\nconst DEFAULT_PROPS = {\n additive: true,\n scrollThreshold: 40,\n scrollSpeed: 12,\n disabled: false,\n};\n\nexport const SelectZone: Component<SelectZoneProps> = props => {\n const p = mergeProps(DEFAULT_PROPS, props);\n\n // Map từ itemKey → DOM element (đăng ký bởi SelectZoneItem)\n const itemMap = new Map<string, HTMLElement>();\n\n // Tập hợp các key đang được chọn\n const [selectedKeys, setSelectedKeys] = createSignal<Set<string>>(new Set());\n\n // Overlay rect: null = ẩn, có giá trị = đang kéo\n const [overlayRect, setOverlayRect] = createSignal<{\n x: number;\n y: number;\n w: number;\n h: number;\n } | null>(null);\n\n let rootEl!: HTMLDivElement;\n\n // ── Helpers ─────────────────────────────────────────────────────────────────\n\n /**\n * Tính giao nhau AABB.\n * selLeft/Top/Right/Bottom: document coordinates (pageX/Y).\n * el.getBoundingClientRect(): viewport coordinates → convert sang document.\n */\n function intersects(\n selLeft: number,\n selTop: number,\n selRight: number,\n selBottom: number,\n el: HTMLElement,\n ): boolean {\n const r = el.getBoundingClientRect();\n const docLeft = r.left + window.scrollX;\n const docTop = r.top + window.scrollY;\n const docRight = r.right + window.scrollX;\n const docBottom = r.bottom + window.scrollY;\n return docRight > selLeft && docLeft < selRight && docBottom > selTop && docTop < selBottom;\n }\n\n /**\n * Tính selection.\n * startPageX/Y, currPageX/Y: document coordinates.\n */\n function computeSelection(\n startPageX: number,\n startPageY: number,\n currPageX: number,\n currPageY: number,\n ): Set<string> {\n const selLeft = Math.min(startPageX, currPageX);\n const selTop = Math.min(startPageY, currPageY);\n const selRight = Math.max(startPageX, currPageX);\n const selBottom = Math.max(startPageY, currPageY);\n\n const hit = new Set<string>();\n itemMap.forEach(function checkItem(el, key) {\n if (intersects(selLeft, selTop, selRight, selBottom, el)) {\n hit.add(key);\n }\n });\n return hit;\n }\n\n // ── Drag state ───────────────────────────────────────────────────────────────\n\n // startPageX/Y: document coordinates — cố định suốt drag, không bị ảnh hưởng bởi scroll\n let startPageX = 0;\n let startPageY = 0;\n let isDragging = false;\n let isAdditive = false;\n let prevKeys: Set<string> = new Set();\n let rafId = 0;\n let lastClientX = 0;\n let lastClientY = 0;\n\n // ── Auto-scroll loop ─────────────────────────────────────────────────────────\n\n function scrollLoop() {\n if (!isDragging) return;\n\n const threshold = p.scrollThreshold;\n const speed = p.scrollSpeed;\n const vw = window.innerWidth;\n const vh = window.innerHeight;\n const cx = lastClientX;\n const cy = lastClientY;\n\n let dx = 0;\n let dy = 0;\n\n if (cx < threshold) dx = -speed * (1 - cx / threshold);\n else if (cx > vw - threshold) dx = speed * (1 - (vw - cx) / threshold);\n\n if (cy < threshold) dy = -speed * (1 - cy / threshold);\n else if (cy > vh - threshold) dy = speed * (1 - (vh - cy) / threshold);\n\n if (dx !== 0 || dy !== 0) {\n window.scrollBy(dx, dy);\n // startPageX/Y KHÔNG thay đổi — nó là điểm neo trong document space\n }\n\n // Cập nhật overlay sau mỗi frame (kể cả khi chỉ scroll mà chuột đứng yên)\n updateOverlay(cx, cy);\n\n rafId = requestAnimationFrame(scrollLoop);\n }\n\n // ── Overlay update ───────────────────────────────────────────────────────────\n\n function updateOverlay(currClientX: number, currClientY: number) {\n // Convert cursor về document coordinates\n const currPageX = currClientX + window.scrollX;\n const currPageY = currClientY + window.scrollY;\n\n // Overlay rect tính trong document space\n const docLeft = Math.min(startPageX, currPageX);\n const docTop = Math.min(startPageY, currPageY);\n const w = Math.abs(currPageX - startPageX);\n const h = Math.abs(currPageY - startPageY);\n\n // Convert sang viewport để render (position: fixed dùng viewport coords)\n setOverlayRect({\n x: docLeft - window.scrollX,\n y: docTop - window.scrollY,\n w,\n h,\n });\n\n // Selection dùng document coordinates\n const hit = computeSelection(startPageX, startPageY, currPageX, currPageY);\n\n let next: Set<string>;\n if (isAdditive) {\n // Toggle per-item: item trong prevKeys bị drag đè → deselect; item mới → select\n next = new Set(prevKeys);\n hit.forEach(k => {\n if (prevKeys.has(k)) next.delete(k);\n else next.add(k);\n });\n } else {\n next = hit;\n }\n setSelectedKeys(next);\n }\n\n // ── Event handlers ───────────────────────────────────────────────────────────\n\n function onMouseDown(e: MouseEvent) {\n if (p.disabled) return;\n // Chỉ xử lý click trái, không xử lý trên scrollbar, input, button, a\n if (e.button !== 0) return;\n const target = e.target as HTMLElement;\n if (target.closest('input, button, a, textarea, select, [data-no-select]')) return;\n\n isDragging = false;\n // Lưu điểm bắt đầu trong document space — bất biến suốt drag\n startPageX = e.clientX + window.scrollX;\n startPageY = e.clientY + window.scrollY;\n lastClientX = e.clientX;\n lastClientY = e.clientY;\n isAdditive = e.shiftKey || e.ctrlKey || e.metaKey;\n prevKeys = isAdditive ? new Set(selectedKeys()) : new Set();\n\n document.addEventListener('mousemove', onMouseMove);\n document.addEventListener('mouseup', onMouseUp);\n }\n\n function onMouseMove(e: MouseEvent) {\n lastClientX = e.clientX;\n lastClientY = e.clientY;\n\n // So sánh trong document space để tránh nhiễu từ scroll\n const dx = (e.clientX + window.scrollX) - startPageX;\n const dy = (e.clientY + window.scrollY) - startPageY;\n\n if (!isDragging) {\n // Chỉ bắt đầu drag khi kéo ít nhất 4px để tránh nhầm với click\n if (Math.abs(dx) < 4 && Math.abs(dy) < 4) return;\n isDragging = true;\n rafId = requestAnimationFrame(scrollLoop);\n }\n\n updateOverlay(e.clientX, e.clientY);\n }\n\n function onMouseUp(e: MouseEvent) {\n document.removeEventListener('mousemove', onMouseMove);\n document.removeEventListener('mouseup', onMouseUp);\n\n cancelAnimationFrame(rafId);\n isDragging = false;\n\n if (overlayRect() !== null) {\n setOverlayRect(null);\n // Thông báo selection cuối cùng\n p.onSelect?.(new Set(selectedKeys()));\n } else {\n // Không drag → click đơn → deselect tất cả (nếu không additive)\n if (!isAdditive) {\n const target = e.target as HTMLElement;\n const item = target.closest('[data-select-key]') as HTMLElement | null;\n if (!item) {\n setSelectedKeys(new Set<string>());\n p.onSelect?.(new Set<string>());\n }\n }\n }\n }\n\n // ── Context value ────────────────────────────────────────────────────────────\n\n const contextValue: SelectZoneContextValue = {\n registerItem(key, el) {\n itemMap.set(key, el);\n },\n unregisterItem(key) {\n itemMap.delete(key);\n },\n isSelected(key) {\n return selectedKeys().has(key);\n },\n };\n\n // ── Đồng bộ controlled value ─────────────────────────────────────────────────\n\n createEffect(function syncControlledValue() {\n const v = p.value;\n if (v !== undefined) setSelectedKeys(new Set(v));\n });\n\n // ── Cleanup khi unmount ──────────────────────────────────────────────────────\n\n createEffect(function mountListeners() {\n rootEl.addEventListener('mousedown', onMouseDown);\n onCleanup(function unmountListeners() {\n rootEl.removeEventListener('mousedown', onMouseDown);\n document.removeEventListener('mousemove', onMouseMove);\n document.removeEventListener('mouseup', onMouseUp);\n cancelAnimationFrame(rafId);\n });\n });\n\n // ── Render ───────────────────────────────────────────────────────────────────\n\n return (\n <SelectZoneContext.Provider value={contextValue}>\n <div ref={rootEl} class={cn('sz01', p.class?.root)}>\n {p.children}\n\n {/* Selection overlay — render qua Portal để tránh ảnh hưởng layout */}\n {overlayRect() && (\n <Portal mount={document.body}>\n <div\n class={cn('sz02', p.class?.overlay)}\n style={{\n left: `${overlayRect()!.x}px`,\n top: `${overlayRect()!.y}px`,\n width: `${overlayRect()!.w}px`,\n height: `${overlayRect()!.h}px`,\n }}\n />\n </Portal>\n )}\n </div>\n </SelectZoneContext.Provider>\n );\n};\n\n// ─── SelectZoneItem ───────────────────────────────────────────────────────────\n\nexport const SelectZoneItem: Component<SelectZoneItemProps> = props => {\n const ctx = useContext(SelectZoneContext);\n if (!ctx) throw new Error('SelectZoneItem must be used inside <SelectZone>');\n\n let el!: HTMLDivElement;\n\n createEffect(function registerOnMount() {\n ctx.registerItem(props.itemKey, el);\n onCleanup(function unregisterOnUnmount() {\n ctx.unregisterItem(props.itemKey);\n });\n });\n\n const isSelected = () => ctx.isSelected(props.itemKey);\n\n return (\n <div ref={el} data-select-key={props.itemKey} class={cn('sz03', props.class)}>\n {props.children(isSelected)}\n </div>\n );\n};\n"],"mappings":"+VAqBMkB,EAAoBjB,GAAuC,CAI3DkB,EAAgB,CACpBC,SAAU,GACVC,gBAAiB,GACjBC,YAAa,GACbC,SAAU,GACX,CAEYC,EAAyCC,GAAS,CAC7D,IAAMC,EAAItB,EAAWe,EAAeM,EAAM,CAGpCE,EAAU,IAAIC,IAGd,CAACC,EAAcC,GAAmB3B,EAA0B,IAAI4B,IAAM,CAGtE,CAACC,EAAaC,GAAkB9B,EAK5B,KAAK,CAEXmC,EASJ,SAASE,EACPC,EACAC,EACAC,EACAC,EACA9B,EACS,CACT,IAAM+B,EAAI/B,EAAGgC,uBAAuB,CAC9BC,EAAUF,EAAEG,KAAOC,OAAOC,QAC1BC,EAASN,EAAEO,IAAMH,OAAOI,QACxBC,EAAWT,EAAEU,MAAQN,OAAOC,QAC5BM,EAAYX,EAAEY,OAASR,OAAOI,QACpC,OAAOC,EAAWb,GAAWM,EAAUJ,GAAYa,EAAYd,GAAUS,EAASP,EAOpF,SAASc,EACPC,EACAC,EACAC,EACAC,EACa,CACb,IAAMrB,EAAUsB,KAAKC,IAAIL,EAAYE,EAAU,CACzCnB,EAASqB,KAAKC,IAAIJ,EAAYE,EAAU,CACxCnB,EAAWoB,KAAKE,IAAIN,EAAYE,EAAU,CAC1CjB,EAAYmB,KAAKE,IAAIL,EAAYE,EAAU,CAE3CI,EAAM,IAAInC,IAMhB,OALAJ,EAAQwC,QAAQ,SAAmBrD,EAAID,EAAK,CACtC2B,EAAWC,EAASC,EAAQC,EAAUC,EAAW9B,EAAG,EACtDoD,EAAIG,IAAIxD,EAAI,EAEd,CACKqD,EAMT,IAAIP,EAAa,EACbC,EAAa,EACbU,EAAa,GACbC,EAAa,GACbC,EAAwB,IAAIzC,IAC5B0C,EAAQ,EACRC,EAAc,EACdC,EAAc,EAIlB,SAASC,GAAa,CACpB,GAAI,CAACN,EAAY,OAEjB,IAAMO,EAAYnD,EAAEL,gBACdyD,EAAQpD,EAAEJ,YACVyD,EAAK9B,OAAO+B,WACZC,EAAKhC,OAAOiC,YACZC,EAAKT,EACLU,EAAKT,EAEPU,EAAK,EACLC,EAAK,EAELH,EAAKN,EAAWQ,EAAK,CAACP,GAAS,EAAIK,EAAKN,GACnCM,EAAKJ,EAAKF,IAAWQ,EAAKP,GAAS,GAAKC,EAAKI,GAAMN,IAExDO,EAAKP,EAAWS,EAAK,CAACR,GAAS,EAAIM,EAAKP,GACnCO,EAAKH,EAAKJ,IAAWS,EAAKR,GAAS,GAAKG,EAAKG,GAAMP,KAExDQ,IAAO,GAAKC,IAAO,IACrBrC,OAAOsC,SAASF,EAAIC,EAAG,CAKzBE,EAAcL,EAAIC,EAAG,CAErBX,EAAQgB,sBAAsBb,EAAW,CAK3C,SAASY,EAAcE,EAAqBC,EAAqB,CAE/D,IAAM9B,EAAY6B,EAAczC,OAAOC,QACjCY,EAAY6B,EAAc1C,OAAOI,QAGjCN,EAAUgB,KAAKC,IAAIL,EAAYE,EAAU,CACzCV,EAASY,KAAKC,IAAIJ,EAAYE,EAAU,CACxC1B,EAAI2B,KAAK6B,IAAI/B,EAAYF,EAAW,CACpCtB,EAAI0B,KAAK6B,IAAI9B,EAAYF,EAAW,CAG1C3B,EAAe,CACbC,EAAGa,EAAUE,OAAOC,QACpBf,EAAGgB,EAASF,OAAOI,QACnBjB,IACAC,IACD,CAAC,CAGF,IAAM6B,EAAMR,EAAiBC,EAAYC,EAAYC,EAAWC,EAAU,CAEtE+B,EACAtB,GAEFsB,EAAO,IAAI9D,IAAIyC,EAAS,CACxBN,EAAIC,QAAQ2B,GAAK,CACXtB,EAASuB,IAAID,EAAE,CAAED,EAAKG,OAAOF,EAAE,CAC9BD,EAAKxB,IAAIyB,EAAE,EAChB,EAEFD,EAAO3B,EAETpC,EAAgB+D,EAAK,CAKvB,SAASI,EAAYC,EAAe,CAC9BxE,EAAEH,UAEF2E,EAAEE,SAAW,IACFF,EAAEG,OACNC,QAAQ,uDAAuD,GAE1EhC,EAAa,GAEbX,EAAauC,EAAEK,QAAUtD,OAAOC,QAChCU,EAAasC,EAAEM,QAAUvD,OAAOI,QAChCqB,EAAcwB,EAAEK,QAChB5B,EAAcuB,EAAEM,QAChBjC,EAAa2B,EAAEO,UAAYP,EAAEQ,SAAWR,EAAES,QAC1CnC,EAAWD,EAAa,IAAIxC,IAAIF,GAAc,CAAC,CAAG,IAAIE,IAEtD6E,SAASC,iBAAiB,YAAaC,EAAY,CACnDF,SAASC,iBAAiB,UAAWE,EAAU,GAGjD,SAASD,EAAYZ,EAAe,CAClCxB,EAAcwB,EAAEK,QAChB5B,EAAcuB,EAAEM,QAGhB,IAAMnB,EAAMa,EAAEK,QAAUtD,OAAOC,QAAWS,EACpC2B,EAAMY,EAAEM,QAAUvD,OAAOI,QAAWO,EAE1C,GAAI,CAACU,EAAY,CAEf,GAAIP,KAAK6B,IAAIP,EAAG,CAAG,GAAKtB,KAAK6B,IAAIN,EAAG,CAAG,EAAG,OAC1ChB,EAAa,GACbG,EAAQgB,sBAAsBb,EAAW,CAG3CY,EAAcU,EAAEK,QAASL,EAAEM,QAAQ,CAGrC,SAASO,EAAUb,EAAe,CAChCU,SAASI,oBAAoB,YAAaF,EAAY,CACtDF,SAASI,oBAAoB,UAAWD,EAAU,CAElDE,qBAAqBxC,EAAM,CAC3BH,EAAa,GAETtC,GAAa,GAAK,KAMfuC,GACY2B,EAAEG,OACGC,QAAQ,oBAAoB,GAE9CxE,EAAgB,IAAIC,IAAc,CAClCL,EAAEwF,WAAW,IAAInF,IAAc,GAVnCE,EAAe,KAAK,CAEpBP,EAAEwF,WAAW,IAAInF,IAAIF,GAAc,CAAC,CAAC,EAiDzC,OAnBA3B,EAAa,UAA+B,CAC1C,IAAMqH,EAAI7F,EAAE8F,MACRD,IAAME,IAAAA,IAAW3F,EAAgB,IAAIC,IAAIwF,EAAE,CAAC,EAChD,CAIFrH,EAAa,UAA0B,CACrCoC,EAAOuE,iBAAiB,YAAaZ,EAAY,CACjD5F,EAAU,UAA4B,CACpCiC,EAAO0E,oBAAoB,YAAaf,EAAY,CACpDW,SAASI,oBAAoB,YAAaF,EAAY,CACtDF,SAASI,oBAAoB,UAAWD,EAAU,CAClDE,qBAAqBxC,EAAM,EAC3B,EACF,CAIFmD,EACG1G,EAAkB2G,SAAQ,CAACL,MAlCe,CAC3C5G,aAAaC,EAAKC,EAAI,CACpBa,EAAQ0F,IAAIxG,EAAKC,EAAG,EAEtBE,eAAeH,EAAK,CAClBc,EAAQqE,OAAOnF,EAAI,EAErBI,WAAWJ,EAAK,CACd,OAAOgB,GAAc,CAACkE,IAAIlF,EAAI,EAEjC,CAwBgD,IAAAiH,UAAA,CAAA,IAAAC,EAAAC,GAAA,CAAAC,EACnC3F,EAAwC,OAAlC,OAAA2F,GAAA,WAAAC,EAAAD,EAAAF,EAAA,CAANzF,EAAMyF,EAAAI,EAAAJ,MACbrG,EAAEoG,SAAQ,KAAA,CAAAK,EAAAJ,OAAA,CAAA,IAAAK,EAAAC,MAAA,CAAA,CAGVrG,GAAa,CAAA,CAAA,UAAboG,GAAA,EAAAR,EACErH,EAAM,CAAA,IAAC+H,OAAK,CAAA,OAAE1B,SAAS2B,MAAI,IAAAT,UAAA,CAAA,IAAAU,EAAAR,GAAA,CAOS,OAPTS,EAAAC,GAAA,CAAA,IAAAC,EAEjBnI,EAAG,OAAQkB,EAAEkH,OAAOC,QAAQ,CAAAC,EAE3B,GAAG9G,GAAa,CAAEE,EAAC,IAAI6G,EACxB,GAAG/G,GAAa,CAAEG,EAAC,IAAI6G,EACrB,GAAGhH,GAAa,CAAEI,EAAC,IAAI6G,EACtB,GAAGjH,GAAa,CAAEK,EAAC,IAAI,OAAAsG,IAAAD,EAAAxC,GAAAgD,EAAAV,EAAAE,EAAAxC,EAAAyC,EAAA,CAAAG,IAAAJ,EAAAS,GAAAC,EAAAZ,EAAA,OAAAE,EAAAS,EAAAL,EAAA,CAAAC,IAAAL,EAAAW,GAAAD,EAAAZ,EAAA,MAAAE,EAAAW,EAAAN,EAAA,CAAAC,IAAAN,EAAAY,GAAAF,EAAAZ,EAAA,QAAAE,EAAAY,EAAAN,EAAA,CAAAC,IAAAP,EAAAa,GAAAH,EAAAZ,EAAA,SAAAE,EAAAa,EAAAN,EAAA,CAAAP,GAAA,CAAAxC,EAAAuB,IAAAA,GAAA0B,EAAA1B,IAAAA,GAAA4B,EAAA5B,IAAAA,GAAA6B,EAAA7B,IAAAA,GAAA8B,EAAA9B,IAAAA,GAAA,CAAA,CAAAe,GAAA,CAItC,IAAA,CAAA,KAAA,CAAAC,MAAAS,EAAAnB,EAhBsBvH,EAAG,OAAQkB,EAAEkH,OAAOY,KAAK,CAAA,CAAA,CAAAzB,GAAA,CAAA,EAwB3C0B,EAAiDhI,GAAS,CACrE,IAAMiI,EAAMpJ,EAAWY,EAAkB,CACzC,GAAI,CAACwI,EAAK,MAAUC,MAAM,kDAAkD,CAE5E,IAAI7I,EAEJZ,EAAa,UAA2B,CACtCwJ,EAAI9I,aAAaa,EAAMoI,QAAS/I,EAAG,CACnCT,EAAU,UAA+B,CACvCqJ,EAAI1I,eAAeS,EAAMoI,QAAQ,EACjC,EACF,CAEF,IAAM5I,MAAmByI,EAAIzI,WAAWQ,EAAMoI,QAAQ,CAEtD,WAAA,CAAA,IAAAE,EAAA/B,GAAA,CAAAgC,EACYlJ,EAAkE,OAAhE,OAAAkJ,GAAA,WAAA9B,EAAA8B,EAAAD,EAAA,CAAFjJ,EAAEiJ,EAAA5B,EAAA4B,MACTtI,EAAMqG,SAAS7G,EAAW,CAAA,CAAAwH,EAAAC,GAAA,CAAA,IAAAuB,EADExI,EAAMoI,QAAOK,EAAS1J,EAAG,OAAQiB,EAAMmH,MAAM,CAAA,OAAAqB,IAAAvB,EAAAxC,GAAAiE,EAAAJ,EAAA,kBAAArB,EAAAxC,EAAA+D,EAAA,CAAAC,IAAAxB,EAAAS,GAAAD,EAAAa,EAAArB,EAAAS,EAAAe,EAAA,CAAAxB,GAAA,CAAAxC,EAAAuB,IAAAA,GAAA0B,EAAA1B,IAAAA,GAAA,CAAA,CAAAsC,KAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skeleton.js","names":["cn","Component","mergeProps","ParentComponent","Show","Switch","LayoutVariant","ShapeVariant","LayoutSkeletonProps","type","variant","enabled","ShapeSkeletonProps","CustomSkeletonProps","class","SkeletonProps","Skeleton","rawProps","p","const","_$createComponent","when","fallback","children","_$memo","_el$","_tmpl$","_$effect","_$className","SkeletonDisplay","SkeletonDisplayProps","ShapeSkeleton","LayoutSkeleton","_tmpl$2","_tmpl$3","_tmpl$4","_tmpl$5","_tmpl$6","_tmpl$7","_tmpl$8","_tmpl$9","_tmpl$0","_tmpl$1","_tmpl$10","_tmpl$11"],"sources":["../../../src/components/skeleton/skeleton.tsx"],"sourcesContent":["import { cn } from '@/utils/cn';\nimport { Component, mergeProps, ParentComponent, Show, Switch } from 'solid-js';\n// No custom CSS needed — uses DaisyUI's built-in .skeleton class\n\n// ─── Type definitions ─────────────────────────────────────────────────────────\n\n/** Layout skeleton: giao diện phức tạp gồm nhiều element */\ntype LayoutVariant =\n | 'cardImage' // Card với ảnh trên + text dưới\n | 'cardHorizontal' // Card nằm ngang: ảnh trái, nội dung phải\n | 'profile' // Avatar tròn + tên + mô tả\n | 'article' // Tiêu đề + đoạn văn nhiều dòng\n | 'feedItem' // Item list: avatar trái + text dọc\n | 'stat'; // Khối thống kê: label + số lớn + sublabel\n\n/** Shape skeleton: hình khối đơn giản với kích thước preset */\ntype ShapeVariant =\n | 'rectangle' // Hình chữ nhật (mặc định w-full)\n | 'square' // Hình vuông (w = h)\n | 'circle' // Hình tròn\n | 'textLine' // Một dòng text\n | 'textParagraph'; // Đoạn text 3–4 dòng\n\ntype LayoutSkeletonProps = {\n type: 'layout';\n variant?: LayoutVariant;\n enabled: boolean;\n};\n\ntype ShapeSkeletonProps = {\n type: 'shape';\n variant?: ShapeVariant;\n enabled: boolean;\n};\n\n/** Custom skeleton: user toàn quyền cấu hình — class áp thẳng lên element skeleton */\ntype CustomSkeletonProps = {\n type: 'custom';\n enabled: boolean;\n class: string; // bắt buộc — định nghĩa hình dạng, kích thước, bo góc\n};\n\nexport type SkeletonProps = LayoutSkeletonProps | ShapeSkeletonProps | CustomSkeletonProps;\n\n// ─── Main component ───────────────────────────────────────────────────────────\n\nexport const Skeleton: ParentComponent<SkeletonProps> = rawProps => {\n const p = mergeProps({ variant: 'card-image' } as const, rawProps);\n\n return (\n <Show when={p.enabled} fallback={p.children}>\n {p.type === 'custom' ? (\n <div class={cn('skeleton', p.class)} />\n ) : (\n <SkeletonDisplay\n type={p.type}\n variant={(p as LayoutSkeletonProps | ShapeSkeletonProps).variant as never}\n />\n )}\n </Show>\n );\n};\n\n// ─── Display switcher ─────────────────────────────────────────────────────────\n\ntype SkeletonDisplayProps = {\n type: 'layout' | 'shape';\n variant: LayoutVariant | ShapeVariant;\n class?: string;\n};\n\nconst SkeletonDisplay: Component<SkeletonDisplayProps> = p => {\n if (p.type === 'shape') {\n return <ShapeSkeleton variant={p.variant as ShapeVariant} />;\n }\n return <LayoutSkeleton variant={p.variant as LayoutVariant} />;\n};\n\n// ─── Layout Skeletons ─────────────────────────────────────────────────────────\n\nconst LayoutSkeleton: Component<{ variant?: LayoutVariant }> = p => {\n switch (p.variant) {\n case 'cardImage':\n return (\n <div class=\"flex flex-col gap-3\">\n <div class=\"skeleton h-40 w-full rounded-lg\" />\n <div class=\"skeleton h-5 w-3/4 rounded\" />\n <div class=\"skeleton h-3.5 w-full rounded\" />\n <div class=\"skeleton h-3.5 w-5/6 rounded\" />\n <div class=\"skeleton h-3.5 w-4/5 rounded\" />\n </div>\n );\n\n case 'cardHorizontal':\n return (\n <div class=\"flex flex-row items-start gap-4\">\n <div class=\"skeleton size-24 shrink-0 rounded-lg\" />\n <div class=\"flex flex-1 flex-col gap-2.5\">\n <div class=\"skeleton h-5 w-2/3 rounded\" />\n <div class=\"skeleton h-3.5 w-full rounded\" />\n <div class=\"skeleton h-3.5 w-4/5 rounded\" />\n <div class=\"skeleton h-3.5 w-3/4 rounded\" />\n </div>\n </div>\n );\n\n case 'profile':\n return (\n <div class=\"flex flex-col items-center gap-3\">\n <div class=\"skeleton size-20 shrink-0 rounded-full\" />\n <div class=\"skeleton h-5 w-36 rounded\" />\n <div class=\"skeleton h-3.5 w-48 rounded\" />\n <div class=\"skeleton h-3.5 w-40 rounded\" />\n </div>\n );\n\n case 'article':\n return (\n <div class=\"flex flex-col gap-3\">\n <div class=\"skeleton h-7 w-3/4 rounded\" />\n <div class=\"skeleton h-4 w-1/3 rounded\" />\n <div class=\"mt-1 flex flex-col gap-2\">\n <div class=\"skeleton h-3.5 w-full rounded\" />\n <div class=\"skeleton h-3.5 w-full rounded\" />\n <div class=\"skeleton h-3.5 w-11/12 rounded\" />\n <div class=\"skeleton h-3.5 w-full rounded\" />\n <div class=\"skeleton h-3.5 w-4/5 rounded\" />\n </div>\n </div>\n );\n\n case 'feedItem':\n return (\n <div class=\"flex flex-row items-start gap-3\">\n <div class=\"skeleton size-10 shrink-0 rounded-full\" />\n <div class=\"flex flex-1 flex-col gap-2\">\n <div class=\"skeleton h-4 w-1/3 rounded\" />\n <div class=\"skeleton h-3.5 w-full rounded\" />\n <div class=\"skeleton h-3.5 w-5/6 rounded\" />\n </div>\n </div>\n );\n\n case 'stat':\n return (\n <div class=\"flex flex-col gap-2\">\n <div class=\"skeleton h-3.5 w-24 rounded\" />\n <div class=\"skeleton h-9 w-32 rounded\" />\n <div class=\"skeleton h-3 w-20 rounded\" />\n </div>\n );\n\n default:\n return (\n <div class=\"flex flex-col gap-3\">\n <div class=\"skeleton h-40 w-full rounded-lg\" />\n <div class=\"skeleton h-5 w-3/4 rounded\" />\n <div class=\"skeleton h-3.5 w-full rounded\" />\n </div>\n );\n }\n};\n\n// ─── Shape Skeletons ──────────────────────────────────────────────────────────\n\nconst ShapeSkeleton: Component<{ variant?: ShapeVariant }> = p => {\n switch (p.variant) {\n case 'rectangle':\n return <div class=\"skeleton h-32 w-full rounded-lg\" />;\n\n case 'square':\n return <div class=\"skeleton size-32 rounded-lg\" />;\n\n case 'circle':\n return <div class=\"skeleton size-16 rounded-full\" />;\n\n case 'textLine':\n return <div class=\"skeleton h-4 w-full rounded\" />;\n\n case 'textParagraph':\n return (\n <div class=\"flex flex-col gap-2\">\n <div class=\"skeleton h-4 w-full rounded\" />\n <div class=\"skeleton h-4 w-11/12 rounded\" />\n <div class=\"skeleton h-4 w-4/5 rounded\" />\n <div class=\"skeleton h-4 w-5/6 rounded\" />\n </div>\n );\n\n default:\n return <div class=\"skeleton h-32 w-full rounded-lg\" />;\n }\n};\n"],"mappings":"u+EA8CagB,EAA2CC,GAAY,CAClE,IAAMC,EAAIhB,EAAW,CAAEQ,QAAS,aAAc,CAAWO,EAAS,CAElE,OAAAG,EACGhB,EAAI,CAAA,IAACiB,MAAI,CAAA,OAAEH,EAAEP,SAAO,IAAEW,UAAQ,CAAA,OAAEJ,EAAEK,UAAQ,IAAAA,UAAA,CAAA,OACxCC,MAAAN,EAAET,OAAS,SAAQ,EAAA,MAAA,CAAA,IAAAgB,EAAAC,GAAA,CACiB,OADjBC,MAAAC,EAAAH,EACNzB,EAAG,WAAYkB,EAAEJ,MAAM,CAAA,CAAA,CAAAW,KAAA,CAAAL,EAElCS,EAAe,CAAA,IACdpB,MAAI,CAAA,OAAES,EAAET,MAAI,IACZC,SAAO,CAAA,OAAGQ,EAA+CR,SAAgB,CAE5E,EAAA,CAAA,EAaDmB,EAAmDX,GACnDA,EAAET,OAAS,QACbW,EAAQW,EAAa,CAAA,IAACrB,SAAO,CAAA,OAAEQ,EAAER,SAAuB,CAAA,CAE1DU,EAAQY,EAAc,CAAA,IAACtB,SAAO,CAAA,OAAEQ,EAAER,SAAwB,CAAA,CAKtDsB,EAAyDd,GAAK,CAClE,OAAQA,EAAER,QAAV,CACE,IAAK,YACH,OAAAuB,GAAA,CAUF,IAAK,iBACH,OAAAC,GAAA,CAYF,IAAK,UACH,OAAAC,GAAA,CASF,IAAK,UACH,OAAAC,GAAA,CAcF,IAAK,WACH,OAAAC,GAAA,CAWF,IAAK,OACH,OAAAC,GAAA,CAQF,QACE,OAAAC,GAAA,GAYAR,EAAuDb,GAAK,CAChE,OAAQA,EAAER,QAAV,CACE,IAAK,YACH,OAAA8B,GAAA,CAEF,IAAK,SACH,OAAAC,GAAA,CAEF,IAAK,SACH,OAAAC,GAAA,CAEF,IAAK,WACH,OAAAC,GAAA,CAEF,IAAK,gBACH,OAAAC,GAAA,CASF,QACE,OAAAJ,GAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slider.js","names":["cn","getColor","Component","createEffect","createMemo","createSignal","For","mergeProps","on","Show","ParentComponent","SliderProps","SliderTooltipProps","SliderTooltipInternalProps","content","open","SliderTooltip","p","_el$","_tmpl$","_$insert","children","_$effect","_p$","_v$","position","color","class","_v$2","e","_$className","t","_$setAttribute","undefined","DEFAULT_PROPS","Partial","min","max","step","disabled","reverse","orientation","dots","included","tooltip","hidden","Slider","activeThumb","setActiveThumb","hoveredThumb","setHoveredThumb","railRef","HTMLDivElement","isRange","range","getInitialValue","value","defaultValue","internalValue","setInternalValue","newValue","currentValue","valuesArray","val","Array","isArray","valueToPercent","percent","percentToValue","actualPercent","Math","round","marks","markValues","Object","keys","map","Number","push","reduce","prev","curr","abs","getPositionFromEvent","event","MouseEvent","TouchEvent","rect","getBoundingClientRect","isVertical","clientPos","touches","clientY","clientX","bottom","height","left","width","updateValue","thumbIndex","finalValue","current","newValues","onChange","handleThumbMouseDown","preventDefault","stopPropagation","handleMove","handleEnd","document","removeEventListener","addEventListener","handleRailClick","clickedValue","v0","v1","dist0","dist1","closestThumb","marksList","entries","key","numKey","markData","label","style","dotsList","v","isInRange","trackStyle","start","length","p0","p1","thumbPositions","formatTooltip","formatter","String","shouldShowTooltip","forceOpen","getTooltipProps","rest","_el$2","_tmpl$4","_el$3","firstChild","_el$7","$$click","_ref$","_$use","_$createComponent","when","_el$4","_v$3","track","_v$4","_$style","each","dot","_el$9","_v$19","_v$20","mark","_el$0","_v$21","_v$22","_el$1","_tmpl$5","_v$23","markText","_v$24","_el$5","_tmpl$3","fallback","_el$10","_tmpl$2","$$touchstart","$$mousedown","_v$25","handle","_v$26","_v$27","_v$28","_v$29","_v$30","a","o","i","n","_$mergeProps","_el$6","_v$5","_v$6","_v$7","_v$8","_v$9","_v$0","_$p","_el$11","_v$31","_v$32","_v$33","_v$34","_v$35","_v$36","_el$8","_v$1","_v$10","_v$11","_v$12","_v$13","_v$14","_v$15","root","_v$16","_v$17","rail","_v$18","_$delegateEvents"],"sources":["../../../src/components/slider/slider.tsx"],"sourcesContent":["import { cn } from '@/utils/cn';\nimport { getColor } from '@/utils/helper';\nimport {\n Component,\n createEffect,\n createMemo,\n createSignal,\n For,\n mergeProps,\n on,\n Show,\n type ParentComponent,\n} from 'solid-js';\nimport type { SliderProps, SliderTooltipProps } from './slider.types';\n\ntype SliderTooltipInternalProps = SliderTooltipProps & {\n content: string;\n open: boolean;\n};\n\nconst SliderTooltip: ParentComponent<SliderTooltipInternalProps> = p => (\n <div\n class={cn(\n 'tooltip',\n p.position === 'bottom' && 'tooltip-bottom',\n p.position === 'left' && 'tooltip-left',\n p.position === 'right' && 'tooltip-right',\n p.color && `tooltip-${p.color}`,\n p.open && 'tooltip-open',\n p.class,\n )}\n data-tip={p.content}\n >\n {p.children}\n </div>\n);\n\nconst DEFAULT_PROPS: Partial<SliderProps> = {\n color: 'primary',\n min: 0,\n max: 100,\n step: 1,\n disabled: false,\n reverse: false,\n orientation: 'horizontal',\n dots: false,\n included: true,\n tooltip: {\n hidden: false,\n },\n};\n\nexport const Slider: Component<SliderProps> = p => {\n p = mergeProps(DEFAULT_PROPS, p);\n\n // Internal state\n const [activeThumb, setActiveThumb] = createSignal<0 | 1 | null>(null);\n const [hoveredThumb, setHoveredThumb] = createSignal<0 | 1 | null>(null);\n\n // Refs\n let railRef: HTMLDivElement | undefined;\n\n // Determine if range mode\n const isRange = createMemo(() => p.range === true);\n\n // Internal value state (for uncontrolled mode)\n const getInitialValue = (): number | [number, number] => {\n if (p.value !== undefined) return p.value;\n if (p.defaultValue !== undefined) return p.defaultValue;\n return isRange() ? ([p.min!, p.max!] as [number, number]) : p.min!;\n };\n\n const [internalValue, setInternalValue] = createSignal<number | [number, number]>(\n getInitialValue(),\n );\n\n // Sync with controlled value\n createEffect(\n on(\n () => p.value,\n newValue => {\n if (newValue !== undefined) {\n setInternalValue(newValue);\n }\n },\n ),\n );\n\n // Current value getter\n const currentValue = createMemo(() => {\n return p.value !== undefined ? p.value : internalValue();\n });\n\n // Get values as array for easy handling\n const valuesArray = createMemo<[number, number]>(() => {\n const val = currentValue();\n if (Array.isArray(val)) {\n return val as [number, number];\n }\n return [p.min!, val] as [number, number];\n });\n\n // Calculate percentage from value\n const valueToPercent = (value: number): number => {\n const { min, max } = p;\n const percent = ((value - min!) / (max! - min!)) * 100;\n return p.reverse ? 100 - percent : percent;\n };\n\n // Calculate value from percentage\n const percentToValue = (percent: number): number => {\n const { min, max, step } = p;\n const actualPercent = p.reverse ? 100 - percent : percent;\n let value = min! + (actualPercent / 100) * (max! - min!);\n\n // Snap to step if defined\n if (step !== null && step !== undefined) {\n value = Math.round(value / step) * step;\n }\n\n // Snap to marks if step is null\n if (step === null && p.marks) {\n const markValues = Object.keys(p.marks).map(Number);\n markValues.push(min!, max!);\n value = markValues.reduce((prev, curr) =>\n Math.abs(curr - value) < Math.abs(prev - value) ? curr : prev,\n );\n }\n\n return Math.max(min!, Math.min(max!, value));\n };\n\n // Get position from mouse/touch event\n const getPositionFromEvent = (event: MouseEvent | TouchEvent): number => {\n if (!railRef) return 0;\n\n const rect = railRef.getBoundingClientRect();\n const isVertical = p.orientation === 'vertical';\n\n let clientPos: number;\n if ('touches' in event) {\n clientPos = isVertical ? event.touches[0].clientY : event.touches[0].clientX;\n } else {\n clientPos = isVertical ? event.clientY : event.clientX;\n }\n\n let percent: number;\n if (isVertical) {\n percent = ((rect.bottom - clientPos) / rect.height) * 100;\n } else {\n percent = ((clientPos - rect.left) / rect.width) * 100;\n }\n\n return Math.max(0, Math.min(100, percent));\n };\n\n // Update value\n const updateValue = (newValue: number, thumbIndex: 0 | 1) => {\n let finalValue: number | [number, number];\n\n if (isRange()) {\n const current = valuesArray();\n const newValues: [number, number] = [...current];\n newValues[thumbIndex] = newValue;\n\n // Ensure min <= max for range\n if (thumbIndex === 0 && newValue > newValues[1]) {\n newValues[0] = newValues[1];\n } else if (thumbIndex === 1 && newValue < newValues[0]) {\n newValues[1] = newValues[0];\n }\n\n finalValue = newValues;\n } else {\n finalValue = newValue;\n }\n\n // Update internal state (for uncontrolled mode)\n if (p.value === undefined) {\n setInternalValue(finalValue);\n }\n\n // Call onChange callback\n p.onChange?.(finalValue);\n };\n\n // Handle mouse/touch start on thumb\n const handleThumbMouseDown = (event: MouseEvent | TouchEvent, thumbIndex: 0 | 1) => {\n if (p.disabled) return;\n event.preventDefault();\n event.stopPropagation();\n\n setActiveThumb(thumbIndex);\n\n const handleMove = (e: MouseEvent | TouchEvent) => {\n const percent = getPositionFromEvent(e);\n const value = percentToValue(percent);\n updateValue(value, thumbIndex);\n };\n\n const handleEnd = () => {\n setActiveThumb(null);\n document.removeEventListener('mousemove', handleMove);\n document.removeEventListener('mouseup', handleEnd);\n document.removeEventListener('touchmove', handleMove);\n document.removeEventListener('touchend', handleEnd);\n };\n\n document.addEventListener('mousemove', handleMove);\n document.addEventListener('mouseup', handleEnd);\n document.addEventListener('touchmove', handleMove);\n document.addEventListener('touchend', handleEnd);\n };\n\n // Handle click on rail\n const handleRailClick = (event: MouseEvent) => {\n if (p.disabled) return;\n\n const percent = getPositionFromEvent(event);\n const clickedValue = percentToValue(percent);\n\n if (isRange()) {\n // Find closest thumb\n const [v0, v1] = valuesArray();\n const dist0 = Math.abs(clickedValue - v0);\n const dist1 = Math.abs(clickedValue - v1);\n const closestThumb: 0 | 1 = dist0 <= dist1 ? 0 : 1;\n updateValue(clickedValue, closestThumb);\n } else {\n updateValue(clickedValue, 1);\n }\n };\n\n // Calculate marks\n const marksList = createMemo(() => {\n if (!p.marks) return [];\n return Object.entries(p.marks).map(([key, value]) => {\n const numKey = Number(key);\n const percent = valueToPercent(numKey);\n const markData = typeof value === 'string' ? { label: value, style: undefined } : value;\n return {\n value: numKey,\n percent,\n ...markData,\n };\n });\n });\n\n // Calculate dots\n const dotsList = createMemo(() => {\n if (!p.dots) return [];\n const { min, max, step } = p;\n if (!step || step <= 0) return [];\n\n const dots: { value: number; percent: number }[] = [];\n for (let v = min!; v <= max!; v += step) {\n dots.push({\n value: v,\n percent: valueToPercent(v),\n });\n }\n return dots;\n });\n\n // Check if value is in range (for included styling)\n const isInRange = (value: number): boolean => {\n if (!p.included) return false;\n const [v0, v1] = valuesArray();\n if (isRange()) {\n return value >= v0 && value <= v1;\n }\n return value >= p.min! && value <= v1;\n };\n\n // Track styles\n const trackStyle = createMemo(() => {\n const [v0, v1] = valuesArray();\n const isVertical = p.orientation === 'vertical';\n\n let start: number, length: number;\n\n if (isRange()) {\n const p0 = valueToPercent(v0);\n const p1 = valueToPercent(v1);\n start = Math.min(p0, p1);\n length = Math.abs(p1 - p0);\n } else {\n if (p.reverse) {\n const p1 = valueToPercent(v1);\n start = p1;\n length = 100 - p1;\n } else {\n start = 0;\n length = valueToPercent(v1);\n }\n }\n\n if (isVertical) {\n return { bottom: `${start}%`, height: `${length}%` };\n }\n return { left: `${start}%`, width: `${length}%` };\n });\n\n // Thumb positions\n const thumbPositions = createMemo(() => {\n const [v0, v1] = valuesArray();\n const isVertical = p.orientation === 'vertical';\n\n const p0 = valueToPercent(v0);\n const p1 = valueToPercent(v1);\n\n if (isVertical) {\n return [{ bottom: `${p0}%` }, { bottom: `${p1}%` }];\n }\n return [{ left: `${p0}%` }, { left: `${p1}%` }];\n });\n\n // Tooltip formatter\n const formatTooltip = (value: number): string => {\n if (p.tooltip?.formatter === null) return '';\n if (typeof p.tooltip?.formatter === 'function') {\n return String(p.tooltip.formatter(value));\n }\n return String(value);\n };\n\n // Should show tooltip\n const shouldShowTooltip = (thumbIndex: 0 | 1): boolean => {\n if (p.tooltip?.forceOpen === false) return false;\n if (p.tooltip?.forceOpen === true) return true;\n return activeThumb() === thumbIndex || hoveredThumb() === thumbIndex;\n };\n\n // Get tooltip props excluding internal ones\n const getTooltipProps = () => {\n if (!p.tooltip) return {};\n const { forceOpen, formatter, hidden, ...rest } = p.tooltip;\n return rest;\n };\n\n const isVertical = () => p.orientation === 'vertical';\n\n return (\n <div\n class={cn(\n 'sli01',\n getColor(p.color!),\n isVertical() && 'sli02',\n p.disabled && 'sli03',\n p.class?.root,\n )}\n data-disabled={p.disabled || undefined}\n >\n {/* Rail */}\n <div ref={railRef} class={cn('sli04', p.class?.rail)} onClick={handleRailClick}>\n {/* Track */}\n <Show when={p.included !== false}>\n <div class={cn('sli05', p.class?.track)} style={trackStyle()} />\n </Show>\n\n {/* Dots */}\n <For each={dotsList()}>\n {dot => (\n <div\n class={cn('sli09', isInRange(dot.value) && 'sli10', p.class?.dot)}\n style={isVertical() ? { bottom: `${dot.percent}%` } : { left: `${dot.percent}%` }}\n />\n )}\n </For>\n\n {/* Marks */}\n <For each={marksList()}>\n {mark => (\n <>\n <div\n class={cn('sli11', isInRange(mark.value) && 'sli12', p.class?.mark)}\n style={isVertical() ? { bottom: `${mark.percent}%` } : { left: `${mark.percent}%` }}\n />\n <span\n class={cn('sli13', isInRange(mark.value) && 'sli14', p.class?.markText)}\n style={{\n ...(isVertical() ? { bottom: `${mark.percent}%` } : { left: `${mark.percent}%` }),\n ...mark.style,\n }}\n >\n {mark.label}\n </span>\n </>\n )}\n </For>\n\n {/* Thumbs */}\n <Show when={isRange()}>\n <div class=\"sli06\" style={thumbPositions()[0]}>\n <Show\n when={!p.tooltip?.hidden}\n fallback={\n <div\n class={cn('sli07', activeThumb() === 0 && 'sli08', p.class?.handle)}\n tabIndex={p.disabled ? -1 : 0}\n role=\"slider\"\n aria-valuemin={p.min}\n aria-valuemax={p.max}\n aria-valuenow={valuesArray()[0]}\n aria-disabled={p.disabled}\n onMouseDown={e => handleThumbMouseDown(e, 0)}\n onTouchStart={e => handleThumbMouseDown(e, 0)}\n onMouseEnter={() => setHoveredThumb(0)}\n onMouseLeave={() => setHoveredThumb(null)}\n onFocus={() => setHoveredThumb(0)}\n onBlur={() => setHoveredThumb(null)}\n />\n }\n >\n <SliderTooltip\n content={formatTooltip(valuesArray()[0])}\n open={shouldShowTooltip(0)}\n position={isVertical() ? 'right' : 'top'}\n {...getTooltipProps()}\n >\n <div\n class={cn('sli07', activeThumb() === 0 && 'sli08', p.class?.handle)}\n tabIndex={p.disabled ? -1 : 0}\n role=\"slider\"\n aria-valuemin={p.min}\n aria-valuemax={p.max}\n aria-valuenow={valuesArray()[0]}\n aria-disabled={p.disabled}\n onMouseDown={e => handleThumbMouseDown(e, 0)}\n onTouchStart={e => handleThumbMouseDown(e, 0)}\n onMouseEnter={() => setHoveredThumb(0)}\n onMouseLeave={() => setHoveredThumb(null)}\n onFocus={() => setHoveredThumb(0)}\n onBlur={() => setHoveredThumb(null)}\n />\n </SliderTooltip>\n </Show>\n </div>\n </Show>\n\n <div class=\"sli06\" style={thumbPositions()[1]}>\n <Show\n when={!p.tooltip?.hidden}\n fallback={\n <div\n class={cn('sli07', activeThumb() === 1 && 'sli08', p.class?.handle)}\n tabIndex={p.disabled ? -1 : 0}\n role=\"slider\"\n aria-valuemin={p.min}\n aria-valuemax={p.max}\n aria-valuenow={valuesArray()[1]}\n aria-disabled={p.disabled}\n onMouseDown={e => handleThumbMouseDown(e, 1)}\n onTouchStart={e => handleThumbMouseDown(e, 1)}\n onMouseEnter={() => setHoveredThumb(1)}\n onMouseLeave={() => setHoveredThumb(null)}\n onFocus={() => setHoveredThumb(1)}\n onBlur={() => setHoveredThumb(null)}\n />\n }\n >\n <SliderTooltip\n content={formatTooltip(valuesArray()[1])}\n open={shouldShowTooltip(1)}\n position={isVertical() ? 'right' : 'top'}\n {...getTooltipProps()}\n >\n <div\n class={cn('sli07', activeThumb() === 1 && 'sli08', p.class?.handle)}\n tabIndex={p.disabled ? -1 : 0}\n role=\"slider\"\n aria-valuemin={p.min}\n aria-valuemax={p.max}\n aria-valuenow={valuesArray()[1]}\n aria-disabled={p.disabled}\n onMouseDown={e => handleThumbMouseDown(e, 1)}\n onTouchStart={e => handleThumbMouseDown(e, 1)}\n onMouseEnter={() => setHoveredThumb(1)}\n onMouseLeave={() => setHoveredThumb(null)}\n onFocus={() => setHoveredThumb(1)}\n onBlur={() => setHoveredThumb(null)}\n />\n </SliderTooltip>\n </Show>\n </div>\n </div>\n </div>\n );\n};\n"],"mappings":"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"}