create-pixi-vn 2.0.15 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1231) hide show
  1. package/dist/index.mjs +46 -46
  2. package/package.json +1 -1
  3. package/template-lib/.vscode/extensions.json +6 -7
  4. package/template-lib/.vscode/settings.json +31 -29
  5. package/template-lib/_github/workflows/npm-publish.yml +60 -6
  6. package/template-lib/biome.json +71 -0
  7. package/template-lib/package.json +18 -9
  8. package/template-lib/playground/index.html +12 -0
  9. package/template-lib/playground/package.json +18 -0
  10. package/template-lib/playground/src/App.tsx +3 -0
  11. package/template-lib/playground/src/main.tsx +33 -0
  12. package/template-lib/playground/tsconfig.json +22 -0
  13. package/template-lib/playground/vite.config.ts +14 -0
  14. package/template-lib/tests/setup.ts +3 -0
  15. package/template-lib/tests/start.test.ts +5 -0
  16. package/template-lib/tests/tsconfig.json +7 -0
  17. package/template-lib/tsconfig.json +18 -105
  18. package/template-lib/tsup.config.ts +26 -21
  19. package/template-lib/typedoc.json +8 -0
  20. package/template-lib/vitest.config.ts +2 -2
  21. package/template-nqtr-react-vite-muijoy/.assetpack.ts +18 -0
  22. package/template-nqtr-react-vite-muijoy/.vscode/extensions.json +8 -9
  23. package/template-nqtr-react-vite-muijoy/.vscode/launch.json +29 -15
  24. package/template-nqtr-react-vite-muijoy/.vscode/settings.json +58 -63
  25. package/template-nqtr-react-vite-muijoy/.vscode/tasks.json +106 -0
  26. package/template-nqtr-react-vite-muijoy/README.md +2 -113
  27. package/template-nqtr-react-vite-muijoy/_gitignore +2 -1
  28. package/template-nqtr-react-vite-muijoy/biome.json +70 -0
  29. package/template-nqtr-react-vite-muijoy/components.json +25 -0
  30. package/template-nqtr-react-vite-muijoy/index.html +3 -2
  31. package/template-nqtr-react-vite-muijoy/package-lock.json +18181 -0
  32. package/template-nqtr-react-vite-muijoy/package.json +60 -43
  33. package/template-nqtr-react-vite-muijoy/public/apple-touch-icon-180x180.png +0 -0
  34. package/template-nqtr-react-vite-muijoy/public/favicon.ico +0 -0
  35. package/template-nqtr-react-vite-muijoy/public/icon.png +0 -0
  36. package/template-nqtr-react-vite-muijoy/public/maskable-icon-512x512.png +0 -0
  37. package/template-nqtr-react-vite-muijoy/public/pwa-192x192.png +0 -0
  38. package/template-nqtr-react-vite-muijoy/public/pwa-512x512.png +0 -0
  39. package/template-nqtr-react-vite-muijoy/public/pwa-64x64.png +0 -0
  40. package/template-nqtr-react-vite-muijoy/pwa-assets.config.js +6 -0
  41. package/template-nqtr-react-vite-muijoy/src/App.tsx +25 -77
  42. package/template-nqtr-react-vite-muijoy/src/assets/index.ts +222 -0
  43. package/template-nqtr-react-vite-muijoy/src/assets/ink-manifest.gen.json +1 -0
  44. package/template-nqtr-react-vite-muijoy/src/assets/manifest.gen.json +8 -0
  45. package/template-nqtr-react-vite-muijoy/src/components/dev-devtools.tsx +25 -0
  46. package/template-nqtr-react-vite-muijoy/src/components/loading.tsx +31 -0
  47. package/template-nqtr-react-vite-muijoy/src/components/menus/choice-menus.tsx +47 -0
  48. package/template-nqtr-react-vite-muijoy/src/components/menus/main-menu.tsx +289 -0
  49. package/template-nqtr-react-vite-muijoy/src/components/menus/memo-menu.tsx +163 -0
  50. package/template-nqtr-react-vite-muijoy/src/components/menus/save-menu/index.tsx +94 -0
  51. package/template-nqtr-react-vite-muijoy/src/components/menus/save-menu/save-forms.tsx +27 -0
  52. package/template-nqtr-react-vite-muijoy/src/components/menus/save-menu/save-slots.tsx +122 -0
  53. package/template-nqtr-react-vite-muijoy/src/components/menus/settings/about.tsx +33 -0
  54. package/template-nqtr-react-vite-muijoy/src/components/menus/settings/dialogues-controls.tsx +105 -0
  55. package/template-nqtr-react-vite-muijoy/src/components/menus/settings/index.tsx +222 -0
  56. package/template-nqtr-react-vite-muijoy/src/components/menus/settings/menus/controls.tsx +115 -0
  57. package/template-nqtr-react-vite-muijoy/src/components/menus/settings/menus/history.tsx +164 -0
  58. package/template-nqtr-react-vite-muijoy/src/components/menus/settings/menus/save-load.tsx +66 -0
  59. package/template-nqtr-react-vite-muijoy/src/components/menus/settings/quick-menus.tsx +126 -0
  60. package/template-nqtr-react-vite-muijoy/src/components/menus/settings/sound-controls.tsx +114 -0
  61. package/template-nqtr-react-vite-muijoy/src/components/menus/settings/system-controls.tsx +225 -0
  62. package/template-nqtr-react-vite-muijoy/src/components/modals/error-allerts.tsx +42 -0
  63. package/template-nqtr-react-vite-muijoy/src/components/modals/input-request-dialogues.tsx +82 -0
  64. package/template-nqtr-react-vite-muijoy/src/components/modals/quick-actions-wheel.tsx +264 -0
  65. package/template-nqtr-react-vite-muijoy/src/components/providers/alert-dialog-provider.tsx +137 -0
  66. package/template-nqtr-react-vite-muijoy/src/components/providers/root-provider.tsx +37 -0
  67. package/template-nqtr-react-vite-muijoy/src/components/providers/theme-provider.tsx +71 -0
  68. package/template-nqtr-react-vite-muijoy/src/components/quick-tools.tsx +159 -0
  69. package/template-nqtr-react-vite-muijoy/src/components/screens/map.tsx +87 -0
  70. package/template-nqtr-react-vite-muijoy/src/components/screens/narration/click-overlay.tsx +15 -0
  71. package/template-nqtr-react-vite-muijoy/src/components/screens/narration/index.tsx +33 -0
  72. package/template-nqtr-react-vite-muijoy/src/components/screens/narration/narration-cards.tsx +156 -0
  73. package/template-nqtr-react-vite-muijoy/src/components/screens/navigation/activity-buttons.tsx +135 -0
  74. package/template-nqtr-react-vite-muijoy/src/components/screens/navigation/index.tsx +30 -0
  75. package/template-nqtr-react-vite-muijoy/src/components/screens/navigation/quick-activities.tsx +24 -0
  76. package/template-nqtr-react-vite-muijoy/src/components/screens/navigation/quick-rooms.tsx +122 -0
  77. package/template-nqtr-react-vite-muijoy/src/components/screens/navigation/time.tsx +54 -0
  78. package/template-nqtr-react-vite-muijoy/src/components/screens/navigation/tools.tsx +102 -0
  79. package/template-nqtr-react-vite-muijoy/src/components/ui/alert-dialog.tsx +160 -0
  80. package/template-nqtr-react-vite-muijoy/src/components/ui/aspect-ratio.tsx +22 -0
  81. package/template-nqtr-react-vite-muijoy/src/components/ui/avatar.tsx +91 -0
  82. package/template-nqtr-react-vite-muijoy/src/components/ui/breadcrumb.tsx +103 -0
  83. package/template-nqtr-react-vite-muijoy/src/components/ui/button-group.tsx +78 -0
  84. package/template-nqtr-react-vite-muijoy/src/components/ui/button.tsx +57 -0
  85. package/template-nqtr-react-vite-muijoy/src/components/ui/card.tsx +91 -0
  86. package/template-nqtr-react-vite-muijoy/src/components/ui/carousel.tsx +235 -0
  87. package/template-nqtr-react-vite-muijoy/src/components/ui/dialog.tsx +148 -0
  88. package/template-nqtr-react-vite-muijoy/src/components/ui/drawer.tsx +120 -0
  89. package/template-nqtr-react-vite-muijoy/src/components/ui/field.tsx +229 -0
  90. package/template-nqtr-react-vite-muijoy/src/components/ui/fullscreen-dialog.tsx +70 -0
  91. package/template-nqtr-react-vite-muijoy/src/components/ui/image.tsx +20 -0
  92. package/template-nqtr-react-vite-muijoy/src/components/ui/input-group.tsx +145 -0
  93. package/template-nqtr-react-vite-muijoy/src/components/ui/input.tsx +20 -0
  94. package/template-nqtr-react-vite-muijoy/src/components/ui/item.tsx +191 -0
  95. package/template-nqtr-react-vite-muijoy/src/components/ui/kbd.tsx +26 -0
  96. package/template-nqtr-react-vite-muijoy/src/components/ui/label.tsx +18 -0
  97. package/template-nqtr-react-vite-muijoy/src/components/ui/pagination.tsx +118 -0
  98. package/template-nqtr-react-vite-muijoy/src/components/ui/radio-group.tsx +38 -0
  99. package/template-nqtr-react-vite-muijoy/src/components/ui/resizable.tsx +40 -0
  100. package/template-nqtr-react-vite-muijoy/src/components/ui/scroll-area.tsx +51 -0
  101. package/template-nqtr-react-vite-muijoy/src/components/ui/select.tsx +190 -0
  102. package/template-nqtr-react-vite-muijoy/src/components/ui/separator.tsx +21 -0
  103. package/template-nqtr-react-vite-muijoy/src/components/ui/skeleton.tsx +13 -0
  104. package/template-nqtr-react-vite-muijoy/src/components/ui/slider.tsx +52 -0
  105. package/template-nqtr-react-vite-muijoy/src/components/ui/sonner.tsx +43 -0
  106. package/template-nqtr-react-vite-muijoy/src/components/ui/spinner.tsx +16 -0
  107. package/template-nqtr-react-vite-muijoy/src/components/ui/switch.tsx +32 -0
  108. package/template-nqtr-react-vite-muijoy/src/components/ui/textarea.tsx +18 -0
  109. package/template-nqtr-react-vite-muijoy/src/components/ui/toggle.tsx +43 -0
  110. package/template-nqtr-react-vite-muijoy/src/components/ui/tooltip.tsx +54 -0
  111. package/template-nqtr-react-vite-muijoy/src/constants.ts +17 -0
  112. package/template-nqtr-react-vite-muijoy/src/content/activities.tsx +77 -0
  113. package/template-nqtr-react-vite-muijoy/src/content/characters.ts +15 -0
  114. package/template-nqtr-react-vite-muijoy/src/content/index.ts +4 -0
  115. package/template-nqtr-react-vite-muijoy/src/content/labels/sleep.label.ts +60 -0
  116. package/template-nqtr-react-vite-muijoy/src/content/labels/start.label.ts +12 -0
  117. package/template-nqtr-react-vite-muijoy/src/content/labels/various.label.ts +151 -0
  118. package/template-nqtr-react-vite-muijoy/src/content/locations.tsx +59 -0
  119. package/template-nqtr-react-vite-muijoy/src/content/maps.tsx +26 -0
  120. package/template-nqtr-react-vite-muijoy/src/content/quests/alice.quest.tsx +54 -0
  121. package/template-nqtr-react-vite-muijoy/src/content/rooms.tsx +80 -0
  122. package/template-nqtr-react-vite-muijoy/src/content/routine.tsx +86 -0
  123. package/template-nqtr-react-vite-muijoy/src/content/time-data.ts +35 -0
  124. package/template-nqtr-react-vite-muijoy/src/lib/hooks/hotkeys-hooks.ts +530 -0
  125. package/template-nqtr-react-vite-muijoy/src/lib/hooks/image-hooks.ts +15 -0
  126. package/template-nqtr-react-vite-muijoy/src/lib/hooks/language-settings-hooks.ts +61 -0
  127. package/template-nqtr-react-vite-muijoy/src/lib/hooks/minigame-hooks.ts +55 -0
  128. package/template-nqtr-react-vite-muijoy/src/lib/hooks/narration-hooks.ts +255 -0
  129. package/template-nqtr-react-vite-muijoy/src/lib/hooks/navigation-hooks.ts +112 -0
  130. package/template-nqtr-react-vite-muijoy/src/lib/hooks/network-hooks.ts +34 -0
  131. package/template-nqtr-react-vite-muijoy/src/lib/hooks/nqtr-hooks.ts +121 -0
  132. package/template-nqtr-react-vite-muijoy/src/lib/hooks/pause-game-hooks.ts +53 -0
  133. package/template-nqtr-react-vite-muijoy/src/lib/hooks/props-hooks.ts +30 -0
  134. package/template-nqtr-react-vite-muijoy/src/lib/hooks/quick-tools-hooks.ts +80 -0
  135. package/template-nqtr-react-vite-muijoy/src/lib/hooks/save-hooks.tsx +203 -0
  136. package/template-nqtr-react-vite-muijoy/src/lib/i18n.ts +59 -0
  137. package/template-nqtr-react-vite-muijoy/src/lib/query/activity-query.ts +24 -0
  138. package/template-nqtr-react-vite-muijoy/src/lib/query/map-query.ts +78 -0
  139. package/template-nqtr-react-vite-muijoy/src/lib/query/narration-query.ts +182 -0
  140. package/template-nqtr-react-vite-muijoy/src/lib/query/quest-query.ts +73 -0
  141. package/template-nqtr-react-vite-muijoy/src/lib/query/room-query.ts +104 -0
  142. package/template-nqtr-react-vite-muijoy/src/lib/query/save-query.ts +18 -0
  143. package/template-nqtr-react-vite-muijoy/src/lib/query/settings-query.ts +10 -0
  144. package/template-nqtr-react-vite-muijoy/src/lib/query/time-query.ts +23 -0
  145. package/template-nqtr-react-vite-muijoy/src/lib/stores/alert-dialog-store.ts +13 -0
  146. package/template-nqtr-react-vite-muijoy/src/lib/stores/auto-settings-store.ts +44 -0
  147. package/template-nqtr-react-vite-muijoy/src/lib/stores/channel-sound-stores.ts +64 -0
  148. package/template-nqtr-react-vite-muijoy/src/lib/stores/game-status-store.ts +19 -0
  149. package/template-nqtr-react-vite-muijoy/src/lib/stores/interface-settings-store.ts +49 -0
  150. package/template-nqtr-react-vite-muijoy/src/lib/stores/master-sound-storage.ts +68 -0
  151. package/template-nqtr-react-vite-muijoy/src/lib/stores/memo-store.ts +24 -0
  152. package/template-nqtr-react-vite-muijoy/src/lib/stores/quick-actions-wheel-store.ts +17 -0
  153. package/template-nqtr-react-vite-muijoy/src/lib/stores/save-menu-pagination-store.ts +24 -0
  154. package/template-nqtr-react-vite-muijoy/src/lib/stores/search-param-store.ts +20 -0
  155. package/template-nqtr-react-vite-muijoy/src/lib/stores/skip-settings-store.ts +26 -0
  156. package/template-nqtr-react-vite-muijoy/src/lib/stores/text-display-settings-store.ts +81 -0
  157. package/template-nqtr-react-vite-muijoy/src/lib/utils/assets-utility.ts +39 -0
  158. package/template-nqtr-react-vite-muijoy/src/lib/utils/db-utility.ts +204 -0
  159. package/template-nqtr-react-vite-muijoy/src/lib/utils/save-utility.ts +152 -0
  160. package/template-nqtr-react-vite-muijoy/src/lib/utils/scroll-utils.ts +24 -0
  161. package/template-nqtr-react-vite-muijoy/src/lib/utils/ui-utility.ts +13 -0
  162. package/template-nqtr-react-vite-muijoy/src/lib/utils.ts +6 -0
  163. package/template-nqtr-react-vite-muijoy/src/locales/en.json +159 -0
  164. package/template-nqtr-react-vite-muijoy/src/main.tsx +23 -27
  165. package/template-nqtr-react-vite-muijoy/src/models/Character.ts +1 -1
  166. package/template-nqtr-react-vite-muijoy/src/models/GameSaveData.ts +1 -1
  167. package/template-nqtr-react-vite-muijoy/src/models/TimeSlotsImage.ts +3 -1
  168. package/template-nqtr-react-vite-muijoy/src/models/nqtr/Activity.ts +10 -10
  169. package/template-nqtr-react-vite-muijoy/src/models/nqtr/Commitment.ts +16 -12
  170. package/template-nqtr-react-vite-muijoy/src/models/nqtr/Location.ts +9 -9
  171. package/template-nqtr-react-vite-muijoy/src/models/nqtr/Map.ts +12 -6
  172. package/template-nqtr-react-vite-muijoy/src/models/nqtr/Quest.ts +7 -2
  173. package/template-nqtr-react-vite-muijoy/src/models/nqtr/Room.ts +12 -10
  174. package/template-nqtr-react-vite-muijoy/src/models/nqtr/Stage.ts +9 -3
  175. package/template-nqtr-react-vite-muijoy/src/models/nqtr/ui-elements.ts +4 -4
  176. package/template-nqtr-react-vite-muijoy/src/nqtr.d.ts +2 -2
  177. package/template-nqtr-react-vite-muijoy/src/nqtr.keys.gen.ts +54 -0
  178. package/template-nqtr-react-vite-muijoy/src/pixi-vn.d.ts +122 -128
  179. package/template-nqtr-react-vite-muijoy/src/pixi-vn.keys.gen.ts +86 -0
  180. package/template-nqtr-react-vite-muijoy/src/routeTree.gen.ts +150 -0
  181. package/template-nqtr-react-vite-muijoy/src/router.tsx +27 -0
  182. package/template-nqtr-react-vite-muijoy/src/routes/__root.tsx +66 -0
  183. package/template-nqtr-react-vite-muijoy/src/routes/game/map.tsx +6 -0
  184. package/template-nqtr-react-vite-muijoy/src/routes/game/narration.tsx +21 -0
  185. package/template-nqtr-react-vite-muijoy/src/routes/game/navigation.tsx +15 -0
  186. package/template-nqtr-react-vite-muijoy/src/routes/game.tsx +22 -0
  187. package/template-nqtr-react-vite-muijoy/src/routes/index.tsx +6 -0
  188. package/template-nqtr-react-vite-muijoy/src/styles.css +155 -0
  189. package/template-nqtr-react-vite-muijoy/tsconfig.app.json +32 -0
  190. package/template-nqtr-react-vite-muijoy/tsconfig.json +8 -23
  191. package/template-nqtr-react-vite-muijoy/tsconfig.node.json +20 -3
  192. package/template-nqtr-react-vite-muijoy/vite.config.ts +118 -14
  193. package/template-nqtr-react-vite-muijoy-ink/.assetpack.ts +18 -0
  194. package/template-nqtr-react-vite-muijoy-ink/.vscode/extensions.json +9 -10
  195. package/template-nqtr-react-vite-muijoy-ink/.vscode/launch.json +29 -15
  196. package/template-nqtr-react-vite-muijoy-ink/.vscode/settings.json +63 -68
  197. package/template-nqtr-react-vite-muijoy-ink/.vscode/tasks.json +106 -0
  198. package/template-nqtr-react-vite-muijoy-ink/README.md +2 -150
  199. package/template-nqtr-react-vite-muijoy-ink/_gitignore +3 -1
  200. package/template-nqtr-react-vite-muijoy-ink/biome.json +70 -0
  201. package/template-nqtr-react-vite-muijoy-ink/components.json +25 -0
  202. package/template-nqtr-react-vite-muijoy-ink/index.html +3 -2
  203. package/template-nqtr-react-vite-muijoy-ink/ink/start.ink +7 -0
  204. package/template-nqtr-react-vite-muijoy-ink/ink/various_actions.ink +69 -0
  205. package/template-nqtr-react-vite-muijoy-ink/package-lock.json +18220 -0
  206. package/template-nqtr-react-vite-muijoy-ink/package.json +62 -44
  207. package/template-nqtr-react-vite-muijoy-ink/public/apple-touch-icon-180x180.png +0 -0
  208. package/template-nqtr-react-vite-muijoy-ink/public/favicon.ico +0 -0
  209. package/template-nqtr-react-vite-muijoy-ink/public/icon.png +0 -0
  210. package/template-nqtr-react-vite-muijoy-ink/public/maskable-icon-512x512.png +0 -0
  211. package/template-nqtr-react-vite-muijoy-ink/public/pwa-192x192.png +0 -0
  212. package/template-nqtr-react-vite-muijoy-ink/public/pwa-512x512.png +0 -0
  213. package/template-nqtr-react-vite-muijoy-ink/public/pwa-64x64.png +0 -0
  214. package/template-nqtr-react-vite-muijoy-ink/pwa-assets.config.js +6 -0
  215. package/template-nqtr-react-vite-muijoy-ink/src/App.tsx +17 -70
  216. package/template-nqtr-react-vite-muijoy-ink/src/assets/index.ts +222 -0
  217. package/template-nqtr-react-vite-muijoy-ink/src/assets/ink-manifest.gen.json +4 -0
  218. package/template-nqtr-react-vite-muijoy-ink/src/assets/manifest.gen.json +8 -0
  219. package/template-nqtr-react-vite-muijoy-ink/src/components/dev-devtools.tsx +25 -0
  220. package/template-nqtr-react-vite-muijoy-ink/src/components/loading.tsx +31 -0
  221. package/template-nqtr-react-vite-muijoy-ink/src/components/menus/choice-menus.tsx +47 -0
  222. package/template-nqtr-react-vite-muijoy-ink/src/components/menus/main-menu.tsx +289 -0
  223. package/template-nqtr-react-vite-muijoy-ink/src/components/menus/memo-menu.tsx +163 -0
  224. package/template-nqtr-react-vite-muijoy-ink/src/components/menus/save-menu/index.tsx +94 -0
  225. package/template-nqtr-react-vite-muijoy-ink/src/components/menus/save-menu/save-forms.tsx +27 -0
  226. package/template-nqtr-react-vite-muijoy-ink/src/components/menus/save-menu/save-slots.tsx +122 -0
  227. package/template-nqtr-react-vite-muijoy-ink/src/components/menus/settings/about.tsx +33 -0
  228. package/template-nqtr-react-vite-muijoy-ink/src/components/menus/settings/dialogues-controls.tsx +105 -0
  229. package/template-nqtr-react-vite-muijoy-ink/src/components/menus/settings/index.tsx +222 -0
  230. package/template-nqtr-react-vite-muijoy-ink/src/components/menus/settings/menus/controls.tsx +115 -0
  231. package/template-nqtr-react-vite-muijoy-ink/src/components/menus/settings/menus/history.tsx +164 -0
  232. package/template-nqtr-react-vite-muijoy-ink/src/components/menus/settings/menus/save-load.tsx +66 -0
  233. package/template-nqtr-react-vite-muijoy-ink/src/components/menus/settings/quick-menus.tsx +126 -0
  234. package/template-nqtr-react-vite-muijoy-ink/src/components/menus/settings/sound-controls.tsx +114 -0
  235. package/template-nqtr-react-vite-muijoy-ink/src/components/menus/settings/system-controls.tsx +225 -0
  236. package/template-nqtr-react-vite-muijoy-ink/src/components/modals/error-allerts.tsx +42 -0
  237. package/template-nqtr-react-vite-muijoy-ink/src/components/modals/input-request-dialogues.tsx +82 -0
  238. package/template-nqtr-react-vite-muijoy-ink/src/components/modals/quick-actions-wheel.tsx +264 -0
  239. package/template-nqtr-react-vite-muijoy-ink/src/components/providers/alert-dialog-provider.tsx +137 -0
  240. package/template-nqtr-react-vite-muijoy-ink/src/components/providers/root-provider.tsx +37 -0
  241. package/template-nqtr-react-vite-muijoy-ink/src/components/providers/theme-provider.tsx +71 -0
  242. package/template-nqtr-react-vite-muijoy-ink/src/components/quick-tools.tsx +159 -0
  243. package/template-nqtr-react-vite-muijoy-ink/src/components/screens/map.tsx +87 -0
  244. package/template-nqtr-react-vite-muijoy-ink/src/components/screens/narration/click-overlay.tsx +15 -0
  245. package/template-nqtr-react-vite-muijoy-ink/src/components/screens/narration/index.tsx +33 -0
  246. package/template-nqtr-react-vite-muijoy-ink/src/components/screens/narration/narration-cards.tsx +156 -0
  247. package/template-nqtr-react-vite-muijoy-ink/src/components/screens/navigation/activity-buttons.tsx +135 -0
  248. package/template-nqtr-react-vite-muijoy-ink/src/components/screens/navigation/index.tsx +30 -0
  249. package/template-nqtr-react-vite-muijoy-ink/src/components/screens/navigation/quick-activities.tsx +24 -0
  250. package/template-nqtr-react-vite-muijoy-ink/src/components/screens/navigation/quick-rooms.tsx +122 -0
  251. package/template-nqtr-react-vite-muijoy-ink/src/components/screens/navigation/time.tsx +54 -0
  252. package/template-nqtr-react-vite-muijoy-ink/src/components/screens/navigation/tools.tsx +102 -0
  253. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/alert-dialog.tsx +160 -0
  254. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/aspect-ratio.tsx +22 -0
  255. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/avatar.tsx +91 -0
  256. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/breadcrumb.tsx +103 -0
  257. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/button-group.tsx +78 -0
  258. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/button.tsx +57 -0
  259. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/card.tsx +91 -0
  260. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/carousel.tsx +235 -0
  261. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/dialog.tsx +148 -0
  262. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/drawer.tsx +120 -0
  263. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/field.tsx +229 -0
  264. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/fullscreen-dialog.tsx +70 -0
  265. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/image.tsx +20 -0
  266. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/input-group.tsx +145 -0
  267. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/input.tsx +20 -0
  268. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/item.tsx +191 -0
  269. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/kbd.tsx +26 -0
  270. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/label.tsx +18 -0
  271. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/pagination.tsx +118 -0
  272. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/radio-group.tsx +38 -0
  273. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/resizable.tsx +40 -0
  274. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/scroll-area.tsx +51 -0
  275. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/select.tsx +190 -0
  276. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/separator.tsx +21 -0
  277. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/skeleton.tsx +13 -0
  278. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/slider.tsx +52 -0
  279. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/sonner.tsx +43 -0
  280. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/spinner.tsx +16 -0
  281. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/switch.tsx +32 -0
  282. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/textarea.tsx +18 -0
  283. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/toggle.tsx +43 -0
  284. package/template-nqtr-react-vite-muijoy-ink/src/components/ui/tooltip.tsx +54 -0
  285. package/template-nqtr-react-vite-muijoy-ink/src/constants.ts +17 -0
  286. package/template-nqtr-react-vite-muijoy-ink/src/content/activities.tsx +77 -0
  287. package/template-nqtr-react-vite-muijoy-ink/src/content/characters.ts +15 -0
  288. package/template-nqtr-react-vite-muijoy-ink/src/content/index.ts +4 -0
  289. package/template-nqtr-react-vite-muijoy-ink/src/content/ink/hashtag-commands.ts +50 -0
  290. package/template-nqtr-react-vite-muijoy-ink/src/content/ink/text-replaces.ts +19 -0
  291. package/template-nqtr-react-vite-muijoy-ink/src/content/labels/sleep.label.ts +60 -0
  292. package/template-nqtr-react-vite-muijoy-ink/src/content/locations.tsx +59 -0
  293. package/template-nqtr-react-vite-muijoy-ink/src/content/maps.tsx +26 -0
  294. package/template-nqtr-react-vite-muijoy-ink/src/content/quests/alice.quest.tsx +54 -0
  295. package/template-nqtr-react-vite-muijoy-ink/src/content/rooms.tsx +80 -0
  296. package/template-nqtr-react-vite-muijoy-ink/src/content/routine.tsx +86 -0
  297. package/template-nqtr-react-vite-muijoy-ink/src/content/time-data.ts +35 -0
  298. package/template-nqtr-react-vite-muijoy-ink/src/lib/hooks/hotkeys-hooks.ts +530 -0
  299. package/template-nqtr-react-vite-muijoy-ink/src/lib/hooks/image-hooks.ts +15 -0
  300. package/template-nqtr-react-vite-muijoy-ink/src/lib/hooks/ink-hooks.tsx +12 -0
  301. package/template-nqtr-react-vite-muijoy-ink/src/lib/hooks/language-settings-hooks.ts +61 -0
  302. package/template-nqtr-react-vite-muijoy-ink/src/lib/hooks/minigame-hooks.ts +55 -0
  303. package/template-nqtr-react-vite-muijoy-ink/src/lib/hooks/narration-hooks.ts +255 -0
  304. package/template-nqtr-react-vite-muijoy-ink/src/lib/hooks/navigation-hooks.ts +112 -0
  305. package/template-nqtr-react-vite-muijoy-ink/src/lib/hooks/network-hooks.ts +34 -0
  306. package/template-nqtr-react-vite-muijoy-ink/src/lib/hooks/nqtr-hooks.ts +121 -0
  307. package/template-nqtr-react-vite-muijoy-ink/src/lib/hooks/pause-game-hooks.ts +53 -0
  308. package/template-nqtr-react-vite-muijoy-ink/src/lib/hooks/props-hooks.ts +30 -0
  309. package/template-nqtr-react-vite-muijoy-ink/src/lib/hooks/quick-tools-hooks.ts +80 -0
  310. package/template-nqtr-react-vite-muijoy-ink/src/lib/hooks/save-hooks.tsx +203 -0
  311. package/template-nqtr-react-vite-muijoy-ink/src/lib/i18n.ts +80 -0
  312. package/template-nqtr-react-vite-muijoy-ink/src/lib/query/activity-query.ts +24 -0
  313. package/template-nqtr-react-vite-muijoy-ink/src/lib/query/map-query.ts +78 -0
  314. package/template-nqtr-react-vite-muijoy-ink/src/lib/query/narration-query.ts +182 -0
  315. package/template-nqtr-react-vite-muijoy-ink/src/lib/query/quest-query.ts +73 -0
  316. package/template-nqtr-react-vite-muijoy-ink/src/lib/query/room-query.ts +104 -0
  317. package/template-nqtr-react-vite-muijoy-ink/src/lib/query/save-query.ts +18 -0
  318. package/template-nqtr-react-vite-muijoy-ink/src/lib/query/settings-query.ts +10 -0
  319. package/template-nqtr-react-vite-muijoy-ink/src/lib/query/time-query.ts +23 -0
  320. package/template-nqtr-react-vite-muijoy-ink/src/lib/stores/alert-dialog-store.ts +13 -0
  321. package/template-nqtr-react-vite-muijoy-ink/src/lib/stores/auto-settings-store.ts +44 -0
  322. package/template-nqtr-react-vite-muijoy-ink/src/lib/stores/channel-sound-stores.ts +64 -0
  323. package/template-nqtr-react-vite-muijoy-ink/src/lib/stores/game-status-store.ts +19 -0
  324. package/template-nqtr-react-vite-muijoy-ink/src/lib/stores/interface-settings-store.ts +49 -0
  325. package/template-nqtr-react-vite-muijoy-ink/src/lib/stores/master-sound-storage.ts +68 -0
  326. package/template-nqtr-react-vite-muijoy-ink/src/lib/stores/memo-store.ts +24 -0
  327. package/template-nqtr-react-vite-muijoy-ink/src/lib/stores/quick-actions-wheel-store.ts +17 -0
  328. package/template-nqtr-react-vite-muijoy-ink/src/lib/stores/save-menu-pagination-store.ts +24 -0
  329. package/template-nqtr-react-vite-muijoy-ink/src/lib/stores/search-param-store.ts +20 -0
  330. package/template-nqtr-react-vite-muijoy-ink/src/lib/stores/skip-settings-store.ts +26 -0
  331. package/template-nqtr-react-vite-muijoy-ink/src/lib/stores/text-display-settings-store.ts +81 -0
  332. package/template-nqtr-react-vite-muijoy-ink/src/lib/utils/assets-utility.ts +39 -0
  333. package/template-nqtr-react-vite-muijoy-ink/src/lib/utils/db-utility.ts +204 -0
  334. package/template-nqtr-react-vite-muijoy-ink/src/lib/utils/save-utility.ts +152 -0
  335. package/template-nqtr-react-vite-muijoy-ink/src/lib/utils/scroll-utils.ts +24 -0
  336. package/template-nqtr-react-vite-muijoy-ink/src/lib/utils/ui-utility.ts +13 -0
  337. package/template-nqtr-react-vite-muijoy-ink/src/lib/utils.ts +6 -0
  338. package/template-nqtr-react-vite-muijoy-ink/src/locales/en.json +159 -0
  339. package/template-nqtr-react-vite-muijoy-ink/src/main.tsx +23 -30
  340. package/template-nqtr-react-vite-muijoy-ink/src/models/Character.ts +1 -1
  341. package/template-nqtr-react-vite-muijoy-ink/src/models/GameSaveData.ts +1 -1
  342. package/template-nqtr-react-vite-muijoy-ink/src/models/TimeSlotsImage.ts +3 -1
  343. package/template-nqtr-react-vite-muijoy-ink/src/models/nqtr/Activity.ts +10 -10
  344. package/template-nqtr-react-vite-muijoy-ink/src/models/nqtr/Commitment.ts +16 -12
  345. package/template-nqtr-react-vite-muijoy-ink/src/models/nqtr/Location.ts +9 -9
  346. package/template-nqtr-react-vite-muijoy-ink/src/models/nqtr/Map.ts +12 -6
  347. package/template-nqtr-react-vite-muijoy-ink/src/models/nqtr/Quest.ts +7 -2
  348. package/template-nqtr-react-vite-muijoy-ink/src/models/nqtr/Room.ts +12 -10
  349. package/template-nqtr-react-vite-muijoy-ink/src/models/nqtr/Stage.ts +9 -3
  350. package/template-nqtr-react-vite-muijoy-ink/src/models/nqtr/ui-elements.ts +4 -4
  351. package/template-nqtr-react-vite-muijoy-ink/src/nqtr.d.ts +2 -2
  352. package/template-nqtr-react-vite-muijoy-ink/src/nqtr.keys.gen.ts +54 -0
  353. package/template-nqtr-react-vite-muijoy-ink/src/pixi-vn.d.ts +122 -128
  354. package/template-nqtr-react-vite-muijoy-ink/src/pixi-vn.keys.gen.ts +93 -0
  355. package/template-nqtr-react-vite-muijoy-ink/src/routeTree.gen.ts +150 -0
  356. package/template-nqtr-react-vite-muijoy-ink/src/router.tsx +27 -0
  357. package/template-nqtr-react-vite-muijoy-ink/src/routes/__root.tsx +70 -0
  358. package/template-nqtr-react-vite-muijoy-ink/src/routes/game/map.tsx +6 -0
  359. package/template-nqtr-react-vite-muijoy-ink/src/routes/game/narration.tsx +21 -0
  360. package/template-nqtr-react-vite-muijoy-ink/src/routes/game/navigation.tsx +15 -0
  361. package/template-nqtr-react-vite-muijoy-ink/src/routes/game.tsx +22 -0
  362. package/template-nqtr-react-vite-muijoy-ink/src/routes/index.tsx +6 -0
  363. package/template-nqtr-react-vite-muijoy-ink/src/styles.css +155 -0
  364. package/template-nqtr-react-vite-muijoy-ink/tsconfig.app.json +32 -0
  365. package/template-nqtr-react-vite-muijoy-ink/tsconfig.json +8 -23
  366. package/template-nqtr-react-vite-muijoy-ink/tsconfig.node.json +20 -3
  367. package/template-nqtr-react-vite-muijoy-ink/vite.config.ts +123 -16
  368. package/template-nqtr-react-vite-muijoy-ink-tauri/.assetpack.ts +27 -0
  369. package/template-nqtr-react-vite-muijoy-ink-tauri/.vscode/extensions.json +12 -13
  370. package/template-nqtr-react-vite-muijoy-ink-tauri/.vscode/launch.json +40 -43
  371. package/template-nqtr-react-vite-muijoy-ink-tauri/.vscode/settings.json +63 -68
  372. package/template-nqtr-react-vite-muijoy-ink-tauri/.vscode/tasks.json +150 -26
  373. package/template-nqtr-react-vite-muijoy-ink-tauri/README.md +2 -203
  374. package/template-nqtr-react-vite-muijoy-ink-tauri/_github/workflows/desktop.yml +188 -0
  375. package/template-nqtr-react-vite-muijoy-ink-tauri/_github/workflows/mobile.yml +270 -0
  376. package/template-nqtr-react-vite-muijoy-ink-tauri/_gitignore +13 -2
  377. package/template-nqtr-react-vite-muijoy-ink-tauri/biome.json +70 -0
  378. package/template-nqtr-react-vite-muijoy-ink-tauri/components.json +25 -0
  379. package/template-nqtr-react-vite-muijoy-ink-tauri/index.html +3 -2
  380. package/template-nqtr-react-vite-muijoy-ink-tauri/ink/start.ink +7 -0
  381. package/template-nqtr-react-vite-muijoy-ink-tauri/ink/various_actions.ink +69 -0
  382. package/template-nqtr-react-vite-muijoy-ink-tauri/package-lock.json +18470 -0
  383. package/template-nqtr-react-vite-muijoy-ink-tauri/package.json +104 -81
  384. package/template-nqtr-react-vite-muijoy-ink-tauri/public/apple-touch-icon-180x180.png +0 -0
  385. package/template-nqtr-react-vite-muijoy-ink-tauri/public/favicon.ico +0 -0
  386. package/template-nqtr-react-vite-muijoy-ink-tauri/public/icon.png +0 -0
  387. package/template-nqtr-react-vite-muijoy-ink-tauri/public/maskable-icon-512x512.png +0 -0
  388. package/template-nqtr-react-vite-muijoy-ink-tauri/public/pwa-192x192.png +0 -0
  389. package/template-nqtr-react-vite-muijoy-ink-tauri/public/pwa-512x512.png +0 -0
  390. package/template-nqtr-react-vite-muijoy-ink-tauri/public/pwa-64x64.png +0 -0
  391. package/template-nqtr-react-vite-muijoy-ink-tauri/pwa-assets.config.js +6 -0
  392. package/template-nqtr-react-vite-muijoy-ink-tauri/src/App.tsx +17 -70
  393. package/template-nqtr-react-vite-muijoy-ink-tauri/src/assets/index.ts +222 -0
  394. package/template-nqtr-react-vite-muijoy-ink-tauri/src/assets/ink-manifest.gen.json +4 -0
  395. package/template-nqtr-react-vite-muijoy-ink-tauri/src/assets/manifest.gen.json +8 -0
  396. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/dev-devtools.tsx +25 -0
  397. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/loading.tsx +31 -0
  398. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/menus/choice-menus.tsx +47 -0
  399. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/menus/main-menu.tsx +304 -0
  400. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/menus/memo-menu.tsx +163 -0
  401. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/menus/save-menu/index.tsx +94 -0
  402. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/menus/save-menu/save-forms.tsx +27 -0
  403. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/menus/save-menu/save-slots.tsx +122 -0
  404. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/menus/settings/about.tsx +33 -0
  405. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/menus/settings/dialogues-controls.tsx +105 -0
  406. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/menus/settings/index.tsx +222 -0
  407. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/menus/settings/menus/controls.tsx +115 -0
  408. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/menus/settings/menus/history.tsx +164 -0
  409. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/menus/settings/menus/save-load.tsx +66 -0
  410. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/menus/settings/quick-menus.tsx +142 -0
  411. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/menus/settings/sound-controls.tsx +114 -0
  412. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/menus/settings/system-controls.tsx +235 -0
  413. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/modals/error-allerts.tsx +42 -0
  414. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/modals/input-request-dialogues.tsx +82 -0
  415. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/modals/quick-actions-wheel.tsx +264 -0
  416. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/providers/alert-dialog-provider.tsx +137 -0
  417. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/providers/root-provider.tsx +37 -0
  418. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/providers/theme-provider.tsx +71 -0
  419. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/quick-tools.tsx +159 -0
  420. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/screens/map.tsx +87 -0
  421. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/screens/narration/click-overlay.tsx +15 -0
  422. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/screens/narration/index.tsx +33 -0
  423. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/screens/narration/narration-cards.tsx +156 -0
  424. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/screens/navigation/activity-buttons.tsx +135 -0
  425. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/screens/navigation/index.tsx +30 -0
  426. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/screens/navigation/quick-activities.tsx +24 -0
  427. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/screens/navigation/quick-rooms.tsx +122 -0
  428. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/screens/navigation/time.tsx +54 -0
  429. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/screens/navigation/tools.tsx +102 -0
  430. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/alert-dialog.tsx +160 -0
  431. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/aspect-ratio.tsx +22 -0
  432. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/avatar.tsx +91 -0
  433. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/breadcrumb.tsx +103 -0
  434. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/button-group.tsx +78 -0
  435. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/button.tsx +57 -0
  436. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/card.tsx +91 -0
  437. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/carousel.tsx +235 -0
  438. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/dialog.tsx +148 -0
  439. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/drawer.tsx +120 -0
  440. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/field.tsx +229 -0
  441. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/fullscreen-dialog.tsx +70 -0
  442. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/image.tsx +20 -0
  443. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/input-group.tsx +145 -0
  444. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/input.tsx +20 -0
  445. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/item.tsx +191 -0
  446. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/kbd.tsx +26 -0
  447. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/label.tsx +18 -0
  448. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/pagination.tsx +118 -0
  449. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/radio-group.tsx +38 -0
  450. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/resizable.tsx +40 -0
  451. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/scroll-area.tsx +51 -0
  452. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/select.tsx +190 -0
  453. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/separator.tsx +21 -0
  454. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/skeleton.tsx +13 -0
  455. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/slider.tsx +52 -0
  456. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/sonner.tsx +43 -0
  457. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/spinner.tsx +16 -0
  458. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/switch.tsx +32 -0
  459. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/textarea.tsx +18 -0
  460. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/toggle.tsx +43 -0
  461. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ui/tooltip.tsx +54 -0
  462. package/template-nqtr-react-vite-muijoy-ink-tauri/src/constants.ts +17 -0
  463. package/template-nqtr-react-vite-muijoy-ink-tauri/src/content/activities.tsx +77 -0
  464. package/template-nqtr-react-vite-muijoy-ink-tauri/src/content/characters.ts +15 -0
  465. package/template-nqtr-react-vite-muijoy-ink-tauri/src/content/index.ts +4 -0
  466. package/template-nqtr-react-vite-muijoy-ink-tauri/src/content/ink/hashtag-commands.ts +50 -0
  467. package/template-nqtr-react-vite-muijoy-ink-tauri/src/content/ink/text-replaces.ts +19 -0
  468. package/template-nqtr-react-vite-muijoy-ink-tauri/src/content/labels/sleep.label.ts +60 -0
  469. package/template-nqtr-react-vite-muijoy-ink-tauri/src/content/labels/sleepNapLabels.ts +60 -0
  470. package/template-nqtr-react-vite-muijoy-ink-tauri/src/content/locations.tsx +59 -0
  471. package/template-nqtr-react-vite-muijoy-ink-tauri/src/content/maps.tsx +26 -0
  472. package/template-nqtr-react-vite-muijoy-ink-tauri/src/content/quests/alice.quest.tsx +54 -0
  473. package/template-nqtr-react-vite-muijoy-ink-tauri/src/content/rooms.tsx +80 -0
  474. package/template-nqtr-react-vite-muijoy-ink-tauri/src/content/routine.tsx +86 -0
  475. package/template-nqtr-react-vite-muijoy-ink-tauri/src/content/time-data.ts +35 -0
  476. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/hooks/hotkeys-hooks.ts +530 -0
  477. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/hooks/image-hooks.ts +15 -0
  478. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/hooks/ink-hooks.tsx +12 -0
  479. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/hooks/language-settings-hooks.ts +61 -0
  480. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/hooks/minigame-hooks.ts +55 -0
  481. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/hooks/narration-hooks.ts +255 -0
  482. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/hooks/navigation-hooks.ts +112 -0
  483. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/hooks/network-hooks.ts +34 -0
  484. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/hooks/nqtr-hooks.ts +121 -0
  485. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/hooks/pause-game-hooks.ts +53 -0
  486. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/hooks/props-hooks.ts +30 -0
  487. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/hooks/quick-tools-hooks.ts +80 -0
  488. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/hooks/quit-hooks.ts +24 -0
  489. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/hooks/save-hooks.tsx +203 -0
  490. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/i18n.ts +80 -0
  491. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/query/activity-query.ts +24 -0
  492. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/query/map-query.ts +78 -0
  493. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/query/narration-query.ts +182 -0
  494. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/query/quest-query.ts +73 -0
  495. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/query/room-query.ts +104 -0
  496. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/query/save-query.ts +18 -0
  497. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/query/settings-query.ts +16 -0
  498. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/query/time-query.ts +23 -0
  499. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/steam.ts +143 -0
  500. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/stores/alert-dialog-store.ts +13 -0
  501. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/stores/auto-settings-store.ts +44 -0
  502. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/stores/channel-sound-stores.ts +64 -0
  503. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/stores/game-status-store.ts +19 -0
  504. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/stores/interface-settings-store.ts +49 -0
  505. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/stores/master-sound-storage.ts +68 -0
  506. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/stores/memo-store.ts +24 -0
  507. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/stores/quick-actions-wheel-store.ts +17 -0
  508. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/stores/save-menu-pagination-store.ts +24 -0
  509. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/stores/search-param-store.ts +20 -0
  510. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/stores/skip-settings-store.ts +26 -0
  511. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/stores/text-display-settings-store.ts +81 -0
  512. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/utils/assets-utility.ts +39 -0
  513. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/utils/db-utility.ts +204 -0
  514. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/utils/save-utility.ts +152 -0
  515. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/utils/scroll-utils.ts +24 -0
  516. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/utils/ui-utility.ts +13 -0
  517. package/template-nqtr-react-vite-muijoy-ink-tauri/src/lib/utils.ts +6 -0
  518. package/template-nqtr-react-vite-muijoy-ink-tauri/src/locales/en.json +159 -0
  519. package/template-nqtr-react-vite-muijoy-ink-tauri/src/main.tsx +23 -30
  520. package/template-nqtr-react-vite-muijoy-ink-tauri/src/models/Character.ts +1 -1
  521. package/template-nqtr-react-vite-muijoy-ink-tauri/src/models/GameSaveData.ts +1 -1
  522. package/template-nqtr-react-vite-muijoy-ink-tauri/src/models/TimeSlotsImage.ts +3 -1
  523. package/template-nqtr-react-vite-muijoy-ink-tauri/src/models/nqtr/Activity.ts +10 -10
  524. package/template-nqtr-react-vite-muijoy-ink-tauri/src/models/nqtr/Commitment.ts +16 -12
  525. package/template-nqtr-react-vite-muijoy-ink-tauri/src/models/nqtr/Location.ts +9 -9
  526. package/template-nqtr-react-vite-muijoy-ink-tauri/src/models/nqtr/Map.ts +12 -6
  527. package/template-nqtr-react-vite-muijoy-ink-tauri/src/models/nqtr/Quest.ts +7 -2
  528. package/template-nqtr-react-vite-muijoy-ink-tauri/src/models/nqtr/Room.ts +12 -10
  529. package/template-nqtr-react-vite-muijoy-ink-tauri/src/models/nqtr/Stage.ts +9 -3
  530. package/template-nqtr-react-vite-muijoy-ink-tauri/src/models/nqtr/ui-elements.ts +4 -4
  531. package/template-nqtr-react-vite-muijoy-ink-tauri/src/nqtr.d.ts +2 -2
  532. package/template-nqtr-react-vite-muijoy-ink-tauri/src/nqtr.keys.gen.ts +54 -0
  533. package/template-nqtr-react-vite-muijoy-ink-tauri/src/pixi-vn.d.ts +122 -128
  534. package/template-nqtr-react-vite-muijoy-ink-tauri/src/pixi-vn.keys.gen.ts +93 -0
  535. package/template-nqtr-react-vite-muijoy-ink-tauri/src/routeTree.gen.ts +150 -0
  536. package/template-nqtr-react-vite-muijoy-ink-tauri/src/router.tsx +27 -0
  537. package/template-nqtr-react-vite-muijoy-ink-tauri/src/routes/__root.tsx +70 -0
  538. package/template-nqtr-react-vite-muijoy-ink-tauri/src/routes/game/map.tsx +6 -0
  539. package/template-nqtr-react-vite-muijoy-ink-tauri/src/routes/game/narration.tsx +21 -0
  540. package/template-nqtr-react-vite-muijoy-ink-tauri/src/routes/game/navigation.tsx +15 -0
  541. package/template-nqtr-react-vite-muijoy-ink-tauri/src/routes/game.tsx +22 -0
  542. package/template-nqtr-react-vite-muijoy-ink-tauri/src/routes/index.tsx +6 -0
  543. package/template-nqtr-react-vite-muijoy-ink-tauri/src/styles.css +155 -0
  544. package/template-nqtr-react-vite-muijoy-ink-tauri/src-tauri/Cargo.toml +25 -0
  545. package/template-nqtr-react-vite-muijoy-ink-tauri/src-tauri/build.rs +43 -0
  546. package/template-nqtr-react-vite-muijoy-ink-tauri/src-tauri/capabilities/default.json +11 -1
  547. package/template-nqtr-react-vite-muijoy-ink-tauri/src-tauri/src/lib.rs +57 -7
  548. package/template-nqtr-react-vite-muijoy-ink-tauri/src-tauri/src/steam.rs +238 -0
  549. package/template-nqtr-react-vite-muijoy-ink-tauri/src-tauri/tauri.conf.json +18 -5
  550. package/template-nqtr-react-vite-muijoy-ink-tauri/tsconfig.app.json +32 -0
  551. package/template-nqtr-react-vite-muijoy-ink-tauri/tsconfig.json +8 -23
  552. package/template-nqtr-react-vite-muijoy-ink-tauri/tsconfig.node.json +20 -3
  553. package/template-nqtr-react-vite-muijoy-ink-tauri/vite.config.ts +124 -17
  554. package/template-nqtr-react-vite-muijoy-tauri/.assetpack.ts +27 -0
  555. package/template-nqtr-react-vite-muijoy-tauri/.vscode/extensions.json +11 -12
  556. package/template-nqtr-react-vite-muijoy-tauri/.vscode/launch.json +40 -43
  557. package/template-nqtr-react-vite-muijoy-tauri/.vscode/settings.json +58 -63
  558. package/template-nqtr-react-vite-muijoy-tauri/.vscode/tasks.json +150 -26
  559. package/template-nqtr-react-vite-muijoy-tauri/README.md +2 -166
  560. package/template-nqtr-react-vite-muijoy-tauri/_github/workflows/desktop.yml +188 -0
  561. package/template-nqtr-react-vite-muijoy-tauri/_github/workflows/mobile.yml +270 -0
  562. package/template-nqtr-react-vite-muijoy-tauri/_gitignore +12 -2
  563. package/template-nqtr-react-vite-muijoy-tauri/biome.json +70 -0
  564. package/template-nqtr-react-vite-muijoy-tauri/components.json +25 -0
  565. package/template-nqtr-react-vite-muijoy-tauri/index.html +3 -2
  566. package/template-nqtr-react-vite-muijoy-tauri/package-lock.json +18431 -0
  567. package/template-nqtr-react-vite-muijoy-tauri/package.json +66 -44
  568. package/template-nqtr-react-vite-muijoy-tauri/public/apple-touch-icon-180x180.png +0 -0
  569. package/template-nqtr-react-vite-muijoy-tauri/public/favicon.ico +0 -0
  570. package/template-nqtr-react-vite-muijoy-tauri/public/icon.png +0 -0
  571. package/template-nqtr-react-vite-muijoy-tauri/public/maskable-icon-512x512.png +0 -0
  572. package/template-nqtr-react-vite-muijoy-tauri/public/pwa-192x192.png +0 -0
  573. package/template-nqtr-react-vite-muijoy-tauri/public/pwa-512x512.png +0 -0
  574. package/template-nqtr-react-vite-muijoy-tauri/public/pwa-64x64.png +0 -0
  575. package/template-nqtr-react-vite-muijoy-tauri/pwa-assets.config.js +6 -0
  576. package/template-nqtr-react-vite-muijoy-tauri/src/App.tsx +25 -77
  577. package/template-nqtr-react-vite-muijoy-tauri/src/assets/index.ts +222 -0
  578. package/template-nqtr-react-vite-muijoy-tauri/src/assets/ink-manifest.gen.json +1 -0
  579. package/template-nqtr-react-vite-muijoy-tauri/src/assets/manifest.gen.json +8 -0
  580. package/template-nqtr-react-vite-muijoy-tauri/src/components/dev-devtools.tsx +25 -0
  581. package/template-nqtr-react-vite-muijoy-tauri/src/components/loading.tsx +31 -0
  582. package/template-nqtr-react-vite-muijoy-tauri/src/components/menus/choice-menus.tsx +47 -0
  583. package/template-nqtr-react-vite-muijoy-tauri/src/components/menus/main-menu.tsx +304 -0
  584. package/template-nqtr-react-vite-muijoy-tauri/src/components/menus/memo-menu.tsx +163 -0
  585. package/template-nqtr-react-vite-muijoy-tauri/src/components/menus/save-menu/index.tsx +94 -0
  586. package/template-nqtr-react-vite-muijoy-tauri/src/components/menus/save-menu/save-forms.tsx +27 -0
  587. package/template-nqtr-react-vite-muijoy-tauri/src/components/menus/save-menu/save-slots.tsx +122 -0
  588. package/template-nqtr-react-vite-muijoy-tauri/src/components/menus/settings/about.tsx +33 -0
  589. package/template-nqtr-react-vite-muijoy-tauri/src/components/menus/settings/dialogues-controls.tsx +105 -0
  590. package/template-nqtr-react-vite-muijoy-tauri/src/components/menus/settings/index.tsx +222 -0
  591. package/template-nqtr-react-vite-muijoy-tauri/src/components/menus/settings/menus/controls.tsx +115 -0
  592. package/template-nqtr-react-vite-muijoy-tauri/src/components/menus/settings/menus/history.tsx +164 -0
  593. package/template-nqtr-react-vite-muijoy-tauri/src/components/menus/settings/menus/save-load.tsx +66 -0
  594. package/template-nqtr-react-vite-muijoy-tauri/src/components/menus/settings/quick-menus.tsx +142 -0
  595. package/template-nqtr-react-vite-muijoy-tauri/src/components/menus/settings/sound-controls.tsx +114 -0
  596. package/template-nqtr-react-vite-muijoy-tauri/src/components/menus/settings/system-controls.tsx +235 -0
  597. package/template-nqtr-react-vite-muijoy-tauri/src/components/modals/error-allerts.tsx +42 -0
  598. package/template-nqtr-react-vite-muijoy-tauri/src/components/modals/input-request-dialogues.tsx +82 -0
  599. package/template-nqtr-react-vite-muijoy-tauri/src/components/modals/quick-actions-wheel.tsx +264 -0
  600. package/template-nqtr-react-vite-muijoy-tauri/src/components/providers/alert-dialog-provider.tsx +137 -0
  601. package/template-nqtr-react-vite-muijoy-tauri/src/components/providers/root-provider.tsx +37 -0
  602. package/template-nqtr-react-vite-muijoy-tauri/src/components/providers/theme-provider.tsx +71 -0
  603. package/template-nqtr-react-vite-muijoy-tauri/src/components/quick-tools.tsx +159 -0
  604. package/template-nqtr-react-vite-muijoy-tauri/src/components/screens/map.tsx +87 -0
  605. package/template-nqtr-react-vite-muijoy-tauri/src/components/screens/narration/click-overlay.tsx +15 -0
  606. package/template-nqtr-react-vite-muijoy-tauri/src/components/screens/narration/index.tsx +33 -0
  607. package/template-nqtr-react-vite-muijoy-tauri/src/components/screens/narration/narration-cards.tsx +156 -0
  608. package/template-nqtr-react-vite-muijoy-tauri/src/components/screens/navigation/activity-buttons.tsx +135 -0
  609. package/template-nqtr-react-vite-muijoy-tauri/src/components/screens/navigation/index.tsx +30 -0
  610. package/template-nqtr-react-vite-muijoy-tauri/src/components/screens/navigation/quick-activities.tsx +24 -0
  611. package/template-nqtr-react-vite-muijoy-tauri/src/components/screens/navigation/quick-rooms.tsx +122 -0
  612. package/template-nqtr-react-vite-muijoy-tauri/src/components/screens/navigation/time.tsx +54 -0
  613. package/template-nqtr-react-vite-muijoy-tauri/src/components/screens/navigation/tools.tsx +102 -0
  614. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/alert-dialog.tsx +160 -0
  615. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/aspect-ratio.tsx +22 -0
  616. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/avatar.tsx +91 -0
  617. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/breadcrumb.tsx +103 -0
  618. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/button-group.tsx +78 -0
  619. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/button.tsx +57 -0
  620. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/card.tsx +91 -0
  621. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/carousel.tsx +235 -0
  622. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/dialog.tsx +148 -0
  623. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/drawer.tsx +120 -0
  624. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/field.tsx +229 -0
  625. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/fullscreen-dialog.tsx +70 -0
  626. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/image.tsx +20 -0
  627. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/input-group.tsx +145 -0
  628. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/input.tsx +20 -0
  629. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/item.tsx +191 -0
  630. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/kbd.tsx +26 -0
  631. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/label.tsx +18 -0
  632. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/pagination.tsx +118 -0
  633. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/radio-group.tsx +38 -0
  634. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/resizable.tsx +40 -0
  635. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/scroll-area.tsx +51 -0
  636. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/select.tsx +190 -0
  637. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/separator.tsx +21 -0
  638. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/skeleton.tsx +13 -0
  639. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/slider.tsx +52 -0
  640. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/sonner.tsx +43 -0
  641. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/spinner.tsx +16 -0
  642. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/switch.tsx +32 -0
  643. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/textarea.tsx +18 -0
  644. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/toggle.tsx +43 -0
  645. package/template-nqtr-react-vite-muijoy-tauri/src/components/ui/tooltip.tsx +54 -0
  646. package/template-nqtr-react-vite-muijoy-tauri/src/constants.ts +17 -0
  647. package/template-nqtr-react-vite-muijoy-tauri/src/content/activities.tsx +77 -0
  648. package/template-nqtr-react-vite-muijoy-tauri/src/content/characters.ts +15 -0
  649. package/template-nqtr-react-vite-muijoy-tauri/src/content/index.ts +4 -0
  650. package/template-nqtr-react-vite-muijoy-tauri/src/content/labels/sleep.label.ts +60 -0
  651. package/template-nqtr-react-vite-muijoy-tauri/src/content/labels/sleepNapLabels.ts +60 -0
  652. package/template-nqtr-react-vite-muijoy-tauri/src/content/labels/start.label.ts +12 -0
  653. package/template-nqtr-react-vite-muijoy-tauri/src/content/labels/various.label.ts +151 -0
  654. package/template-nqtr-react-vite-muijoy-tauri/src/content/labels/variousActionsLabels.ts +151 -0
  655. package/template-nqtr-react-vite-muijoy-tauri/src/content/locations.tsx +59 -0
  656. package/template-nqtr-react-vite-muijoy-tauri/src/content/maps.tsx +26 -0
  657. package/template-nqtr-react-vite-muijoy-tauri/src/content/quests/alice.quest.tsx +54 -0
  658. package/template-nqtr-react-vite-muijoy-tauri/src/content/rooms.tsx +80 -0
  659. package/template-nqtr-react-vite-muijoy-tauri/src/content/routine.tsx +86 -0
  660. package/template-nqtr-react-vite-muijoy-tauri/src/content/time-data.ts +35 -0
  661. package/template-nqtr-react-vite-muijoy-tauri/src/lib/hooks/hotkeys-hooks.ts +530 -0
  662. package/template-nqtr-react-vite-muijoy-tauri/src/lib/hooks/image-hooks.ts +15 -0
  663. package/template-nqtr-react-vite-muijoy-tauri/src/lib/hooks/language-settings-hooks.ts +61 -0
  664. package/template-nqtr-react-vite-muijoy-tauri/src/lib/hooks/minigame-hooks.ts +55 -0
  665. package/template-nqtr-react-vite-muijoy-tauri/src/lib/hooks/narration-hooks.ts +255 -0
  666. package/template-nqtr-react-vite-muijoy-tauri/src/lib/hooks/navigation-hooks.ts +112 -0
  667. package/template-nqtr-react-vite-muijoy-tauri/src/lib/hooks/network-hooks.ts +34 -0
  668. package/template-nqtr-react-vite-muijoy-tauri/src/lib/hooks/nqtr-hooks.ts +121 -0
  669. package/template-nqtr-react-vite-muijoy-tauri/src/lib/hooks/pause-game-hooks.ts +53 -0
  670. package/template-nqtr-react-vite-muijoy-tauri/src/lib/hooks/props-hooks.ts +30 -0
  671. package/template-nqtr-react-vite-muijoy-tauri/src/lib/hooks/quick-tools-hooks.ts +80 -0
  672. package/template-nqtr-react-vite-muijoy-tauri/src/lib/hooks/quit-hooks.ts +24 -0
  673. package/template-nqtr-react-vite-muijoy-tauri/src/lib/hooks/save-hooks.tsx +203 -0
  674. package/template-nqtr-react-vite-muijoy-tauri/src/lib/i18n.ts +59 -0
  675. package/template-nqtr-react-vite-muijoy-tauri/src/lib/query/activity-query.ts +24 -0
  676. package/template-nqtr-react-vite-muijoy-tauri/src/lib/query/map-query.ts +78 -0
  677. package/template-nqtr-react-vite-muijoy-tauri/src/lib/query/narration-query.ts +182 -0
  678. package/template-nqtr-react-vite-muijoy-tauri/src/lib/query/quest-query.ts +73 -0
  679. package/template-nqtr-react-vite-muijoy-tauri/src/lib/query/room-query.ts +104 -0
  680. package/template-nqtr-react-vite-muijoy-tauri/src/lib/query/save-query.ts +18 -0
  681. package/template-nqtr-react-vite-muijoy-tauri/src/lib/query/settings-query.ts +16 -0
  682. package/template-nqtr-react-vite-muijoy-tauri/src/lib/query/time-query.ts +23 -0
  683. package/template-nqtr-react-vite-muijoy-tauri/src/lib/steam.ts +143 -0
  684. package/template-nqtr-react-vite-muijoy-tauri/src/lib/stores/alert-dialog-store.ts +13 -0
  685. package/template-nqtr-react-vite-muijoy-tauri/src/lib/stores/auto-settings-store.ts +44 -0
  686. package/template-nqtr-react-vite-muijoy-tauri/src/lib/stores/channel-sound-stores.ts +64 -0
  687. package/template-nqtr-react-vite-muijoy-tauri/src/lib/stores/game-status-store.ts +19 -0
  688. package/template-nqtr-react-vite-muijoy-tauri/src/lib/stores/interface-settings-store.ts +49 -0
  689. package/template-nqtr-react-vite-muijoy-tauri/src/lib/stores/master-sound-storage.ts +68 -0
  690. package/template-nqtr-react-vite-muijoy-tauri/src/lib/stores/memo-store.ts +24 -0
  691. package/template-nqtr-react-vite-muijoy-tauri/src/lib/stores/quick-actions-wheel-store.ts +17 -0
  692. package/template-nqtr-react-vite-muijoy-tauri/src/lib/stores/save-menu-pagination-store.ts +24 -0
  693. package/template-nqtr-react-vite-muijoy-tauri/src/lib/stores/search-param-store.ts +20 -0
  694. package/template-nqtr-react-vite-muijoy-tauri/src/lib/stores/skip-settings-store.ts +26 -0
  695. package/template-nqtr-react-vite-muijoy-tauri/src/lib/stores/text-display-settings-store.ts +81 -0
  696. package/template-nqtr-react-vite-muijoy-tauri/src/lib/utils/assets-utility.ts +39 -0
  697. package/template-nqtr-react-vite-muijoy-tauri/src/lib/utils/db-utility.ts +204 -0
  698. package/template-nqtr-react-vite-muijoy-tauri/src/lib/utils/image-utility.ts +13 -0
  699. package/template-nqtr-react-vite-muijoy-tauri/src/lib/utils/save-utility.ts +152 -0
  700. package/template-nqtr-react-vite-muijoy-tauri/src/lib/utils/scroll-utils.ts +24 -0
  701. package/template-nqtr-react-vite-muijoy-tauri/src/lib/utils/ui-utility.ts +13 -0
  702. package/template-nqtr-react-vite-muijoy-tauri/src/lib/utils.ts +6 -0
  703. package/template-nqtr-react-vite-muijoy-tauri/src/locales/en.json +159 -0
  704. package/template-nqtr-react-vite-muijoy-tauri/src/main.tsx +23 -27
  705. package/template-nqtr-react-vite-muijoy-tauri/src/models/Character.ts +1 -1
  706. package/template-nqtr-react-vite-muijoy-tauri/src/models/GameSaveData.ts +1 -1
  707. package/template-nqtr-react-vite-muijoy-tauri/src/models/TimeSlotsImage.ts +3 -1
  708. package/template-nqtr-react-vite-muijoy-tauri/src/models/nqtr/Activity.ts +10 -10
  709. package/template-nqtr-react-vite-muijoy-tauri/src/models/nqtr/Commitment.ts +16 -12
  710. package/template-nqtr-react-vite-muijoy-tauri/src/models/nqtr/Location.ts +9 -9
  711. package/template-nqtr-react-vite-muijoy-tauri/src/models/nqtr/Map.ts +12 -6
  712. package/template-nqtr-react-vite-muijoy-tauri/src/models/nqtr/Quest.ts +7 -2
  713. package/template-nqtr-react-vite-muijoy-tauri/src/models/nqtr/Room.ts +12 -10
  714. package/template-nqtr-react-vite-muijoy-tauri/src/models/nqtr/Stage.ts +9 -3
  715. package/template-nqtr-react-vite-muijoy-tauri/src/models/nqtr/ui-elements.ts +4 -4
  716. package/template-nqtr-react-vite-muijoy-tauri/src/nqtr.d.ts +2 -2
  717. package/template-nqtr-react-vite-muijoy-tauri/src/nqtr.keys.gen.ts +54 -0
  718. package/template-nqtr-react-vite-muijoy-tauri/src/pixi-vn.d.ts +122 -128
  719. package/template-nqtr-react-vite-muijoy-tauri/src/pixi-vn.keys.gen.ts +86 -0
  720. package/template-nqtr-react-vite-muijoy-tauri/src/routeTree.gen.ts +150 -0
  721. package/template-nqtr-react-vite-muijoy-tauri/src/router.tsx +27 -0
  722. package/template-nqtr-react-vite-muijoy-tauri/src/routes/__root.tsx +66 -0
  723. package/template-nqtr-react-vite-muijoy-tauri/src/routes/game/map.tsx +6 -0
  724. package/template-nqtr-react-vite-muijoy-tauri/src/routes/game/narration.tsx +21 -0
  725. package/template-nqtr-react-vite-muijoy-tauri/src/routes/game/navigation.tsx +15 -0
  726. package/template-nqtr-react-vite-muijoy-tauri/src/routes/game.tsx +22 -0
  727. package/template-nqtr-react-vite-muijoy-tauri/src/routes/index.tsx +6 -0
  728. package/template-nqtr-react-vite-muijoy-tauri/src/styles.css +155 -0
  729. package/template-nqtr-react-vite-muijoy-tauri/src-tauri/Cargo.toml +25 -0
  730. package/template-nqtr-react-vite-muijoy-tauri/src-tauri/build.rs +43 -0
  731. package/template-nqtr-react-vite-muijoy-tauri/src-tauri/capabilities/default.json +11 -1
  732. package/template-nqtr-react-vite-muijoy-tauri/src-tauri/src/lib.rs +57 -7
  733. package/template-nqtr-react-vite-muijoy-tauri/src-tauri/src/steam.rs +238 -0
  734. package/template-nqtr-react-vite-muijoy-tauri/src-tauri/tauri.conf.json +18 -5
  735. package/template-nqtr-react-vite-muijoy-tauri/tsconfig.app.json +32 -0
  736. package/template-nqtr-react-vite-muijoy-tauri/tsconfig.json +8 -23
  737. package/template-nqtr-react-vite-muijoy-tauri/tsconfig.node.json +20 -3
  738. package/template-nqtr-react-vite-muijoy-tauri/vite.config.ts +119 -15
  739. package/template-react-vite-muijoy/package-lock.json +4 -4
  740. package/template-react-vite-muijoy/package.json +1 -1
  741. package/template-react-vite-muijoy/src/components/menus/save-menu/save-slots.tsx +4 -4
  742. package/template-react-vite-muijoy/src/components/menus/settings/menus/history.tsx +9 -2
  743. package/template-react-vite-muijoy/src/components/quick-tools.tsx +1 -1
  744. package/template-react-vite-muijoy/src/components/screens/narration/narration-cards.tsx +3 -1
  745. package/template-react-vite-muijoy/src/pixi-vn.keys.gen.ts +76 -3
  746. package/template-react-vite-muijoy/vite.config.ts +10 -0
  747. package/template-react-vite-muijoy-ink/ink/start.ink +1 -1
  748. package/template-react-vite-muijoy-ink/package-lock.json +12 -12
  749. package/template-react-vite-muijoy-ink/package.json +2 -2
  750. package/template-react-vite-muijoy-ink/src/components/menus/save-menu/save-slots.tsx +4 -4
  751. package/template-react-vite-muijoy-ink/src/components/menus/settings/menus/history.tsx +9 -2
  752. package/template-react-vite-muijoy-ink/src/components/quick-tools.tsx +1 -1
  753. package/template-react-vite-muijoy-ink/src/components/screens/narration/narration-cards.tsx +3 -1
  754. package/template-react-vite-muijoy-ink/src/content/ink/hashtag-commands.ts +5 -3
  755. package/template-react-vite-muijoy-ink/src/content/ink/text-replaces.ts +1 -1
  756. package/template-react-vite-muijoy-ink/src/pixi-vn.keys.gen.ts +73 -0
  757. package/template-react-vite-muijoy-ink/vite.config.ts +10 -0
  758. package/template-react-vite-muijoy-ink-tauri/ink/start.ink +1 -1
  759. package/template-react-vite-muijoy-ink-tauri/package-lock.json +12 -12
  760. package/template-react-vite-muijoy-ink-tauri/package.json +2 -2
  761. package/template-react-vite-muijoy-ink-tauri/src/components/menus/save-menu/save-slots.tsx +4 -4
  762. package/template-react-vite-muijoy-ink-tauri/src/components/menus/settings/menus/history.tsx +9 -2
  763. package/template-react-vite-muijoy-ink-tauri/src/components/quick-tools.tsx +1 -1
  764. package/template-react-vite-muijoy-ink-tauri/src/components/screens/narration/narration-cards.tsx +3 -1
  765. package/template-react-vite-muijoy-ink-tauri/src/content/ink/hashtag-commands.ts +5 -3
  766. package/template-react-vite-muijoy-ink-tauri/src/content/ink/text-replaces.ts +1 -1
  767. package/template-react-vite-muijoy-ink-tauri/src/pixi-vn.keys.gen.ts +73 -0
  768. package/template-react-vite-muijoy-ink-tauri/vite.config.ts +10 -0
  769. package/template-react-vite-muijoy-tauri/package-lock.json +4 -4
  770. package/template-react-vite-muijoy-tauri/package.json +1 -1
  771. package/template-react-vite-muijoy-tauri/src/components/menus/save-menu/save-slots.tsx +4 -4
  772. package/template-react-vite-muijoy-tauri/src/components/menus/settings/menus/history.tsx +9 -2
  773. package/template-react-vite-muijoy-tauri/src/components/quick-tools.tsx +1 -1
  774. package/template-react-vite-muijoy-tauri/src/components/screens/narration/narration-cards.tsx +3 -1
  775. package/template-react-vite-muijoy-tauri/src/pixi-vn.keys.gen.ts +76 -3
  776. package/template-react-vite-muijoy-tauri/vite.config.ts +10 -0
  777. package/template-lib/.eslintrc.cjs +0 -22
  778. package/template-lib/scripts/replace-pixi.js +0 -30
  779. package/template-lib/tests/setup.test.ts +0 -6
  780. package/template-nqtr-react-vite-muijoy/.eslintrc.cjs +0 -18
  781. package/template-nqtr-react-vite-muijoy/public/apple-touch-icon.png +0 -0
  782. package/template-nqtr-react-vite-muijoy/public/mask-icon.svg +0 -890
  783. package/template-nqtr-react-vite-muijoy/public/service-worker.js +0 -60
  784. package/template-nqtr-react-vite-muijoy/src/App.css +0 -45
  785. package/template-nqtr-react-vite-muijoy/src/AppRoutes.tsx +0 -77
  786. package/template-nqtr-react-vite-muijoy/src/Home.tsx +0 -48
  787. package/template-nqtr-react-vite-muijoy/src/assets/manifest.ts +0 -220
  788. package/template-nqtr-react-vite-muijoy/src/components/AnimatedDots.tsx +0 -45
  789. package/template-nqtr-react-vite-muijoy/src/components/ChoiceButton.tsx +0 -15
  790. package/template-nqtr-react-vite-muijoy/src/components/GameSaveSlot.tsx +0 -140
  791. package/template-nqtr-react-vite-muijoy/src/components/MenuButton.tsx +0 -37
  792. package/template-nqtr-react-vite-muijoy/src/components/ModalConfirmation.tsx +0 -61
  793. package/template-nqtr-react-vite-muijoy/src/components/ModalDialog.tsx +0 -68
  794. package/template-nqtr-react-vite-muijoy/src/components/NextButton.tsx +0 -53
  795. package/template-nqtr-react-vite-muijoy/src/components/NqtrRoundIconButton.tsx +0 -73
  796. package/template-nqtr-react-vite-muijoy/src/components/ReturnMainMenuButton.tsx +0 -69
  797. package/template-nqtr-react-vite-muijoy/src/components/RoundIconButton.tsx +0 -35
  798. package/template-nqtr-react-vite-muijoy/src/components/SettingButton.tsx +0 -52
  799. package/template-nqtr-react-vite-muijoy/src/components/SliderResizer.tsx +0 -51
  800. package/template-nqtr-react-vite-muijoy/src/components/SoundChannelControl.tsx +0 -45
  801. package/template-nqtr-react-vite-muijoy/src/components/StackOverflow.tsx.tsx +0 -45
  802. package/template-nqtr-react-vite-muijoy/src/components/TextMenuButton.tsx +0 -48
  803. package/template-nqtr-react-vite-muijoy/src/components/TypographyShadow.tsx +0 -19
  804. package/template-nqtr-react-vite-muijoy/src/components/VisibilityButton.tsx +0 -46
  805. package/template-nqtr-react-vite-muijoy/src/constans.ts +0 -28
  806. package/template-nqtr-react-vite-muijoy/src/hooks/motion-hooks.ts +0 -17
  807. package/template-nqtr-react-vite-muijoy/src/hooks/useClosePageDetector.ts +0 -32
  808. package/template-nqtr-react-vite-muijoy/src/hooks/useDebouncedEffect.ts +0 -33
  809. package/template-nqtr-react-vite-muijoy/src/hooks/useGameProps.ts +0 -29
  810. package/template-nqtr-react-vite-muijoy/src/hooks/useInterval.ts +0 -44
  811. package/template-nqtr-react-vite-muijoy/src/hooks/useKeyDetector.ts +0 -19
  812. package/template-nqtr-react-vite-muijoy/src/hooks/useKeyboardDetector.ts +0 -57
  813. package/template-nqtr-react-vite-muijoy/src/hooks/useMinigame.ts +0 -55
  814. package/template-nqtr-react-vite-muijoy/src/hooks/useMyNavigate.ts +0 -19
  815. package/template-nqtr-react-vite-muijoy/src/hooks/useNQTRDetector.tsx +0 -44
  816. package/template-nqtr-react-vite-muijoy/src/hooks/useNarrationFunctions.ts +0 -78
  817. package/template-nqtr-react-vite-muijoy/src/hooks/useNetworkDetector.ts +0 -18
  818. package/template-nqtr-react-vite-muijoy/src/hooks/useQueryInterface.ts +0 -141
  819. package/template-nqtr-react-vite-muijoy/src/hooks/useQueryIsFullModeScreen.ts +0 -10
  820. package/template-nqtr-react-vite-muijoy/src/hooks/useQueryLastSave.ts +0 -11
  821. package/template-nqtr-react-vite-muijoy/src/hooks/useQueryNQTR.ts +0 -217
  822. package/template-nqtr-react-vite-muijoy/src/hooks/useQuerySaves.ts +0 -11
  823. package/template-nqtr-react-vite-muijoy/src/hooks/useSkipAutoDetector.ts +0 -52
  824. package/template-nqtr-react-vite-muijoy/src/hooks/useTimeTracker.ts +0 -48
  825. package/template-nqtr-react-vite-muijoy/src/hooks/useWheelActions.ts +0 -101
  826. package/template-nqtr-react-vite-muijoy/src/i18n.ts +0 -55
  827. package/template-nqtr-react-vite-muijoy/src/index.css +0 -19
  828. package/template-nqtr-react-vite-muijoy/src/labels/index.ts +0 -4
  829. package/template-nqtr-react-vite-muijoy/src/labels/sleepNapLabels.ts +0 -46
  830. package/template-nqtr-react-vite-muijoy/src/labels/startLabel.ts +0 -15
  831. package/template-nqtr-react-vite-muijoy/src/labels/variousActionsLabelKeys.ts +0 -5
  832. package/template-nqtr-react-vite-muijoy/src/labels/variousActionsLabels.ts +0 -141
  833. package/template-nqtr-react-vite-muijoy/src/locales/strings_en.json +0 -98
  834. package/template-nqtr-react-vite-muijoy/src/providers/RootProvider.tsx +0 -20
  835. package/template-nqtr-react-vite-muijoy/src/providers/ThemeProvider.tsx +0 -170
  836. package/template-nqtr-react-vite-muijoy/src/screens/ChoiceMenu.tsx +0 -76
  837. package/template-nqtr-react-vite-muijoy/src/screens/GameSaveScreen.tsx +0 -128
  838. package/template-nqtr-react-vite-muijoy/src/screens/HistoryScreen.tsx +0 -142
  839. package/template-nqtr-react-vite-muijoy/src/screens/LoadingScreen.tsx +0 -24
  840. package/template-nqtr-react-vite-muijoy/src/screens/MainMenu.tsx +0 -111
  841. package/template-nqtr-react-vite-muijoy/src/screens/NarrationScreen.tsx +0 -247
  842. package/template-nqtr-react-vite-muijoy/src/screens/OfflineScreen.tsx +0 -38
  843. package/template-nqtr-react-vite-muijoy/src/screens/QuickTools.tsx +0 -124
  844. package/template-nqtr-react-vite-muijoy/src/screens/Settings.tsx +0 -118
  845. package/template-nqtr-react-vite-muijoy/src/screens/modals/SaveLoadAlert.tsx +0 -106
  846. package/template-nqtr-react-vite-muijoy/src/screens/modals/TextInput.tsx +0 -74
  847. package/template-nqtr-react-vite-muijoy/src/screens/nqtr/MapScreen.tsx +0 -126
  848. package/template-nqtr-react-vite-muijoy/src/screens/nqtr/MemoScreen.tsx +0 -194
  849. package/template-nqtr-react-vite-muijoy/src/screens/nqtr/NqtrQuickTools.tsx +0 -99
  850. package/template-nqtr-react-vite-muijoy/src/screens/nqtr/QuickActivities.tsx +0 -48
  851. package/template-nqtr-react-vite-muijoy/src/screens/nqtr/QuickRooms.tsx +0 -97
  852. package/template-nqtr-react-vite-muijoy/src/screens/nqtr/TimeScreen.tsx +0 -96
  853. package/template-nqtr-react-vite-muijoy/src/screens/settings/AutoSettingToggle.tsx +0 -24
  854. package/template-nqtr-react-vite-muijoy/src/screens/settings/DialoguesSettings.tsx +0 -90
  855. package/template-nqtr-react-vite-muijoy/src/screens/settings/DownloadFileToTranslateSettingButton.tsx +0 -32
  856. package/template-nqtr-react-vite-muijoy/src/screens/settings/FullScreenSettings.tsx +0 -46
  857. package/template-nqtr-react-vite-muijoy/src/screens/settings/HideInterfaceSettingToggle.tsx +0 -34
  858. package/template-nqtr-react-vite-muijoy/src/screens/settings/OpenHistorySettingButton.tsx +0 -40
  859. package/template-nqtr-react-vite-muijoy/src/screens/settings/SaveLoadSettingButtons.tsx +0 -114
  860. package/template-nqtr-react-vite-muijoy/src/screens/settings/SkipSettingToggle.tsx +0 -34
  861. package/template-nqtr-react-vite-muijoy/src/screens/settings/SoundSettings.tsx +0 -51
  862. package/template-nqtr-react-vite-muijoy/src/screens/settings/ThemeSettings.tsx +0 -112
  863. package/template-nqtr-react-vite-muijoy/src/stores/createChannelSoundStore.ts +0 -47
  864. package/template-nqtr-react-vite-muijoy/src/stores/useAutoInfoStore.ts +0 -33
  865. package/template-nqtr-react-vite-muijoy/src/stores/useDialogueCardStore.ts +0 -36
  866. package/template-nqtr-react-vite-muijoy/src/stores/useGameSaveScreenStore.ts +0 -112
  867. package/template-nqtr-react-vite-muijoy/src/stores/useHistoryScreenStore.ts +0 -23
  868. package/template-nqtr-react-vite-muijoy/src/stores/useInterfaceStore.ts +0 -28
  869. package/template-nqtr-react-vite-muijoy/src/stores/useMasterSoundStore.ts +0 -38
  870. package/template-nqtr-react-vite-muijoy/src/stores/useMemoScreenStore.ts +0 -23
  871. package/template-nqtr-react-vite-muijoy/src/stores/useNetworkStore.ts +0 -20
  872. package/template-nqtr-react-vite-muijoy/src/stores/useNqtrScreenStore.ts +0 -12
  873. package/template-nqtr-react-vite-muijoy/src/stores/useSettingsScreenStore.ts +0 -23
  874. package/template-nqtr-react-vite-muijoy/src/stores/useSkipStore.ts +0 -27
  875. package/template-nqtr-react-vite-muijoy/src/stores/useStepStore.ts +0 -32
  876. package/template-nqtr-react-vite-muijoy/src/stores/useTypewriterStore.ts +0 -41
  877. package/template-nqtr-react-vite-muijoy/src/utils/assets-utility.ts +0 -33
  878. package/template-nqtr-react-vite-muijoy/src/utils/image-utility.ts +0 -13
  879. package/template-nqtr-react-vite-muijoy/src/utils/indexedDB-utility.ts +0 -196
  880. package/template-nqtr-react-vite-muijoy/src/utils/nqtr-utility.ts +0 -22
  881. package/template-nqtr-react-vite-muijoy/src/utils/save-utility.ts +0 -140
  882. package/template-nqtr-react-vite-muijoy/src/values/activities.tsx +0 -106
  883. package/template-nqtr-react-vite-muijoy/src/values/characters.ts +0 -15
  884. package/template-nqtr-react-vite-muijoy/src/values/index.ts +0 -6
  885. package/template-nqtr-react-vite-muijoy/src/values/locations.tsx +0 -60
  886. package/template-nqtr-react-vite-muijoy/src/values/maps.tsx +0 -26
  887. package/template-nqtr-react-vite-muijoy/src/values/quests/aliceQuest.tsx +0 -78
  888. package/template-nqtr-react-vite-muijoy/src/values/quests/index.ts +0 -1
  889. package/template-nqtr-react-vite-muijoy/src/values/rooms.tsx +0 -79
  890. package/template-nqtr-react-vite-muijoy/src/values/routine.tsx +0 -87
  891. package/template-nqtr-react-vite-muijoy-ink/.eslintrc.cjs +0 -18
  892. package/template-nqtr-react-vite-muijoy-ink/public/apple-touch-icon.png +0 -0
  893. package/template-nqtr-react-vite-muijoy-ink/public/mask-icon.svg +0 -890
  894. package/template-nqtr-react-vite-muijoy-ink/public/service-worker.js +0 -60
  895. package/template-nqtr-react-vite-muijoy-ink/src/App.css +0 -45
  896. package/template-nqtr-react-vite-muijoy-ink/src/AppRoutes.tsx +0 -77
  897. package/template-nqtr-react-vite-muijoy-ink/src/Home.tsx +0 -50
  898. package/template-nqtr-react-vite-muijoy-ink/src/assets/manifest.ts +0 -220
  899. package/template-nqtr-react-vite-muijoy-ink/src/components/AnimatedDots.tsx +0 -45
  900. package/template-nqtr-react-vite-muijoy-ink/src/components/ChoiceButton.tsx +0 -15
  901. package/template-nqtr-react-vite-muijoy-ink/src/components/GameSaveSlot.tsx +0 -140
  902. package/template-nqtr-react-vite-muijoy-ink/src/components/MenuButton.tsx +0 -37
  903. package/template-nqtr-react-vite-muijoy-ink/src/components/ModalConfirmation.tsx +0 -61
  904. package/template-nqtr-react-vite-muijoy-ink/src/components/ModalDialog.tsx +0 -68
  905. package/template-nqtr-react-vite-muijoy-ink/src/components/NextButton.tsx +0 -53
  906. package/template-nqtr-react-vite-muijoy-ink/src/components/NqtrRoundIconButton.tsx +0 -73
  907. package/template-nqtr-react-vite-muijoy-ink/src/components/ReturnMainMenuButton.tsx +0 -69
  908. package/template-nqtr-react-vite-muijoy-ink/src/components/RoundIconButton.tsx +0 -35
  909. package/template-nqtr-react-vite-muijoy-ink/src/components/SettingButton.tsx +0 -52
  910. package/template-nqtr-react-vite-muijoy-ink/src/components/SliderResizer.tsx +0 -51
  911. package/template-nqtr-react-vite-muijoy-ink/src/components/SoundChannelControl.tsx +0 -45
  912. package/template-nqtr-react-vite-muijoy-ink/src/components/StackOverflow.tsx.tsx +0 -45
  913. package/template-nqtr-react-vite-muijoy-ink/src/components/TextMenuButton.tsx +0 -48
  914. package/template-nqtr-react-vite-muijoy-ink/src/components/TypographyShadow.tsx +0 -19
  915. package/template-nqtr-react-vite-muijoy-ink/src/components/VisibilityButton.tsx +0 -46
  916. package/template-nqtr-react-vite-muijoy-ink/src/constans.ts +0 -28
  917. package/template-nqtr-react-vite-muijoy-ink/src/hooks/motion-hooks.ts +0 -17
  918. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useClosePageDetector.ts +0 -32
  919. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useDebouncedEffect.ts +0 -33
  920. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useGameProps.ts +0 -29
  921. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useInkInitialization.tsx +0 -12
  922. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useInterval.ts +0 -44
  923. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useKeyDetector.ts +0 -19
  924. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useKeyboardDetector.ts +0 -57
  925. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useMinigame.ts +0 -55
  926. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useMyNavigate.ts +0 -19
  927. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useNQTRDetector.tsx +0 -44
  928. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useNarrationFunctions.ts +0 -78
  929. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useNetworkDetector.ts +0 -18
  930. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useQueryInterface.ts +0 -141
  931. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useQueryIsFullModeScreen.ts +0 -10
  932. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useQueryLastSave.ts +0 -11
  933. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useQueryNQTR.ts +0 -217
  934. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useQuerySaves.ts +0 -11
  935. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useSkipAutoDetector.ts +0 -52
  936. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useTimeTracker.ts +0 -48
  937. package/template-nqtr-react-vite-muijoy-ink/src/hooks/useWheelActions.ts +0 -101
  938. package/template-nqtr-react-vite-muijoy-ink/src/i18n.ts +0 -83
  939. package/template-nqtr-react-vite-muijoy-ink/src/index.css +0 -19
  940. package/template-nqtr-react-vite-muijoy-ink/src/ink/start.ink +0 -7
  941. package/template-nqtr-react-vite-muijoy-ink/src/ink/variousActionsLabels.ink +0 -68
  942. package/template-nqtr-react-vite-muijoy-ink/src/ink.d.ts +0 -4
  943. package/template-nqtr-react-vite-muijoy-ink/src/labels/index.ts +0 -2
  944. package/template-nqtr-react-vite-muijoy-ink/src/labels/sleepNapLabels.ts +0 -46
  945. package/template-nqtr-react-vite-muijoy-ink/src/labels/variousActionsLabelKeys.ts +0 -5
  946. package/template-nqtr-react-vite-muijoy-ink/src/locales/strings_en.json +0 -98
  947. package/template-nqtr-react-vite-muijoy-ink/src/providers/RootProvider.tsx +0 -20
  948. package/template-nqtr-react-vite-muijoy-ink/src/providers/ThemeProvider.tsx +0 -170
  949. package/template-nqtr-react-vite-muijoy-ink/src/screens/ChoiceMenu.tsx +0 -76
  950. package/template-nqtr-react-vite-muijoy-ink/src/screens/GameSaveScreen.tsx +0 -128
  951. package/template-nqtr-react-vite-muijoy-ink/src/screens/HistoryScreen.tsx +0 -142
  952. package/template-nqtr-react-vite-muijoy-ink/src/screens/LoadingScreen.tsx +0 -24
  953. package/template-nqtr-react-vite-muijoy-ink/src/screens/MainMenu.tsx +0 -110
  954. package/template-nqtr-react-vite-muijoy-ink/src/screens/NarrationScreen.tsx +0 -247
  955. package/template-nqtr-react-vite-muijoy-ink/src/screens/OfflineScreen.tsx +0 -38
  956. package/template-nqtr-react-vite-muijoy-ink/src/screens/QuickTools.tsx +0 -124
  957. package/template-nqtr-react-vite-muijoy-ink/src/screens/Settings.tsx +0 -118
  958. package/template-nqtr-react-vite-muijoy-ink/src/screens/modals/SaveLoadAlert.tsx +0 -106
  959. package/template-nqtr-react-vite-muijoy-ink/src/screens/modals/TextInput.tsx +0 -74
  960. package/template-nqtr-react-vite-muijoy-ink/src/screens/nqtr/MapScreen.tsx +0 -126
  961. package/template-nqtr-react-vite-muijoy-ink/src/screens/nqtr/MemoScreen.tsx +0 -194
  962. package/template-nqtr-react-vite-muijoy-ink/src/screens/nqtr/NqtrQuickTools.tsx +0 -99
  963. package/template-nqtr-react-vite-muijoy-ink/src/screens/nqtr/QuickActivities.tsx +0 -48
  964. package/template-nqtr-react-vite-muijoy-ink/src/screens/nqtr/QuickRooms.tsx +0 -97
  965. package/template-nqtr-react-vite-muijoy-ink/src/screens/nqtr/TimeScreen.tsx +0 -96
  966. package/template-nqtr-react-vite-muijoy-ink/src/screens/settings/AutoSettingToggle.tsx +0 -24
  967. package/template-nqtr-react-vite-muijoy-ink/src/screens/settings/DialoguesSettings.tsx +0 -90
  968. package/template-nqtr-react-vite-muijoy-ink/src/screens/settings/DownloadFileToTranslateSettingButton.tsx +0 -32
  969. package/template-nqtr-react-vite-muijoy-ink/src/screens/settings/FullScreenSettings.tsx +0 -46
  970. package/template-nqtr-react-vite-muijoy-ink/src/screens/settings/HideInterfaceSettingToggle.tsx +0 -34
  971. package/template-nqtr-react-vite-muijoy-ink/src/screens/settings/OpenHistorySettingButton.tsx +0 -40
  972. package/template-nqtr-react-vite-muijoy-ink/src/screens/settings/SaveLoadSettingButtons.tsx +0 -114
  973. package/template-nqtr-react-vite-muijoy-ink/src/screens/settings/SkipSettingToggle.tsx +0 -34
  974. package/template-nqtr-react-vite-muijoy-ink/src/screens/settings/SoundSettings.tsx +0 -51
  975. package/template-nqtr-react-vite-muijoy-ink/src/screens/settings/ThemeSettings.tsx +0 -112
  976. package/template-nqtr-react-vite-muijoy-ink/src/stores/createChannelSoundStore.ts +0 -47
  977. package/template-nqtr-react-vite-muijoy-ink/src/stores/useAutoInfoStore.ts +0 -33
  978. package/template-nqtr-react-vite-muijoy-ink/src/stores/useDialogueCardStore.ts +0 -36
  979. package/template-nqtr-react-vite-muijoy-ink/src/stores/useGameSaveScreenStore.ts +0 -112
  980. package/template-nqtr-react-vite-muijoy-ink/src/stores/useHistoryScreenStore.ts +0 -23
  981. package/template-nqtr-react-vite-muijoy-ink/src/stores/useInterfaceStore.ts +0 -28
  982. package/template-nqtr-react-vite-muijoy-ink/src/stores/useMasterSoundStore.ts +0 -38
  983. package/template-nqtr-react-vite-muijoy-ink/src/stores/useMemoScreenStore.ts +0 -23
  984. package/template-nqtr-react-vite-muijoy-ink/src/stores/useNetworkStore.ts +0 -20
  985. package/template-nqtr-react-vite-muijoy-ink/src/stores/useNqtrScreenStore.ts +0 -12
  986. package/template-nqtr-react-vite-muijoy-ink/src/stores/useSettingsScreenStore.ts +0 -23
  987. package/template-nqtr-react-vite-muijoy-ink/src/stores/useSkipStore.ts +0 -27
  988. package/template-nqtr-react-vite-muijoy-ink/src/stores/useStepStore.ts +0 -32
  989. package/template-nqtr-react-vite-muijoy-ink/src/stores/useTypewriterStore.ts +0 -41
  990. package/template-nqtr-react-vite-muijoy-ink/src/utils/assets-utility.ts +0 -33
  991. package/template-nqtr-react-vite-muijoy-ink/src/utils/image-utility.ts +0 -13
  992. package/template-nqtr-react-vite-muijoy-ink/src/utils/indexedDB-utility.ts +0 -196
  993. package/template-nqtr-react-vite-muijoy-ink/src/utils/ink-utility.ts +0 -53
  994. package/template-nqtr-react-vite-muijoy-ink/src/utils/nqtr-utility.ts +0 -22
  995. package/template-nqtr-react-vite-muijoy-ink/src/utils/save-utility.ts +0 -140
  996. package/template-nqtr-react-vite-muijoy-ink/src/values/activities.tsx +0 -106
  997. package/template-nqtr-react-vite-muijoy-ink/src/values/characters.ts +0 -15
  998. package/template-nqtr-react-vite-muijoy-ink/src/values/index.ts +0 -6
  999. package/template-nqtr-react-vite-muijoy-ink/src/values/locations.tsx +0 -60
  1000. package/template-nqtr-react-vite-muijoy-ink/src/values/maps.tsx +0 -26
  1001. package/template-nqtr-react-vite-muijoy-ink/src/values/quests/aliceQuest.tsx +0 -78
  1002. package/template-nqtr-react-vite-muijoy-ink/src/values/quests/index.ts +0 -1
  1003. package/template-nqtr-react-vite-muijoy-ink/src/values/rooms.tsx +0 -79
  1004. package/template-nqtr-react-vite-muijoy-ink/src/values/routine.tsx +0 -86
  1005. package/template-nqtr-react-vite-muijoy-ink-tauri/.eslintrc.cjs +0 -18
  1006. package/template-nqtr-react-vite-muijoy-ink-tauri/_github/workflows/tauri.yml +0 -86
  1007. package/template-nqtr-react-vite-muijoy-ink-tauri/public/apple-touch-icon.png +0 -0
  1008. package/template-nqtr-react-vite-muijoy-ink-tauri/public/mask-icon.svg +0 -890
  1009. package/template-nqtr-react-vite-muijoy-ink-tauri/public/service-worker.js +0 -60
  1010. package/template-nqtr-react-vite-muijoy-ink-tauri/src/App.css +0 -45
  1011. package/template-nqtr-react-vite-muijoy-ink-tauri/src/AppRoutes.tsx +0 -77
  1012. package/template-nqtr-react-vite-muijoy-ink-tauri/src/Home.tsx +0 -50
  1013. package/template-nqtr-react-vite-muijoy-ink-tauri/src/assets/manifest.ts +0 -220
  1014. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/AnimatedDots.tsx +0 -45
  1015. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ChoiceButton.tsx +0 -15
  1016. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/GameSaveSlot.tsx +0 -140
  1017. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/MenuButton.tsx +0 -37
  1018. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ModalConfirmation.tsx +0 -61
  1019. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ModalDialog.tsx +0 -68
  1020. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/NextButton.tsx +0 -53
  1021. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/NqtrRoundIconButton.tsx +0 -73
  1022. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/ReturnMainMenuButton.tsx +0 -69
  1023. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/RoundIconButton.tsx +0 -35
  1024. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/SettingButton.tsx +0 -52
  1025. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/SliderResizer.tsx +0 -51
  1026. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/SoundChannelControl.tsx +0 -45
  1027. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/StackOverflow.tsx.tsx +0 -45
  1028. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/TextMenuButton.tsx +0 -48
  1029. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/TypographyShadow.tsx +0 -19
  1030. package/template-nqtr-react-vite-muijoy-ink-tauri/src/components/VisibilityButton.tsx +0 -46
  1031. package/template-nqtr-react-vite-muijoy-ink-tauri/src/constans.ts +0 -28
  1032. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/motion-hooks.ts +0 -17
  1033. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useClosePageDetector.ts +0 -32
  1034. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useDebouncedEffect.ts +0 -33
  1035. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useGameProps.ts +0 -29
  1036. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useInkInitialization.tsx +0 -12
  1037. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useInterval.ts +0 -44
  1038. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useKeyDetector.ts +0 -19
  1039. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useKeyboardDetector.ts +0 -57
  1040. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useMinigame.ts +0 -55
  1041. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useMyNavigate.ts +0 -19
  1042. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useNQTRDetector.tsx +0 -44
  1043. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useNarrationFunctions.ts +0 -78
  1044. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useNetworkDetector.ts +0 -18
  1045. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useQueryInterface.ts +0 -141
  1046. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useQueryIsFullModeScreen.ts +0 -16
  1047. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useQueryLastSave.ts +0 -11
  1048. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useQueryNQTR.ts +0 -217
  1049. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useQuerySaves.ts +0 -11
  1050. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useSkipAutoDetector.ts +0 -52
  1051. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useTimeTracker.ts +0 -48
  1052. package/template-nqtr-react-vite-muijoy-ink-tauri/src/hooks/useWheelActions.ts +0 -101
  1053. package/template-nqtr-react-vite-muijoy-ink-tauri/src/i18n.ts +0 -83
  1054. package/template-nqtr-react-vite-muijoy-ink-tauri/src/index.css +0 -19
  1055. package/template-nqtr-react-vite-muijoy-ink-tauri/src/ink/start.ink +0 -7
  1056. package/template-nqtr-react-vite-muijoy-ink-tauri/src/ink/variousActionsLabels.ink +0 -68
  1057. package/template-nqtr-react-vite-muijoy-ink-tauri/src/ink.d.ts +0 -4
  1058. package/template-nqtr-react-vite-muijoy-ink-tauri/src/labels/index.ts +0 -2
  1059. package/template-nqtr-react-vite-muijoy-ink-tauri/src/labels/sleepNapLabels.ts +0 -46
  1060. package/template-nqtr-react-vite-muijoy-ink-tauri/src/labels/variousActionsLabelKeys.ts +0 -5
  1061. package/template-nqtr-react-vite-muijoy-ink-tauri/src/locales/strings_en.json +0 -99
  1062. package/template-nqtr-react-vite-muijoy-ink-tauri/src/providers/RootProvider.tsx +0 -20
  1063. package/template-nqtr-react-vite-muijoy-ink-tauri/src/providers/ThemeProvider.tsx +0 -170
  1064. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/ChoiceMenu.tsx +0 -76
  1065. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/GameSaveScreen.tsx +0 -128
  1066. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/HistoryScreen.tsx +0 -142
  1067. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/LoadingScreen.tsx +0 -24
  1068. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/MainMenu.tsx +0 -115
  1069. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/NarrationScreen.tsx +0 -247
  1070. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/OfflineScreen.tsx +0 -38
  1071. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/QuickTools.tsx +0 -124
  1072. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/Settings.tsx +0 -118
  1073. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/modals/SaveLoadAlert.tsx +0 -106
  1074. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/modals/TextInput.tsx +0 -74
  1075. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/nqtr/MapScreen.tsx +0 -126
  1076. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/nqtr/MemoScreen.tsx +0 -194
  1077. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/nqtr/NqtrQuickTools.tsx +0 -99
  1078. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/nqtr/QuickActivities.tsx +0 -48
  1079. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/nqtr/QuickRooms.tsx +0 -97
  1080. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/nqtr/TimeScreen.tsx +0 -96
  1081. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/settings/AutoSettingToggle.tsx +0 -24
  1082. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/settings/DialoguesSettings.tsx +0 -90
  1083. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/settings/DownloadFileToTranslateSettingButton.tsx +0 -32
  1084. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/settings/FullScreenSettings.tsx +0 -55
  1085. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/settings/HideInterfaceSettingToggle.tsx +0 -34
  1086. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/settings/OpenHistorySettingButton.tsx +0 -40
  1087. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/settings/SaveLoadSettingButtons.tsx +0 -114
  1088. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/settings/SkipSettingToggle.tsx +0 -34
  1089. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/settings/SoundSettings.tsx +0 -51
  1090. package/template-nqtr-react-vite-muijoy-ink-tauri/src/screens/settings/ThemeSettings.tsx +0 -112
  1091. package/template-nqtr-react-vite-muijoy-ink-tauri/src/stores/createChannelSoundStore.ts +0 -47
  1092. package/template-nqtr-react-vite-muijoy-ink-tauri/src/stores/useAutoInfoStore.ts +0 -33
  1093. package/template-nqtr-react-vite-muijoy-ink-tauri/src/stores/useDialogueCardStore.ts +0 -36
  1094. package/template-nqtr-react-vite-muijoy-ink-tauri/src/stores/useGameSaveScreenStore.ts +0 -112
  1095. package/template-nqtr-react-vite-muijoy-ink-tauri/src/stores/useHistoryScreenStore.ts +0 -23
  1096. package/template-nqtr-react-vite-muijoy-ink-tauri/src/stores/useInterfaceStore.ts +0 -28
  1097. package/template-nqtr-react-vite-muijoy-ink-tauri/src/stores/useMasterSoundStore.ts +0 -38
  1098. package/template-nqtr-react-vite-muijoy-ink-tauri/src/stores/useMemoScreenStore.ts +0 -23
  1099. package/template-nqtr-react-vite-muijoy-ink-tauri/src/stores/useNetworkStore.ts +0 -20
  1100. package/template-nqtr-react-vite-muijoy-ink-tauri/src/stores/useNqtrScreenStore.ts +0 -12
  1101. package/template-nqtr-react-vite-muijoy-ink-tauri/src/stores/useSettingsScreenStore.ts +0 -23
  1102. package/template-nqtr-react-vite-muijoy-ink-tauri/src/stores/useSkipStore.ts +0 -27
  1103. package/template-nqtr-react-vite-muijoy-ink-tauri/src/stores/useStepStore.ts +0 -32
  1104. package/template-nqtr-react-vite-muijoy-ink-tauri/src/stores/useTypewriterStore.ts +0 -41
  1105. package/template-nqtr-react-vite-muijoy-ink-tauri/src/utils/assets-utility.ts +0 -33
  1106. package/template-nqtr-react-vite-muijoy-ink-tauri/src/utils/image-utility.ts +0 -13
  1107. package/template-nqtr-react-vite-muijoy-ink-tauri/src/utils/indexedDB-utility.ts +0 -196
  1108. package/template-nqtr-react-vite-muijoy-ink-tauri/src/utils/ink-utility.ts +0 -53
  1109. package/template-nqtr-react-vite-muijoy-ink-tauri/src/utils/nqtr-utility.ts +0 -22
  1110. package/template-nqtr-react-vite-muijoy-ink-tauri/src/utils/save-utility.ts +0 -140
  1111. package/template-nqtr-react-vite-muijoy-ink-tauri/src/values/activities.tsx +0 -106
  1112. package/template-nqtr-react-vite-muijoy-ink-tauri/src/values/characters.ts +0 -15
  1113. package/template-nqtr-react-vite-muijoy-ink-tauri/src/values/index.ts +0 -6
  1114. package/template-nqtr-react-vite-muijoy-ink-tauri/src/values/locations.tsx +0 -60
  1115. package/template-nqtr-react-vite-muijoy-ink-tauri/src/values/maps.tsx +0 -26
  1116. package/template-nqtr-react-vite-muijoy-ink-tauri/src/values/quests/aliceQuest.tsx +0 -78
  1117. package/template-nqtr-react-vite-muijoy-ink-tauri/src/values/quests/index.ts +0 -1
  1118. package/template-nqtr-react-vite-muijoy-ink-tauri/src/values/rooms.tsx +0 -79
  1119. package/template-nqtr-react-vite-muijoy-ink-tauri/src/values/routine.tsx +0 -86
  1120. package/template-nqtr-react-vite-muijoy-tauri/.eslintrc.cjs +0 -18
  1121. package/template-nqtr-react-vite-muijoy-tauri/_github/workflows/tauri.yml +0 -86
  1122. package/template-nqtr-react-vite-muijoy-tauri/public/apple-touch-icon.png +0 -0
  1123. package/template-nqtr-react-vite-muijoy-tauri/public/mask-icon.svg +0 -890
  1124. package/template-nqtr-react-vite-muijoy-tauri/public/service-worker.js +0 -60
  1125. package/template-nqtr-react-vite-muijoy-tauri/src/App.css +0 -45
  1126. package/template-nqtr-react-vite-muijoy-tauri/src/AppRoutes.tsx +0 -77
  1127. package/template-nqtr-react-vite-muijoy-tauri/src/Home.tsx +0 -48
  1128. package/template-nqtr-react-vite-muijoy-tauri/src/assets/manifest.ts +0 -220
  1129. package/template-nqtr-react-vite-muijoy-tauri/src/components/AnimatedDots.tsx +0 -45
  1130. package/template-nqtr-react-vite-muijoy-tauri/src/components/ChoiceButton.tsx +0 -15
  1131. package/template-nqtr-react-vite-muijoy-tauri/src/components/GameSaveSlot.tsx +0 -140
  1132. package/template-nqtr-react-vite-muijoy-tauri/src/components/MenuButton.tsx +0 -37
  1133. package/template-nqtr-react-vite-muijoy-tauri/src/components/ModalConfirmation.tsx +0 -61
  1134. package/template-nqtr-react-vite-muijoy-tauri/src/components/ModalDialog.tsx +0 -68
  1135. package/template-nqtr-react-vite-muijoy-tauri/src/components/NextButton.tsx +0 -53
  1136. package/template-nqtr-react-vite-muijoy-tauri/src/components/NqtrRoundIconButton.tsx +0 -73
  1137. package/template-nqtr-react-vite-muijoy-tauri/src/components/ReturnMainMenuButton.tsx +0 -69
  1138. package/template-nqtr-react-vite-muijoy-tauri/src/components/RoundIconButton.tsx +0 -35
  1139. package/template-nqtr-react-vite-muijoy-tauri/src/components/SettingButton.tsx +0 -52
  1140. package/template-nqtr-react-vite-muijoy-tauri/src/components/SliderResizer.tsx +0 -51
  1141. package/template-nqtr-react-vite-muijoy-tauri/src/components/SoundChannelControl.tsx +0 -45
  1142. package/template-nqtr-react-vite-muijoy-tauri/src/components/StackOverflow.tsx.tsx +0 -45
  1143. package/template-nqtr-react-vite-muijoy-tauri/src/components/TextMenuButton.tsx +0 -48
  1144. package/template-nqtr-react-vite-muijoy-tauri/src/components/TypographyShadow.tsx +0 -19
  1145. package/template-nqtr-react-vite-muijoy-tauri/src/components/VisibilityButton.tsx +0 -46
  1146. package/template-nqtr-react-vite-muijoy-tauri/src/constans.ts +0 -28
  1147. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/motion-hooks.ts +0 -17
  1148. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useClosePageDetector.ts +0 -32
  1149. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useDebouncedEffect.ts +0 -33
  1150. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useGameProps.ts +0 -29
  1151. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useInterval.ts +0 -44
  1152. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useKeyDetector.ts +0 -19
  1153. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useKeyboardDetector.ts +0 -57
  1154. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useMinigame.ts +0 -55
  1155. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useMyNavigate.ts +0 -19
  1156. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useNQTRDetector.tsx +0 -44
  1157. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useNarrationFunctions.ts +0 -78
  1158. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useNetworkDetector.ts +0 -18
  1159. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useQueryInterface.ts +0 -141
  1160. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useQueryIsFullModeScreen.ts +0 -16
  1161. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useQueryLastSave.ts +0 -11
  1162. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useQueryNQTR.ts +0 -217
  1163. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useQuerySaves.ts +0 -11
  1164. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useSkipAutoDetector.ts +0 -52
  1165. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useTimeTracker.ts +0 -48
  1166. package/template-nqtr-react-vite-muijoy-tauri/src/hooks/useWheelActions.ts +0 -101
  1167. package/template-nqtr-react-vite-muijoy-tauri/src/i18n.ts +0 -55
  1168. package/template-nqtr-react-vite-muijoy-tauri/src/index.css +0 -19
  1169. package/template-nqtr-react-vite-muijoy-tauri/src/labels/index.ts +0 -4
  1170. package/template-nqtr-react-vite-muijoy-tauri/src/labels/sleepNapLabels.ts +0 -46
  1171. package/template-nqtr-react-vite-muijoy-tauri/src/labels/startLabel.ts +0 -15
  1172. package/template-nqtr-react-vite-muijoy-tauri/src/labels/variousActionsLabelKeys.ts +0 -5
  1173. package/template-nqtr-react-vite-muijoy-tauri/src/labels/variousActionsLabels.ts +0 -141
  1174. package/template-nqtr-react-vite-muijoy-tauri/src/locales/strings_en.json +0 -99
  1175. package/template-nqtr-react-vite-muijoy-tauri/src/providers/RootProvider.tsx +0 -20
  1176. package/template-nqtr-react-vite-muijoy-tauri/src/providers/ThemeProvider.tsx +0 -170
  1177. package/template-nqtr-react-vite-muijoy-tauri/src/screens/ChoiceMenu.tsx +0 -76
  1178. package/template-nqtr-react-vite-muijoy-tauri/src/screens/GameSaveScreen.tsx +0 -128
  1179. package/template-nqtr-react-vite-muijoy-tauri/src/screens/HistoryScreen.tsx +0 -142
  1180. package/template-nqtr-react-vite-muijoy-tauri/src/screens/LoadingScreen.tsx +0 -24
  1181. package/template-nqtr-react-vite-muijoy-tauri/src/screens/MainMenu.tsx +0 -116
  1182. package/template-nqtr-react-vite-muijoy-tauri/src/screens/NarrationScreen.tsx +0 -247
  1183. package/template-nqtr-react-vite-muijoy-tauri/src/screens/OfflineScreen.tsx +0 -38
  1184. package/template-nqtr-react-vite-muijoy-tauri/src/screens/QuickTools.tsx +0 -124
  1185. package/template-nqtr-react-vite-muijoy-tauri/src/screens/Settings.tsx +0 -118
  1186. package/template-nqtr-react-vite-muijoy-tauri/src/screens/modals/SaveLoadAlert.tsx +0 -106
  1187. package/template-nqtr-react-vite-muijoy-tauri/src/screens/modals/TextInput.tsx +0 -74
  1188. package/template-nqtr-react-vite-muijoy-tauri/src/screens/nqtr/MapScreen.tsx +0 -126
  1189. package/template-nqtr-react-vite-muijoy-tauri/src/screens/nqtr/MemoScreen.tsx +0 -194
  1190. package/template-nqtr-react-vite-muijoy-tauri/src/screens/nqtr/NqtrQuickTools.tsx +0 -99
  1191. package/template-nqtr-react-vite-muijoy-tauri/src/screens/nqtr/QuickActivities.tsx +0 -48
  1192. package/template-nqtr-react-vite-muijoy-tauri/src/screens/nqtr/QuickRooms.tsx +0 -97
  1193. package/template-nqtr-react-vite-muijoy-tauri/src/screens/nqtr/TimeScreen.tsx +0 -96
  1194. package/template-nqtr-react-vite-muijoy-tauri/src/screens/settings/AutoSettingToggle.tsx +0 -24
  1195. package/template-nqtr-react-vite-muijoy-tauri/src/screens/settings/DialoguesSettings.tsx +0 -90
  1196. package/template-nqtr-react-vite-muijoy-tauri/src/screens/settings/DownloadFileToTranslateSettingButton.tsx +0 -32
  1197. package/template-nqtr-react-vite-muijoy-tauri/src/screens/settings/FullScreenSettings.tsx +0 -55
  1198. package/template-nqtr-react-vite-muijoy-tauri/src/screens/settings/HideInterfaceSettingToggle.tsx +0 -34
  1199. package/template-nqtr-react-vite-muijoy-tauri/src/screens/settings/OpenHistorySettingButton.tsx +0 -40
  1200. package/template-nqtr-react-vite-muijoy-tauri/src/screens/settings/SaveLoadSettingButtons.tsx +0 -114
  1201. package/template-nqtr-react-vite-muijoy-tauri/src/screens/settings/SkipSettingToggle.tsx +0 -34
  1202. package/template-nqtr-react-vite-muijoy-tauri/src/screens/settings/SoundSettings.tsx +0 -51
  1203. package/template-nqtr-react-vite-muijoy-tauri/src/screens/settings/ThemeSettings.tsx +0 -112
  1204. package/template-nqtr-react-vite-muijoy-tauri/src/stores/createChannelSoundStore.ts +0 -47
  1205. package/template-nqtr-react-vite-muijoy-tauri/src/stores/useAutoInfoStore.ts +0 -33
  1206. package/template-nqtr-react-vite-muijoy-tauri/src/stores/useDialogueCardStore.ts +0 -36
  1207. package/template-nqtr-react-vite-muijoy-tauri/src/stores/useGameSaveScreenStore.ts +0 -112
  1208. package/template-nqtr-react-vite-muijoy-tauri/src/stores/useHistoryScreenStore.ts +0 -23
  1209. package/template-nqtr-react-vite-muijoy-tauri/src/stores/useInterfaceStore.ts +0 -28
  1210. package/template-nqtr-react-vite-muijoy-tauri/src/stores/useMasterSoundStore.ts +0 -38
  1211. package/template-nqtr-react-vite-muijoy-tauri/src/stores/useMemoScreenStore.ts +0 -23
  1212. package/template-nqtr-react-vite-muijoy-tauri/src/stores/useNetworkStore.ts +0 -20
  1213. package/template-nqtr-react-vite-muijoy-tauri/src/stores/useNqtrScreenStore.ts +0 -12
  1214. package/template-nqtr-react-vite-muijoy-tauri/src/stores/useSettingsScreenStore.ts +0 -23
  1215. package/template-nqtr-react-vite-muijoy-tauri/src/stores/useSkipStore.ts +0 -27
  1216. package/template-nqtr-react-vite-muijoy-tauri/src/stores/useStepStore.ts +0 -32
  1217. package/template-nqtr-react-vite-muijoy-tauri/src/stores/useTypewriterStore.ts +0 -41
  1218. package/template-nqtr-react-vite-muijoy-tauri/src/utils/assets-utility.ts +0 -33
  1219. package/template-nqtr-react-vite-muijoy-tauri/src/utils/image-utility.ts +0 -13
  1220. package/template-nqtr-react-vite-muijoy-tauri/src/utils/indexedDB-utility.ts +0 -196
  1221. package/template-nqtr-react-vite-muijoy-tauri/src/utils/nqtr-utility.ts +0 -22
  1222. package/template-nqtr-react-vite-muijoy-tauri/src/utils/save-utility.ts +0 -140
  1223. package/template-nqtr-react-vite-muijoy-tauri/src/values/activities.tsx +0 -106
  1224. package/template-nqtr-react-vite-muijoy-tauri/src/values/characters.ts +0 -15
  1225. package/template-nqtr-react-vite-muijoy-tauri/src/values/index.ts +0 -6
  1226. package/template-nqtr-react-vite-muijoy-tauri/src/values/locations.tsx +0 -60
  1227. package/template-nqtr-react-vite-muijoy-tauri/src/values/maps.tsx +0 -26
  1228. package/template-nqtr-react-vite-muijoy-tauri/src/values/quests/aliceQuest.tsx +0 -78
  1229. package/template-nqtr-react-vite-muijoy-tauri/src/values/quests/index.ts +0 -1
  1230. package/template-nqtr-react-vite-muijoy-tauri/src/values/rooms.tsx +0 -79
  1231. package/template-nqtr-react-vite-muijoy-tauri/src/values/routine.tsx +0 -87
