@nil-/doc 1.0.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (484) hide show
  1. package/.eslintrc.cjs +1 -0
  2. package/{components → .svelte-kit/__package__/components}/Base.svelte +6 -3
  3. package/.svelte-kit/__package__/components/Base.svelte.d.ts +9 -0
  4. package/{components → .svelte-kit/__package__/components}/block/Block.svelte +5 -3
  5. package/.svelte-kit/__package__/components/block/Block.svelte.d.ts +11 -0
  6. package/{components → .svelte-kit/__package__/components}/block/Controls.svelte +6 -5
  7. package/.svelte-kit/__package__/components/block/Controls.svelte.d.ts +9 -0
  8. package/{components → .svelte-kit/__package__/components}/block/Instance.svelte +48 -33
  9. package/.svelte-kit/__package__/components/block/Instance.svelte.d.ts +27 -0
  10. package/.svelte-kit/__package__/components/block/Params.svelte +31 -0
  11. package/.svelte-kit/__package__/components/block/Params.svelte.d.ts +9 -0
  12. package/.svelte-kit/__package__/components/block/Template.svelte +52 -0
  13. package/.svelte-kit/__package__/components/block/Template.svelte.d.ts +30 -0
  14. package/{components → .svelte-kit/__package__/components}/block/controls/Controls.svelte +15 -10
  15. package/.svelte-kit/__package__/components/block/controls/Controls.svelte.d.ts +7 -0
  16. package/{components → .svelte-kit/__package__/components}/block/controls/Styler.svelte +5 -2
  17. package/.svelte-kit/__package__/components/block/controls/Styler.svelte.d.ts +8 -0
  18. package/{components → .svelte-kit/__package__/components}/block/controls/events/Events.svelte +4 -2
  19. package/.svelte-kit/__package__/components/block/controls/events/Events.svelte.d.ts +11 -0
  20. package/.svelte-kit/__package__/components/block/controls/props/Button.svelte +19 -0
  21. package/.svelte-kit/__package__/components/block/controls/props/Button.svelte.d.ts +8 -0
  22. package/{components → .svelte-kit/__package__/components}/block/controls/props/Color.svelte +15 -12
  23. package/.svelte-kit/__package__/components/block/controls/props/Color.svelte.d.ts +11 -0
  24. package/{components → .svelte-kit/__package__/components}/block/controls/props/Component.svelte +13 -11
  25. package/.svelte-kit/__package__/components/block/controls/props/Component.svelte.d.ts +11 -0
  26. package/{components → .svelte-kit/__package__/components}/block/controls/props/Number.svelte +14 -10
  27. package/.svelte-kit/__package__/components/block/controls/props/Number.svelte.d.ts +11 -0
  28. package/.svelte-kit/__package__/components/block/controls/props/Props.svelte +17 -0
  29. package/.svelte-kit/__package__/components/block/controls/props/Props.svelte.d.ts +11 -0
  30. package/{components → .svelte-kit/__package__/components}/block/controls/props/Range.svelte +23 -20
  31. package/.svelte-kit/__package__/components/block/controls/props/Range.svelte.d.ts +11 -0
  32. package/{components → .svelte-kit/__package__/components}/block/controls/props/Select.svelte +14 -10
  33. package/.svelte-kit/__package__/components/block/controls/props/Select.svelte.d.ts +11 -0
  34. package/{components/block/controls/props/Object.svelte → .svelte-kit/__package__/components/block/controls/props/Table.svelte} +15 -11
  35. package/.svelte-kit/__package__/components/block/controls/props/Table.svelte.d.ts +12 -0
  36. package/{components → .svelte-kit/__package__/components}/block/controls/props/Text.svelte +14 -10
  37. package/.svelte-kit/__package__/components/block/controls/props/Text.svelte.d.ts +11 -0
  38. package/{components → .svelte-kit/__package__/components}/block/controls/props/Toggle.svelte +14 -10
  39. package/.svelte-kit/__package__/components/block/controls/props/Toggle.svelte.d.ts +12 -0
  40. package/{components → .svelte-kit/__package__/components}/block/controls/props/Tuple.svelte +15 -11
  41. package/.svelte-kit/__package__/components/block/controls/props/Tuple.svelte.d.ts +12 -0
  42. package/{components → .svelte-kit/__package__/components}/block/controls/props/misc/GroupHeader.svelte +12 -11
  43. package/.svelte-kit/__package__/components/block/controls/props/misc/GroupHeader.svelte.d.ts +11 -0
  44. package/{components → .svelte-kit/__package__/components}/block/controls/props/misc/Name.svelte +5 -3
  45. package/.svelte-kit/__package__/components/block/controls/props/misc/Name.svelte.d.ts +8 -0
  46. package/{components → .svelte-kit/__package__/components}/block/controls/props/misc/Toggle.svelte +10 -6
  47. package/.svelte-kit/__package__/components/block/controls/props/misc/Toggle.svelte.d.ts +8 -0
  48. package/{components → .svelte-kit/__package__/components}/block/controls/props/misc/defaulter.d.ts +1 -1
  49. package/{components → .svelte-kit/__package__/components}/block/controls/props/misc/defaulter.js +1 -1
  50. package/{components → .svelte-kit/__package__/components}/block/controls/props/misc/utils.d.ts +3 -3
  51. package/{components → .svelte-kit/__package__/components}/block/controls/types.d.ts +6 -6
  52. package/{components → .svelte-kit/__package__/components}/block/icons/Button.svelte +9 -5
  53. package/.svelte-kit/__package__/components/block/icons/Button.svelte.d.ts +11 -0
  54. package/{components → .svelte-kit/__package__/components}/block/icons/ControlView.svelte +3 -1
  55. package/.svelte-kit/__package__/components/block/icons/ControlView.svelte.d.ts +6 -0
  56. package/{components → .svelte-kit/__package__/components}/block/icons/Position.svelte +8 -6
  57. package/.svelte-kit/__package__/components/block/icons/Position.svelte.d.ts +6 -0
  58. package/{components → .svelte-kit/__package__/components}/layout/Container.svelte +28 -25
  59. package/.svelte-kit/__package__/components/layout/Container.svelte.d.ts +12 -0
  60. package/{components → .svelte-kit/__package__/components}/layout/Content.svelte +4 -1
  61. package/.svelte-kit/__package__/components/layout/Content.svelte.d.ts +7 -0
  62. package/.svelte-kit/__package__/components/layout/DocLayout.svelte +28 -0
  63. package/.svelte-kit/__package__/components/layout/DocLayout.svelte.d.ts +24 -0
  64. package/{components → .svelte-kit/__package__/components}/layout/Layout.svelte +42 -32
  65. package/.svelte-kit/__package__/components/layout/Layout.svelte.d.ts +22 -0
  66. package/{components → .svelte-kit/__package__/components}/layout/Scrollable.svelte +4 -1
  67. package/.svelte-kit/__package__/components/layout/Scrollable.svelte.d.ts +7 -0
  68. package/{components → .svelte-kit/__package__/components}/layout/ThemeToggle.svelte +5 -3
  69. package/.svelte-kit/__package__/components/layout/ThemeToggle.svelte.d.ts +7 -0
  70. package/{components → .svelte-kit/__package__/components}/layout/VerticalPanel.svelte +4 -1
  71. package/.svelte-kit/__package__/components/layout/VerticalPanel.svelte.d.ts +7 -0
  72. package/{components → .svelte-kit/__package__/components}/layout/icons/Icon.svelte +8 -3
  73. package/.svelte-kit/__package__/components/layout/icons/Icon.svelte.d.ts +10 -0
  74. package/.svelte-kit/__package__/components/layout/icons/Nil.svelte +43 -0
  75. package/.svelte-kit/__package__/components/layout/icons/Nil.svelte.d.ts +3 -0
  76. package/{components → .svelte-kit/__package__/components}/layout/icons/Theme.svelte +2 -2
  77. package/.svelte-kit/__package__/components/layout/icons/Theme.svelte.d.ts +6 -0
  78. package/{components → .svelte-kit/__package__/components}/navigation/Nav.svelte +14 -12
  79. package/.svelte-kit/__package__/components/navigation/Nav.svelte.d.ts +13 -0
  80. package/{components → .svelte-kit/__package__/components}/navigation/Node.svelte +22 -22
  81. package/.svelte-kit/__package__/components/navigation/Node.svelte.d.ts +18 -0
  82. package/{components → .svelte-kit/__package__/components}/navigation/Tree.svelte +11 -8
  83. package/.svelte-kit/__package__/components/navigation/Tree.svelte.d.ts +15 -0
  84. package/.svelte-kit/ambient.d.ts +275 -0
  85. package/.svelte-kit/generated/client/app.js +102 -0
  86. package/.svelte-kit/generated/client/matchers.js +1 -0
  87. package/.svelte-kit/generated/client/nodes/0.js +1 -0
  88. package/.svelte-kit/generated/client/nodes/1.js +1 -0
  89. package/.svelte-kit/generated/client/nodes/10.js +1 -0
  90. package/.svelte-kit/generated/client/nodes/11.js +1 -0
  91. package/.svelte-kit/generated/client/nodes/12.js +1 -0
  92. package/.svelte-kit/generated/client/nodes/13.js +1 -0
  93. package/.svelte-kit/generated/client/nodes/14.js +1 -0
  94. package/.svelte-kit/generated/client/nodes/15.js +1 -0
  95. package/.svelte-kit/generated/client/nodes/16.js +1 -0
  96. package/.svelte-kit/generated/client/nodes/17.js +1 -0
  97. package/.svelte-kit/generated/client/nodes/18.js +1 -0
  98. package/.svelte-kit/generated/client/nodes/19.js +1 -0
  99. package/.svelte-kit/generated/client/nodes/2.js +1 -0
  100. package/.svelte-kit/generated/client/nodes/20.js +1 -0
  101. package/.svelte-kit/generated/client/nodes/21.js +1 -0
  102. package/.svelte-kit/generated/client/nodes/22.js +1 -0
  103. package/.svelte-kit/generated/client/nodes/23.js +1 -0
  104. package/.svelte-kit/generated/client/nodes/24.js +1 -0
  105. package/.svelte-kit/generated/client/nodes/25.js +1 -0
  106. package/.svelte-kit/generated/client/nodes/26.js +1 -0
  107. package/.svelte-kit/generated/client/nodes/27.js +1 -0
  108. package/.svelte-kit/generated/client/nodes/28.js +1 -0
  109. package/.svelte-kit/generated/client/nodes/29.js +1 -0
  110. package/.svelte-kit/generated/client/nodes/3.js +1 -0
  111. package/.svelte-kit/generated/client/nodes/30.js +1 -0
  112. package/.svelte-kit/generated/client/nodes/31.js +1 -0
  113. package/.svelte-kit/generated/client/nodes/32.js +1 -0
  114. package/.svelte-kit/generated/client/nodes/33.js +1 -0
  115. package/.svelte-kit/generated/client/nodes/34.js +1 -0
  116. package/.svelte-kit/generated/client/nodes/35.js +1 -0
  117. package/.svelte-kit/generated/client/nodes/36.js +1 -0
  118. package/.svelte-kit/generated/client/nodes/37.js +1 -0
  119. package/.svelte-kit/generated/client/nodes/38.js +1 -0
  120. package/.svelte-kit/generated/client/nodes/39.js +2 -0
  121. package/.svelte-kit/generated/client/nodes/4.js +1 -0
  122. package/.svelte-kit/generated/client/nodes/40.js +2 -0
  123. package/.svelte-kit/generated/client/nodes/5.js +1 -0
  124. package/.svelte-kit/generated/client/nodes/6.js +1 -0
  125. package/.svelte-kit/generated/client/nodes/7.js +1 -0
  126. package/.svelte-kit/generated/client/nodes/8.js +1 -0
  127. package/.svelte-kit/generated/client/nodes/9.js +1 -0
  128. package/.svelte-kit/generated/root.js +3 -0
  129. package/.svelte-kit/generated/root.svelte +66 -0
  130. package/.svelte-kit/generated/server/internal.js +48 -0
  131. package/.svelte-kit/non-ambient.d.ts +25 -0
  132. package/.svelte-kit/tsconfig.json +49 -0
  133. package/.svelte-kit/types/route_meta_data.json +120 -0
  134. package/.svelte-kit/types/src/routes/$types.d.ts +24 -0
  135. package/.svelte-kit/types/src/routes/1-Motivation/$types.d.ts +18 -0
  136. package/.svelte-kit/types/src/routes/2-Overview/$types.d.ts +18 -0
  137. package/.svelte-kit/types/src/routes/3-Components/1-Layout/$types.d.ts +18 -0
  138. package/.svelte-kit/types/src/routes/3-Components/1-Layout/1-Sorting/$types.d.ts +18 -0
  139. package/.svelte-kit/types/src/routes/3-Components/1-Layout/2-Renaming/$types.d.ts +18 -0
  140. package/.svelte-kit/types/src/routes/3-Components/1-Layout/3-Title/1-Icon/$types.d.ts +18 -0
  141. package/.svelte-kit/types/src/routes/3-Components/1-Layout/3-Title/2-title/$types.d.ts +18 -0
  142. package/.svelte-kit/types/src/routes/3-Components/1-Layout/3-Title/3-title-misc/$types.d.ts +18 -0
  143. package/.svelte-kit/types/src/routes/3-Components/2-DocLayout/$types.d.ts +18 -0
  144. package/.svelte-kit/types/src/routes/3-Components/3-Block/$types.d.ts +18 -0
  145. package/.svelte-kit/types/src/routes/3-Components/3-Block/1-Content/1-Instance/$types.d.ts +18 -0
  146. package/.svelte-kit/types/src/routes/3-Components/3-Block/1-Content/2-Template/$types.d.ts +18 -0
  147. package/.svelte-kit/types/src/routes/3-Components/3-Block/1-Content/2-Template/1-Params/$types.d.ts +18 -0
  148. package/.svelte-kit/types/src/routes/3-Components/3-Block/1-Content/2-Template/2-columns/$types.d.ts +18 -0
  149. package/.svelte-kit/types/src/routes/3-Components/3-Block/1-Content/3-props/1-noreset/$types.d.ts +18 -0
  150. package/.svelte-kit/types/src/routes/3-Components/3-Block/1-Content/3-props/2-let:key/$types.d.ts +18 -0
  151. package/.svelte-kit/types/src/routes/3-Components/3-Block/1-Content/3-props/3-let:props/$types.d.ts +18 -0
  152. package/.svelte-kit/types/src/routes/3-Components/3-Block/2-Controls/$types.d.ts +18 -0
  153. package/.svelte-kit/types/src/routes/3-Components/3-Block/2-Controls/3-props/$types.d.ts +18 -0
  154. package/.svelte-kit/types/src/routes/3-Components/3-Block/2-Controls/3-props/1-Text/$types.d.ts +18 -0
  155. package/.svelte-kit/types/src/routes/3-Components/3-Block/2-Controls/3-props/2-Number/$types.d.ts +18 -0
  156. package/.svelte-kit/types/src/routes/3-Components/3-Block/2-Controls/3-props/3-Range/$types.d.ts +18 -0
  157. package/.svelte-kit/types/src/routes/3-Components/3-Block/2-Controls/3-props/4-Toggle/$types.d.ts +18 -0
  158. package/.svelte-kit/types/src/routes/3-Components/3-Block/2-Controls/3-props/5-Select/$types.d.ts +18 -0
  159. package/.svelte-kit/types/src/routes/3-Components/3-Block/2-Controls/3-props/6-Tuple/$types.d.ts +18 -0
  160. package/.svelte-kit/types/src/routes/3-Components/3-Block/2-Controls/3-props/7-Object/$types.d.ts +18 -0
  161. package/.svelte-kit/types/src/routes/3-Components/3-Block/2-Controls/3-props/8-Color/$types.d.ts +18 -0
  162. package/.svelte-kit/types/src/routes/3-Components/3-Block/2-Controls/3-props/9-Button/$types.d.ts +18 -0
  163. package/.svelte-kit/types/src/routes/3-Components/3-Block/2-Controls/4-events/$types.d.ts +18 -0
  164. package/.svelte-kit/types/src/routes/3-Components/4-Theme/$types.d.ts +18 -0
  165. package/.svelte-kit/types/src/routes/3-Components/4-Theme/1-Custom CSS/$types.d.ts +18 -0
  166. package/.svelte-kit/types/src/routes/4-Internals/$types.d.ts +18 -0
  167. package/.svelte-kit/types/src/routes/4-Internals/1-Container/$types.d.ts +18 -0
  168. package/.svelte-kit/types/src/routes/4-Internals/2-Icons/1-Nil/$types.d.ts +18 -0
  169. package/.svelte-kit/types/src/routes/4-Internals/2-Icons/2-Theme/$types.d.ts +18 -0
  170. package/.svelte-kit/types/src/routes/4-Internals/2-Icons/3-Position/$types.d.ts +18 -0
  171. package/.svelte-kit/types/src/routes/4-Internals/2-Icons/4-ControlView/$types.d.ts +18 -0
  172. package/.svelte-kit/types/src/routes/4-Internals/3-Fuzzy Match/$types.d.ts +18 -0
  173. package/.svelte-kit/types/src/routes/[...rest]/$types.d.ts +21 -0
  174. package/.turbo/turbo-dev.log +1657 -0
  175. package/.turbo/turbo-package.log +14 -0
  176. package/.turbo/turbo-sync.log +4 -0
  177. package/CHANGELOG.md +432 -0
  178. package/package/LICENSE +7 -0
  179. package/package/README.md +5 -0
  180. package/package/components/Base.svelte +70 -0
  181. package/package/components/Base.svelte.d.ts +9 -0
  182. package/package/components/block/Block.svelte +78 -0
  183. package/package/components/block/Block.svelte.d.ts +11 -0
  184. package/package/components/block/Controls.svelte +13 -0
  185. package/package/components/block/Controls.svelte.d.ts +9 -0
  186. package/package/components/block/Instance.svelte +141 -0
  187. package/package/components/block/Instance.svelte.d.ts +27 -0
  188. package/package/components/block/Params.svelte +31 -0
  189. package/package/components/block/Params.svelte.d.ts +9 -0
  190. package/package/components/block/Template.svelte +52 -0
  191. package/package/components/block/Template.svelte.d.ts +30 -0
  192. package/package/components/block/action.d.ts +12 -0
  193. package/package/components/block/action.js +26 -0
  194. package/package/components/block/context.d.ts +26 -0
  195. package/package/components/block/context.js +20 -0
  196. package/package/components/block/controls/Controls.svelte +84 -0
  197. package/package/components/block/controls/Controls.svelte.d.ts +7 -0
  198. package/package/components/block/controls/Styler.svelte +79 -0
  199. package/package/components/block/controls/Styler.svelte.d.ts +8 -0
  200. package/package/components/block/controls/events/Events.svelte +39 -0
  201. package/package/components/block/controls/events/Events.svelte.d.ts +11 -0
  202. package/package/components/block/controls/props/Button.svelte +19 -0
  203. package/package/components/block/controls/props/Button.svelte.d.ts +8 -0
  204. package/package/components/block/controls/props/Color.svelte +120 -0
  205. package/package/components/block/controls/props/Color.svelte.d.ts +11 -0
  206. package/package/components/block/controls/props/Component.svelte +57 -0
  207. package/package/components/block/controls/props/Component.svelte.d.ts +11 -0
  208. package/package/components/block/controls/props/Number.svelte +33 -0
  209. package/package/components/block/controls/props/Number.svelte.d.ts +11 -0
  210. package/package/components/block/controls/props/Props.svelte +17 -0
  211. package/package/components/block/controls/props/Props.svelte.d.ts +11 -0
  212. package/package/components/block/controls/props/Range.svelte +82 -0
  213. package/package/components/block/controls/props/Range.svelte.d.ts +11 -0
  214. package/package/components/block/controls/props/Select.svelte +38 -0
  215. package/package/components/block/controls/props/Select.svelte.d.ts +11 -0
  216. package/package/components/block/controls/props/Table.svelte +31 -0
  217. package/package/components/block/controls/props/Table.svelte.d.ts +12 -0
  218. package/package/components/block/controls/props/Text.svelte +33 -0
  219. package/package/components/block/controls/props/Text.svelte.d.ts +11 -0
  220. package/package/components/block/controls/props/Toggle.svelte +26 -0
  221. package/package/components/block/controls/props/Toggle.svelte.d.ts +12 -0
  222. package/package/components/block/controls/props/Tuple.svelte +31 -0
  223. package/package/components/block/controls/props/Tuple.svelte.d.ts +12 -0
  224. package/package/components/block/controls/props/misc/GroupHeader.svelte +35 -0
  225. package/package/components/block/controls/props/misc/GroupHeader.svelte.d.ts +11 -0
  226. package/package/components/block/controls/props/misc/Name.svelte +45 -0
  227. package/package/components/block/controls/props/misc/Name.svelte.d.ts +8 -0
  228. package/package/components/block/controls/props/misc/Toggle.svelte +90 -0
  229. package/package/components/block/controls/props/misc/Toggle.svelte.d.ts +8 -0
  230. package/package/components/block/controls/props/misc/defaulter.d.ts +11 -0
  231. package/package/components/block/controls/props/misc/defaulter.js +50 -0
  232. package/package/components/block/controls/props/misc/nformat.d.ts +1 -0
  233. package/package/components/block/controls/props/misc/nformat.js +16 -0
  234. package/package/components/block/controls/props/misc/utils.d.ts +13 -0
  235. package/package/components/block/controls/props/misc/utils.js +22 -0
  236. package/package/components/block/controls/types.d.ts +105 -0
  237. package/package/components/block/icons/Button.svelte +34 -0
  238. package/package/components/block/icons/Button.svelte.d.ts +11 -0
  239. package/package/components/block/icons/ControlView.svelte +25 -0
  240. package/package/components/block/icons/ControlView.svelte.d.ts +6 -0
  241. package/package/components/block/icons/Position.svelte +32 -0
  242. package/package/components/block/icons/Position.svelte.d.ts +6 -0
  243. package/package/components/block/types.d.ts +9 -0
  244. package/package/components/block/utils.d.ts +4 -0
  245. package/package/components/block/utils.js +34 -0
  246. package/package/components/context.d.ts +4 -0
  247. package/package/components/context.js +5 -0
  248. package/package/components/layout/Container.svelte +189 -0
  249. package/package/components/layout/Container.svelte.d.ts +12 -0
  250. package/package/components/layout/Content.svelte +26 -0
  251. package/package/components/layout/Content.svelte.d.ts +7 -0
  252. package/package/components/layout/DocLayout.svelte +28 -0
  253. package/package/components/layout/DocLayout.svelte.d.ts +24 -0
  254. package/package/components/layout/Layout.svelte +160 -0
  255. package/package/components/layout/Layout.svelte.d.ts +22 -0
  256. package/package/components/layout/Scrollable.svelte +22 -0
  257. package/package/components/layout/Scrollable.svelte.d.ts +7 -0
  258. package/package/components/layout/ThemeToggle.svelte +19 -0
  259. package/package/components/layout/ThemeToggle.svelte.d.ts +7 -0
  260. package/package/components/layout/VerticalPanel.svelte +15 -0
  261. package/package/components/layout/VerticalPanel.svelte.d.ts +7 -0
  262. package/package/components/layout/action.d.ts +16 -0
  263. package/package/components/layout/action.js +54 -0
  264. package/package/components/layout/icons/Icon.svelte +24 -0
  265. package/package/components/layout/icons/Icon.svelte.d.ts +10 -0
  266. package/package/components/layout/icons/Nil.svelte +43 -0
  267. package/package/components/layout/icons/Nil.svelte.d.ts +3 -0
  268. package/package/components/layout/icons/Theme.svelte +63 -0
  269. package/package/components/layout/icons/Theme.svelte.d.ts +6 -0
  270. package/package/components/navigation/Nav.svelte +113 -0
  271. package/package/components/navigation/Nav.svelte.d.ts +13 -0
  272. package/package/components/navigation/Node.svelte +113 -0
  273. package/package/components/navigation/Node.svelte.d.ts +18 -0
  274. package/package/components/navigation/Tree.svelte +26 -0
  275. package/package/components/navigation/Tree.svelte.d.ts +15 -0
  276. package/package/components/navigation/types.d.ts +12 -0
  277. package/package/components/navigation/utils/fuzz.d.ts +2 -0
  278. package/package/components/navigation/utils/fuzz.js +122 -0
  279. package/package/components/navigation/utils/renamer.d.ts +5 -0
  280. package/package/components/navigation/utils/renamer.js +12 -0
  281. package/package/components/navigation/utils/sort.d.ts +2 -0
  282. package/package/components/navigation/utils/sort.js +3 -0
  283. package/package/components/navigation/utils/sorter.d.ts +12 -0
  284. package/package/components/navigation/utils/sorter.js +35 -0
  285. package/package/index.d.ts +13 -0
  286. package/package/index.js +12 -0
  287. package/package/package.json +29 -0
  288. package/package.json +56 -27
  289. package/src/app.d.ts +10 -0
  290. package/src/app.html +33 -0
  291. package/src/lib/components/Base.svelte +77 -0
  292. package/src/lib/components/block/Block.svelte +84 -0
  293. package/src/lib/components/block/Controls.svelte +20 -0
  294. package/src/lib/components/block/Instance.svelte +172 -0
  295. package/src/lib/components/block/Params.svelte +35 -0
  296. package/src/lib/components/block/Template.svelte +78 -0
  297. package/src/lib/components/block/action.ts +32 -0
  298. package/src/lib/components/block/context.ts +43 -0
  299. package/src/lib/components/block/controls/Controls.svelte +96 -0
  300. package/src/lib/components/block/controls/Styler.svelte +84 -0
  301. package/src/lib/components/block/controls/events/Events.svelte +43 -0
  302. package/src/lib/components/block/controls/props/Button.svelte +26 -0
  303. package/src/lib/components/block/controls/props/Color.svelte +140 -0
  304. package/src/lib/components/block/controls/props/Component.svelte +70 -0
  305. package/src/lib/components/block/controls/props/Number.svelte +44 -0
  306. package/src/lib/components/block/controls/props/Props.svelte +28 -0
  307. package/src/lib/components/block/controls/props/Range.svelte +97 -0
  308. package/src/lib/components/block/controls/props/Select.svelte +49 -0
  309. package/src/lib/components/block/controls/props/Table.svelte +42 -0
  310. package/src/lib/components/block/controls/props/Text.svelte +44 -0
  311. package/src/lib/components/block/controls/props/Toggle.svelte +37 -0
  312. package/src/lib/components/block/controls/props/Tuple.svelte +43 -0
  313. package/src/lib/components/block/controls/props/misc/GroupHeader.svelte +45 -0
  314. package/src/lib/components/block/controls/props/misc/Name.svelte +50 -0
  315. package/src/lib/components/block/controls/props/misc/Toggle.svelte +98 -0
  316. package/src/lib/components/block/controls/props/misc/defaulter.test.ts +137 -0
  317. package/src/lib/components/block/controls/props/misc/defaulter.ts +63 -0
  318. package/src/lib/components/block/controls/props/misc/nformat.test.ts +204 -0
  319. package/src/lib/components/block/controls/props/misc/nformat.ts +16 -0
  320. package/src/lib/components/block/controls/props/misc/utils.ts +38 -0
  321. package/src/lib/components/block/controls/types.d.ts +105 -0
  322. package/src/lib/components/block/icons/Button.svelte +42 -0
  323. package/src/lib/components/block/icons/ControlView.svelte +28 -0
  324. package/src/lib/components/block/icons/Position.svelte +36 -0
  325. package/src/lib/components/block/types.d.ts +9 -0
  326. package/src/lib/components/block/utils.test.ts +82 -0
  327. package/src/lib/components/block/utils.ts +40 -0
  328. package/src/lib/components/context.ts +10 -0
  329. package/src/lib/components/layout/Container.svelte +210 -0
  330. package/src/lib/components/layout/Content.svelte +29 -0
  331. package/src/lib/components/layout/DocLayout.svelte +51 -0
  332. package/src/lib/components/layout/Layout.svelte +187 -0
  333. package/src/lib/components/layout/Scrollable.svelte +25 -0
  334. package/src/lib/components/layout/ThemeToggle.svelte +25 -0
  335. package/src/lib/components/layout/VerticalPanel.svelte +18 -0
  336. package/src/lib/components/layout/action.ts +80 -0
  337. package/src/lib/components/layout/icons/Icon.svelte +32 -0
  338. package/src/lib/components/layout/icons/Nil.svelte +44 -0
  339. package/src/lib/components/layout/icons/Theme.svelte +66 -0
  340. package/src/lib/components/navigation/Nav.svelte +144 -0
  341. package/src/lib/components/navigation/Node.svelte +129 -0
  342. package/src/lib/components/navigation/Tree.svelte +37 -0
  343. package/src/lib/components/navigation/types.d.ts +12 -0
  344. package/src/lib/components/navigation/utils/fuzz.ts +175 -0
  345. package/src/lib/components/navigation/utils/renamer.test.ts +18 -0
  346. package/src/lib/components/navigation/utils/renamer.ts +15 -0
  347. package/src/lib/components/navigation/utils/sort.test.ts +37 -0
  348. package/src/lib/components/navigation/utils/sort.ts +5 -0
  349. package/src/lib/components/navigation/utils/sorter.test.ts +24 -0
  350. package/src/lib/components/navigation/utils/sorter.ts +43 -0
  351. package/src/lib/index.ts +23 -0
  352. package/src/routes/+layout.server.ts +1 -0
  353. package/src/routes/+layout.svelte +63 -0
  354. package/src/routes/1-Motivation/+page.svx +37 -0
  355. package/src/routes/2-Overview/+page.svx +96 -0
  356. package/src/routes/3-Components/1-Layout/+page.svelte +46 -0
  357. package/src/routes/3-Components/1-Layout/1-Sorting/+page.svelte +48 -0
  358. package/src/routes/3-Components/1-Layout/1-Sorting/MD.svx +32 -0
  359. package/src/routes/3-Components/1-Layout/2-Renaming/+page.svelte +50 -0
  360. package/src/routes/3-Components/1-Layout/2-Renaming/MD.svx +26 -0
  361. package/src/routes/3-Components/1-Layout/3-Title/1-Icon/+page.svelte +50 -0
  362. package/src/routes/3-Components/1-Layout/3-Title/1-Icon/MD.svx +34 -0
  363. package/src/routes/3-Components/1-Layout/3-Title/2-title/+page.svelte +41 -0
  364. package/src/routes/3-Components/1-Layout/3-Title/2-title/MD.svx +14 -0
  365. package/src/routes/3-Components/1-Layout/3-Title/3-title-misc/+page.svelte +49 -0
  366. package/src/routes/3-Components/1-Layout/3-Title/3-title-misc/MD.svx +26 -0
  367. package/src/routes/3-Components/1-Layout/MD.svx +49 -0
  368. package/src/routes/3-Components/2-DocLayout/+page.svelte +50 -0
  369. package/src/routes/3-Components/2-DocLayout/MD.svx +27 -0
  370. package/src/routes/3-Components/3-Block/+page.svx +65 -0
  371. package/src/routes/3-Components/3-Block/1-Content/1-Instance/+page.svx +60 -0
  372. package/src/routes/3-Components/3-Block/1-Content/2-Template/+page.svx +74 -0
  373. package/src/routes/3-Components/3-Block/1-Content/2-Template/1-Params/+page.svx +55 -0
  374. package/src/routes/3-Components/3-Block/1-Content/2-Template/2-columns/+page.svx +62 -0
  375. package/src/routes/3-Components/3-Block/1-Content/3-props/1-noreset/+page.svx +68 -0
  376. package/src/routes/3-Components/3-Block/1-Content/3-props/2-let:key/+page.svx +72 -0
  377. package/src/routes/3-Components/3-Block/1-Content/3-props/3-let:props/+page.svx +151 -0
  378. package/src/routes/3-Components/3-Block/2-Controls/+page.svx +26 -0
  379. package/src/routes/3-Components/3-Block/2-Controls/3-props/+page.svelte +73 -0
  380. package/src/routes/3-Components/3-Block/2-Controls/3-props/1-Text/+page.svx +40 -0
  381. package/src/routes/3-Components/3-Block/2-Controls/3-props/2-Number/+page.svx +40 -0
  382. package/src/routes/3-Components/3-Block/2-Controls/3-props/3-Range/+page.svx +52 -0
  383. package/src/routes/3-Components/3-Block/2-Controls/3-props/4-Toggle/+page.svx +40 -0
  384. package/src/routes/3-Components/3-Block/2-Controls/3-props/5-Select/+page.svx +46 -0
  385. package/src/routes/3-Components/3-Block/2-Controls/3-props/6-Tuple/+page.svx +60 -0
  386. package/src/routes/3-Components/3-Block/2-Controls/3-props/7-Object/+page.svx +61 -0
  387. package/src/routes/3-Components/3-Block/2-Controls/3-props/8-Color/+page.svx +49 -0
  388. package/src/routes/3-Components/3-Block/2-Controls/3-props/9-Button/+page.svx +56 -0
  389. package/src/routes/3-Components/3-Block/2-Controls/3-props/Detail.svelte +20 -0
  390. package/src/routes/3-Components/3-Block/2-Controls/3-props/Layout.svelte +86 -0
  391. package/src/routes/3-Components/3-Block/2-Controls/3-props/MD.svx +150 -0
  392. package/src/routes/3-Components/3-Block/2-Controls/4-events/+page.svelte +49 -0
  393. package/src/routes/3-Components/3-Block/Component.svelte +87 -0
  394. package/src/routes/3-Components/4-Theme/+page.svelte +71 -0
  395. package/src/routes/3-Components/4-Theme/1-Custom CSS/+page.svelte +102 -0
  396. package/src/routes/3-Components/4-Theme/MD.svx +41 -0
  397. package/src/routes/4-Internals/+page.mdsvelte +12 -0
  398. package/src/routes/4-Internals/1-Container/+page.svelte +50 -0
  399. package/src/routes/4-Internals/1-Container/Content.svelte +39 -0
  400. package/src/routes/4-Internals/1-Container/MD.svx +13 -0
  401. package/src/routes/4-Internals/2-Icons/1-Nil/+page.svelte +14 -0
  402. package/src/routes/4-Internals/2-Icons/2-Theme/+page.svelte +29 -0
  403. package/src/routes/4-Internals/2-Icons/3-Position/+page.svelte +23 -0
  404. package/src/routes/4-Internals/2-Icons/4-ControlView/+page.svelte +23 -0
  405. package/src/routes/4-Internals/3-Fuzzy Match/+page.svelte +86 -0
  406. package/src/routes/4-Internals/3-Fuzzy Match/eval.ts +40 -0
  407. package/src/routes/[...rest]/+page.ts +5 -0
  408. package/src/static/assets/admonitions.css +113 -0
  409. package/src/static/assets/favicon.svg +15 -0
  410. package/src/static/assets/icon.png +0 -0
  411. package/src/static/assets/markdown.css +1054 -0
  412. package/svelte.config.js +23 -0
  413. package/tsconfig.json +14 -0
  414. package/vite.config.ts +11 -0
  415. package/components/Base.svelte.d.ts +0 -19
  416. package/components/block/Block.svelte.d.ts +0 -20
  417. package/components/block/Controls.svelte.d.ts +0 -19
  418. package/components/block/Instance.svelte.d.ts +0 -24
  419. package/components/block/Params.svelte +0 -21
  420. package/components/block/Params.svelte.d.ts +0 -19
  421. package/components/block/Template.svelte +0 -35
  422. package/components/block/Template.svelte.d.ts +0 -27
  423. package/components/block/controls/Controls.svelte.d.ts +0 -17
  424. package/components/block/controls/Styler.svelte.d.ts +0 -18
  425. package/components/block/controls/events/Events.svelte.d.ts +0 -21
  426. package/components/block/controls/props/Button.svelte +0 -18
  427. package/components/block/controls/props/Button.svelte.d.ts +0 -18
  428. package/components/block/controls/props/Color.svelte.d.ts +0 -21
  429. package/components/block/controls/props/Component.svelte.d.ts +0 -21
  430. package/components/block/controls/props/Number.svelte.d.ts +0 -21
  431. package/components/block/controls/props/Object.svelte.d.ts +0 -22
  432. package/components/block/controls/props/Props.svelte +0 -10
  433. package/components/block/controls/props/Props.svelte.d.ts +0 -20
  434. package/components/block/controls/props/Range.svelte.d.ts +0 -21
  435. package/components/block/controls/props/Select.svelte.d.ts +0 -21
  436. package/components/block/controls/props/Text.svelte.d.ts +0 -21
  437. package/components/block/controls/props/Toggle.svelte.d.ts +0 -21
  438. package/components/block/controls/props/Tuple.svelte.d.ts +0 -22
  439. package/components/block/controls/props/misc/GroupHeader.svelte.d.ts +0 -21
  440. package/components/block/controls/props/misc/Name.svelte.d.ts +0 -18
  441. package/components/block/controls/props/misc/Toggle.svelte.d.ts +0 -19
  442. package/components/block/icons/Button.svelte.d.ts +0 -35
  443. package/components/block/icons/ControlView.svelte.d.ts +0 -16
  444. package/components/block/icons/Position.svelte.d.ts +0 -16
  445. package/components/layout/Container.svelte.d.ts +0 -22
  446. package/components/layout/Content.svelte.d.ts +0 -27
  447. package/components/layout/DocLayout.svelte +0 -34
  448. package/components/layout/DocLayout.svelte.d.ts +0 -38
  449. package/components/layout/Layout.svelte.d.ts +0 -31
  450. package/components/layout/Scrollable.svelte.d.ts +0 -27
  451. package/components/layout/ThemeToggle.svelte.d.ts +0 -17
  452. package/components/layout/VerticalPanel.svelte.d.ts +0 -27
  453. package/components/layout/icons/Icon.svelte.d.ts +0 -21
  454. package/components/layout/icons/Nil.svelte +0 -40
  455. package/components/layout/icons/Nil.svelte.d.ts +0 -14
  456. package/components/layout/icons/Theme.svelte.d.ts +0 -16
  457. package/components/navigation/Nav.svelte.d.ts +0 -22
  458. package/components/navigation/Node.svelte.d.ts +0 -26
  459. package/components/navigation/Tree.svelte.d.ts +0 -24
  460. /package/{components → .svelte-kit/__package__/components}/block/action.d.ts +0 -0
  461. /package/{components → .svelte-kit/__package__/components}/block/action.js +0 -0
  462. /package/{components → .svelte-kit/__package__/components}/block/context.d.ts +0 -0
  463. /package/{components → .svelte-kit/__package__/components}/block/context.js +0 -0
  464. /package/{components → .svelte-kit/__package__/components}/block/controls/props/misc/nformat.d.ts +0 -0
  465. /package/{components → .svelte-kit/__package__/components}/block/controls/props/misc/nformat.js +0 -0
  466. /package/{components → .svelte-kit/__package__/components}/block/controls/props/misc/utils.js +0 -0
  467. /package/{components → .svelte-kit/__package__/components}/block/types.d.ts +0 -0
  468. /package/{components → .svelte-kit/__package__/components}/block/utils.d.ts +0 -0
  469. /package/{components → .svelte-kit/__package__/components}/block/utils.js +0 -0
  470. /package/{components → .svelte-kit/__package__/components}/context.d.ts +0 -0
  471. /package/{components → .svelte-kit/__package__/components}/context.js +0 -0
  472. /package/{components → .svelte-kit/__package__/components}/layout/action.d.ts +0 -0
  473. /package/{components → .svelte-kit/__package__/components}/layout/action.js +0 -0
  474. /package/{components → .svelte-kit/__package__/components}/navigation/types.d.ts +0 -0
  475. /package/{components → .svelte-kit/__package__/components}/navigation/utils/fuzz.d.ts +0 -0
  476. /package/{components → .svelte-kit/__package__/components}/navigation/utils/fuzz.js +0 -0
  477. /package/{components → .svelte-kit/__package__/components}/navigation/utils/renamer.d.ts +0 -0
  478. /package/{components → .svelte-kit/__package__/components}/navigation/utils/renamer.js +0 -0
  479. /package/{components → .svelte-kit/__package__/components}/navigation/utils/sort.d.ts +0 -0
  480. /package/{components → .svelte-kit/__package__/components}/navigation/utils/sort.js +0 -0
  481. /package/{components → .svelte-kit/__package__/components}/navigation/utils/sorter.d.ts +0 -0
  482. /package/{components → .svelte-kit/__package__/components}/navigation/utils/sorter.js +0 -0
  483. /package/{index.d.ts → .svelte-kit/__package__/index.d.ts} +0 -0
  484. /package/{index.js → .svelte-kit/__package__/index.js} +0 -0
@@ -0,0 +1,204 @@
1
+ import { nformat as SUT } from "./nformat";
2
+
3
+ import { describe, it, expect } from "vitest";
4
+
5
+ describe("nformat", () => {
6
+ it("setup for short", () => {
7
+ expect(SUT(1.1e1, 3, 5))
8
+ .is.eq("+11.0000")
9
+ .and.lengthOf(8);
10
+ expect(SUT(-1.1e1, 3, 5))
11
+ .is.eq("-11.0000")
12
+ .and.lengthOf(8);
13
+ expect(SUT(1.1e-1, 3, 5))
14
+ .is.eq("+0.11000")
15
+ .and.lengthOf(8);
16
+ expect(SUT(-1.1e-1, 3, 5))
17
+ .is.eq("-0.11000")
18
+ .and.lengthOf(8);
19
+
20
+ expect(SUT(1.1e2, 3, 5))
21
+ .is.eq("+110.000")
22
+ .and.lengthOf(8);
23
+ expect(SUT(-1.1e2, 3, 5))
24
+ .is.eq("-110.000")
25
+ .and.lengthOf(8);
26
+ expect(SUT(1.1e-2, 3, 5))
27
+ .is.eq("+0.01100")
28
+ .and.lengthOf(8);
29
+ expect(SUT(-1.1e-2, 3, 5))
30
+ .is.eq("-0.01100")
31
+ .and.lengthOf(8);
32
+
33
+ expect(SUT(1.1e3, 3, 5))
34
+ .is.eq("+1.100E3")
35
+ .and.lengthOf(8);
36
+ expect(SUT(-1.1e3, 3, 5))
37
+ .is.eq("-1.100E3")
38
+ .and.lengthOf(8);
39
+ expect(SUT(1.1e-3, 3, 5))
40
+ .is.eq("+1.10E-3")
41
+ .and.lengthOf(8);
42
+ expect(SUT(-1.1e-3, 3, 5))
43
+ .is.eq("-1.10E-3")
44
+ .and.lengthOf(8);
45
+
46
+ expect(SUT(1.1e4, 3, 5))
47
+ .is.eq("+1.100E4")
48
+ .and.lengthOf(8);
49
+ expect(SUT(-1.1e4, 3, 5))
50
+ .is.eq("-1.100E4")
51
+ .and.lengthOf(8);
52
+ expect(SUT(1.1e-4, 3, 5))
53
+ .is.eq("+1.10E-4")
54
+ .and.lengthOf(8);
55
+ expect(SUT(-1.1e-4, 3, 5))
56
+ .is.eq("-1.10E-4")
57
+ .and.lengthOf(8);
58
+
59
+ expect(SUT(1.1e9, 3, 5))
60
+ .is.eq("+1.100E9")
61
+ .and.lengthOf(8);
62
+ expect(SUT(-1.1e9, 3, 5))
63
+ .is.eq("-1.100E9")
64
+ .and.lengthOf(8);
65
+ expect(SUT(1.1e-9, 3, 5))
66
+ .is.eq("+1.10E-9")
67
+ .and.lengthOf(8);
68
+ expect(SUT(-1.1e-9, 3, 5))
69
+ .is.eq("-1.10E-9")
70
+ .and.lengthOf(8);
71
+
72
+ expect(SUT(1.1e10, 3, 5))
73
+ .is.eq("+1.10E10")
74
+ .and.lengthOf(8);
75
+ expect(SUT(-1.1e10, 3, 5))
76
+ .is.eq("-1.10E10")
77
+ .and.lengthOf(8);
78
+ expect(SUT(1.1e-10, 3, 5))
79
+ .is.eq("+1.1E-10")
80
+ .and.lengthOf(8);
81
+ expect(SUT(-1.1e-10, 3, 5))
82
+ .is.eq("-1.1E-10")
83
+ .and.lengthOf(8);
84
+ });
85
+
86
+ it("setup for long", () => {
87
+ expect(SUT(1.1e1, 6, 11))
88
+ .is.eq("+11.0000000000")
89
+ .and.lengthOf(14);
90
+ expect(SUT(-1.1e1, 6, 11))
91
+ .is.eq("-11.0000000000")
92
+ .and.lengthOf(14);
93
+ expect(SUT(1.1e-1, 6, 11))
94
+ .is.eq("+0.11000000000")
95
+ .and.lengthOf(14);
96
+ expect(SUT(-1.1e-1, 6, 11))
97
+ .is.eq("-0.11000000000")
98
+ .and.lengthOf(14);
99
+
100
+ expect(SUT(1.1e2, 6, 11))
101
+ .is.eq("+110.000000000")
102
+ .and.lengthOf(14);
103
+ expect(SUT(-1.1e2, 6, 11))
104
+ .is.eq("-110.000000000")
105
+ .and.lengthOf(14);
106
+ expect(SUT(1.1e-2, 6, 11))
107
+ .is.eq("+0.01100000000")
108
+ .and.lengthOf(14);
109
+ expect(SUT(-1.1e-2, 6, 11))
110
+ .is.eq("-0.01100000000")
111
+ .and.lengthOf(14);
112
+
113
+ expect(SUT(1.1e3, 6, 11))
114
+ .is.eq("+1100.00000000")
115
+ .and.lengthOf(14);
116
+ expect(SUT(-1.1e3, 6, 11))
117
+ .is.eq("-1100.00000000")
118
+ .and.lengthOf(14);
119
+ expect(SUT(1.1e-3, 6, 11))
120
+ .is.eq("+0.00110000000")
121
+ .and.lengthOf(14);
122
+ expect(SUT(-1.1e-3, 6, 11))
123
+ .is.eq("-0.00110000000")
124
+ .and.lengthOf(14);
125
+
126
+ expect(SUT(1.1e4, 6, 11))
127
+ .is.eq("+11000.0000000")
128
+ .and.lengthOf(14);
129
+ expect(SUT(-1.1e4, 6, 11))
130
+ .is.eq("-11000.0000000")
131
+ .and.lengthOf(14);
132
+ expect(SUT(1.1e-4, 6, 11))
133
+ .is.eq("+0.00011000000")
134
+ .and.lengthOf(14);
135
+ expect(SUT(-1.1e-4, 6, 11))
136
+ .is.eq("-0.00011000000")
137
+ .and.lengthOf(14);
138
+
139
+ expect(SUT(1.1e5, 6, 11))
140
+ .is.eq("+110000.000000")
141
+ .and.lengthOf(14);
142
+ expect(SUT(-1.1e5, 6, 11))
143
+ .is.eq("-110000.000000")
144
+ .and.lengthOf(14);
145
+ expect(SUT(1.1e-5, 6, 11))
146
+ .is.eq("+0.00001100000")
147
+ .and.lengthOf(14);
148
+ expect(SUT(-1.1e-5, 6, 11))
149
+ .is.eq("-0.00001100000")
150
+ .and.lengthOf(14);
151
+
152
+ expect(SUT(1.1e6, 6, 11))
153
+ .is.eq("+1.100000000E6")
154
+ .and.lengthOf(14);
155
+ expect(SUT(-1.1e6, 6, 11))
156
+ .is.eq("-1.100000000E6")
157
+ .and.lengthOf(14);
158
+ expect(SUT(1.1e-6, 6, 11))
159
+ .is.eq("+1.10000000E-6")
160
+ .and.lengthOf(14);
161
+ expect(SUT(-1.1e-6, 6, 11))
162
+ .is.eq("-1.10000000E-6")
163
+ .and.lengthOf(14);
164
+
165
+ expect(SUT(1.1e7, 6, 11))
166
+ .is.eq("+1.100000000E7")
167
+ .and.lengthOf(14);
168
+ expect(SUT(-1.1e7, 6, 11))
169
+ .is.eq("-1.100000000E7")
170
+ .and.lengthOf(14);
171
+ expect(SUT(1.1e-7, 6, 11))
172
+ .is.eq("+1.10000000E-7")
173
+ .and.lengthOf(14);
174
+ expect(SUT(-1.1e-7, 6, 11))
175
+ .is.eq("-1.10000000E-7")
176
+ .and.lengthOf(14);
177
+
178
+ expect(SUT(1.1e9, 6, 11))
179
+ .is.eq("+1.100000000E9")
180
+ .and.lengthOf(14);
181
+ expect(SUT(-1.1e9, 6, 11))
182
+ .is.eq("-1.100000000E9")
183
+ .and.lengthOf(14);
184
+ expect(SUT(1.1e-9, 6, 11))
185
+ .is.eq("+1.10000000E-9")
186
+ .and.lengthOf(14);
187
+ expect(SUT(-1.1e-9, 6, 11))
188
+ .is.eq("-1.10000000E-9")
189
+ .and.lengthOf(14);
190
+
191
+ expect(SUT(1.1e10, 6, 11))
192
+ .is.eq("+1.10000000E10")
193
+ .and.lengthOf(14);
194
+ expect(SUT(-1.1e10, 6, 11))
195
+ .is.eq("-1.10000000E10")
196
+ .and.lengthOf(14);
197
+ expect(SUT(1.1e-10, 6, 11))
198
+ .is.eq("+1.1000000E-10")
199
+ .and.lengthOf(14);
200
+ expect(SUT(-1.1e-10, 6, 11))
201
+ .is.eq("-1.1000000E-10")
202
+ .and.lengthOf(14);
203
+ });
204
+ });
@@ -0,0 +1,16 @@
1
+ export const nformat = (v: number, fdigits: number, width: number) => {
2
+ const n = v.toExponential().split("e");
3
+ const ex = parseInt(n[1]);
4
+ const absex = Math.abs(ex);
5
+ const short = absex >= fdigits;
6
+ const rest = short
7
+ ? width - 3 + (absex >= 10 ? 0 : 1) - (ex < 0 ? 1 : 0)
8
+ : width - absex + (ex < 0 ? -ex : 0);
9
+ return v.toLocaleString(undefined, {
10
+ signDisplay: "always",
11
+ useGrouping: false,
12
+ notation: short ? "scientific" : "standard",
13
+ maximumFractionDigits: rest,
14
+ minimumFractionDigits: rest
15
+ });
16
+ };
@@ -0,0 +1,38 @@
1
+ import type { Detailed, Unionized, PropType, Prop, NonNamedProp, SpecialProp } from "../../types";
2
+
3
+ type TypesWithValue = "table" | "tuple" | "select";
4
+ type Values<T extends TypesWithValue> = Detailed<PropType<T>>["values"];
5
+
6
+ export function getValues(info: Unionized<PropType<"select">>): Values<"select">;
7
+ export function getValues(info: Unionized<PropType<"table">>): Values<"table">;
8
+ export function getValues(info: Unionized<PropType<"tuple">>): Values<"tuple">;
9
+ // eslint-disable-next-line func-style
10
+ export function getValues(
11
+ info: Unionized<PropType<TypesWithValue>>
12
+ ): Detailed<PropType<TypesWithValue>>["values"] {
13
+ return info instanceof Array ? info[2] : info.values;
14
+ }
15
+
16
+ export const getMin = (info: Unionized<PropType<"range">>): number => {
17
+ return info instanceof Array ? info[2] : info.min;
18
+ };
19
+
20
+ export const getType = (info: Prop | SpecialProp) => {
21
+ return info instanceof Array ? info[1] : info.type;
22
+ };
23
+
24
+ export const getFormat = (info: Unionized<PropType<"color">>) => {
25
+ return info instanceof Array ? info[2] : info.format;
26
+ };
27
+
28
+ export const getName = (info: Prop | SpecialProp) => {
29
+ return info instanceof Array ? info[0] : info.name;
30
+ };
31
+
32
+ export const getClick = (info: SpecialProp) => {
33
+ return info instanceof Array ? info[2] : info.click;
34
+ };
35
+
36
+ export const addName = (name: string, info: NonNamedProp): Prop => {
37
+ return info instanceof Array ? [name, ...info] : { name, ...info };
38
+ };
@@ -0,0 +1,105 @@
1
+ type Types =
2
+ | "text"
3
+ | "color"
4
+ | "number"
5
+ | "select"
6
+ | "range"
7
+ | "toggle"
8
+ | "tuple"
9
+ | "table"
10
+ | "button";
11
+ type ColorFormat = "hsl" | "hsla" | "rgb" | "rgba" | "hex" | "hexa";
12
+
13
+ // prettier-ignore
14
+ export type PropType<T extends Types> =
15
+ T extends "text" ? [
16
+ [ name: string, type: T ],
17
+ { name: string; type: T; }
18
+ ]
19
+ : T extends "color" ? [
20
+ [ name: string, type: T, format: ColorFormat ],
21
+ { name: string; type: T; format: ColorFormat; }
22
+ ]
23
+ : T extends "number" ? [
24
+ [ name: string, type: T ],
25
+ { name: string; type: T; }
26
+ ]
27
+ : T extends "toggle" ? [
28
+ [ name: string, type: T ],
29
+ { name: string; type: T; }
30
+ ]
31
+ : T extends "select" ? [
32
+ [ name: string, type: T, values: string[] ],
33
+ { name: string; type: T; values: string[]; }
34
+ ]
35
+ : T extends "range" ? [
36
+ [ name: string, type: T, min: number, max: number, step: number ],
37
+ { name: string; type: T; min: number; max: number; step: number; }
38
+ ]
39
+ : T extends "tuple" ? [
40
+ // eslint-disable-next-line no-use-before-define
41
+ [ name: string, type: T, values: NonNamedProp[] ],
42
+ // eslint-disable-next-line no-use-before-define
43
+ { name: string; type: T; values: NonNamedProp[]; }
44
+ ]
45
+ : T extends "table" ? [
46
+ // eslint-disable-next-line no-use-before-define
47
+ [ name: string, type: T, values: Prop[] ],
48
+ // eslint-disable-next-line no-use-before-define
49
+ { name: string; type: T; values: Prop[]; }
50
+ ]
51
+ : T extends "button" ? [
52
+ [ name: string, type: "button", click: () => (() => void) ],
53
+ { name: string; type: "button"; click: () => (() => void); }
54
+ ]
55
+ : never;
56
+
57
+ export type Flattened<T extends PropType> = T[0];
58
+ export type Detailed<T extends PropType> = T[1];
59
+ export type Unionized<T extends PropTyoe> = T[number];
60
+
61
+ // prettier-ignore
62
+ export type Prop =
63
+ | [ name: string, type: "text" ]
64
+ | { name: string; type: "text"; }
65
+ | [ name: string, type: "color", format: ColorFormat ]
66
+ | { name: string; type: "color"; format: ColorFormat; }
67
+ | [ name: string, type: "number" ]
68
+ | { name: string; type: "number"; }
69
+ | [ name: string, type: "toggle" ]
70
+ | { name: string; type: "toggle"; }
71
+ | [ name: string, type: "select", values: string[] ]
72
+ | { name: string; type: "select"; values: string[]; }
73
+ | [ name: string, type: "range", min: number, max: number, step: number ]
74
+ | { name: string; type: "range"; min: number; max: number; step: number; }
75
+ // eslint-disable-next-line no-use-before-define
76
+ | [ name: string, type: "tuple", values: NonNamedProp[] ]
77
+ // eslint-disable-next-line no-use-before-define
78
+ | { name: string; type: "tuple"; values: NonNamedProp[]; }
79
+ | [ name: string, type: "table", values: Prop[] ]
80
+ | { name: string; type: "table"; values: Prop[]; };
81
+
82
+ export type SpecialProp =
83
+ | [name: string, type: "button", click: () => () => void]
84
+ | { name: string; type: "button"; click: () => () => void };
85
+
86
+ // prettier-ignore
87
+ export type NonNamedProp =
88
+ | [ type: "text" ]
89
+ | { type: "text"; }
90
+ | [ type: "color", format: ColorFormat ]
91
+ | { type: "color"; format: ColorFormat; }
92
+ | [ type: "number" ]
93
+ | { type: "number"; }
94
+ | [ type: "toggle" ]
95
+ | { type: "toggle"; }
96
+ | [ type: "select", values: string[] ]
97
+ | { type: "select"; values: string[]; }
98
+ | [ type: "range", min: number, max: number, step: number ]
99
+ | { type: "range"; min: number; max: number; step: number; }
100
+ | [ type: "tuple", values: NonNamedProp[] ]
101
+ | { type: "tuple"; values: NonNamedProp[]; }
102
+ | [ type: "table", values: Prop[] ]
103
+ | { type: "table"; values: Prop[]; };
104
+
105
+ export type Event = string;
@@ -0,0 +1,42 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from "svelte";
3
+ let {
4
+ title = "",
5
+ scale = false,
6
+ onclick,
7
+ onkeypress,
8
+ children
9
+ } = $props<{
10
+ title?: string;
11
+ scale?: boolean;
12
+ onclick?: (e: MouseEvent) => void;
13
+ onkeypress?: (e: KeyboardEvent) => void;
14
+ children?: Snippet
15
+ }>();
16
+ </script>
17
+
18
+ <div onclick={onclick} onkeypress={onkeypress} role="none" {title} class:scale>
19
+ {@render children?.()}
20
+ </div>
21
+
22
+ <style>
23
+ div {
24
+ width: 100%;
25
+ height: 100%;
26
+ display: grid;
27
+ place-items: center;
28
+ transition: transform var(--i-nil-doc-transition-time);
29
+ }
30
+
31
+ div.scale:hover {
32
+ transform: scale(1.5);
33
+ }
34
+
35
+ div > :global(svg) {
36
+ width: 100%;
37
+ height: 100%;
38
+ stroke-width: 3;
39
+ stroke: currentColor;
40
+ fill: currentColor;
41
+ }
42
+ </style>
@@ -0,0 +1,28 @@
1
+ <script lang="ts">
2
+ let {
3
+ mode = "props"
4
+ }: {
5
+ mode: "props" | "events"
6
+ } = $props();
7
+ </script>
8
+
9
+ <svg viewBox="-50 -50 100 100">
10
+ <rect width="60" height="60" x="-30" y="-30" fill="transparent" />
11
+ <rect
12
+ x={"props" === mode ? 0 : -20}
13
+ class="mv"
14
+ height="40"
15
+ width="20"
16
+ y="-20"
17
+ rx="2"
18
+ ry="2"
19
+ fill="transparent"
20
+ />
21
+ <polygon transform="translate(5, 0)" points="-15,-2 1,-2, 1,-6 6,0 1,6 1,2 -15,2" />
22
+ </svg>
23
+
24
+ <style>
25
+ .mv {
26
+ transition: x var(--i-nil-doc-transition-time);
27
+ }
28
+ </style>
@@ -0,0 +1,36 @@
1
+ <script lang="ts">
2
+ let {
3
+ position = "hidden"
4
+ }: {
5
+ position: "hidden" | "bottom" | "right";
6
+ } = $props();
7
+
8
+ let bottom = $derived("bottom" === position);
9
+ let right = $derived("right" === position);
10
+ </script>
11
+
12
+ <svg viewBox="-50 -50 100 100">
13
+ <rect width="60" x="-30" height="60" y="-30" fill="transparent" />
14
+ <rect width="60" x="-30" height={bottom ? "20" : "0"} y={bottom ? "10" : "30"} />
15
+ <rect
16
+ width="60"
17
+ x="-30"
18
+ height={right ? "20" : "0"}
19
+ y={right ? "10" : "30"}
20
+ transform="rotate(-90)"
21
+ />
22
+ </svg>
23
+
24
+ <style>
25
+ svg {
26
+ stroke-width: 3;
27
+ fill: currentColor;
28
+ }
29
+
30
+ rect:nth-child(n + 2) {
31
+ transition:
32
+ height var(--i-nil-doc-transition-time),
33
+ x var(--i-nil-doc-transition-time),
34
+ y var(--i-nil-doc-transition-time);
35
+ }
36
+ </style>
@@ -0,0 +1,9 @@
1
+ export type ValueType =
2
+ | undefined
3
+ | boolean
4
+ | number
5
+ | string
6
+ | ValueType[]
7
+ | {
8
+ [key: string]: ValueType;
9
+ };
@@ -0,0 +1,82 @@
1
+ import { resolve as SUT } from "./utils";
2
+
3
+ import { describe, it, expect } from "vitest";
4
+
5
+ describe("resolve basic", () => {
6
+ it("returns a copy of an object", () => {
7
+ const input = {
8
+ dummy: "value",
9
+ nest: {
10
+ object: { key: "object" },
11
+ array: [{ key: 1 }, { key: "1" }]
12
+ }
13
+ };
14
+ const output: typeof input = SUT(input, {});
15
+ // not equal means that they are not of the same object reference
16
+ expect(output).is.not.equal(input);
17
+ // deep equal means that they are compared recursively (deep check)
18
+ expect(output).is.deep.equal(input);
19
+ expect(output.nest).is.not.equal(input.nest);
20
+ expect(output.nest).is.deep.equal(input.nest);
21
+ expect(output.nest.object).is.not.equal(input.nest.object);
22
+ expect(output.nest.object).is.deep.equal(input.nest.object);
23
+ expect(output.nest.array).is.not.equal(input.nest.array);
24
+ expect(output.nest.array).is.deep.equal(input.nest.array);
25
+ expect(output.nest.array[0]).is.not.equal(input.nest.array[0]);
26
+ expect(output.nest.array[0]).is.deep.equal(input.nest.array[0]);
27
+ expect(output.nest.array[1]).is.not.equal(input.nest.array[1]);
28
+ expect(output.nest.array[1]).is.deep.equal(input.nest.array[1]);
29
+ });
30
+
31
+ it("returns a values with full override", () => {
32
+ const input = {
33
+ dummy: "value",
34
+ nest: {
35
+ object: { key: "object" },
36
+ array: [{ key: 1 }, ["in_array"]]
37
+ }
38
+ };
39
+ const override = {
40
+ dummy: "value_override",
41
+ nest: {
42
+ object: { key: "object_override" },
43
+ array: [{ key: 2 }, ["in_array_override"]]
44
+ }
45
+ };
46
+ const output = SUT(input, override);
47
+
48
+ const check = {
49
+ dummy: "value_override",
50
+ nest: {
51
+ object: { key: "object_override" },
52
+ array: [{ key: 2 }, ["in_array_override"]]
53
+ }
54
+ };
55
+ expect(output).is.deep.equal(check);
56
+ });
57
+
58
+ it("returns a values with partial override", () => {
59
+ const input = {
60
+ dummy: "value",
61
+ nest: {
62
+ object: { key: "object" },
63
+ array: [{ key: 1 }, ["in_array"]]
64
+ }
65
+ };
66
+ const override = {
67
+ nest: {
68
+ array: [{ key: 200 }]
69
+ }
70
+ };
71
+ const output = SUT(input, override);
72
+
73
+ const check = {
74
+ dummy: "value",
75
+ nest: {
76
+ object: { key: "object" },
77
+ array: [{ key: 200 }, ["in_array"]]
78
+ }
79
+ };
80
+ expect(output).is.deep.equal(check);
81
+ });
82
+ });
@@ -0,0 +1,40 @@
1
+ import type { ValueType } from "./types";
2
+
3
+ type VTArray = ValueType[];
4
+ type VTObject = Record<string, ValueType>;
5
+
6
+ const resolveArray = (d: VTArray, p: VTArray) => {
7
+ const ret: VTArray = [];
8
+ for (let i = 0; i < d.length; ++i) {
9
+ if (d[i] instanceof Array) {
10
+ ret.push(resolveArray(d[i] as VTArray, (p[i] ?? []) as VTArray));
11
+ } else if (d[i] instanceof Object) {
12
+ // eslint-disable-next-line no-use-before-define
13
+ ret.push(resolveObject(d[i] as VTObject, (p[i] ?? {}) as VTObject));
14
+ } else {
15
+ ret.push(p[i] ?? d[i]);
16
+ }
17
+ }
18
+ return ret;
19
+ };
20
+
21
+ const resolveObject = (d: VTObject, p: VTObject) => {
22
+ const ret: VTObject = {};
23
+ for (const [key, value] of Object.entries(d)) {
24
+ if (value instanceof Array) {
25
+ ret[key] = resolveArray(value, (p[key] ?? []) as VTArray);
26
+ } else if (value instanceof Object) {
27
+ ret[key] = resolveObject(value, (p[key] ?? {}) as VTObject);
28
+ } else {
29
+ ret[key] = p[key] ?? value;
30
+ }
31
+ }
32
+ return ret;
33
+ };
34
+
35
+ export const resolve = <Args = Record<string, ValueType>>(
36
+ destination: VTObject,
37
+ override: VTObject
38
+ ) => {
39
+ return resolveObject(destination, override) as Args;
40
+ };
@@ -0,0 +1,10 @@
1
+ import { setContext, getContext } from "svelte";
2
+ import { writable } from "svelte/store";
3
+ import type { Writable } from "svelte/store";
4
+
5
+ const theme = Symbol();
6
+
7
+ export type Theme = "light" | "dark";
8
+
9
+ export const getTheme = () => getContext<Writable<boolean> | undefined>(theme) ?? writable(true);
10
+ export const initTheme = () => setContext<Writable<boolean>>(theme, writable(true));