package/dist/index.mjs CHANGED
@@ -1,59 +1,59 @@
1
- import{styleText as l}from"node:util";import G,{stdin as Ce,stdout as ve}from"node:process";import*as oe from"node:readline";import ut from"node:readline";import{ReadStream as Oe}from"node:tty";import E from"node:fs";import A from"node:path";import{execa as K}from"execa";import ct from"open";import Le from"which";import{fileURLToPath as lt}from"node:url";const pt=(()=>{const e=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;return t=>{let r=0;for(e.lastIndex=0;e.test(t);)r+=1;return t.length-r}})(),ft=e=>e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510,ht=e=>e===8987||e===9001||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12771||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=19903||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e>=131072&&e<=196605||e>=196608&&e<=262141,dt=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\u001b\]8;[^;]*;.*?(?:\u0007|\u001b\u005c)/y,mt=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,Ne=/(?:(?![\uFF61-\uFF9F\uFF00-\uFFEF])[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Tangut}]){1,1000}/yu,gt=/\t{1,1000}/y,je=new RegExp("[\\u{1F1E6}-\\u{1F1FF}]{2}|\\u{1F3F4}[\\u{E0061}-\\u{E007A}]{2}[\\u{E0030}-\\u{E0039}\\u{E0061}-\\u{E007A}]{1,3}\\u{E007F}|(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation})(?:\\u200D(?:\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation}|\\p{Emoji}\\uFE0F\\u20E3?))*","yu"),vt=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,wt=new RegExp("\\p{M}+","gu"),$t={limit:1/0,ellipsis:""},De=(e,t={},r={})=>{const i=t.limit??1/0,n=t.ellipsis??"",a=t?.ellipsisWidth??(n?De(n,$t,r).width:0),s=0,o=r.controlWidth??0,u=r.tabWidth??8,c=r.emojiWidth??2,w=2,m=r.regularWidth??1,p=r.wideWidth??w,g=[[vt,m],[dt,s],[mt,o],[gt,u],[je,c],[Ne,p]];let h=0,f=0,v=e.length,I=0,j=!1,k=v,S=Math.max(0,i-a),_=0,b=0,d=0,y=0;e:for(;;){if(b>_||f>=v&&f>h){const x=e.slice(_,b)||e.slice(h,f);I=0;for(const $ of x.replaceAll(wt,"")){const C=$.codePointAt(0)||0;if(ft(C)?y=w:ht(C)?y=p:y=m,d+y>S&&(k=Math.min(k,Math.max(_,h)+I)),d+y>i){j=!0;break e}I+=$.length,d+=y}_=b=0}if(f>=v)break e;for(let x=0,$=g.length;x<$;x++){const[C,V]=g[x];if(C.lastIndex=f,C.test(e)){if(I=C===Ne?pt(e.slice(f,C.lastIndex)):C===je?1:C.lastIndex-f,y=I*V,d+y>S&&(k=Math.min(k,f+Math.floor((S-d)/V))),d+y>i){j=!0;break e}d+=y,_=h,b=f,f=h=C.lastIndex;continue e}}f+=1}return{width:j?S:d,index:j?k:v,truncated:j,ellipsed:j&&i>=a}},yt={limit:1/0,ellipsis:"",ellipsisWidth:0},J=(e,t={})=>De(e,yt,t).width,ue="\x1B",Me="\x9B",bt=39,we="\x07",Ve="[",Et="]",Ue="m",$e=`${Et}8;;`,Pe=new RegExp(`(?:\\${Ve}(?<code>\\d+)m|\\${$e}(?<uri>.*)${we})`,"y"),Be=e=>{if(e>=30&&e<=37||e>=90&&e<=97)return 39;if(e>=40&&e<=47||e>=100&&e<=107)return 49;if(e===1||e===2)return 22;if(e===3)return 23;if(e===4)return 24;if(e===7)return 27;if(e===8)return 28;if(e===9)return 29;if(e===0)return 0},We=e=>`${ue}${Ve}${e}${Ue}`,Ge=e=>`${ue}${$e}${e}${we}`,ye=(e,t,r)=>{const i=t[Symbol.iterator]();let n=!1,a=!1,s=e.at(-1),o=s===void 0?0:J(s),u=i.next(),c=i.next(),w=0;for(;!u.done;){const m=u.value,p=J(m);o+p<=r?e[e.length-1]+=m:(e.push(m),o=0),(m===ue||m===Me)&&(n=!0,a=t.startsWith($e,w+1)),n?a?m===we&&(n=!1,a=!1):m===Ue&&(n=!1):(o+=p,o===r&&!c.done&&(e.push(""),o=0)),u=c,c=i.next(),w+=m.length}s=e.at(-1),!o&&s!==void 0&&s.length&&e.length>1&&(e[e.length-2]+=e.pop())},It=e=>{const t=e.split(" ");let r=t.length;for(;r&&!J(t[r-1]);)r--;return r===t.length?e:t.slice(0,r).join(" ")+t.slice(r).join("")},St=(e,t,r={})=>{if(r.trim!==!1&&e.trim()==="")return"";let i="",n,a;const s=e.split(" ");let o=[""],u=0;for(let m=0;m<s.length;m++){const p=s[m];if(r.trim!==!1){const h=o.at(-1)??"",f=h.trimStart();h.length!==f.length&&(o[o.length-1]=f,u=J(f))}m!==0&&(u>=t&&(r.wordWrap===!1||r.trim===!1)&&(o.push(""),u=0),(u||r.trim===!1)&&(o[o.length-1]+=" ",u++));const g=J(p);if(r.hard&&g>t){const h=t-u,f=1+Math.floor((g-h-1)/t);Math.floor((g-1)/t)<f&&o.push(""),ye(o,p,t),u=J(o.at(-1)??"");continue}if(u+g>t&&u&&g){if(r.wordWrap===!1&&u<t){ye(o,p,t),u=J(o.at(-1)??"");continue}o.push(""),u=0}if(u+g>t&&r.wordWrap===!1){ye(o,p,t),u=J(o.at(-1)??"");continue}o[o.length-1]+=p,u+=g}r.trim!==!1&&(o=o.map(m=>It(m)));const c=o.join(`
2
- `);let w=!1;for(let m=0;m<c.length;m++){const p=c[m];if(i+=p,w)w=!1;else if(w=p>="\uD800"&&p<="\uDBFF",w)continue;if(p===ue||p===Me){Pe.lastIndex=m+1;const h=Pe.exec(c)?.groups;if(h?.code!==void 0){const f=Number.parseFloat(h.code);n=f===bt?void 0:f}else h?.uri!==void 0&&(a=h.uri.length===0?void 0:h.uri)}if(c[m+1]===`
3
- `){a&&(i+=Ge(""));const g=n?Be(n):void 0;n&&g&&(i+=We(g))}else p===`
4
- `&&(n&&Be(n)&&(i+=We(n)),a&&(i+=Ge(a)))}return i},_t=/\r?\n/;function ee(e,t,r){return String(e).normalize().split(_t).map(i=>St(i,t,r)).join(`
5
- `)}function Tt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var be,Ke;function Ft(){if(Ke)return be;Ke=1;const e="\x1B",t=`${e}[`,r="\x07",i={to(s,o){return o?`${t}${o+1};${s+1}H`:`${t}${s+1}G`},move(s,o){let u="";return s<0?u+=`${t}${-s}D`:s>0&&(u+=`${t}${s}C`),o<0?u+=`${t}${-o}A`:o>0&&(u+=`${t}${o}B`),u},up:(s=1)=>`${t}${s}A`,down:(s=1)=>`${t}${s}B`,forward:(s=1)=>`${t}${s}C`,backward:(s=1)=>`${t}${s}D`,nextLine:(s=1)=>`${t}E`.repeat(s),prevLine:(s=1)=>`${t}F`.repeat(s),left:`${t}G`,hide:`${t}?25l`,show:`${t}?25h`,save:`${e}7`,restore:`${e}8`},n={up:(s=1)=>`${t}S`.repeat(s),down:(s=1)=>`${t}T`.repeat(s)},a={screen:`${t}2J`,up:(s=1)=>`${t}1J`.repeat(s),down:(s=1)=>`${t}J`.repeat(s),line:`${t}2K`,lineEnd:`${t}K`,lineStart:`${t}1K`,lines(s){let o="";for(let u=0;u<s;u++)o+=this.line+(u<s-1?i.up():"");return s&&(o+=i.left),o}};return be={cursor:i,scroll:n,erase:a,beep:r},be}var L=Ft();function ce(e,t,r){if(!r.some(s=>!s.disabled))return e;const i=e+t,n=Math.max(r.length-1,0),a=i<0?n:i>n?0:i;return r[a].disabled?ce(a,t<0?-1:1,r):a}const xt=["up","down","left","right","space","enter","cancel"],H={actions:new Set(xt),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["","cancel"],["escape","cancel"]]),messages:{cancel:"Canceled",error:"Something went wrong"},withGuide:!0};function Ee(e,t){if(typeof e=="string")return H.aliases.get(e)===t;for(const r of e)if(r!==void 0&&Ee(r,t))return!0;return!1}function Rt(e,t){if(e===t)return;const r=e.split(`
1
+ import{styleText as l}from"node:util";import G,{stdin as Ce,stdout as ve}from"node:process";import*as oe from"node:readline";import ut from"node:readline";import{ReadStream as Oe}from"node:tty";import E from"node:fs";import A from"node:path";import{execa as K}from"execa";import ct from"open";import Le from"which";import{fileURLToPath as lt}from"node:url";const pt=(()=>{const e=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;return t=>{let r=0;for(e.lastIndex=0;e.test(t);)r+=1;return t.length-r}})(),ft=e=>e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510,ht=e=>e===8987||e===9001||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12771||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=19903||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e>=131072&&e<=196605||e>=196608&&e<=262141,dt=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\u001b\]8;[^;]*;.*?(?:\u0007|\u001b\u005c)/y,mt=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,Ne=/(?:(?![\uFF61-\uFF9F\uFF00-\uFFEF])[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Tangut}]){1,1000}/yu,gt=/\t{1,1000}/y,je=new RegExp("[\\u{1F1E6}-\\u{1F1FF}]{2}|\\u{1F3F4}[\\u{E0061}-\\u{E007A}]{2}[\\u{E0030}-\\u{E0039}\\u{E0061}-\\u{E007A}]{1,3}\\u{E007F}|(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation})(?:\\u200D(?:\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation}|\\p{Emoji}\\uFE0F\\u20E3?))*","yu"),vt=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,wt=new RegExp("\\p{M}+","gu"),$t={limit:1/0,ellipsis:""},De=(e,t={},r={})=>{const i=t.limit??1/0,a=t.ellipsis??"",n=t?.ellipsisWidth??(a?De(a,$t,r).width:0),s=0,o=r.controlWidth??0,c=r.tabWidth??8,u=r.emojiWidth??2,v=2,m=r.regularWidth??1,p=r.wideWidth??v,g=[[vt,m],[dt,s],[mt,o],[gt,c],[je,u],[Ne,p]];let f=0,h=0,w=e.length,I=0,j=!1,k=w,S=Math.max(0,i-n),_=0,b=0,d=0,$=0;e:for(;;){if(b>_||h>=w&&h>f){const x=e.slice(_,b)||e.slice(f,h);I=0;for(const y of x.replaceAll(wt,"")){const C=y.codePointAt(0)||0;if(ft(C)?$=v:ht(C)?$=p:$=m,d+$>S&&(k=Math.min(k,Math.max(_,f)+I)),d+$>i){j=!0;break e}I+=y.length,d+=$}_=b=0}if(h>=w)break e;for(let x=0,y=g.length;x<y;x++){const[C,V]=g[x];if(C.lastIndex=h,C.test(e)){if(I=C===Ne?pt(e.slice(h,C.lastIndex)):C===je?1:C.lastIndex-h,$=I*V,d+$>S&&(k=Math.min(k,h+Math.floor((S-d)/V))),d+$>i){j=!0;break e}d+=$,_=f,b=h,h=f=C.lastIndex;continue e}}h+=1}return{width:j?S:d,index:j?k:w,truncated:j,ellipsed:j&&i>=n}},yt={limit:1/0,ellipsis:"",ellipsisWidth:0},J=(e,t={})=>De(e,yt,t).width,ue="\x1B",Me="\x9B",bt=39,we="\x07",Ve="[",Et="]",Ue="m",$e=`${Et}8;;`,Pe=new RegExp(`(?:\\${Ve}(?<code>\\d+)m|\\${$e}(?<uri>.*)${we})`,"y"),Be=e=>{if(e>=30&&e<=37||e>=90&&e<=97)return 39;if(e>=40&&e<=47||e>=100&&e<=107)return 49;if(e===1||e===2)return 22;if(e===3)return 23;if(e===4)return 24;if(e===7)return 27;if(e===8)return 28;if(e===9)return 29;if(e===0)return 0},We=e=>`${ue}${Ve}${e}${Ue}`,Ge=e=>`${ue}${$e}${e}${we}`,ye=(e,t,r)=>{const i=t[Symbol.iterator]();let a=!1,n=!1,s=e.at(-1),o=s===void 0?0:J(s),c=i.next(),u=i.next(),v=0;for(;!c.done;){const m=c.value,p=J(m);o+p<=r?e[e.length-1]+=m:(e.push(m),o=0),(m===ue||m===Me)&&(a=!0,n=t.startsWith($e,v+1)),a?n?m===we&&(a=!1,n=!1):m===Ue&&(a=!1):(o+=p,o===r&&!u.done&&(e.push(""),o=0)),c=u,u=i.next(),v+=m.length}s=e.at(-1),!o&&s!==void 0&&s.length&&e.length>1&&(e[e.length-2]+=e.pop())},It=e=>{const t=e.split(" ");let r=t.length;for(;r&&!J(t[r-1]);)r--;return r===t.length?e:t.slice(0,r).join(" ")+t.slice(r).join("")},St=(e,t,r={})=>{if(r.trim!==!1&&e.trim()==="")return"";let i="",a,n;const s=e.split(" ");let o=[""],c=0;for(let m=0;m<s.length;m++){const p=s[m];if(r.trim!==!1){const f=o.at(-1)??"",h=f.trimStart();f.length!==h.length&&(o[o.length-1]=h,c=J(h))}m!==0&&(c>=t&&(r.wordWrap===!1||r.trim===!1)&&(o.push(""),c=0),(c||r.trim===!1)&&(o[o.length-1]+=" ",c++));const g=J(p);if(r.hard&&g>t){const f=t-c,h=1+Math.floor((g-f-1)/t);Math.floor((g-1)/t)<h&&o.push(""),ye(o,p,t),c=J(o.at(-1)??"");continue}if(c+g>t&&c&&g){if(r.wordWrap===!1&&c<t){ye(o,p,t),c=J(o.at(-1)??"");continue}o.push(""),c=0}if(c+g>t&&r.wordWrap===!1){ye(o,p,t),c=J(o.at(-1)??"");continue}o[o.length-1]+=p,c+=g}r.trim!==!1&&(o=o.map(m=>It(m)));const u=o.join(`
2
+ `);let v=!1;for(let m=0;m<u.length;m++){const p=u[m];if(i+=p,v)v=!1;else if(v=p>="\uD800"&&p<="\uDBFF",v)continue;if(p===ue||p===Me){Pe.lastIndex=m+1;const f=Pe.exec(u)?.groups;if(f?.code!==void 0){const h=Number.parseFloat(f.code);a=h===bt?void 0:h}else f?.uri!==void 0&&(n=f.uri.length===0?void 0:f.uri)}if(u[m+1]===`
3
+ `){n&&(i+=Ge(""));const g=a?Be(a):void 0;a&&g&&(i+=We(g))}else p===`
4
+ `&&(a&&Be(a)&&(i+=We(a)),n&&(i+=Ge(n)))}return i},_t=/\r?\n/;function te(e,t,r){return String(e).normalize().split(_t).map(i=>St(i,t,r)).join(`
5
+ `)}function Tt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var be,Ke;function Ft(){if(Ke)return be;Ke=1;const e="\x1B",t=`${e}[`,r="\x07",i={to(s,o){return o?`${t}${o+1};${s+1}H`:`${t}${s+1}G`},move(s,o){let c="";return s<0?c+=`${t}${-s}D`:s>0&&(c+=`${t}${s}C`),o<0?c+=`${t}${-o}A`:o>0&&(c+=`${t}${o}B`),c},up:(s=1)=>`${t}${s}A`,down:(s=1)=>`${t}${s}B`,forward:(s=1)=>`${t}${s}C`,backward:(s=1)=>`${t}${s}D`,nextLine:(s=1)=>`${t}E`.repeat(s),prevLine:(s=1)=>`${t}F`.repeat(s),left:`${t}G`,hide:`${t}?25l`,show:`${t}?25h`,save:`${e}7`,restore:`${e}8`},a={up:(s=1)=>`${t}S`.repeat(s),down:(s=1)=>`${t}T`.repeat(s)},n={screen:`${t}2J`,up:(s=1)=>`${t}1J`.repeat(s),down:(s=1)=>`${t}J`.repeat(s),line:`${t}2K`,lineEnd:`${t}K`,lineStart:`${t}1K`,lines(s){let o="";for(let c=0;c<s;c++)o+=this.line+(c<s-1?i.up():"");return s&&(o+=i.left),o}};return be={cursor:i,scroll:a,erase:n,beep:r},be}var L=Ft();function ce(e,t,r){if(!r.some(s=>!s.disabled))return e;const i=e+t,a=Math.max(r.length-1,0),n=i<0?a:i>a?0:i;return r[n]?.disabled?ce(n,t<0?-1:1,r):n}const xt=["up","down","left","right","space","enter","cancel"],H={actions:new Set(xt),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["","cancel"],["escape","cancel"]]),messages:{cancel:"Canceled",error:"Something went wrong"},withGuide:!0};function Ee(e,t){if(typeof e=="string")return H.aliases.get(e)===t;for(const r of e)if(r!==void 0&&Ee(r,t))return!0;return!1}function Rt(e,t){if(e===t)return;const r=e.split(`
6
6
  `),i=t.split(`
7
- `),n=Math.max(r.length,i.length),a=[];for(let s=0;s<n;s++)r[s]!==i[s]&&a.push(s);return{lines:a,numLinesBefore:r.length,numLinesAfter:i.length,numLines:n}}const At=globalThis.process.platform.startsWith("win"),Ie=Symbol("clack:cancel");function D(e){return e===Ie}function le(e,t){const r=e;r.isTTY&&r.setRawMode(t)}function kt({input:e=Ce,output:t=ve,overwrite:r=!0,hideCursor:i=!0}={}){const n=oe.createInterface({input:e,output:t,prompt:"",tabSize:1});oe.emitKeypressEvents(e,n),e instanceof Oe&&e.isTTY&&e.setRawMode(!0);const a=(s,{name:o,sequence:u})=>{const c=String(s);if(Ee([c,o,u],"cancel")){i&&t.write(L.cursor.show),process.exit(0);return}if(!r)return;const w=o==="return"?0:-1,m=o==="return"?-1:0;oe.moveCursor(t,w,m,()=>{oe.clearLine(t,1,()=>{e.once("keypress",a)})})};return i&&t.write(L.cursor.hide),e.once("keypress",a),()=>{e.off("keypress",a),i&&t.write(L.cursor.show),e instanceof Oe&&e.isTTY&&!At&&e.setRawMode(!1),n.terminal=!1,n.close()}}const Se=e=>"columns"in e&&typeof e.columns=="number"?e.columns:80,He=e=>"rows"in e&&typeof e.rows=="number"?e.rows:20;function pe(e,t,r,i=r,n=r,a){const s=Se(e??ve);return ee(t,s-r.length,{hard:!0,trim:!1}).split(`
8
- `).map((o,u,c)=>{const w=o;return u===0?`${i}${w}`:u===c.length-1?`${n}${w}`:`${r}${w}`}).join(`
9
- `)}function Ct(e,t){if("~standard"in e){const r=e["~standard"].validate(t);if(r instanceof Promise)throw new TypeError("Schema validation must be synchronous. Update `validate()` and remove any asynchronous logic.");return r.issues?.at(0)?.message}return e(t)}class _e{input;output;_abortSignal;rl;opts;_render;_track=!1;_prevFrame="";_subscribers=new Map;_cursor=0;state="initial";error="";value;userInput="";constructor(t,r=!0){const{input:i=Ce,output:n=ve,render:a,signal:s,...o}=t;this.opts=o,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=a.bind(this),this._track=r,this._abortSignal=s,this.input=i,this.output=n}unsubscribe(){this._subscribers.clear()}setSubscriber(t,r){const i=this._subscribers.get(t)??[];i.push(r),this._subscribers.set(t,i)}on(t,r){this.setSubscriber(t,{cb:r})}once(t,r){this.setSubscriber(t,{cb:r,once:!0})}emit(t,...r){const i=this._subscribers.get(t)??[],n=[];for(const a of i)a.cb(...r),a.once&&n.push(()=>i.splice(i.indexOf(a),1));for(const a of n)a()}prompt(){return new Promise(t=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state="cancel",this.close(),t(Ie);this._abortSignal.addEventListener("abort",()=>{this.state="cancel",this.close()},{once:!0})}this.rl=ut.createInterface({input:this.input,tabSize:2,prompt:"",escapeCodeTimeout:50,terminal:!0}),this.rl.prompt(),this.opts.initialUserInput!==void 0&&this._setUserInput(this.opts.initialUserInput,!0),this.input.on("keypress",this.onKeypress),le(this.input,!0),this.output.on("resize",this.render),this.render(),this.once("submit",()=>{this.output.write(L.cursor.show),this.output.off("resize",this.render),le(this.input,!1),t(this.value)}),this.once("cancel",()=>{this.output.write(L.cursor.show),this.output.off("resize",this.render),le(this.input,!1),t(Ie)})})}_isActionKey(t,r){return t===" "}_shouldSubmit(t,r){return!0}_setValue(t){this.value=t,this.emit("value",this.value)}_setUserInput(t,r){this.userInput=t??"",this.emit("userInput",this.userInput),r&&this._track&&this.rl&&(this.rl.write(this.userInput),this._cursor=this.rl.cursor)}_clearUserInput(){this.rl?.write(null,{ctrl:!0,name:"u"}),this._setUserInput("")}onKeypress(t,r){if(this._track&&r.name!=="return"&&(r.name&&this._isActionKey(t,r)&&this.rl?.write(null,{ctrl:!0,name:"h"}),this._cursor=this.rl?.cursor??0,this._setUserInput(this.rl?.line)),this.state==="error"&&(this.state="active"),r?.name&&(!this._track&&H.aliases.has(r.name)&&this.emit("cursor",H.aliases.get(r.name)),H.actions.has(r.name)&&this.emit("cursor",r.name)),t&&(t.toLowerCase()==="y"||t.toLowerCase()==="n")&&this.emit("confirm",t.toLowerCase()==="y"),this.emit("key",t,r),r?.name==="return"&&this._shouldSubmit(t,r)){if(this.opts.validate){const i=Ct(this.opts.validate,this.value);i&&(this.error=i instanceof Error?i.message:i,this.state="error",this.rl?.write(this.userInput))}this.state!=="error"&&(this.state="submit")}Ee([t,r?.name,r?.sequence],"cancel")&&(this.state="cancel"),(this.state==="submit"||this.state==="cancel")&&this.emit("finalize"),this.render(),(this.state==="submit"||this.state==="cancel")&&this.close()}close(){this.input.unpipe(),this.input.removeListener("keypress",this.onKeypress),this.output.write(`
10
- `),le(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){const t=ee(this._prevFrame,process.stdout.columns,{hard:!0,trim:!1}).split(`
11
- `).length-1;this.output.write(L.cursor.move(-999,t*-1))}render(){const t=ee(this._render(this)??"",process.stdout.columns,{hard:!0,trim:!1});if(t!==this._prevFrame){if(this.state==="initial")this.output.write(L.cursor.hide);else{const r=Rt(this._prevFrame,t),i=He(this.output);if(this.restoreCursor(),r){const n=Math.max(0,r.numLinesAfter-i),a=Math.max(0,r.numLinesBefore-i);let s=r.lines.find(o=>o>=n);if(s===void 0){this._prevFrame=t;return}if(r.lines.length===1){this.output.write(L.cursor.move(0,s-a)),this.output.write(L.erase.lines(1));const o=t.split(`
12
- `);this.output.write(o[s]),this._prevFrame=t,this.output.write(L.cursor.move(0,o.length-s-1));return}else if(r.lines.length>1){if(n<a)s=n;else{const u=s-a;u>0&&this.output.write(L.cursor.move(0,u))}this.output.write(L.erase.down());const o=t.split(`
7
+ `),a=Math.max(r.length,i.length),n=[];for(let s=0;s<a;s++)r[s]!==i[s]&&n.push(s);return{lines:n,numLinesBefore:r.length,numLinesAfter:i.length,numLines:a}}const At=globalThis.process.platform.startsWith("win"),Ie=Symbol("clack:cancel");function D(e){return e===Ie}function le(e,t){const r=e;r.isTTY&&r.setRawMode(t)}function kt({input:e=Ce,output:t=ve,overwrite:r=!0,hideCursor:i=!0}={}){const a=oe.createInterface({input:e,output:t,prompt:"",tabSize:1});oe.emitKeypressEvents(e,a),e instanceof Oe&&e.isTTY&&e.setRawMode(!0);const n=(s,{name:o,sequence:c})=>{const u=String(s);if(Ee([u,o,c],"cancel")){i&&t.write(L.cursor.show),process.exit(0);return}if(!r)return;const v=o==="return"?0:-1,m=o==="return"?-1:0;oe.moveCursor(t,v,m,()=>{oe.clearLine(t,1,()=>{e.once("keypress",n)})})};return i&&t.write(L.cursor.hide),e.once("keypress",n),()=>{e.off("keypress",n),i&&t.write(L.cursor.show),e instanceof Oe&&e.isTTY&&!At&&e.setRawMode(!1),a.terminal=!1,a.close()}}const Se=e=>"columns"in e&&typeof e.columns=="number"?e.columns:80,He=e=>"rows"in e&&typeof e.rows=="number"?e.rows:20;function pe(e,t,r,i=r,a=r,n){const s=Se(e??ve);return te(t,s-r.length,{hard:!0,trim:!1}).split(`
8
+ `).map((o,c,u)=>{const v=o;return c===0?`${i}${v}`:c===u.length-1?`${a}${v}`:`${r}${v}`}).join(`
9
+ `)}function Ct(e,t){if("~standard"in e){const r=e["~standard"].validate(t);if(r instanceof Promise)throw new TypeError("Schema validation must be synchronous. Update `validate()` and remove any asynchronous logic.");return r.issues?.at(0)?.message}return e(t)}class _e{input;output;_abortSignal;rl;opts;_render;_track=!1;_prevFrame="";_subscribers=new Map;_cursor=0;state="initial";error="";value;userInput="";constructor(t,r=!0){const{input:i=Ce,output:a=ve,render:n,signal:s,...o}=t;this.opts=o,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=n.bind(this),this._track=r,this._abortSignal=s,this.input=i,this.output=a}unsubscribe(){this._subscribers.clear()}setSubscriber(t,r){const i=this._subscribers.get(t)??[];i.push(r),this._subscribers.set(t,i)}on(t,r){this.setSubscriber(t,{cb:r})}once(t,r){this.setSubscriber(t,{cb:r,once:!0})}emit(t,...r){const i=this._subscribers.get(t)??[],a=[];for(const n of i)n.cb(...r),n.once&&a.push(()=>i.splice(i.indexOf(n),1));for(const n of a)n()}prompt(){return new Promise(t=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state="cancel",this.close(),t(Ie);this._abortSignal.addEventListener("abort",()=>{this.state="cancel",this.close()},{once:!0})}this.rl=ut.createInterface({input:this.input,tabSize:2,prompt:"",escapeCodeTimeout:50,terminal:!0}),this.rl.prompt(),this.opts.initialUserInput!==void 0&&this._setUserInput(this.opts.initialUserInput,!0),this.input.on("keypress",this.onKeypress),le(this.input,!0),this.output.on("resize",this.render),this.render(),this.once("submit",()=>{this.output.write(L.cursor.show),this.output.off("resize",this.render),le(this.input,!1),t(this.value)}),this.once("cancel",()=>{this.output.write(L.cursor.show),this.output.off("resize",this.render),le(this.input,!1),t(Ie)})})}_isActionKey(t,r){return t===" "}_shouldSubmit(t,r){return!0}_setValue(t){this.value=t,this.emit("value",this.value)}_setUserInput(t,r){this.userInput=t??"",this.emit("userInput",this.userInput),r&&this._track&&this.rl&&(this.rl.write(this.userInput),this._cursor=this.rl.cursor)}_clearUserInput(){this.rl?.write(null,{ctrl:!0,name:"u"}),this._setUserInput("")}onKeypress(t,r){if(this._track&&r.name!=="return"&&(r.name&&this._isActionKey(t,r)&&this.rl?.write(null,{ctrl:!0,name:"h"}),this._cursor=this.rl?.cursor??0,this._setUserInput(this.rl?.line)),this.state==="error"&&(this.state="active"),r?.name&&(!this._track&&H.aliases.has(r.name)&&this.emit("cursor",H.aliases.get(r.name)),H.actions.has(r.name)&&this.emit("cursor",r.name)),t&&(t.toLowerCase()==="y"||t.toLowerCase()==="n")&&this.emit("confirm",t.toLowerCase()==="y"),this.emit("key",t,r),r?.name==="return"&&this._shouldSubmit(t,r)){if(this.opts.validate){const i=Ct(this.opts.validate,this.value);i&&(this.error=i instanceof Error?i.message:i,this.state="error",this.rl?.write(this.userInput))}this.state!=="error"&&(this.state="submit")}Ee([t,r?.name,r?.sequence],"cancel")&&(this.state="cancel"),(this.state==="submit"||this.state==="cancel")&&this.emit("finalize"),this.render(),(this.state==="submit"||this.state==="cancel")&&this.close()}close(){this.input.unpipe(),this.input.removeListener("keypress",this.onKeypress),this.output.write(`
10
+ `),le(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){const t=te(this._prevFrame,process.stdout.columns,{hard:!0,trim:!1}).split(`
11
+ `).length-1;this.output.write(L.cursor.move(-999,t*-1))}render(){const t=te(this._render(this)??"",process.stdout.columns,{hard:!0,trim:!1});if(t!==this._prevFrame){if(this.state==="initial")this.output.write(L.cursor.hide);else{const r=Rt(this._prevFrame,t),i=He(this.output);if(this.restoreCursor(),r){const a=Math.max(0,r.numLinesAfter-i),n=Math.max(0,r.numLinesBefore-i);let s=r.lines.find(o=>o>=a);if(s===void 0){this._prevFrame=t;return}if(r.lines.length===1){this.output.write(L.cursor.move(0,s-n)),this.output.write(L.erase.lines(1));const o=t.split(`
12
+ `);this.output.write(o[s]),this._prevFrame=t,this.output.write(L.cursor.move(0,o.length-s-1));return}else if(r.lines.length>1){if(a<n)s=a;else{const c=s-n;c>0&&this.output.write(L.cursor.move(0,c))}this.output.write(L.erase.down());const o=t.split(`
13
13
  `).slice(s);this.output.write(o.join(`
14
- `)),this._prevFrame=t;return}}this.output.write(L.erase.down())}this.output.write(t),this.state==="initial"&&(this.state="active"),this._prevFrame=t}}}class Ot extends _e{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(t){super(t,!1),this.value=!!t.initialValue,this.on("userInput",()=>{this.value=this._value}),this.on("confirm",r=>{this.output.write(L.cursor.move(0,-1)),this.value=r,this.state="submit",this.close()}),this.on("cursor",()=>{this.value=!this.value})}}class Lt extends _e{options;cursor=0;get _selectedValue(){return this.options[this.cursor]}changeValue(){this.value=this._selectedValue.value}constructor(t){super(t,!1),this.options=t.options;const r=this.options.findIndex(({value:n})=>n===t.initialValue),i=r===-1?0:r;this.cursor=this.options[i].disabled?ce(i,1,this.options):i,this.changeValue(),this.on("cursor",n=>{switch(n){case"left":case"up":this.cursor=ce(this.cursor,-1,this.options);break;case"down":case"right":this.cursor=ce(this.cursor,1,this.options);break}this.changeValue()})}}class Nt extends _e{get userInputWithCursor(){if(this.state==="submit")return this.userInput;const t=this.userInput;if(this.cursor>=t.length)return`${this.userInput}\u2588`;const r=t.slice(0,this.cursor),[i,...n]=t.slice(this.cursor);return`${r}${l("inverse",i)}${n.join("")}`}get cursor(){return this._cursor}constructor(t){super({...t,initialUserInput:t.initialUserInput??t.initialValue}),this.on("userInput",r=>{this._setValue(r)}),this.on("finalize",()=>{this.value||(this.value=t.defaultValue),this.value===void 0&&(this.value="")})}}function jt(){return G.platform!=="win32"?G.env.TERM!=="linux":!!G.env.CI||!!G.env.WT_SESSION||!!G.env.TERMINUS_SUBLIME||G.env.ConEmuTask==="{cmd::Cmder}"||G.env.TERM_PROGRAM==="Terminus-Sublime"||G.env.TERM_PROGRAM==="vscode"||G.env.TERM==="xterm-256color"||G.env.TERM==="alacritty"||G.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}const Te=jt(),Dt=()=>process.env.CI==="true",B=(e,t)=>Te?e:t,Mt=B("\u25C6","*"),ze=B("\u25A0","x"),Ye=B("\u25B2","x"),Fe=B("\u25C7","o"),Vt=B("\u250C","T"),F=B("\u2502","|"),te=B("\u2514","\u2014"),xe=B("\u25CF",">"),fe=B("\u25CB"," "),Ut=B("\u25CF","\u2022"),Pt=B("\u25C6","*"),Bt=B("\u25B2","!"),Wt=B("\u25A0","x"),Re=e=>{switch(e){case"initial":case"active":return l("cyan",Mt);case"cancel":return l("red",ze);case"error":return l("yellow",Ye);case"submit":return l("green",Fe)}},Gt=e=>{switch(e){case"initial":case"active":return l("cyan",F);case"cancel":return l("red",F);case"error":return l("yellow",F);case"submit":return l("green",F)}};function Kt(e,t){const r=[`${t?`${l("cyan",F)} `:""}${e.join(" \u2022 ")}`];return t&&r.push(l("cyan",te)),r}const qe=(e,t,r,i,n,a=!1)=>{let s=t,o=0;if(a)for(let u=i-1;u>=r&&(s-=e[u].length,o++,!(s<=n));u--);else for(let u=r;u<i&&(s-=e[u].length,o++,!(s<=n));u++);return{lineCount:s,removals:o}},Ht=({cursor:e,options:t,style:r,output:i=process.stdout,maxItems:n=Number.POSITIVE_INFINITY,columnPadding:a=0,rowPadding:s=4})=>{const o=Se(i)-a,u=He(i),c=l("dim","..."),w=Math.max(u-s,0),m=Math.max(Math.min(n,w),5);let p=0;e>=m-3&&(p=Math.max(Math.min(e-m+3,t.length-m),0));let g=m<t.length&&p>0,h=m<t.length&&p+m<t.length;const f=Math.min(p+m,t.length),v=[];let I=0;g&&I++,h&&I++;const j=p+(g?1:0),k=f-(h?1:0);for(let _=j;_<k;_++){const b=ee(r(t[_],_===e),o,{hard:!0,trim:!1}).split(`
15
- `);v.push(b),I+=b.length}if(I>w){let _=0,b=0,d=I;const y=e-j;let x=w;const $=()=>qe(v,d,0,y,x),C=()=>qe(v,d,y+1,v.length,x,!0);g?({lineCount:d,removals:_}=$(),d>x&&(h||(x-=1),{lineCount:d,removals:b}=C())):(h||(x-=1),{lineCount:d,removals:b}=C(),d>x&&(x-=1,{lineCount:d,removals:_}=$())),_>0&&(g=!0,v.splice(0,_)),b>0&&(h=!0,v.splice(v.length-b,b))}const S=[];g&&S.push(c);for(const _ of v)for(const b of _)S.push(b);return h&&S.push(c),S},Je=e=>{const t=e.active??"Yes",r=e.inactive??"No";return new Ot({active:t,inactive:r,signal:e.signal,input:e.input,output:e.output,initialValue:e.initialValue??!0,render(){const i=e.withGuide??H.withGuide,n=`${Re(this.state)} `,a=i?`${l("gray",F)} `:"",s=pe(e.output,e.message,a,n),o=`${i?`${l("gray",F)}
14
+ `)),this._prevFrame=t;return}}this.output.write(L.erase.down())}this.output.write(t),this.state==="initial"&&(this.state="active"),this._prevFrame=t}}}class Ot extends _e{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(t){super(t,!1),this.value=!!t.initialValue,this.on("userInput",()=>{this.value=this._value}),this.on("confirm",r=>{this.output.write(L.cursor.move(0,-1)),this.value=r,this.state="submit",this.close()}),this.on("cursor",()=>{this.value=!this.value})}}let Lt=class extends _e{options;cursor=0;get _selectedValue(){return this.options[this.cursor]}changeValue(){const t=this._selectedValue;this.value=t===void 0?void 0:t.value}constructor(t){super(t,!1),this.options=t.options;const r=this.options.findIndex(({value:a})=>a===t.initialValue),i=r===-1?0:r;this.cursor=this.options[i]?.disabled?ce(i,1,this.options):i,this.changeValue(),this.on("cursor",a=>{switch(a){case"left":case"up":this.cursor=ce(this.cursor,-1,this.options);break;case"down":case"right":this.cursor=ce(this.cursor,1,this.options);break}this.changeValue()})}};class Nt extends _e{get userInputWithCursor(){if(this.state==="submit")return this.userInput;const t=this.userInput;if(this.cursor>=t.length)return`${this.userInput}\u2588`;const r=t.slice(0,this.cursor),i=t.slice(this.cursor,this.cursor+1),a=t.slice(this.cursor+1);return`${r}${l("inverse",i)}${a}`}get cursor(){return this._cursor}constructor(t){super({...t,initialUserInput:t.initialUserInput??t.initialValue}),this.on("userInput",r=>{this._setValue(r)}),this.on("finalize",()=>{this.value||(this.value=t.defaultValue),this.value===void 0&&(this.value="")})}}function jt(){return G.platform!=="win32"?G.env.TERM!=="linux":!!G.env.CI||!!G.env.WT_SESSION||!!G.env.TERMINUS_SUBLIME||G.env.ConEmuTask==="{cmd::Cmder}"||G.env.TERM_PROGRAM==="Terminus-Sublime"||G.env.TERM_PROGRAM==="vscode"||G.env.TERM==="xterm-256color"||G.env.TERM==="alacritty"||G.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}const Te=jt(),Dt=()=>process.env.CI==="true",B=(e,t)=>Te?e:t,Mt=B("\u25C6","*"),ze=B("\u25A0","x"),Ye=B("\u25B2","x"),Fe=B("\u25C7","o"),Vt=B("\u250C","T"),F=B("\u2502","|"),X=B("\u2514","\u2014"),xe=B("\u25CF",">"),fe=B("\u25CB"," "),Ut=B("\u25CF","\u2022"),Pt=B("\u25C6","*"),Bt=B("\u25B2","!"),Wt=B("\u25A0","x"),Re=e=>{switch(e){case"initial":case"active":return l("cyan",Mt);case"cancel":return l("red",ze);case"error":return l("yellow",Ye);case"submit":return l("green",Fe)}},Gt=e=>{switch(e){case"initial":case"active":return l("cyan",F);case"cancel":return l("red",F);case"error":return l("yellow",F);case"submit":return l("green",F)}};function Kt(e,t){const r=[`${t?`${l("cyan",F)} `:""}${e.join(" \u2022 ")}`];return t&&r.push(l("cyan",X)),r}const qe=(e,t,r,i,a,n=!1)=>{let s=t,o=0;if(n)for(let c=i-1;c>=r;c--){const u=e[c];if(u&&(s-=u.length),o++,s<=a)break}else for(let c=r;c<i;c++){const u=e[c];if(u&&(s-=u.length),o++,s<=a)break}return{lineCount:s,removals:o}},Ht=({cursor:e,options:t,style:r,output:i=process.stdout,maxItems:a=Number.POSITIVE_INFINITY,columnPadding:n=0,rowPadding:s=4})=>{const o=Se(i)-n,c=He(i),u=l("dim","..."),v=Math.max(c-s,0),m=Math.max(Math.min(a,v),5);let p=0;e>=m-3&&(p=Math.max(Math.min(e-m+3,t.length-m),0));let g=m<t.length&&p>0,f=m<t.length&&p+m<t.length;const h=Math.min(p+m,t.length),w=[];let I=0;g&&I++,f&&I++;const j=p+(g?1:0),k=h-(f?1:0);for(let _=j;_<k;_++){const b=t[_],d=b?r(b,_===e):"",$=te(d,o,{hard:!0,trim:!1}).split(`
15
+ `);w.push($),I+=$.length}if(I>v){let _=0,b=0,d=I;const $=e-j;let x=v;const y=()=>qe(w,d,0,$,x),C=()=>qe(w,d,$+1,w.length,x,!0);g?({lineCount:d,removals:_}=y(),d>x&&(f||(x-=1),{lineCount:d,removals:b}=C())):(f||(x-=1),{lineCount:d,removals:b}=C(),d>x&&(x-=1,{lineCount:d,removals:_}=y())),_>0&&(g=!0,w.splice(0,_)),b>0&&(f=!0,w.splice(w.length-b,b))}const S=[];g&&S.push(u);for(const _ of w)for(const b of _)S.push(b);return f&&S.push(u),S},Je=e=>{const t=e.active??"Yes",r=e.inactive??"No";return new Ot({active:t,inactive:r,signal:e.signal,input:e.input,output:e.output,initialValue:e.initialValue??!0,render(){const i=e.withGuide??H.withGuide,a=`${Re(this.state)} `,n=i?`${l("gray",F)} `:"",s=pe(e.output,e.message,n,a),o=`${i?`${l("gray",F)}
16
16
  `:""}${s}
17
- `,u=this.value?t:r;switch(this.state){case"submit":{const c=i?`${l("gray",F)} `:"";return`${o}${c}${l("dim",u)}`}case"cancel":{const c=i?`${l("gray",F)} `:"";return`${o}${c}${l(["strikethrough","dim"],u)}${i?`
18
- ${l("gray",F)}`:""}`}default:{const c=i?`${l("cyan",F)} `:"",w=i?l("cyan",te):"";return`${o}${c}${this.value?`${l("green",xe)} ${t}`:`${l("dim",fe)} ${l("dim",t)}`}${e.vertical?i?`
17
+ `,c=this.value?t:r;switch(this.state){case"submit":{const u=i?`${l("gray",F)} `:"";return`${o}${u}${l("dim",c)}`}case"cancel":{const u=i?`${l("gray",F)} `:"";return`${o}${u}${l(["strikethrough","dim"],c)}${i?`
18
+ ${l("gray",F)}`:""}`}default:{const u=i?`${l("cyan",F)} `:"",v=i?l("cyan",X):"";return`${o}${u}${this.value?`${l("green",xe)} ${t}`:`${l("dim",fe)} ${l("dim",t)}`}${e.vertical?i?`
19
19
  ${l("cyan",F)} `:`
20
20
  `:` ${l("dim","/")} `}${this.value?`${l("dim",fe)} ${l("dim",r)}`:`${l("green",xe)} ${r}`}
21
- ${w}
22
- `}}}}).prompt()};`${l("dim","\u2191/\u2193")}`,`${l("dim","Space:")}`,`${l("dim","Enter:")}`;const P={message:(e=[],{symbol:t=l("gray",F),secondarySymbol:r=l("gray",F),output:i=process.stdout,spacing:n=1,withGuide:a}={})=>{const s=[],o=a??H.withGuide,u=o?r:"",c=o?`${t} `:"",w=o?`${r} `:"";for(let p=0;p<n;p++)s.push(u);const m=Array.isArray(e)?e:e.split(`
23
- `);if(m.length>0){const[p,...g]=m;p.length>0?s.push(`${c}${p}`):s.push(o?t:"");for(const h of g)h.length>0?s.push(`${w}${h}`):s.push(o?r:"")}i.write(`${s.join(`
21
+ ${v}
22
+ `}}}}).prompt()};`${l("dim","\u2191/\u2193")}`,`${l("dim","Space:")}`,`${l("dim","Enter:")}`;const P={message:(e=[],{symbol:t=l("gray",F),secondarySymbol:r=l("gray",F),output:i=process.stdout,spacing:a=1,withGuide:n}={})=>{const s=[],o=n??H.withGuide,c=o?r:"",u=o?`${t} `:"",v=o?`${r} `:"";for(let p=0;p<a;p++)s.push(c);const m=Array.isArray(e)?e:e.split(`
23
+ `);if(m.length>0){const[p,...g]=m;p.length>0?s.push(`${u}${p}`):s.push(o?t:"");for(const f of g)f.length>0?s.push(`${v}${f}`):s.push(o?r:"")}i.write(`${s.join(`
24
24
  `)}
25
- `)},info:(e,t)=>{P.message(e,{...t,symbol:l("blue",Ut)})},success:(e,t)=>{P.message(e,{...t,symbol:l("green",Pt)})},step:(e,t)=>{P.message(e,{...t,symbol:l("green",Fe)})},warn:(e,t)=>{P.message(e,{...t,symbol:l("yellow",Bt)})},warning:(e,t)=>{P.warn(e,t)},error:(e,t)=>{P.message(e,{...t,symbol:l("red",Wt)})}},T=(e="",t)=>{const r=process.stdout,i=`${l("gray",te)} `;r.write(`${i}${l("red",e)}
25
+ `)},info:(e,t)=>{P.message(e,{...t,symbol:l("blue",Ut)})},success:(e,t)=>{P.message(e,{...t,symbol:l("green",Pt)})},step:(e,t)=>{P.message(e,{...t,symbol:l("green",Fe)})},warn:(e,t)=>{P.message(e,{...t,symbol:l("yellow",Bt)})},warning:(e,t)=>{P.warn(e,t)},error:(e,t)=>{P.message(e,{...t,symbol:l("red",Wt)})}},T=(e="",t)=>{const r=process.stdout,i=`${l("gray",X)} `;r.write(`${i}${l("red",e)}
26
26
 
27
27
  `)},zt=(e="",t)=>{const r=process.stdout,i=`${l("gray",Vt)} `;r.write(`${i}${e}
28
28
  `)},Yt=(e="",t)=>{const r=process.stdout,i=`${l("gray",F)}
29
- ${l("gray",te)} `;r.write(`${i}${e}
29
+ ${l("gray",X)} `;r.write(`${i}${e}
30
30
 
31
- `)},qt=e=>l("magenta",e),Jt=({indicator:e="dots",onCancel:t,output:r=process.stdout,cancelMessage:i,errorMessage:n,frames:a=Te?["\u25D2","\u25D0","\u25D3","\u25D1"]:["\u2022","o","O","0"],delay:s=Te?80:120,signal:o,...u}={})=>{const c=Dt();let w,m,p=!1,g=!1,h="",f,v=performance.now();const I=Se(r),j=u?.styleFrame??qt,k=R=>{const W=R>1?n??H.messages.error:i??H.messages.cancel;g=R===1,p&&(U(W,R),g&&typeof t=="function"&&t())},S=()=>k(2),_=()=>k(1),b=()=>{process.on("uncaughtExceptionMonitor",S),process.on("unhandledRejection",S),process.on("SIGINT",_),process.on("SIGTERM",_),process.on("exit",k),o&&o.addEventListener("abort",_)},d=()=>{process.removeListener("uncaughtExceptionMonitor",S),process.removeListener("unhandledRejection",S),process.removeListener("SIGINT",_),process.removeListener("SIGTERM",_),process.removeListener("exit",k),o&&o.removeEventListener("abort",_)},y=()=>{if(f===void 0)return;c&&r.write(`
32
- `);const R=ee(f,I,{hard:!0,trim:!1}).split(`
33
- `);R.length>1&&r.write(L.cursor.up(R.length-1)),r.write(L.cursor.to(0)),r.write(L.erase.down())},x=R=>R.replace(/\.+$/,""),$=R=>{const W=(performance.now()-R)/1e3,Y=Math.floor(W/60),q=Math.floor(W%60);return Y>0?`[${Y}m ${q}s]`:`[${q}s]`},C=u.withGuide??H.withGuide,V=(R="")=>{p=!0,w=kt({output:r}),h=x(R),v=performance.now(),C&&r.write(`${l("gray",F)}
34
- `);let W=0,Y=0;b(),m=setInterval(()=>{if(c&&h===f)return;y(),f=h;const q=j(a[W]);let ae;if(c)ae=`${q} ${h}...`;else if(e==="timer")ae=`${q} ${h} ${$(v)}`;else{const ot=".".repeat(Math.floor(Y)).slice(0,3);ae=`${q} ${h}${ot}`}const at=ee(ae,I,{hard:!0,trim:!1});r.write(at),W=W+1<a.length?W+1:0,Y=Y<4?Y+.125:0},s)},U=(R="",W=0,Y=!1)=>{if(!p)return;p=!1,clearInterval(m),y();const q=W===0?l("green",Fe):W===1?l("red",ze):l("red",Ye);h=R??h,Y||(e==="timer"?r.write(`${q} ${h} ${$(v)}
35
- `):r.write(`${q} ${h}
36
- `)),d(),w()};return{start:V,stop:(R="")=>U(R,0),message:(R="")=>{h=x(R??h)},cancel:(R="")=>U(R,1),error:(R="")=>U(R,2),clear:()=>U("",0,!0),get isCancelled(){return g}}},Zt=[`${l("dim","\u2191/\u2193")} to navigate`,`${l("dim","Enter:")} confirm`],he=(e,t)=>e.includes(`
31
+ `)},qt=e=>l("magenta",e),Jt=({indicator:e="dots",onCancel:t,output:r=process.stdout,cancelMessage:i,errorMessage:a,frames:n=Te?["\u25D2","\u25D0","\u25D3","\u25D1"]:["\u2022","o","O","0"],delay:s=Te?80:120,signal:o,...c}={})=>{const u=Dt();let v,m,p=!1,g=!1,f="",h,w=performance.now();const I=Se(r),j=c?.styleFrame??qt,k=R=>{const W=R>1?a??H.messages.error:i??H.messages.cancel;g=R===1,p&&(U(W,R),g&&typeof t=="function"&&t())},S=()=>k(2),_=()=>k(1),b=()=>{process.on("uncaughtExceptionMonitor",S),process.on("unhandledRejection",S),process.on("SIGINT",_),process.on("SIGTERM",_),process.on("exit",k),o&&o.addEventListener("abort",_)},d=()=>{process.removeListener("uncaughtExceptionMonitor",S),process.removeListener("unhandledRejection",S),process.removeListener("SIGINT",_),process.removeListener("SIGTERM",_),process.removeListener("exit",k),o&&o.removeEventListener("abort",_)},$=()=>{if(h===void 0)return;u&&r.write(`
32
+ `);const R=te(h,I,{hard:!0,trim:!1}).split(`
33
+ `);R.length>1&&r.write(L.cursor.up(R.length-1)),r.write(L.cursor.to(0)),r.write(L.erase.down())},x=R=>R.replace(/\.+$/,""),y=R=>{const W=(performance.now()-R)/1e3,Y=Math.floor(W/60),q=Math.floor(W%60);return Y>0?`[${Y}m ${q}s]`:`[${q}s]`},C=c.withGuide??H.withGuide,V=(R="")=>{p=!0,v=kt({output:r}),f=x(R),w=performance.now(),C&&r.write(`${l("gray",F)}
34
+ `);let W=0,Y=0;b(),m=setInterval(()=>{if(u&&f===h)return;$(),h=f;const q=j(n[W]);let ae;if(u)ae=`${q} ${f}...`;else if(e==="timer")ae=`${q} ${f} ${y(w)}`;else{const ot=".".repeat(Math.floor(Y)).slice(0,3);ae=`${q} ${f}${ot}`}const at=te(ae,I,{hard:!0,trim:!1});r.write(at),W=W+1<n.length?W+1:0,Y=Y<4?Y+.125:0},s)},U=(R="",W=0,Y=!1)=>{if(!p)return;p=!1,clearInterval(m),$();const q=W===0?l("green",Fe):W===1?l("red",ze):l("red",Ye);f=R??f,Y||(e==="timer"?r.write(`${q} ${f} ${y(w)}
35
+ `):r.write(`${q} ${f}
36
+ `)),d(),v()};return{start:V,stop:(R="")=>U(R,0),message:(R="")=>{f=x(R??f)},cancel:(R="")=>U(R,1),error:(R="")=>U(R,2),clear:()=>U("",0,!0),get isCancelled(){return g}}},Zt=[`${l("dim","\u2191/\u2193")} to navigate`,`${l("dim","Enter:")} confirm`],he=(e,t)=>e.includes(`
37
37
  `)?e.split(`
38
38
  `).map(r=>t(r)).join(`
39
- `):t(e),X=e=>{const t=(r,i)=>{const n=r.label??String(r.value);switch(i){case"disabled":return`${l("gray",fe)} ${he(n,a=>l("gray",a))}${r.hint?` ${l("dim",`(${r.hint??"disabled"})`)}`:""}`;case"selected":return`${he(n,a=>l("dim",a))}`;case"active":return`${l("green",xe)} ${n}${r.hint?` ${l("dim",`(${r.hint})`)}`:""}`;case"cancelled":return`${he(n,a=>l(["strikethrough","dim"],a))}`;default:return`${l("dim",fe)} ${he(n,a=>l("dim",a))}`}};return new Lt({options:e.options,signal:e.signal,input:e.input,output:e.output,initialValue:e.initialValue,render(){const r=e.withGuide??H.withGuide,i=`${Re(this.state)} `,n=`${Gt(this.state)} `,a=pe(e.output,e.message,n,i),s=`${r?`${l("gray",F)}
40
- `:""}${a}
41
- `;switch(this.state){case"submit":{const o=r?`${l("gray",F)} `:"",u=pe(e.output,t(this.options[this.cursor],"selected"),o);return`${s}${u}`}case"cancel":{const o=r?`${l("gray",F)} `:"",u=pe(e.output,t(this.options[this.cursor],"cancelled"),o);return`${s}${u}${r?`
42
- ${l("gray",F)}`:""}`}default:{const o=r?`${l("cyan",F)} `:"",u=s.split(`
43
- `).length,c=Kt(Zt,r),w=c.join(`
44
- `),m=c.length+1;return`${s}${o}${Ht({output:e.output,cursor:this.cursor,options:this.options,maxItems:e.maxItems,columnPadding:o.length,rowPadding:u+m,style:(p,g)=>t(p,p.disabled?"disabled":g?"active":"inactive")}).join(`
45
- ${o}`)}
46
- ${w}
47
- `}}}}).prompt()};`${l("gray",F)}`;const de=async(e,t)=>{for(const r of e){if(r.enabled===!1)continue;const i=Jt(t);i.start(r.title);const n=await r.task(i.message);i.stop(n||r.title)}},se=e=>new Nt({validate:e.validate,placeholder:e.placeholder,defaultValue:e.defaultValue,initialValue:e.initialValue,output:e.output,signal:e.signal,input:e.input,render(){const t=e?.withGuide??H.withGuide,r=`${`${t?`${l("gray",F)}
39
+ `):t(e),Q=e=>{const t=(i,a)=>{if(i===void 0)return"";const n=i.label??String(i.value);switch(a){case"disabled":return`${l("gray",fe)} ${he(n,s=>l("gray",s))}${i.hint?` ${l("dim",`(${i.hint??"disabled"})`)}`:""}`;case"selected":return`${he(n,s=>l("dim",s))}`;case"active":return`${l("green",xe)} ${n}${i.hint?` ${l("dim",`(${i.hint})`)}`:""}`;case"cancelled":return`${he(n,s=>l(["strikethrough","dim"],s))}`;default:return`${l("dim",fe)} ${he(n,s=>l("dim",s))}`}},r=e.showInstructions??!0;return new Lt({options:e.options,signal:e.signal,input:e.input,output:e.output,initialValue:e.initialValue,render(){const i=e.withGuide??H.withGuide,a=`${Re(this.state)} `,n=`${Gt(this.state)} `,s=pe(e.output,e.message,n,a),o=`${i?`${l("gray",F)}
40
+ `:""}${s}
41
+ `;switch(this.state){case"submit":{const c=i?`${l("gray",F)} `:"",u=pe(e.output,t(this.options[this.cursor],"selected"),c);return`${o}${u}`}case"cancel":{const c=i?`${l("gray",F)} `:"",u=pe(e.output,t(this.options[this.cursor],"cancelled"),c);return`${o}${u}${i?`
42
+ ${l("gray",F)}`:""}`}default:{const c=i?`${l("cyan",F)} `:"",u=o.split(`
43
+ `).length,v=r?Kt(Zt,i):i?[l("cyan",X)]:[],m=v.join(`
44
+ `),p=v.length+1;return`${o}${c}${Ht({output:e.output,cursor:this.cursor,options:this.options,maxItems:e.maxItems,columnPadding:c.length,rowPadding:u+p,style:(g,f)=>t(g,g.disabled?"disabled":f?"active":"inactive")}).join(`
45
+ ${c}`)}
46
+ ${m}
47
+ `}}}}).prompt()};`${l("gray",F)}`;const de=async(e,t)=>{for(const r of e){if(r.enabled===!1)continue;const i=Jt(t);i.start(r.title);const a=await r.task(i.message);i.stop(a||r.title)}},se=e=>new Nt({validate:e.validate,placeholder:e.placeholder,defaultValue:e.defaultValue,initialValue:e.initialValue,output:e.output,signal:e.signal,input:e.input,render(){const t=e?.withGuide??H.withGuide,r=`${`${t?`${l("gray",F)}
48
48
  `:""}${Re(this.state)} `}${e.message}
49
- `,i=e.placeholder?l("inverse",e.placeholder[0])+l("dim",e.placeholder.slice(1)):l(["inverse","hidden"],"_"),n=this.userInput?this.userInputWithCursor:i,a=this.value??"";switch(this.state){case"error":{const s=this.error?` ${l("yellow",this.error)}`:"",o=t?`${l("yellow",F)} `:"",u=t?l("yellow",te):"";return`${r.trim()}
50
- ${o}${n}
51
- ${u}${s}
52
- `}case"submit":{const s=a?` ${l("dim",a)}`:"",o=t?l("gray",F):"";return`${r}${o}${s}`}case"cancel":{const s=a?` ${l(["strikethrough","dim"],a)}`:"",o=t?l("gray",F):"";return`${r}${o}${s}${a.trim()?`
53
- ${o}`:""}`}default:{const s=t?`${l("cyan",F)} `:"",o=t?l("cyan",te):"";return`${r}${s}${n}
49
+ `,i=e.placeholder&&e.placeholder.length>0?l("inverse",e.placeholder[0])+l("dim",e.placeholder.slice(1)):l(["inverse","hidden"],"_"),a=this.userInput?this.userInputWithCursor:i,n=this.value??"";switch(this.state){case"error":{const s=this.error?` ${l("yellow",this.error)}`:"",o=t?`${l("yellow",F)} `:"",c=t?l("yellow",X):"";return`${r.trim()}
50
+ ${o}${a}
51
+ ${c}${s}
52
+ `}case"submit":{const s=n?` ${l("dim",n)}`:"",o=t?l("gray",F):"";return`${r}${o}${s}`}case"cancel":{const s=n?` ${l(["strikethrough","dim"],n)}`:"",o=t?l("gray",F):"";return`${r}${o}${s}${n.trim()?`
53
+ ${o}`:""}`}default:{const s=t?`${l("cyan",F)} `:"",o=t?l("cyan",X):"";return`${r}${s}${a}
54
54
  ${o}
55
- `}}}}).prompt();let Q=!0;const re=typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{};let ne=0;if(re.process&&re.process.env&&re.process.stdout){const{FORCE_COLOR:e,NODE_DISABLE_COLORS:t,NO_COLOR:r,TERM:i,COLORTERM:n}=re.process.env;t||r||e==="0"?Q=!1:e==="1"||e==="2"||e==="3"?Q=!0:i==="dumb"?Q=!1:"CI"in re.process.env&&["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE","DRONE"].some(a=>a in re.process.env)?Q=!0:Q=process.stdout.isTTY,Q&&(process.platform==="win32"||n&&(n==="truecolor"||n==="24bit")?ne=3:i&&(i.endsWith("-256color")||i.endsWith("256"))?ne=2:ne=1)}let Ze={enabled:Q,supportLevel:ne};function me(e,t,r=1){const i=`\x1B[${e}m`,n=`\x1B[${t}m`,a=new RegExp(`\\x1b\\[${t}m`,"g");return s=>Ze.enabled&&Ze.supportLevel>=r?i+(""+s).replace(a,i)+n:""+s}const Xt=me(31,39),ge=me(36,39),Qt=me(90,39),er=me(91,39);var Ae,Xe;function tr(){if(Xe)return Ae;Xe=1;function e(i,n){var a=i;n.slice(0,-1).forEach(function(o){a=a[o]||{}});var s=n[n.length-1];return s in a}function t(i){return typeof i=="number"||/^0x[0-9a-f]+$/i.test(i)?!0:/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(i)}function r(i,n){return n==="constructor"&&typeof i[n]=="function"||n==="__proto__"}return Ae=function(i,n){n||(n={});var a={bools:{},strings:{},unknownFn:null};typeof n.unknown=="function"&&(a.unknownFn=n.unknown),typeof n.boolean=="boolean"&&n.boolean?a.allBools=!0:[].concat(n.boolean).filter(Boolean).forEach(function(d){a.bools[d]=!0});var s={};function o(d){return s[d].some(function(y){return a.bools[y]})}Object.keys(n.alias||{}).forEach(function(d){s[d]=[].concat(n.alias[d]),s[d].forEach(function(y){s[y]=[d].concat(s[d].filter(function(x){return y!==x}))})}),[].concat(n.string).filter(Boolean).forEach(function(d){a.strings[d]=!0,s[d]&&[].concat(s[d]).forEach(function(y){a.strings[y]=!0})});var u=n.default||{},c={_:[]};function w(d,y){return a.allBools&&/^--[^=]+$/.test(y)||a.strings[d]||a.bools[d]||s[d]}function m(d,y,x){for(var $=d,C=0;C<y.length-1;C++){var V=y[C];if(r($,V))return;$[V]===void 0&&($[V]={}),($[V]===Object.prototype||$[V]===Number.prototype||$[V]===String.prototype)&&($[V]={}),$[V]===Array.prototype&&($[V]=[]),$=$[V]}var U=y[y.length-1];r($,U)||(($===Object.prototype||$===Number.prototype||$===String.prototype)&&($={}),$===Array.prototype&&($=[]),$[U]===void 0||a.bools[U]||typeof $[U]=="boolean"?$[U]=x:Array.isArray($[U])?$[U].push(x):$[U]=[$[U],x])}function p(d,y,x){if(!(x&&a.unknownFn&&!w(d,x)&&a.unknownFn(x)===!1)){var $=!a.strings[d]&&t(y)?Number(y):y;m(c,d.split("."),$),(s[d]||[]).forEach(function(C){m(c,C.split("."),$)})}}Object.keys(a.bools).forEach(function(d){p(d,u[d]===void 0?!1:u[d])});var g=[];i.indexOf("--")!==-1&&(g=i.slice(i.indexOf("--")+1),i=i.slice(0,i.indexOf("--")));for(var h=0;h<i.length;h++){var f=i[h],v,I;if(/^--.+=/.test(f)){var j=f.match(/^--([^=]+)=([\s\S]*)$/);v=j[1];var k=j[2];a.bools[v]&&(k=k!=="false"),p(v,k,f)}else if(/^--no-.+/.test(f))v=f.match(/^--no-(.+)/)[1],p(v,!1,f);else if(/^--.+/.test(f))v=f.match(/^--(.+)/)[1],I=i[h+1],I!==void 0&&!/^(-|--)[^-]/.test(I)&&!a.bools[v]&&!a.allBools&&(!s[v]||!o(v))?(p(v,I,f),h+=1):/^(true|false)$/.test(I)?(p(v,I==="true",f),h+=1):p(v,a.strings[v]?"":!0,f);else if(/^-[^-]+/.test(f)){for(var S=f.slice(1,-1).split(""),_=!1,b=0;b<S.length;b++){if(I=f.slice(b+2),I==="-"){p(S[b],I,f);continue}if(/[A-Za-z]/.test(S[b])&&I[0]==="="){p(S[b],I.slice(1),f),_=!0;break}if(/[A-Za-z]/.test(S[b])&&/-?\d+(\.\d*)?(e-?\d+)?$/.test(I)){p(S[b],I,f),_=!0;break}if(S[b+1]&&S[b+1].match(/\W/)){p(S[b],f.slice(b+2),f),_=!0;break}else p(S[b],a.strings[S[b]]?"":!0,f)}v=f.slice(-1)[0],!_&&v!=="-"&&(i[h+1]&&!/^(-|--)[^-]/.test(i[h+1])&&!a.bools[v]&&(!s[v]||!o(v))?(p(v,i[h+1],f),h+=1):i[h+1]&&/^(true|false)$/.test(i[h+1])?(p(v,i[h+1]==="true",f),h+=1):p(v,a.strings[v]?"":!0,f))}else if((!a.unknownFn||a.unknownFn(f)!==!1)&&c._.push(a.strings._||!t(f)?f:Number(f)),n.stopEarly){c._.push.apply(c._,i.slice(h+1));break}}return Object.keys(u).forEach(function(d){e(c,d.split("."))||(m(c,d.split("."),u[d]),(s[d]||[]).forEach(function(y){m(c,y.split("."),u[d])}))}),n["--"]?c["--"]=g.slice():g.forEach(function(d){c._.push(d)}),c},Ae}var rr=tr();const ir=Tt(rr);async function sr({rootFolder:e}){const t=A.join(e,".git");try{if(E.existsSync(t)){P.warn("Git repository already exists.");return}}catch(i){P.error(`Error checking git folder: ${i}`);return}const r=await X({message:"Do you want to initialize a git repository? (recommended)",options:[{value:!0,label:"Yes",hint:"You can use GitHub to track changes and collaborate with others."},{value:!1,label:"No",hint:"It is not recommended to skip this step."}],initialValue:!0});if(D(r)&&(T("Operation cancelled."),process.exit(0)),r){const i=await de([{title:"Initializing git repository...",task:async n=>{const a=await K("git",["init","-b","main"],{cwd:e});n(a.stdout);const s=await K("git",["add","."],{cwd:e});n(s.stdout);const o=await K("git",["config","user.name"]).then(c=>c.stdout.trim()).catch(()=>""),u=await K("git",["config","user.email"]).then(c=>c.stdout.trim()).catch(()=>"");return o&&u&&(await K("git",["commit","-m","Initial commit"],{cwd:e}),n("Initial commit created.")),"Git repository initialized."}}]);D(i)&&(T("Operation cancelled."),process.exit(0)),P.message(`Now, you can use GitHub Desktop upload your project to GitHub.
56
- GitHub Desktop: https://github.com/apps/desktop`)}}var ie=(e=>(e.VisualStudioCode="vscode",e.Cursor="cursor",e.VSCodium="codium",e.Other="other",e))(ie||{});async function nr({rootFolder:e,fileToOpen:t}){const r=await X({message:"Which IDE do you want to use?",options:[{value:ie.VisualStudioCode,label:"Visual Studio Code"},{value:ie.Cursor,label:"Cursor"},{value:ie.VSCodium,label:"VSCodium"},{value:ie.Other,label:"Other"}],initialValue:ie.VisualStudioCode});if(D(r)&&(T("Operation cancelled."),process.exit(0)),r===void 0)return;let i,n;switch(r){case"vscode":n="Opening in Visual Studio Code...",i="code";break;case"cursor":n="Opening in Cursor...",i="cursor";break;case"codium":n="Opening in VSCodium...",i="codium";break;default:return}await de([{title:n,task:async a=>{try{await Le(i);const s=await K(i,[e]);if(a(s.stdout),t){const o=await K(i,[`${e}/${t}`]);a(o.stdout)}return`Opened project using ${r}`}catch{return`Could not open project using ${r}, since ${r} was not in your PATH`}}}])}var z=(e=>(e[e.VisualNovel=0]="VisualNovel",e[e.TextStory=1]="TextStory",e[e.PointAndClick=2]="PointAndClick",e[e.GameEngine=3]="GameEngine",e[e.Library=4]="Library",e))(z||{}),O=(e=>(e[e.Ink=0]="Ink",e[e.Renpy=1]="Renpy",e[e.Typescript=2]="Typescript",e))(O||{}),M=(e=>(e[e.React=0]="React",e[e.Vue=1]="Vue",e[e.Angular=2]="Angular",e))(M||{});const Qe="My Game",Z=[{type:z.VisualNovel,name:"Visual Novel",availableUI:[M.React],availableNarrativeLanguages:[O.Ink,O.Typescript],isMultidevice:!0,canReplaceUI:!0},{type:z.TextStory,name:"Text-based Story",availableUI:[M.React],availableNarrativeLanguages:[O.Ink,O.Typescript],isMultidevice:!0,canReplaceUI:!1},{type:z.PointAndClick,name:"Point & Click Adventure",availableUI:[M.React],availableNarrativeLanguages:[O.Ink,O.Typescript],isMultidevice:!0,canReplaceUI:!1},{type:z.GameEngine,name:"Game Engine",availableUI:[],availableNarrativeLanguages:[],isMultidevice:!1,canReplaceUI:!1},{type:z.Library,name:"Library",availableUI:[],availableNarrativeLanguages:[],isMultidevice:!1,canReplaceUI:!1}];async function ar({packageName:e}){const t=await X({message:"Select the type of game you want to create:",options:Z.map(c=>({label:c.name,value:c.type})),initialValue:Z[0].type});D(t)&&(T("Operation cancelled."),process.exit(0));const r=Z.find(c=>c.type===t)?.availableUI.map(c=>{let w="";switch(c){case M.React:w=ge("React");break;case M.Vue:w=Qt("Vue");break;case M.Angular:w=Xt("Angular");break}return{label:w,value:c}})||[];let i;r.length===1?(P.warning(`Only one UI framework available: ${r[0].label}. Using it by default.`),i=r[0].value):r.length>0?(i=await X({message:"Select the UI framework you want to use:",options:r,initialValue:Z.find(c=>c.type===t)?.availableUI[0]}),D(i)&&(T("Operation cancelled."),process.exit(0))):i=void 0;const n=Z.find(c=>c.type===t)?.availableNarrativeLanguages.map(c=>{let w="";switch(c){case O.Ink:w="Ink + Typescript";break;case O.Renpy:w=er("Renpy");break;case O.Typescript:w=ge("Typescript");break}return{label:w,value:c}})||[];let a;n.length===1?(P.warning(`Only one narrative language available: ${n[0].label}. Using it by default.`),a=n[0].value):n.length>0?(a=await X({message:"Select the narrative language you want to use:",options:n,initialValue:Z.find(c=>c.type===t)?.availableNarrativeLanguages[0]}),D(a)&&(T("Operation cancelled."),process.exit(0))):a=void 0;const s=Z.find(c=>c.type===t)?.isMultidevice;let o=!1,u="";return s&&(o=await X({message:"Which devices is the project intended for?",options:[{label:"Web page",value:!1},{label:"Web page + Desktop + Mobile (Tauri)",value:!0}],initialValue:!1}),D(o)&&(T("Operation cancelled."),process.exit(0)),o?(u=await se({message:"Project identifier:",initialValue:`com.${e}.app`,validate:c=>{if(!c)return"Identifier is required.";if(!/^[a-zA-Z0-9_.\-]+$/.test(c))return"Identifier can only contain letters, numbers, underscores, dots and dashes."}}),D(u)&&(T("Operation cancelled."),process.exit(0))):u=""),{gameType:t,UIFramework:i,narrativeLanguage:a,multidevice:o,identifier:u}}var N=(e=>(e.Delete="delete",e.Overwrite="overwrite",e.Skip="skip",e.Ask="ask",e.Cancel="cancel",e))(N||{});function or(e){const t=E.readdirSync(e);return t.length===0||t.length===1&&t[0]===".git"}function et(e,t,r){if(!E.existsSync(t))return;const i=E.statSync(t);if(i.isFile())(r===N.Overwrite||r===N.Delete)&&E.rmSync(t,{force:!0});else if(i.isDirectory()){const n=E.readdirSync(e);for(const a of n){const s=A.join(e,a),o=A.join(t,a);et(s,o,r)}}}function ke(e,t,r){if(E.statSync(e).isDirectory()){E.mkdirSync(t,{recursive:!0});for(const i of E.readdirSync(e)){const n=A.join(e,i),a=A.join(t,i);ke(n,a,r)}}else{if(r!==void 0&&E.existsSync(t)){if(r===N.Skip)return;(r===N.Overwrite||r===N.Delete)&&E.rmSync(t,{force:!0})}E.copyFileSync(e,t)}}function ur(e){return/^(?:@[a-z\d\-*~][a-z\d\-*._~]*\/)?[a-z\d\-~][a-z\d\-._~]*$/.test(e)}function tt(e){return e.trim().toLowerCase().replace(/\s+/g,"-").replace(/^[._]/,"").replace(/[^a-z\d\-~]+/g,"-")}async function cr(){const e=await se({message:"Project name:",defaultValue:Qe,placeholder:Qe,validate:s=>{if(!s)return"Project name cannot be empty"}});D(e)&&(T("Operation cancelled."),process.exit(0));const t=await se({message:"Project description:",defaultValue:"A new game project",placeholder:"A new game project"});D(t)&&(T("Operation cancelled."),process.exit(0));const r=await se({message:"Package name:",defaultValue:tt(e),placeholder:tt(e),validate:s=>{if(s&&!ur(s))return"Invalid package name. The name can only include URL-friendly characters."}});D(r)&&(T("Operation cancelled."),process.exit(0));const i=A.basename(A.resolve()),n=await se({message:"Target directory:",defaultValue:r,placeholder:`${r} (If is equal to ".", the current directory (${i}) will be used)`});D(n)&&(T("Operation cancelled."),process.exit(0));let a;return E.existsSync(n)&&!or(n)?(a=await X({message:"Overwrite existing files?",options:[{hint:"Delete all existing files and create a new project",label:"Delete all",value:N.Delete},{hint:"Overwrite existing conflicting files",label:"Overwrite",value:N.Overwrite},{hint:"Skip existing conflicting files",label:"Skip",value:N.Skip},{hint:"Ask for each file",label:"Ask",value:N.Ask},{hint:"Cancel operation",label:"Cancel",value:N.Cancel}],initialValue:N.Overwrite}),(D(a)||a===N.Cancel)&&(T("Operation cancelled."),process.exit(0))):a=void 0,{projectName:e,foltderName:n,description:t,packageName:r,overwrite:a}}const rt={_gitignore:".gitignore"};function it(e,t,r,i,n){return e=e.replace(/my-app-package-name/g,t),e=e.replace(/my-app-description/g,r),e=e.replace(/my-app-project-name/g,i),n&&(e=e.replace(/com\.my-app-project-name\.app/g,n)),e}function st(e,t,r,i,n){E.existsSync(e)&&E.writeFileSync(e,it(E.readFileSync(e,"utf-8"),t,r,i,n))}async function lr({rootFolder:e,overwrite:t,template:r,packageName:i,description:n,projectName:a,identifier:s}){const o=await de([{title:`Creating project in ${e}...`,task:async()=>{E.existsSync(e)||E.mkdirSync(e,{recursive:!0});const u=A.resolve(lt(import.meta.url),"../..",`${r}`),c=(g,h)=>{const f=A.join(e,rt[g]??g);h?E.writeFileSync(f,h):ke(A.join(u,g),f,t)},w=E.readdirSync(u).map(async g=>{const h=A.join(u,g),f=A.join(e,rt[g]??g);if(E.existsSync(f))switch(t){case N.Ask:if(E.statSync(f).isFile()){const v=await Je({message:`File ${f} already exists. Do you want to overwrite it?`,initialValue:!1});if(D(v)&&(T("Operation cancelled."),process.exit(0)),!v)return;E.rmSync(f,{force:!0})}else{const v=E.readdirSync(h);for(const I of v){const j=A.join(h,I),k=A.join(f,I);if(E.existsSync(k)){const S=await Je({message:`File ${k} already exists. Do you want to overwrite it?`,initialValue:!1});if(D(S)&&(T("Operation cancelled."),process.exit(0)),!S)continue;E.rmSync(k,{force:!0})}ke(j,k,t)}return}break;case N.Skip:return;case N.Overwrite:case N.Delete:et(h,f,t);break}switch(g){case"package.json":case"vite.config.ts":case"index.html":case"README.md":{c(g,it(E.readFileSync(h,"utf-8"),i,n,a));break}case".git":case"package-lock.json":break;default:c(g)}});await Promise.all(w),st(A.join(e,".vscode","launch.json"),i,n,a);const m=A.join(e,"src-tauri");if(E.existsSync(m))for(const g of["Cargo.toml","tauri.conf.json"])st(A.join(m,g),i,n,a,s);const p=A.join(e,"_github");return E.existsSync(p)&&E.renameSync(p,A.join(e,".github")),"Project created"}}]);D(o)&&(T("Operation cancelled."),process.exit(0))}const pr=process.cwd();async function fr(){let e,{description:t,overwrite:r,packageName:i,projectName:n,foltderName:a}=await cr(),{UIFramework:s,gameType:o,narrativeLanguage:u,multidevice:c,identifier:w}=await ar({packageName:i});const m=A.join(pr,a);let p;switch(o){case z.VisualNovel:switch(s){case M.React:switch(u){case O.Typescript:c?p="template-react-vite-muijoy-tauri":p="template-react-vite-muijoy",e="src/content/labels/start.label.ts";break;case O.Ink:c?p="template-react-vite-muijoy-ink-tauri":p="template-react-vite-muijoy-ink",e="ink/start.ink";break;case O.Renpy:T("Error: There are no templates for this narrative language"),process.exit(0);default:T("Error: Unknown narrative language"),process.exit(0)}break;case M.Vue:case M.Angular:T("Error: There are no templates for this game type and UI framework"),process.exit(0);default:T("Error: Unknown UI framework"),process.exit(0)}break;case z.TextStory:switch(s){case M.React:switch(u){case O.Typescript:c?p="template-story-react-vite-muijoy-tauri":p="template-story-react-vite-muijoy",e="src/labels/startLabel.ts";break;case O.Ink:c?p="template-story-react-vite-muijoy-ink-tauri":p="template-story-react-vite-muijoy-ink",e="src/ink/start.ink";break;case O.Renpy:T("Error: There are no templates for this narrative language"),process.exit(0);default:T("Error: Unknown narrative language"),process.exit(0)}break;case M.Vue:case M.Angular:T("Error: There are no templates for this game type and UI framework"),process.exit(0);default:T("Error: Unknown UI framework"),process.exit(0)}break;case z.PointAndClick:switch(s){case M.React:switch(u){case O.Typescript:c?p="template-nqtr-react-vite-muijoy-tauri":p="template-nqtr-react-vite-muijoy",e="src/labels/startLabel.ts";break;case O.Ink:c?p="template-nqtr-react-vite-muijoy-ink-tauri":p="template-nqtr-react-vite-muijoy-ink",e="src/ink/variousActionsLabels.ink";break;case O.Renpy:T("Error: There are no templates for this narrative language"),process.exit(0);default:T("Error: Unknown narrative language"),process.exit(0)}break;case M.Vue:case M.Angular:T("Error: There are no templates for this game type and UI framework"),process.exit(0);default:T("Error: Unknown UI framework"),process.exit(0)}break;case z.GameEngine:p="template-game-engine",e="src/index.ts";break;case z.Library:p="template-lib",e="src/index.ts";break;default:T("Error: Unknown game type"),process.exit(0)}await lr({rootFolder:m,template:p,packageName:i,description:t,projectName:n,overwrite:r,identifier:w});const g=Z.find(h=>h.type===o)?.canReplaceUI??!1;return{rootFolder:m,fileToOpen:e,canReplaceUI:g}}function hr(){console.info(`
55
+ `}}}}).prompt();let ee=!0;const re=typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{};let ne=0;if(re.process&&re.process.env&&re.process.stdout){const{FORCE_COLOR:e,NODE_DISABLE_COLORS:t,NO_COLOR:r,TERM:i,COLORTERM:a}=re.process.env;t||r||e==="0"?ee=!1:e==="1"||e==="2"||e==="3"?ee=!0:i==="dumb"?ee=!1:"CI"in re.process.env&&["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE","DRONE"].some(n=>n in re.process.env)?ee=!0:ee=process.stdout.isTTY,ee&&(process.platform==="win32"||a&&(a==="truecolor"||a==="24bit")?ne=3:i&&(i.endsWith("-256color")||i.endsWith("256"))?ne=2:ne=1)}let Ze={enabled:ee,supportLevel:ne};function me(e,t,r=1){const i=`\x1B[${e}m`,a=`\x1B[${t}m`,n=new RegExp(`\\x1b\\[${t}m`,"g");return s=>Ze.enabled&&Ze.supportLevel>=r?i+(""+s).replace(n,i)+a:""+s}const Xt=me(31,39),ge=me(36,39),Qt=me(90,39),er=me(91,39);var Ae,Xe;function tr(){if(Xe)return Ae;Xe=1;function e(i,a){var n=i;a.slice(0,-1).forEach(function(o){n=n[o]||{}});var s=a[a.length-1];return s in n}function t(i){return typeof i=="number"||/^0x[0-9a-f]+$/i.test(i)?!0:/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(i)}function r(i,a){return a==="constructor"&&typeof i[a]=="function"||a==="__proto__"}return Ae=function(i,a){a||(a={});var n={bools:{},strings:{},unknownFn:null};typeof a.unknown=="function"&&(n.unknownFn=a.unknown),typeof a.boolean=="boolean"&&a.boolean?n.allBools=!0:[].concat(a.boolean).filter(Boolean).forEach(function(d){n.bools[d]=!0});var s={};function o(d){return s[d].some(function($){return n.bools[$]})}Object.keys(a.alias||{}).forEach(function(d){s[d]=[].concat(a.alias[d]),s[d].forEach(function($){s[$]=[d].concat(s[d].filter(function(x){return $!==x}))})}),[].concat(a.string).filter(Boolean).forEach(function(d){n.strings[d]=!0,s[d]&&[].concat(s[d]).forEach(function($){n.strings[$]=!0})});var c=a.default||{},u={_:[]};function v(d,$){return n.allBools&&/^--[^=]+$/.test($)||n.strings[d]||n.bools[d]||s[d]}function m(d,$,x){for(var y=d,C=0;C<$.length-1;C++){var V=$[C];if(r(y,V))return;y[V]===void 0&&(y[V]={}),(y[V]===Object.prototype||y[V]===Number.prototype||y[V]===String.prototype)&&(y[V]={}),y[V]===Array.prototype&&(y[V]=[]),y=y[V]}var U=$[$.length-1];r(y,U)||((y===Object.prototype||y===Number.prototype||y===String.prototype)&&(y={}),y===Array.prototype&&(y=[]),y[U]===void 0||n.bools[U]||typeof y[U]=="boolean"?y[U]=x:Array.isArray(y[U])?y[U].push(x):y[U]=[y[U],x])}function p(d,$,x){if(!(x&&n.unknownFn&&!v(d,x)&&n.unknownFn(x)===!1)){var y=!n.strings[d]&&t($)?Number($):$;m(u,d.split("."),y),(s[d]||[]).forEach(function(C){m(u,C.split("."),y)})}}Object.keys(n.bools).forEach(function(d){p(d,c[d]===void 0?!1:c[d])});var g=[];i.indexOf("--")!==-1&&(g=i.slice(i.indexOf("--")+1),i=i.slice(0,i.indexOf("--")));for(var f=0;f<i.length;f++){var h=i[f],w,I;if(/^--.+=/.test(h)){var j=h.match(/^--([^=]+)=([\s\S]*)$/);w=j[1];var k=j[2];n.bools[w]&&(k=k!=="false"),p(w,k,h)}else if(/^--no-.+/.test(h))w=h.match(/^--no-(.+)/)[1],p(w,!1,h);else if(/^--.+/.test(h))w=h.match(/^--(.+)/)[1],I=i[f+1],I!==void 0&&!/^(-|--)[^-]/.test(I)&&!n.bools[w]&&!n.allBools&&(!s[w]||!o(w))?(p(w,I,h),f+=1):/^(true|false)$/.test(I)?(p(w,I==="true",h),f+=1):p(w,n.strings[w]?"":!0,h);else if(/^-[^-]+/.test(h)){for(var S=h.slice(1,-1).split(""),_=!1,b=0;b<S.length;b++){if(I=h.slice(b+2),I==="-"){p(S[b],I,h);continue}if(/[A-Za-z]/.test(S[b])&&I[0]==="="){p(S[b],I.slice(1),h),_=!0;break}if(/[A-Za-z]/.test(S[b])&&/-?\d+(\.\d*)?(e-?\d+)?$/.test(I)){p(S[b],I,h),_=!0;break}if(S[b+1]&&S[b+1].match(/\W/)){p(S[b],h.slice(b+2),h),_=!0;break}else p(S[b],n.strings[S[b]]?"":!0,h)}w=h.slice(-1)[0],!_&&w!=="-"&&(i[f+1]&&!/^(-|--)[^-]/.test(i[f+1])&&!n.bools[w]&&(!s[w]||!o(w))?(p(w,i[f+1],h),f+=1):i[f+1]&&/^(true|false)$/.test(i[f+1])?(p(w,i[f+1]==="true",h),f+=1):p(w,n.strings[w]?"":!0,h))}else if((!n.unknownFn||n.unknownFn(h)!==!1)&&u._.push(n.strings._||!t(h)?h:Number(h)),a.stopEarly){u._.push.apply(u._,i.slice(f+1));break}}return Object.keys(c).forEach(function(d){e(u,d.split("."))||(m(u,d.split("."),c[d]),(s[d]||[]).forEach(function($){m(u,$.split("."),c[d])}))}),a["--"]?u["--"]=g.slice():g.forEach(function(d){u._.push(d)}),u},Ae}var rr=tr();const ir=Tt(rr);async function sr({rootFolder:e}){const t=A.join(e,".git");try{if(E.existsSync(t)){P.warn("Git repository already exists.");return}}catch(i){P.error(`Error checking git folder: ${i}`);return}const r=await Q({message:"Do you want to initialize a git repository? (recommended)",options:[{value:!0,label:"Yes",hint:"You can use GitHub to track changes and collaborate with others."},{value:!1,label:"No",hint:"It is not recommended to skip this step."}],initialValue:!0});if(D(r)&&(T("Operation cancelled."),process.exit(0)),r){const i=await de([{title:"Initializing git repository...",task:async a=>{const n=await K("git",["init","-b","main"],{cwd:e});a(n.stdout);const s=await K("git",["add","."],{cwd:e});a(s.stdout);const o=await K("git",["config","user.name"]).then(u=>u.stdout.trim()).catch(()=>""),c=await K("git",["config","user.email"]).then(u=>u.stdout.trim()).catch(()=>"");return o&&c&&(await K("git",["commit","-m","Initial commit"],{cwd:e}),a("Initial commit created.")),"Git repository initialized."}}]);D(i)&&(T("Operation cancelled."),process.exit(0)),P.message(`Now, you can use GitHub Desktop upload your project to GitHub.
56
+ GitHub Desktop: https://github.com/apps/desktop`)}}var ie=(e=>(e.VisualStudioCode="vscode",e.Cursor="cursor",e.VSCodium="codium",e.Other="other",e))(ie||{});async function nr({rootFolder:e,fileToOpen:t}){const r=await Q({message:"Which IDE do you want to use?",options:[{value:ie.VisualStudioCode,label:"Visual Studio Code"},{value:ie.Cursor,label:"Cursor"},{value:ie.VSCodium,label:"VSCodium"},{value:ie.Other,label:"Other"}],initialValue:ie.VisualStudioCode});if(D(r)&&(T("Operation cancelled."),process.exit(0)),r===void 0)return;let i,a;switch(r){case"vscode":a="Opening in Visual Studio Code...",i="code";break;case"cursor":a="Opening in Cursor...",i="cursor";break;case"codium":a="Opening in VSCodium...",i="codium";break;default:return}await de([{title:a,task:async n=>{try{await Le(i);const s=await K(i,[e]);if(n(s.stdout),t){const o=await K(i,[`${e}/${t}`]);n(o.stdout)}return`Opened project using ${r}`}catch{return`Could not open project using ${r}, since ${r} was not in your PATH`}}}])}var z=(e=>(e[e.VisualNovel=0]="VisualNovel",e[e.TextStory=1]="TextStory",e[e.PointAndClick=2]="PointAndClick",e[e.GameEngine=3]="GameEngine",e[e.Library=4]="Library",e))(z||{}),O=(e=>(e[e.Ink=0]="Ink",e[e.Renpy=1]="Renpy",e[e.Typescript=2]="Typescript",e))(O||{}),M=(e=>(e[e.React=0]="React",e[e.Vue=1]="Vue",e[e.Angular=2]="Angular",e))(M||{});const Qe="My Game",Z=[{type:z.VisualNovel,name:"Visual Novel",availableUI:[M.React],availableNarrativeLanguages:[O.Ink,O.Typescript],isMultidevice:!0,canReplaceUI:!0},{type:z.TextStory,name:"Text-based Story",availableUI:[M.React],availableNarrativeLanguages:[O.Ink,O.Typescript],isMultidevice:!0,canReplaceUI:!1},{type:z.PointAndClick,name:"Point & Click Adventure",availableUI:[M.React],availableNarrativeLanguages:[O.Ink,O.Typescript],isMultidevice:!0,canReplaceUI:!1},{type:z.GameEngine,name:"Game Engine",availableUI:[],availableNarrativeLanguages:[],isMultidevice:!1,canReplaceUI:!1},{type:z.Library,name:"Library",availableUI:[],availableNarrativeLanguages:[],isMultidevice:!1,canReplaceUI:!1}];async function ar({packageName:e}){const t=await Q({message:"Select the type of game you want to create:",options:Z.map(u=>({label:u.name,value:u.type})),initialValue:Z[0].type});D(t)&&(T("Operation cancelled."),process.exit(0));const r=Z.find(u=>u.type===t)?.availableUI.map(u=>{let v="";switch(u){case M.React:v=ge("React");break;case M.Vue:v=Qt("Vue");break;case M.Angular:v=Xt("Angular");break}return{label:v,value:u}})||[];let i;r.length===1?(P.warning(`Only one UI framework available: ${r[0].label}. Using it by default.`),i=r[0].value):r.length>0?(i=await Q({message:"Select the UI framework you want to use:",options:r,initialValue:Z.find(u=>u.type===t)?.availableUI[0]}),D(i)&&(T("Operation cancelled."),process.exit(0))):i=void 0;const a=Z.find(u=>u.type===t)?.availableNarrativeLanguages.map(u=>{let v="";switch(u){case O.Ink:v="Ink + Typescript";break;case O.Renpy:v=er("Renpy");break;case O.Typescript:v=ge("Typescript");break}return{label:v,value:u}})||[];let n;a.length===1?(P.warning(`Only one narrative language available: ${a[0].label}. Using it by default.`),n=a[0].value):a.length>0?(n=await Q({message:"Select the narrative language you want to use:",options:a,initialValue:Z.find(u=>u.type===t)?.availableNarrativeLanguages[0]}),D(n)&&(T("Operation cancelled."),process.exit(0))):n=void 0;const s=Z.find(u=>u.type===t)?.isMultidevice;let o=!1,c="";return s&&(o=await Q({message:"Which devices is the project intended for?",options:[{label:"Web page",value:!1},{label:"Web page + Desktop + Mobile (Tauri)",value:!0}],initialValue:!1}),D(o)&&(T("Operation cancelled."),process.exit(0)),o?(c=await se({message:"Project identifier:",initialValue:`com.${e}.app`,validate:u=>{if(!u)return"Identifier is required.";if(!/^[a-zA-Z0-9_.\-]+$/.test(u))return"Identifier can only contain letters, numbers, underscores, dots and dashes."}}),D(c)&&(T("Operation cancelled."),process.exit(0))):c=""),{gameType:t,UIFramework:i,narrativeLanguage:n,multidevice:o,identifier:c}}var N=(e=>(e.Delete="delete",e.Overwrite="overwrite",e.Skip="skip",e.Ask="ask",e.Cancel="cancel",e))(N||{});function or(e){const t=E.readdirSync(e);return t.length===0||t.length===1&&t[0]===".git"}function et(e,t,r){if(!E.existsSync(t))return;const i=E.statSync(t);if(i.isFile())(r===N.Overwrite||r===N.Delete)&&E.rmSync(t,{force:!0});else if(i.isDirectory()){const a=E.readdirSync(e);for(const n of a){const s=A.join(e,n),o=A.join(t,n);et(s,o,r)}}}function ke(e,t,r){if(E.statSync(e).isDirectory()){E.mkdirSync(t,{recursive:!0});for(const i of E.readdirSync(e)){const a=A.join(e,i),n=A.join(t,i);ke(a,n,r)}}else{if(r!==void 0&&E.existsSync(t)){if(r===N.Skip)return;(r===N.Overwrite||r===N.Delete)&&E.rmSync(t,{force:!0})}E.copyFileSync(e,t)}}function ur(e){return/^(?:@[a-z\d\-*~][a-z\d\-*._~]*\/)?[a-z\d\-~][a-z\d\-._~]*$/.test(e)}function tt(e){return e.trim().toLowerCase().replace(/\s+/g,"-").replace(/^[._]/,"").replace(/[^a-z\d\-~]+/g,"-")}async function cr(){const e=await se({message:"Project name:",defaultValue:Qe,placeholder:Qe,validate:s=>{if(!s)return"Project name cannot be empty"}});D(e)&&(T("Operation cancelled."),process.exit(0));const t=await se({message:"Project description:",defaultValue:"A new game project",placeholder:"A new game project"});D(t)&&(T("Operation cancelled."),process.exit(0));const r=await se({message:"Package name:",defaultValue:tt(e),placeholder:tt(e),validate:s=>{if(s&&!ur(s))return"Invalid package name. The name can only include URL-friendly characters."}});D(r)&&(T("Operation cancelled."),process.exit(0));const i=A.basename(A.resolve()),a=await se({message:"Target directory:",defaultValue:r,placeholder:`${r} (If is equal to ".", the current directory (${i}) will be used)`});D(a)&&(T("Operation cancelled."),process.exit(0));let n;return E.existsSync(a)&&!or(a)?(n=await Q({message:"Overwrite existing files?",options:[{hint:"Delete all existing files and create a new project",label:"Delete all",value:N.Delete},{hint:"Overwrite existing conflicting files",label:"Overwrite",value:N.Overwrite},{hint:"Skip existing conflicting files",label:"Skip",value:N.Skip},{hint:"Ask for each file",label:"Ask",value:N.Ask},{hint:"Cancel operation",label:"Cancel",value:N.Cancel}],initialValue:N.Overwrite}),(D(n)||n===N.Cancel)&&(T("Operation cancelled."),process.exit(0))):n=void 0,{projectName:e,foltderName:a,description:t,packageName:r,overwrite:n}}const rt={_gitignore:".gitignore"};function it(e,t,r,i,a){return e=e.replace(/my-app-package-name/g,t),e=e.replace(/my-app-description/g,r),e=e.replace(/my-app-project-name/g,i),a&&(e=e.replace(/com\.my-app-project-name\.app/g,a)),e}function st(e,t,r,i,a){E.existsSync(e)&&E.writeFileSync(e,it(E.readFileSync(e,"utf-8"),t,r,i,a))}async function lr({rootFolder:e,overwrite:t,template:r,packageName:i,description:a,projectName:n,identifier:s}){const o=await de([{title:`Creating project in ${e}...`,task:async()=>{E.existsSync(e)||E.mkdirSync(e,{recursive:!0});const c=A.resolve(lt(import.meta.url),"../..",`${r}`),u=(g,f)=>{const h=A.join(e,rt[g]??g);f?E.writeFileSync(h,f):ke(A.join(c,g),h,t)},v=E.readdirSync(c).map(async g=>{const f=A.join(c,g),h=A.join(e,rt[g]??g);if(E.existsSync(h))switch(t){case N.Ask:if(E.statSync(h).isFile()){const w=await Je({message:`File ${h} already exists. Do you want to overwrite it?`,initialValue:!1});if(D(w)&&(T("Operation cancelled."),process.exit(0)),!w)return;E.rmSync(h,{force:!0})}else{const w=E.readdirSync(f);for(const I of w){const j=A.join(f,I),k=A.join(h,I);if(E.existsSync(k)){const S=await Je({message:`File ${k} already exists. Do you want to overwrite it?`,initialValue:!1});if(D(S)&&(T("Operation cancelled."),process.exit(0)),!S)continue;E.rmSync(k,{force:!0})}ke(j,k,t)}return}break;case N.Skip:return;case N.Overwrite:case N.Delete:et(f,h,t);break}switch(g){case"package.json":case"vite.config.ts":case"index.html":case"README.md":{u(g,it(E.readFileSync(f,"utf-8"),i,a,n));break}case".git":case"package-lock.json":break;default:u(g)}});await Promise.all(v),st(A.join(e,".vscode","launch.json"),i,a,n);const m=A.join(e,"src-tauri");if(E.existsSync(m))for(const g of["Cargo.toml","tauri.conf.json"])st(A.join(m,g),i,a,n,s);const p=A.join(e,"_github");return E.existsSync(p)&&E.renameSync(p,A.join(e,".github")),"Project created"}}]);D(o)&&(T("Operation cancelled."),process.exit(0))}const pr=process.cwd();async function fr(){let e,{description:t,overwrite:r,packageName:i,projectName:a,foltderName:n}=await cr(),{UIFramework:s,gameType:o,narrativeLanguage:c,multidevice:u,identifier:v}=await ar({packageName:i});const m=A.join(pr,n);let p;switch(o){case z.VisualNovel:switch(s){case M.React:switch(c){case O.Typescript:u?p="template-react-vite-muijoy-tauri":p="template-react-vite-muijoy",e="src/content/labels/start.label.ts";break;case O.Ink:u?p="template-react-vite-muijoy-ink-tauri":p="template-react-vite-muijoy-ink",e="ink/start.ink";break;case O.Renpy:T("Error: There are no templates for this narrative language"),process.exit(0);default:T("Error: Unknown narrative language"),process.exit(0)}break;case M.Vue:case M.Angular:T("Error: There are no templates for this game type and UI framework"),process.exit(0);default:T("Error: Unknown UI framework"),process.exit(0)}break;case z.TextStory:switch(s){case M.React:switch(c){case O.Typescript:u?p="template-story-react-vite-muijoy-tauri":p="template-story-react-vite-muijoy",e="src/labels/startLabel.ts";break;case O.Ink:u?p="template-story-react-vite-muijoy-ink-tauri":p="template-story-react-vite-muijoy-ink",e="src/ink/start.ink";break;case O.Renpy:T("Error: There are no templates for this narrative language"),process.exit(0);default:T("Error: Unknown narrative language"),process.exit(0)}break;case M.Vue:case M.Angular:T("Error: There are no templates for this game type and UI framework"),process.exit(0);default:T("Error: Unknown UI framework"),process.exit(0)}break;case z.PointAndClick:switch(s){case M.React:switch(c){case O.Typescript:u?p="template-nqtr-react-vite-muijoy-tauri":p="template-nqtr-react-vite-muijoy",e="src/content/labels/start.label.ts";break;case O.Ink:u?p="template-nqtr-react-vite-muijoy-ink-tauri":p="template-nqtr-react-vite-muijoy-ink",e="ink/start.ink";break;case O.Renpy:T("Error: There are no templates for this narrative language"),process.exit(0);default:T("Error: Unknown narrative language"),process.exit(0)}break;case M.Vue:case M.Angular:T("Error: There are no templates for this game type and UI framework"),process.exit(0);default:T("Error: Unknown UI framework"),process.exit(0)}break;case z.GameEngine:p="template-game-engine",e="src/index.ts";break;case z.Library:p="template-lib",e="src/index.ts";break;default:T("Error: Unknown game type"),process.exit(0)}await lr({rootFolder:m,template:p,packageName:i,description:t,projectName:a,overwrite:r,identifier:v});const g=Z.find(f=>f.type===o)?.canReplaceUI??!1;return{rootFolder:m,fileToOpen:e,canReplaceUI:g}}function hr(){console.info(`
57
57
  \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2557\u2588\u2588\u2588\u2557 \u2588\u2588\u2557
58
58
  \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2551\u255A\u2588\u2588\u2557\u2588\u2588\u2554\u255D\u2588\u2588\u2551 \u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2551
59
59
  \u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2551 \u255A\u2588\u2588\u2588\u2554\u255D \u2588\u2588\u2551\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2554\u2588\u2588\u2557 \u2588\u2588\u2551
@@ -69,9 +69,9 @@ Options:
69
69
  -t, --template NAME use a specific template
70
70
 
71
71
  Available templates:
72
- ${ge("basic-visual-novel react")}`;async function vr(){try{if(hr(),zt(`Welcome to ${ge("Pixi\u2019VN")}! \u{1F3A8}\u2728`),mr.help){console.log(gr);return}const{rootFolder:e,fileToOpen:t,canReplaceUI:r}=await fr(),i=A.join(e,"package-lock.json");E.existsSync(i)&&E.rmSync(i);const n=dr(process.env.npm_config_user_agent),a=n?n.name:"npm",s=A.relative(nt,e);r&&(P.info("You will need to select a UI theme for your project."),await de([{title:"Installing shadcn globally...",task:async()=>{try{await Le(a),a==="yarn"?await K("yarn",["global","add","shadcn@latest"]):await K(a,["install","-g","shadcn@latest"])}catch{return"Could not install shadcn globally"}return"shadcn installed globally."}}]),P.step("Running ui:reinit..."),a==="yarn"?await K("yarn",["ui:reinit"],{cwd:e,stdio:"inherit"}):await K(a,["run","ui:reinit"],{cwd:e,stdio:"inherit"})),await sr({rootFolder:e}),await nr({rootFolder:e,fileToOpen:t});let o="To run the game:";switch(e!==nt&&(o+=`
73
- cd ${s.includes(" ")?`"${s}"`:s}`),a){case"yarn":o+=`
72
+ ${ge("basic-visual-novel react")}`;async function vr(){try{if(hr(),zt(`Welcome to ${ge("Pixi\u2019VN")}! \u{1F3A8}\u2728`),mr.help){console.log(gr);return}const{rootFolder:e,fileToOpen:t,canReplaceUI:r}=await fr(),i=A.join(e,"package-lock.json");E.existsSync(i)&&E.rmSync(i);const a=dr(process.env.npm_config_user_agent),n=a?a.name:"npm",s=A.relative(nt,e);r&&(P.info("You will need to select a UI theme for your project."),await de([{title:"Installing shadcn globally...",task:async()=>{try{await Le(n),n==="yarn"?await K("yarn",["global","add","shadcn@latest"]):await K(n,["install","-g","shadcn@latest"])}catch{return"Could not install shadcn globally"}return"shadcn installed globally."}}]),P.step("Running ui:reinit..."),n==="yarn"?await K("yarn",["ui:reinit"],{cwd:e,stdio:"inherit"}):await K(n,["run","ui:reinit"],{cwd:e,stdio:"inherit"})),await sr({rootFolder:e}),await nr({rootFolder:e,fileToOpen:t});let o="To run the game:";switch(e!==nt&&(o+=`
73
+ cd ${s.includes(" ")?`"${s}"`:s}`),n){case"yarn":o+=`
74
74
  yarn`,o+=`
75
75
  yarn dev`;break;default:o+=`
76
- ${a} install`,o+=`
77
- ${a} run start`;break}P.message(o),Yt("You're all set! \u{1F389} Now go build your game! \u{1F680}"),await ct("https://pixi-vn.com/start/templates"),console.log()}catch(e){console.error(e)}}vr().catch(e=>{console.error(e)});
76
+ ${n} install`,o+=`
77
+ ${n} run start`;break}P.message(o),Yt("You're all set! \u{1F389} Now go build your game! \u{1F680}"),await ct("https://pixi-vn.com/start/templates"),console.log()}catch(e){console.error(e)}}vr().catch(e=>{console.error(e)});
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "create-pixi-vn",
3
3
  "description": "Create a new Pixi’VN project",
4
- "version": "2.0.15",
4
+ "version": "2.1.1",
5
5
  "type": "module",
6
6
  "license": "GPL-3.0",
7
7
  "author": "DRincs-Productions",
@@ -1,8 +1,7 @@
1
1
  {
2
- "recommendations": [
3
- "ms-vscode.vscode-typescript-next",
4
- "dbaeumer.vscode-eslint",
5
- "esbenp.prettier-vscode",
6
- "vitest.explorer"
7
- ]
8
- }
2
+ "recommendations": [
3
+ "ms-vscode.vscode-typescript-next",
4
+ "vitest.explorer",
5
+ "biomejs.biome"
6
+ ]
7
+ }
@@ -1,30 +1,32 @@
1
1
  {
2
- // Formatter
3
- "[typescript]": {
4
- "editor.defaultFormatter": "esbenp.prettier-vscode",
5
- "editor.formatOnSave": true
6
- },
7
- "[javascript]": {
8
- "editor.defaultFormatter": "esbenp.prettier-vscode",
9
- "editor.formatOnSave": true
10
- },
11
- "prettier.jsxSingleQuote": true,
12
- "prettier.printWidth": 120,
13
- "prettier.useTabs": false,
14
- "prettier.singleAttributePerLine": false,
15
- "prettier.tabWidth": 4,
16
- // reorganise imports
17
- "editor.codeActionsOnSave": {
18
- "source.organizeImports": "explicit"
19
- },
20
- // references
21
- "javascript.referencesCodeLens.enabled": true,
22
- "javascript.referencesCodeLens.showOnAllFunctions": true,
23
- "typescript.referencesCodeLens.enabled": true,
24
- "typescript.referencesCodeLens.showOnAllFunctions": true,
25
- // move file
26
- "javascript.updateImportsOnFileMove.enabled": "always",
27
- "typescript.updateImportsOnFileMove.enabled": "always",
28
- // olther
29
- "extensions.ignoreRecommendations": false,
30
- }
2
+ "extensions.ignoreRecommendations": false,
3
+ // formatter
4
+ "[javascript]": {
5
+ "editor.defaultFormatter": "biomejs.biome",
6
+ "editor.formatOnSave": true
7
+ },
8
+ "[typescript]": {
9
+ "editor.defaultFormatter": "biomejs.biome",
10
+ "editor.formatOnSave": true
11
+ },
12
+ "[json]": {
13
+ "editor.defaultFormatter": "biomejs.biome",
14
+ "editor.formatOnSave": true
15
+ },
16
+ "[jsonc]": {
17
+ "editor.defaultFormatter": "biomejs.biome",
18
+ "editor.formatOnSave": true
19
+ },
20
+ // reorganise imports
21
+ "editor.codeActionsOnSave": {
22
+ "source.organizeImports": "explicit",
23
+ "source.fixAll": "explicit"
24
+ },
25
+ "js/ts.preferences.importModuleSpecifier": "non-relative",
26
+ "js/ts.preferences.importModuleSpecifierEnding": "minimal",
27
+ // references
28
+ "js/ts.referencesCodeLens.enabled": true,
29
+ "js/ts.referencesCodeLens.showOnAllFunctions": true,
30
+ // move file
31
+ "js/ts.updateImportsOnFileMove.enabled": "always"
32
+ }
@@ -8,17 +8,25 @@ on:
8
8
  tags:
9
9
  - 'v*'
10
10
 
11
+ workflow_dispatch:
12
+ inputs:
13
+ run_deploy_docs:
14
+ description: "Run only deploy-docs"
15
+ required: false
16
+ default: "false"
17
+
11
18
  run-name: Deploy to ${{ inputs.deploy_target }} by @${{ github.actor }}
12
19
 
13
20
  jobs:
14
21
  build:
15
22
  name: Build
16
23
  runs-on: ubuntu-latest
24
+ if: github.event_name == 'push'
17
25
  steps:
18
26
  - uses: actions/checkout@v3
19
27
  - uses: actions/setup-node@v3
20
28
  with:
21
- node-version: 20
29
+ node-version: 24.12.0
22
30
  - run: npm i
23
31
  - run: npm ci
24
32
  - run: npm run build
@@ -28,11 +36,12 @@ jobs:
28
36
  name: Publish to NPM
29
37
  needs: build
30
38
  runs-on: ubuntu-latest
39
+ if: github.event_name == 'push'
31
40
  steps:
32
41
  - uses: actions/checkout@v3
33
42
  - uses: actions/setup-node@v3
34
43
  with:
35
- node-version: 20
44
+ node-version: 24.12.0
36
45
  registry-url: https://registry.npmjs.org/
37
46
  - run: |
38
47
  npm i
@@ -46,10 +55,55 @@ jobs:
46
55
  name: Create Release
47
56
  needs: publish-npm
48
57
  runs-on: ubuntu-latest
58
+ if: github.event_name == 'push'
59
+ permissions:
60
+ contents: write
61
+ steps:
62
+ - uses: actions/checkout@v3
63
+ - uses: ncipollo/release-action@v1
64
+ with:
65
+ body: |
66
+ Release ${{ github.ref }}
67
+ deploy-docs:
68
+ name: Deploy Docs to Wiki
69
+ runs-on: ubuntu-latest
70
+ if: |
71
+ github.event_name == 'push' ||
72
+ github.event.inputs.run_deploy_docs == 'true'
49
73
  permissions:
50
74
  contents: write
51
75
  steps:
52
- - uses: actions/checkout@v3
53
- - uses: ncipollo/release-action@v1
54
- with:
55
- body: "Release ${{ github.ref }}"
76
+ - name: Checkout repo
77
+ uses: actions/checkout@v3
78
+
79
+ - name: Setup Node
80
+ uses: actions/setup-node@v3
81
+ with:
82
+ node-version: 24.12.0
83
+
84
+ - name: Install deps
85
+ run: npm i
86
+
87
+ - name: Generate docs
88
+ run: npm run docs
89
+
90
+ - name: Clone Wiki
91
+ run: |
92
+ git clone https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.wiki.git wiki
93
+
94
+ - name: Clean Wiki (safe)
95
+ run: |
96
+ find wiki -mindepth 1 -not -path "wiki/.git*" -delete
97
+
98
+ - name: Copy docs
99
+ run: |
100
+ cp -r doc/* wiki/
101
+
102
+ - name: Commit & Push
103
+ run: |
104
+ cd wiki
105
+ git config user.name "github-actions"
106
+ git config user.email "github-actions@github.com"
107
+ git add .
108
+ git diff --cached --quiet || git commit -m "Update TypeDoc API docs"
109
+ git push
@@ -0,0 +1,71 @@
1
+ {
2
+ "$schema": "https://biomejs.dev/schemas/latest/schema.json",
3
+ "vcs": {
4
+ "enabled": true,
5
+ "clientKind": "git",
6
+ "useIgnoreFile": true
7
+ },
8
+ "files": {
9
+ "ignoreUnknown": true,
10
+ "includes": ["**", "!!**/dist", "!!**/*.test.*", "!!playground"]
11
+ },
12
+ "formatter": {
13
+ "enabled": true,
14
+ "indentStyle": "space",
15
+ "indentWidth": 4,
16
+ "lineWidth": 100
17
+ },
18
+ "linter": {
19
+ "enabled": true,
20
+ "rules": {
21
+ "recommended": true,
22
+ "suspicious": {
23
+ "noExplicitAny": "info",
24
+ "noArrayIndexKey": "warn",
25
+ "noDoubleEquals": "info",
26
+ "noThenProperty": "off"
27
+ },
28
+ "a11y": "info",
29
+ "style": {
30
+ "noDefaultExport": "off",
31
+ "useImportType": "info",
32
+ "useConst": "warn"
33
+ }
34
+ },
35
+ "domains": {
36
+ "react": "recommended"
37
+ }
38
+ },
39
+ "javascript": {
40
+ "formatter": {
41
+ "enabled": true,
42
+ "quoteStyle": "double"
43
+ }
44
+ },
45
+ "css": {
46
+ "formatter": {
47
+ "enabled": true,
48
+ "indentStyle": "space",
49
+ "indentWidth": 2
50
+ },
51
+ "parser": {
52
+ "tailwindDirectives": true
53
+ }
54
+ },
55
+ "json": {
56
+ "formatter": {
57
+ "enabled": true,
58
+ "indentStyle": "space",
59
+ "indentWidth": 2,
60
+ "lineWidth": 80
61
+ }
62
+ },
63
+ "assist": {
64
+ "enabled": true,
65
+ "actions": {
66
+ "source": {
67
+ "organizeImports": "off"
68
+ }
69
+ }
70
+ }
71
+ }