@moni-labs/moni-ui 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (451) hide show
  1. package/LICENSE +34 -0
  2. package/README.md +264 -0
  3. package/custom-elements.json +12510 -0
  4. package/dist/actions/index.d.ts +2 -0
  5. package/dist/actions/index.d.ts.map +1 -0
  6. package/dist/actions/index.js +1 -0
  7. package/dist/assets/arch.svg +1 -0
  8. package/dist/assets/arrow.svg +1 -0
  9. package/dist/assets/boom.svg +1 -0
  10. package/dist/assets/bun.svg +1 -0
  11. package/dist/assets/burst.svg +1 -0
  12. package/dist/assets/circle.svg +1 -0
  13. package/dist/assets/clamshell.svg +1 -0
  14. package/dist/assets/diamond.svg +1 -0
  15. package/dist/assets/fan.svg +1 -0
  16. package/dist/assets/flower.svg +1 -0
  17. package/dist/assets/gem.svg +1 -0
  18. package/dist/assets/ghost-ish.svg +1 -0
  19. package/dist/assets/heart.svg +1 -0
  20. package/dist/assets/leaf-clover4.svg +1 -0
  21. package/dist/assets/leaf-clover8.svg +1 -0
  22. package/dist/assets/loading-indicator.svg +1 -0
  23. package/dist/assets/material-symbols-rounded.woff2 +0 -0
  24. package/dist/assets/material-symbols-subset.woff2 +0 -0
  25. package/dist/assets/oval.svg +1 -0
  26. package/dist/assets/pentagon.svg +1 -0
  27. package/dist/assets/pill.svg +1 -0
  28. package/dist/assets/pixel-circle.svg +1 -0
  29. package/dist/assets/pixel-triangle.svg +1 -0
  30. package/dist/assets/puffy-diamond.svg +1 -0
  31. package/dist/assets/puffy.svg +1 -0
  32. package/dist/assets/semicircle.svg +1 -0
  33. package/dist/assets/shapes/arch.svg +1 -0
  34. package/dist/assets/shapes/arrow.svg +1 -0
  35. package/dist/assets/shapes/boom.svg +1 -0
  36. package/dist/assets/shapes/burst.svg +1 -0
  37. package/dist/assets/shapes/circle.svg +1 -0
  38. package/dist/assets/shapes/clamshell.svg +1 -0
  39. package/dist/assets/shapes/diamond.svg +1 -0
  40. package/dist/assets/shapes/fan.svg +1 -0
  41. package/dist/assets/shapes/flower.svg +1 -0
  42. package/dist/assets/shapes/gem.svg +1 -0
  43. package/dist/assets/shapes/ghost-ish.svg +1 -0
  44. package/dist/assets/shapes/heart.svg +1 -0
  45. package/dist/assets/shapes/leaf-clover4.svg +1 -0
  46. package/dist/assets/shapes/leaf-clover8.svg +1 -0
  47. package/dist/assets/shapes/loading-indicator.svg +1 -0
  48. package/dist/assets/shapes/oval.svg +1 -0
  49. package/dist/assets/shapes/pentagon.svg +1 -0
  50. package/dist/assets/shapes/pill.svg +1 -0
  51. package/dist/assets/shapes/pixel-circle.svg +1 -0
  52. package/dist/assets/shapes/pixel-triangle.svg +1 -0
  53. package/dist/assets/shapes/puffy-diamond.svg +1 -0
  54. package/dist/assets/shapes/puffy.svg +1 -0
  55. package/dist/assets/shapes/semicircle.svg +1 -0
  56. package/dist/assets/shapes/sided-cookie12.svg +1 -0
  57. package/dist/assets/shapes/sided-cookie4.svg +1 -0
  58. package/dist/assets/shapes/sided-cookie6.svg +1 -0
  59. package/dist/assets/shapes/sided-cookie7.svg +1 -0
  60. package/dist/assets/shapes/sided-cookie9.svg +1 -0
  61. package/dist/assets/shapes/slanted.svg +1 -0
  62. package/dist/assets/shapes/soft-boom.svg +1 -0
  63. package/dist/assets/shapes/soft-burst.svg +1 -0
  64. package/dist/assets/shapes/square.svg +1 -0
  65. package/dist/assets/shapes/sunny.svg +1 -0
  66. package/dist/assets/shapes/triangle.svg +1 -0
  67. package/dist/assets/shapes/very-sunny.svg +1 -0
  68. package/dist/assets/shapes/wavy-circle.svg +1 -0
  69. package/dist/assets/shapes/wavy.svg +1 -0
  70. package/dist/assets/sided-cookie12.svg +1 -0
  71. package/dist/assets/sided-cookie4.svg +1 -0
  72. package/dist/assets/sided-cookie6.svg +1 -0
  73. package/dist/assets/sided-cookie7.svg +1 -0
  74. package/dist/assets/sided-cookie9.svg +1 -0
  75. package/dist/assets/slanted.svg +1 -0
  76. package/dist/assets/soft-boom.svg +1 -0
  77. package/dist/assets/soft-burst.svg +1 -0
  78. package/dist/assets/square.svg +1 -0
  79. package/dist/assets/star.svg +1 -0
  80. package/dist/assets/sunny.svg +1 -0
  81. package/dist/assets/triangle.svg +1 -0
  82. package/dist/assets/very-sunny.svg +1 -0
  83. package/dist/assets/wavy-circle.svg +1 -0
  84. package/dist/assets/wavy.svg +1 -0
  85. package/dist/components/_base/field-styles.d.ts +24 -0
  86. package/dist/components/_base/field-styles.d.ts.map +1 -0
  87. package/dist/components/_base/field-styles.js +504 -0
  88. package/dist/components/_base/index.d.ts +4 -0
  89. package/dist/components/_base/index.d.ts.map +1 -0
  90. package/dist/components/_base/index.js +3 -0
  91. package/dist/components/_base/interaction-styles.d.ts +22 -0
  92. package/dist/components/_base/interaction-styles.d.ts.map +1 -0
  93. package/dist/components/_base/interaction-styles.js +123 -0
  94. package/dist/components/_base/moni-element.d.ts +18 -0
  95. package/dist/components/_base/moni-element.d.ts.map +1 -0
  96. package/dist/components/_base/moni-element.js +19 -0
  97. package/dist/components/_base/shared-styles.d.ts +22 -0
  98. package/dist/components/_base/shared-styles.d.ts.map +1 -0
  99. package/dist/components/_base/shared-styles.js +146 -0
  100. package/dist/components/index.d.ts +42 -0
  101. package/dist/components/index.d.ts.map +1 -0
  102. package/dist/components/index.js +43 -0
  103. package/dist/components/loading-shapes.d.ts +10 -0
  104. package/dist/components/loading-shapes.d.ts.map +1 -0
  105. package/dist/components/loading-shapes.js +9 -0
  106. package/dist/components/moni-app-bar.d.ts +52 -0
  107. package/dist/components/moni-app-bar.d.ts.map +1 -0
  108. package/dist/components/moni-app-bar.js +207 -0
  109. package/dist/components/moni-badge.d.ts +37 -0
  110. package/dist/components/moni-badge.d.ts.map +1 -0
  111. package/dist/components/moni-badge.js +153 -0
  112. package/dist/components/moni-bottom-sheet.d.ts +52 -0
  113. package/dist/components/moni-bottom-sheet.d.ts.map +1 -0
  114. package/dist/components/moni-bottom-sheet.js +440 -0
  115. package/dist/components/moni-button-group.d.ts +55 -0
  116. package/dist/components/moni-button-group.d.ts.map +1 -0
  117. package/dist/components/moni-button-group.js +278 -0
  118. package/dist/components/moni-button-segment.d.ts +29 -0
  119. package/dist/components/moni-button-segment.d.ts.map +1 -0
  120. package/dist/components/moni-button-segment.js +300 -0
  121. package/dist/components/moni-button.d.ts +70 -0
  122. package/dist/components/moni-button.d.ts.map +1 -0
  123. package/dist/components/moni-button.js +727 -0
  124. package/dist/components/moni-card.d.ts +48 -0
  125. package/dist/components/moni-card.d.ts.map +1 -0
  126. package/dist/components/moni-card.js +216 -0
  127. package/dist/components/moni-carousel.d.ts +111 -0
  128. package/dist/components/moni-carousel.d.ts.map +1 -0
  129. package/dist/components/moni-carousel.js +1007 -0
  130. package/dist/components/moni-checkbox.d.ts +39 -0
  131. package/dist/components/moni-checkbox.d.ts.map +1 -0
  132. package/dist/components/moni-checkbox.js +212 -0
  133. package/dist/components/moni-chip.d.ts +57 -0
  134. package/dist/components/moni-chip.d.ts.map +1 -0
  135. package/dist/components/moni-chip.js +340 -0
  136. package/dist/components/moni-color-field.d.ts +33 -0
  137. package/dist/components/moni-color-field.d.ts.map +1 -0
  138. package/dist/components/moni-color-field.js +170 -0
  139. package/dist/components/moni-context-menu.d.ts +55 -0
  140. package/dist/components/moni-context-menu.d.ts.map +1 -0
  141. package/dist/components/moni-context-menu.js +184 -0
  142. package/dist/components/moni-dialog.d.ts +37 -0
  143. package/dist/components/moni-dialog.d.ts.map +1 -0
  144. package/dist/components/moni-dialog.js +257 -0
  145. package/dist/components/moni-divider.d.ts +33 -0
  146. package/dist/components/moni-divider.d.ts.map +1 -0
  147. package/dist/components/moni-divider.js +81 -0
  148. package/dist/components/moni-expansion.d.ts +25 -0
  149. package/dist/components/moni-expansion.d.ts.map +1 -0
  150. package/dist/components/moni-expansion.js +94 -0
  151. package/dist/components/moni-fab-menu.d.ts +58 -0
  152. package/dist/components/moni-fab-menu.d.ts.map +1 -0
  153. package/dist/components/moni-fab-menu.js +247 -0
  154. package/dist/components/moni-fab.d.ts +48 -0
  155. package/dist/components/moni-fab.d.ts.map +1 -0
  156. package/dist/components/moni-fab.js +284 -0
  157. package/dist/components/moni-file-field.d.ts +47 -0
  158. package/dist/components/moni-file-field.d.ts.map +1 -0
  159. package/dist/components/moni-file-field.js +189 -0
  160. package/dist/components/moni-icon.d.ts +30 -0
  161. package/dist/components/moni-icon.d.ts.map +1 -0
  162. package/dist/components/moni-icon.js +107 -0
  163. package/dist/components/moni-list-item.d.ts +51 -0
  164. package/dist/components/moni-list-item.d.ts.map +1 -0
  165. package/dist/components/moni-list-item.js +239 -0
  166. package/dist/components/moni-list.d.ts +32 -0
  167. package/dist/components/moni-list.d.ts.map +1 -0
  168. package/dist/components/moni-list.js +67 -0
  169. package/dist/components/moni-loading-indicator.d.ts +32 -0
  170. package/dist/components/moni-loading-indicator.d.ts.map +1 -0
  171. package/dist/components/moni-loading-indicator.js +189 -0
  172. package/dist/components/moni-menu-item.d.ts +27 -0
  173. package/dist/components/moni-menu-item.d.ts.map +1 -0
  174. package/dist/components/moni-menu-item.js +99 -0
  175. package/dist/components/moni-menu.d.ts +55 -0
  176. package/dist/components/moni-menu.d.ts.map +1 -0
  177. package/dist/components/moni-menu.js +295 -0
  178. package/dist/components/moni-morph-modal.d.ts +78 -0
  179. package/dist/components/moni-morph-modal.d.ts.map +1 -0
  180. package/dist/components/moni-morph-modal.js +1223 -0
  181. package/dist/components/moni-nav-item.d.ts +38 -0
  182. package/dist/components/moni-nav-item.d.ts.map +1 -0
  183. package/dist/components/moni-nav-item.js +262 -0
  184. package/dist/components/moni-nav.d.ts +46 -0
  185. package/dist/components/moni-nav.d.ts.map +1 -0
  186. package/dist/components/moni-nav.js +272 -0
  187. package/dist/components/moni-progress.d.ts +45 -0
  188. package/dist/components/moni-progress.d.ts.map +1 -0
  189. package/dist/components/moni-progress.js +333 -0
  190. package/dist/components/moni-radio.d.ts +38 -0
  191. package/dist/components/moni-radio.d.ts.map +1 -0
  192. package/dist/components/moni-radio.js +218 -0
  193. package/dist/components/moni-ripple.d.ts +35 -0
  194. package/dist/components/moni-ripple.d.ts.map +1 -0
  195. package/dist/components/moni-ripple.js +156 -0
  196. package/dist/components/moni-segmented-button.d.ts +52 -0
  197. package/dist/components/moni-segmented-button.d.ts.map +1 -0
  198. package/dist/components/moni-segmented-button.js +208 -0
  199. package/dist/components/moni-select-option.d.ts +27 -0
  200. package/dist/components/moni-select-option.d.ts.map +1 -0
  201. package/dist/components/moni-select-option.js +102 -0
  202. package/dist/components/moni-select.d.ts +76 -0
  203. package/dist/components/moni-select.d.ts.map +1 -0
  204. package/dist/components/moni-select.js +1136 -0
  205. package/dist/components/moni-shape.d.ts +30 -0
  206. package/dist/components/moni-shape.d.ts.map +1 -0
  207. package/dist/components/moni-shape.js +146 -0
  208. package/dist/components/moni-side-sheet.d.ts +62 -0
  209. package/dist/components/moni-side-sheet.d.ts.map +1 -0
  210. package/dist/components/moni-side-sheet.js +576 -0
  211. package/dist/components/moni-slider.d.ts +73 -0
  212. package/dist/components/moni-slider.d.ts.map +1 -0
  213. package/dist/components/moni-slider.js +422 -0
  214. package/dist/components/moni-snackbar.d.ts +40 -0
  215. package/dist/components/moni-snackbar.d.ts.map +1 -0
  216. package/dist/components/moni-snackbar.js +161 -0
  217. package/dist/components/moni-split-button.d.ts +33 -0
  218. package/dist/components/moni-split-button.d.ts.map +1 -0
  219. package/dist/components/moni-split-button.js +122 -0
  220. package/dist/components/moni-step.d.ts +30 -0
  221. package/dist/components/moni-step.d.ts.map +1 -0
  222. package/dist/components/moni-step.js +175 -0
  223. package/dist/components/moni-stepper.d.ts +35 -0
  224. package/dist/components/moni-stepper.d.ts.map +1 -0
  225. package/dist/components/moni-stepper.js +101 -0
  226. package/dist/components/moni-switch.d.ts +39 -0
  227. package/dist/components/moni-switch.d.ts.map +1 -0
  228. package/dist/components/moni-switch.js +258 -0
  229. package/dist/components/moni-tab.d.ts +27 -0
  230. package/dist/components/moni-tab.d.ts.map +1 -0
  231. package/dist/components/moni-tab.js +147 -0
  232. package/dist/components/moni-tabs.d.ts +31 -0
  233. package/dist/components/moni-tabs.d.ts.map +1 -0
  234. package/dist/components/moni-tabs.js +106 -0
  235. package/dist/components/moni-text-field.d.ts +46 -0
  236. package/dist/components/moni-text-field.d.ts.map +1 -0
  237. package/dist/components/moni-text-field.js +190 -0
  238. package/dist/components/moni-textarea.d.ts +57 -0
  239. package/dist/components/moni-textarea.d.ts.map +1 -0
  240. package/dist/components/moni-textarea.js +228 -0
  241. package/dist/components/moni-time-picker.d.ts +51 -0
  242. package/dist/components/moni-time-picker.d.ts.map +1 -0
  243. package/dist/components/moni-time-picker.js +823 -0
  244. package/dist/components/moni-toolbar.d.ts +35 -0
  245. package/dist/components/moni-toolbar.d.ts.map +1 -0
  246. package/dist/components/moni-toolbar.js +128 -0
  247. package/dist/components/moni-tooltip.d.ts +65 -0
  248. package/dist/components/moni-tooltip.d.ts.map +1 -0
  249. package/dist/components/moni-tooltip.js +320 -0
  250. package/dist/components/moni-typography.d.ts +42 -0
  251. package/dist/components/moni-typography.d.ts.map +1 -0
  252. package/dist/components/moni-typography.js +205 -0
  253. package/dist/index.d.ts +7 -0
  254. package/dist/index.d.ts.map +1 -0
  255. package/dist/index.js +7 -0
  256. package/dist/styles/animations.css +46 -0
  257. package/dist/styles/base.css +248 -0
  258. package/dist/styles/index.css +3 -0
  259. package/dist/styles/tokens.css +190 -0
  260. package/dist/utils/color.d.ts +51 -0
  261. package/dist/utils/color.d.ts.map +1 -0
  262. package/dist/utils/color.js +107 -0
  263. package/dist/utils/theme.svelte.d.ts +45 -0
  264. package/dist/utils/theme.svelte.d.ts.map +1 -0
  265. package/dist/utils/theme.svelte.js +168 -0
  266. package/dist/web-components.d.ts +3 -0
  267. package/dist/web-components.d.ts.map +1 -0
  268. package/dist/web-components.js +4 -0
  269. package/package.json +76 -0
  270. package/src/actions/index.ts +2 -0
  271. package/src/assets/arch.svg +1 -0
  272. package/src/assets/arrow.svg +1 -0
  273. package/src/assets/boom.svg +1 -0
  274. package/src/assets/bun.svg +1 -0
  275. package/src/assets/burst.svg +1 -0
  276. package/src/assets/circle.svg +1 -0
  277. package/src/assets/clamshell.svg +1 -0
  278. package/src/assets/diamond.svg +1 -0
  279. package/src/assets/fan.svg +1 -0
  280. package/src/assets/flower.svg +1 -0
  281. package/src/assets/gem.svg +1 -0
  282. package/src/assets/ghost-ish.svg +1 -0
  283. package/src/assets/heart.svg +1 -0
  284. package/src/assets/leaf-clover4.svg +1 -0
  285. package/src/assets/leaf-clover8.svg +1 -0
  286. package/src/assets/loading-indicator.svg +1 -0
  287. package/src/assets/material-symbols-rounded.woff2 +0 -0
  288. package/src/assets/material-symbols-subset.woff2 +0 -0
  289. package/src/assets/oval.svg +1 -0
  290. package/src/assets/pentagon.svg +1 -0
  291. package/src/assets/pill.svg +1 -0
  292. package/src/assets/pixel-circle.svg +1 -0
  293. package/src/assets/pixel-triangle.svg +1 -0
  294. package/src/assets/puffy-diamond.svg +1 -0
  295. package/src/assets/puffy.svg +1 -0
  296. package/src/assets/semicircle.svg +1 -0
  297. package/src/assets/shapes/arch.svg +1 -0
  298. package/src/assets/shapes/arrow.svg +1 -0
  299. package/src/assets/shapes/boom.svg +1 -0
  300. package/src/assets/shapes/burst.svg +1 -0
  301. package/src/assets/shapes/circle.svg +1 -0
  302. package/src/assets/shapes/clamshell.svg +1 -0
  303. package/src/assets/shapes/diamond.svg +1 -0
  304. package/src/assets/shapes/fan.svg +1 -0
  305. package/src/assets/shapes/flower.svg +1 -0
  306. package/src/assets/shapes/gem.svg +1 -0
  307. package/src/assets/shapes/ghost-ish.svg +1 -0
  308. package/src/assets/shapes/heart.svg +1 -0
  309. package/src/assets/shapes/leaf-clover4.svg +1 -0
  310. package/src/assets/shapes/leaf-clover8.svg +1 -0
  311. package/src/assets/shapes/loading-indicator.svg +1 -0
  312. package/src/assets/shapes/oval.svg +1 -0
  313. package/src/assets/shapes/pentagon.svg +1 -0
  314. package/src/assets/shapes/pill.svg +1 -0
  315. package/src/assets/shapes/pixel-circle.svg +1 -0
  316. package/src/assets/shapes/pixel-triangle.svg +1 -0
  317. package/src/assets/shapes/puffy-diamond.svg +1 -0
  318. package/src/assets/shapes/puffy.svg +1 -0
  319. package/src/assets/shapes/semicircle.svg +1 -0
  320. package/src/assets/shapes/sided-cookie12.svg +1 -0
  321. package/src/assets/shapes/sided-cookie4.svg +1 -0
  322. package/src/assets/shapes/sided-cookie6.svg +1 -0
  323. package/src/assets/shapes/sided-cookie7.svg +1 -0
  324. package/src/assets/shapes/sided-cookie9.svg +1 -0
  325. package/src/assets/shapes/slanted.svg +1 -0
  326. package/src/assets/shapes/soft-boom.svg +1 -0
  327. package/src/assets/shapes/soft-burst.svg +1 -0
  328. package/src/assets/shapes/square.svg +1 -0
  329. package/src/assets/shapes/sunny.svg +1 -0
  330. package/src/assets/shapes/triangle.svg +1 -0
  331. package/src/assets/shapes/very-sunny.svg +1 -0
  332. package/src/assets/shapes/wavy-circle.svg +1 -0
  333. package/src/assets/shapes/wavy.svg +1 -0
  334. package/src/assets/sided-cookie12.svg +1 -0
  335. package/src/assets/sided-cookie4.svg +1 -0
  336. package/src/assets/sided-cookie6.svg +1 -0
  337. package/src/assets/sided-cookie7.svg +1 -0
  338. package/src/assets/sided-cookie9.svg +1 -0
  339. package/src/assets/slanted.svg +1 -0
  340. package/src/assets/soft-boom.svg +1 -0
  341. package/src/assets/soft-burst.svg +1 -0
  342. package/src/assets/square.svg +1 -0
  343. package/src/assets/star.svg +1 -0
  344. package/src/assets/sunny.svg +1 -0
  345. package/src/assets/triangle.svg +1 -0
  346. package/src/assets/very-sunny.svg +1 -0
  347. package/src/assets/wavy-circle.svg +1 -0
  348. package/src/assets/wavy.svg +1 -0
  349. package/src/assets.d.ts +12 -0
  350. package/src/components/_base/field-styles.ts +507 -0
  351. package/src/components/_base/index.ts +3 -0
  352. package/src/components/_base/interaction-styles.ts +125 -0
  353. package/src/components/_base/moni-element.ts +21 -0
  354. package/src/components/_base/shared-styles.ts +148 -0
  355. package/src/components/index.ts +45 -0
  356. package/src/components/loading-shapes.ts +9 -0
  357. package/src/components/moni-app-bar.test.ts +86 -0
  358. package/src/components/moni-app-bar.ts +190 -0
  359. package/src/components/moni-badge.ts +138 -0
  360. package/src/components/moni-bottom-sheet.test.ts +420 -0
  361. package/src/components/moni-bottom-sheet.ts +425 -0
  362. package/src/components/moni-button-group.test.ts +148 -0
  363. package/src/components/moni-button-group.ts +277 -0
  364. package/src/components/moni-button-segment.ts +291 -0
  365. package/src/components/moni-button.test.ts +166 -0
  366. package/src/components/moni-button.ts +709 -0
  367. package/src/components/moni-card.test.ts +83 -0
  368. package/src/components/moni-card.ts +203 -0
  369. package/src/components/moni-carousel.test.ts +238 -0
  370. package/src/components/moni-carousel.ts +1027 -0
  371. package/src/components/moni-checkbox.test.ts +78 -0
  372. package/src/components/moni-checkbox.ts +192 -0
  373. package/src/components/moni-chip.test.ts +168 -0
  374. package/src/components/moni-chip.ts +335 -0
  375. package/src/components/moni-color-field.test.ts +56 -0
  376. package/src/components/moni-color-field.ts +135 -0
  377. package/src/components/moni-context-menu.test.ts +99 -0
  378. package/src/components/moni-context-menu.ts +166 -0
  379. package/src/components/moni-dialog.ts +240 -0
  380. package/src/components/moni-divider.test.ts +42 -0
  381. package/src/components/moni-divider.ts +77 -0
  382. package/src/components/moni-expansion.ts +86 -0
  383. package/src/components/moni-fab-menu.test.ts +118 -0
  384. package/src/components/moni-fab-menu.ts +237 -0
  385. package/src/components/moni-fab.test.ts +128 -0
  386. package/src/components/moni-fab.ts +262 -0
  387. package/src/components/moni-file-field.test.ts +81 -0
  388. package/src/components/moni-file-field.ts +149 -0
  389. package/src/components/moni-icon.test.ts +70 -0
  390. package/src/components/moni-icon.ts +97 -0
  391. package/src/components/moni-list-item.test.ts +114 -0
  392. package/src/components/moni-list-item.ts +222 -0
  393. package/src/components/moni-list.ts +59 -0
  394. package/src/components/moni-loading-indicator.test.ts +41 -0
  395. package/src/components/moni-loading-indicator.ts +188 -0
  396. package/src/components/moni-menu-item.ts +85 -0
  397. package/src/components/moni-menu.test.ts +87 -0
  398. package/src/components/moni-menu.ts +287 -0
  399. package/src/components/moni-morph-modal.test.ts +286 -0
  400. package/src/components/moni-morph-modal.ts +1312 -0
  401. package/src/components/moni-nav-item.ts +243 -0
  402. package/src/components/moni-nav.test.ts +139 -0
  403. package/src/components/moni-nav.ts +266 -0
  404. package/src/components/moni-progress.test.ts +90 -0
  405. package/src/components/moni-progress.ts +322 -0
  406. package/src/components/moni-radio.test.ts +86 -0
  407. package/src/components/moni-radio.ts +196 -0
  408. package/src/components/moni-ripple.ts +146 -0
  409. package/src/components/moni-segmented-button.test.ts +99 -0
  410. package/src/components/moni-segmented-button.ts +220 -0
  411. package/src/components/moni-select-option.ts +85 -0
  412. package/src/components/moni-select.test.ts +210 -0
  413. package/src/components/moni-select.ts +1107 -0
  414. package/src/components/moni-shape.ts +128 -0
  415. package/src/components/moni-side-sheet.test.ts +128 -0
  416. package/src/components/moni-side-sheet.ts +544 -0
  417. package/src/components/moni-slider.test.ts +82 -0
  418. package/src/components/moni-slider.ts +387 -0
  419. package/src/components/moni-snackbar.test.ts +82 -0
  420. package/src/components/moni-snackbar.ts +146 -0
  421. package/src/components/moni-split-button.ts +121 -0
  422. package/src/components/moni-step.test.ts +57 -0
  423. package/src/components/moni-step.ts +155 -0
  424. package/src/components/moni-stepper.test.ts +116 -0
  425. package/src/components/moni-stepper.ts +100 -0
  426. package/src/components/moni-switch.test.ts +117 -0
  427. package/src/components/moni-switch.ts +237 -0
  428. package/src/components/moni-tab.test.ts +54 -0
  429. package/src/components/moni-tab.ts +133 -0
  430. package/src/components/moni-tabs.ts +92 -0
  431. package/src/components/moni-text-field.test.ts +115 -0
  432. package/src/components/moni-text-field.ts +149 -0
  433. package/src/components/moni-textarea.test.ts +147 -0
  434. package/src/components/moni-textarea.ts +176 -0
  435. package/src/components/moni-time-picker.test.ts +61 -0
  436. package/src/components/moni-time-picker.ts +800 -0
  437. package/src/components/moni-toolbar.test.ts +93 -0
  438. package/src/components/moni-toolbar.ts +119 -0
  439. package/src/components/moni-tooltip.test.ts +122 -0
  440. package/src/components/moni-tooltip.ts +324 -0
  441. package/src/components/moni-typography.test.ts +119 -0
  442. package/src/components/moni-typography.ts +195 -0
  443. package/src/index.ts +65 -0
  444. package/src/styles/animations.css +46 -0
  445. package/src/styles/base.css +248 -0
  446. package/src/styles/index.css +3 -0
  447. package/src/styles/tokens.css +190 -0
  448. package/src/types/svelte-runes.d.ts +7 -0
  449. package/src/utils/color.ts +170 -0
  450. package/src/utils/theme.svelte.ts +206 -0
  451. package/src/web-components.ts +5 -0
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Shared baseline injected into every Moni Web Component shadow root.
3
+ *
4
+ * Provides:
5
+ * 1. Box-sizing reset on the host and its descendants.
6
+ * 2. CSS custom property bridge: exposes the **BeerCSS token namespace**
7
+ * (`--primary`, `--on-primary`, `--surface`, `--elevate1`, …) inside the
8
+ * shadow root, falling back to sensible Material 3 defaults if the host
9
+ * document has not provided the alias yet.
10
+ * 3. The `--md-sys-color-*` and `--color-*` aliases kept for backward
11
+ * compatibility with the MD3 theme engine that the rest of the Moni apps
12
+ * (MoniAuth-Client, MoniAuth-Yo, Moni-Labs) still rely on.
13
+ * 4. Helper utility classes (`.truncate`, `.visually-hidden`).
14
+ *
15
+ * The MD3 → BeerCSS mapping is intentionally *inverted* with respect to the
16
+ * previous design: BeerCSS variables are the primary, MD3 ones are aliases.
17
+ * Components authored against `var(--primary)` will work in any environment
18
+ * that ships the MD3 scheme because the alias resolves upstream.
19
+ */
20
+ export declare const sharedStyles: import("lit").CSSResult;
21
+ export default sharedStyles;
22
+ //# sourceMappingURL=shared-styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-styles.d.ts","sourceRoot":"","sources":["../../../src/components/_base/shared-styles.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,YAAY,yBA4HxB,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,146 @@
1
+ import { css } from 'lit';
2
+ /**
3
+ * Shared baseline injected into every Moni Web Component shadow root.
4
+ *
5
+ * Provides:
6
+ * 1. Box-sizing reset on the host and its descendants.
7
+ * 2. CSS custom property bridge: exposes the **BeerCSS token namespace**
8
+ * (`--primary`, `--on-primary`, `--surface`, `--elevate1`, …) inside the
9
+ * shadow root, falling back to sensible Material 3 defaults if the host
10
+ * document has not provided the alias yet.
11
+ * 3. The `--md-sys-color-*` and `--color-*` aliases kept for backward
12
+ * compatibility with the MD3 theme engine that the rest of the Moni apps
13
+ * (MoniAuth-Client, MoniAuth-Yo, Moni-Labs) still rely on.
14
+ * 4. Helper utility classes (`.truncate`, `.visually-hidden`).
15
+ *
16
+ * The MD3 → BeerCSS mapping is intentionally *inverted* with respect to the
17
+ * previous design: BeerCSS variables are the primary, MD3 ones are aliases.
18
+ * Components authored against `var(--primary)` will work in any environment
19
+ * that ships the MD3 scheme because the alias resolves upstream.
20
+ */
21
+ export const sharedStyles = css `
22
+ :host {
23
+ box-sizing: border-box;
24
+ font-family: var(--font);
25
+ font-style: normal;
26
+ position: relative;
27
+ color: var(--on-surface);
28
+ }
29
+
30
+ *,
31
+ *::before,
32
+ *::after {
33
+ box-sizing: border-box;
34
+ font-style: normal;
35
+ }
36
+
37
+ ::slotted(*) {
38
+ font-style: normal;
39
+ }
40
+
41
+ /* ─── BeerCSS primary tokens (with MD3 fallbacks) ─── */
42
+ :host {
43
+ /* ─── BeerCSS structural tokens ─── */
44
+ --shadow: 0 0 0 0 transparent;
45
+ --scrim: rgb(0 0 0 / 0.5);
46
+ --active: color-mix(in srgb, currentColor 10%, transparent);
47
+ --overlay: rgb(0 0 0 / 0.5);
48
+ --image: linear-gradient(currentColor 0 0);
49
+
50
+ --font: var(--moni-font-sans, 'Geist', system-ui, -apple-system, sans-serif);
51
+ --font-title: var(
52
+ --moni-font-title,
53
+ 'Instrument Serif',
54
+ Georgia,
55
+ serif
56
+ );
57
+ --font-mono: 'Geist Mono', 'Fira Code', monospace;
58
+ --font-icon: var(--font-icon-override, 'Material Symbols Rounded');
59
+
60
+ --elevate1: 0 0.125rem 0.125rem 0 rgb(0 0 0 / 0.32);
61
+ --elevate2: 0 0.25rem 0.5rem 0 rgb(0 0 0 / 0.4);
62
+ --elevate3: 0 0.375rem 0.75rem 0 rgb(0 0 0 / 0.48);
63
+
64
+ --speed1: 100ms;
65
+ --speed2: 200ms;
66
+ --speed3: 300ms;
67
+ --speed4: 400ms;
68
+ }
69
+
70
+ /* ─── MD3 aliases (kept for backward compatibility) ─── */
71
+ :host {
72
+ --color-primary: var(--primary);
73
+ --color-on-primary: var(--on-primary);
74
+ --color-primary-container: var(--primary-container);
75
+ --color-on-primary-container: var(--on-primary-container);
76
+
77
+ --color-secondary: var(--secondary);
78
+ --color-on-secondary: var(--on-secondary);
79
+ --color-secondary-container: var(--secondary-container);
80
+ --color-on-secondary-container: var(--on-secondary-container);
81
+
82
+ --color-tertiary: var(--tertiary);
83
+ --color-on-tertiary: var(--on-tertiary);
84
+ --color-tertiary-container: var(--tertiary-container);
85
+ --color-on-tertiary-container: var(--on-tertiary-container);
86
+
87
+ --color-error: var(--error);
88
+ --color-on-error: var(--on-error);
89
+ --color-error-container: var(--error-container);
90
+ --color-on-error-container: var(--on-error-container);
91
+
92
+ --color-background: var(--background);
93
+ --color-on-background: var(--on-background);
94
+ --color-surface: var(--surface);
95
+ --color-on-surface: var(--on-surface);
96
+ --color-surface-variant: var(--surface-variant);
97
+ --color-on-surface-variant: var(--on-surface-variant);
98
+
99
+ --color-outline: var(--outline);
100
+ --color-outline-variant: var(--outline-variant);
101
+
102
+ --color-surface-container-lowest: var(--surface-container-lowest);
103
+ --color-surface-container-low: var(--surface-container-low);
104
+ --color-surface-container: var(--surface-container);
105
+ --color-surface-container-high: var(--surface-container-high);
106
+ --color-surface-container-highest: var(--surface-container-highest);
107
+
108
+ --color-inverse-surface: var(--inverse-surface);
109
+ --color-inverse-on-surface: var(--inverse-on-surface);
110
+ --color-inverse-primary: var(--inverse-primary);
111
+
112
+ /* Tokens previously defined in tokens.css — keep names stable so the
113
+ apps that import them continue to work. */
114
+ --font-sans: var(--font);
115
+ --shadow-1: var(--elevate1);
116
+ --shadow-2: var(--elevate2);
117
+ --shadow-3: var(--elevate3);
118
+ --radius-sm: 0.5rem;
119
+ --radius-md: 0.75rem;
120
+ --radius-lg: 1.5rem;
121
+ --ease-standard: cubic-bezier(0.2, 0, 0, 1);
122
+ --ease-emphasized: cubic-bezier(0.3, 0, 0, 1);
123
+ --duration-fast: 150ms;
124
+ --duration-normal: 250ms;
125
+ }
126
+
127
+ /* ─── Utility classes ─── */
128
+ .truncate {
129
+ overflow: hidden;
130
+ white-space: nowrap;
131
+ text-overflow: ellipsis;
132
+ }
133
+
134
+ .visually-hidden {
135
+ position: absolute;
136
+ width: 1px;
137
+ height: 1px;
138
+ padding: 0;
139
+ margin: -1px;
140
+ overflow: hidden;
141
+ clip: rect(0, 0, 0, 0);
142
+ white-space: nowrap;
143
+ border: 0;
144
+ }
145
+ `;
146
+ export default sharedStyles;
@@ -0,0 +1,42 @@
1
+ export { MoniBadge } from './moni-badge.js';
2
+ export { MoniBottomSheet } from './moni-bottom-sheet.js';
3
+ export { MoniButton } from './moni-button.js';
4
+ export { MoniCheckbox } from './moni-checkbox.js';
5
+ export { MoniChip } from './moni-chip.js';
6
+ export { MoniColorField } from './moni-color-field.js';
7
+ export { MoniContextMenu } from './moni-context-menu.js';
8
+ export { MoniDialog } from './moni-dialog.js';
9
+ export { MoniExpansion } from './moni-expansion.js';
10
+ export { MoniFab } from './moni-fab.js';
11
+ export { MoniFabMenu } from './moni-fab-menu.js';
12
+ export { MoniFileField } from './moni-file-field.js';
13
+ export { MoniMenu } from './moni-menu.js';
14
+ export { MoniMenuItem } from './moni-menu-item.js';
15
+ export { MoniNav } from './moni-nav.js';
16
+ export { MoniNavItem } from './moni-nav-item.js';
17
+ export { MoniProgress } from './moni-progress.js';
18
+ export { MoniRadio } from './moni-radio.js';
19
+ export { MoniRipple } from './moni-ripple.js';
20
+ export { MoniSelect } from './moni-select.js';
21
+ export { MoniSelectOption } from './moni-select-option.js';
22
+ export { MoniSlider } from './moni-slider.js';
23
+ export { MoniSnackbar } from './moni-snackbar.js';
24
+ export { MoniStep } from './moni-step.js';
25
+ export { MoniStepper } from './moni-stepper.js';
26
+ export { MoniSwitch } from './moni-switch.js';
27
+ export { MoniTab } from './moni-tab.js';
28
+ export { MoniTabs } from './moni-tabs.js';
29
+ export { MoniTextarea } from './moni-textarea.js';
30
+ export { MoniTextField } from './moni-text-field.js';
31
+ export { MoniTimePicker } from './moni-time-picker.js';
32
+ export { MoniSideSheet } from './moni-side-sheet.js';
33
+ export { MoniTooltip } from './moni-tooltip.js';
34
+ export { MoniButtonGroup } from './moni-button-group.js';
35
+ export { MoniSplitButton } from './moni-split-button.js';
36
+ export { MoniButtonSegment } from './moni-button-segment.js';
37
+ export { MoniSegmentedButton } from './moni-segmented-button.js';
38
+ export { MoniLoadingIndicator } from './moni-loading-indicator.js';
39
+ export { MoniMorphModal } from './moni-morph-modal.js';
40
+ export { MoniCarousel } from './moni-carousel.js';
41
+ export { MoniShape } from './moni-shape.js';
42
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,43 @@
1
+ // Auto-register all Moni UI Web Components.
2
+ // Importing this file defines every <moni-*> custom element.
3
+ export { MoniBadge } from './moni-badge.js';
4
+ export { MoniBottomSheet } from './moni-bottom-sheet.js';
5
+ export { MoniButton } from './moni-button.js';
6
+ export { MoniCheckbox } from './moni-checkbox.js';
7
+ export { MoniChip } from './moni-chip.js';
8
+ export { MoniColorField } from './moni-color-field.js';
9
+ export { MoniContextMenu } from './moni-context-menu.js';
10
+ export { MoniDialog } from './moni-dialog.js';
11
+ export { MoniExpansion } from './moni-expansion.js';
12
+ export { MoniFab } from './moni-fab.js';
13
+ export { MoniFabMenu } from './moni-fab-menu.js';
14
+ export { MoniFileField } from './moni-file-field.js';
15
+ export { MoniMenu } from './moni-menu.js';
16
+ export { MoniMenuItem } from './moni-menu-item.js';
17
+ export { MoniNav } from './moni-nav.js';
18
+ export { MoniNavItem } from './moni-nav-item.js';
19
+ export { MoniProgress } from './moni-progress.js';
20
+ export { MoniRadio } from './moni-radio.js';
21
+ export { MoniRipple } from './moni-ripple.js';
22
+ export { MoniSelect } from './moni-select.js';
23
+ export { MoniSelectOption } from './moni-select-option.js';
24
+ export { MoniSlider } from './moni-slider.js';
25
+ export { MoniSnackbar } from './moni-snackbar.js';
26
+ export { MoniStep } from './moni-step.js';
27
+ export { MoniStepper } from './moni-stepper.js';
28
+ export { MoniSwitch } from './moni-switch.js';
29
+ export { MoniTab } from './moni-tab.js';
30
+ export { MoniTabs } from './moni-tabs.js';
31
+ export { MoniTextarea } from './moni-textarea.js';
32
+ export { MoniTextField } from './moni-text-field.js';
33
+ export { MoniTimePicker } from './moni-time-picker.js';
34
+ export { MoniSideSheet } from './moni-side-sheet.js';
35
+ export { MoniTooltip } from './moni-tooltip.js';
36
+ export { MoniButtonGroup } from './moni-button-group.js';
37
+ export { MoniSplitButton } from './moni-split-button.js';
38
+ export { MoniButtonSegment } from './moni-button-segment.js';
39
+ export { MoniSegmentedButton } from './moni-segmented-button.js';
40
+ export { MoniLoadingIndicator } from './moni-loading-indicator.js';
41
+ export { MoniMorphModal } from './moni-morph-modal.js';
42
+ export { MoniCarousel } from './moni-carousel.js';
43
+ export { MoniShape } from './moni-shape.js';
@@ -0,0 +1,10 @@
1
+ export declare const loadingIndicatorPolygons: {
2
+ '4-sided-cookie': string;
3
+ '9-sided-cookie': string;
4
+ oval: string;
5
+ pentagon: string;
6
+ pill: string;
7
+ 'soft-burst': string;
8
+ sunny: string;
9
+ };
10
+ //# sourceMappingURL=loading-shapes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loading-shapes.d.ts","sourceRoot":"","sources":["../../src/components/loading-shapes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB;;;;;;;;CAQpC,CAAC"}
@@ -0,0 +1,9 @@
1
+ export const loadingIndicatorPolygons = {
2
+ '4-sided-cookie': '63.83% 2.22%, 65.10% 1.70%, 66.36% 1.26%, 67.62% 0.89%, 68.88% 0.58%, 70.14% 0.34%, 71.39% 0.16%, 72.63% 0.05%, 73.86% 0.00%, 75.08% 0.01%, 76.28% 0.08%, 77.48% 0.21%, 78.66% 0.40%, 79.82% 0.63%, 80.97% 0.93%, 82.09% 1.27%, 83.20% 1.67%, 84.28% 2.11%, 85.34% 2.60%, 86.37% 3.14%, 87.38% 3.72%, 88.36% 4.35%, 89.31% 5.02%, 90.23% 5.73%, 91.12% 6.48%, 91.98% 7.26%, 92.80% 8.09%, 93.58% 8.94%, 94.32% 9.83%, 95.03% 10.76%, 95.70% 11.71%, 96.32% 12.69%, 96.90% 13.70%, 97.43% 14.74%, 97.92% 15.80%, 98.36% 16.88%, 98.76% 17.99%, 99.10% 19.12%, 99.38% 20.26%, 99.62% 21.43%, 99.80% 22.61%, 99.92% 23.80%, 99.99% 25.01%, 100.00% 26.23%, 99.94% 27.47%, 99.83% 28.71%, 99.65% 29.95%, 99.40% 31.21%, 99.09% 32.47%, 98.71% 33.73%, 98.26% 35.00%, 97.75% 36.25%, 97.26% 37.36%, 96.78% 38.47%, 96.30% 39.59%, 95.83% 40.72%, 95.42% 41.87%, 95.06% 43.03%, 94.76% 44.21%, 94.52% 45.40%, 94.33% 46.59%, 94.20% 47.79%, 94.12% 48.99%, 94.11% 50.19%, 94.14% 51.40%, 94.24% 52.60%, 94.39% 53.80%, 94.59% 54.99%, 94.85% 56.17%, 95.17% 57.34%, 95.55% 58.50%, 95.98% 59.65%, 96.45% 60.77%, 96.94% 61.89%, 97.42% 63.00%, 97.92% 64.15%, 98.41% 65.41%, 98.84% 66.68%, 99.20% 67.94%, 99.49% 69.20%, 99.71% 70.45%, 99.87% 71.70%, 99.97% 72.93%, 100.00% 74.16%, 99.97% 75.38%, 99.89% 76.58%, 99.75% 77.78%, 99.55% 78.95%, 99.30% 80.11%, 98.99% 81.25%, 98.63% 82.37%, 98.23% 83.47%, 97.77% 84.55%, 97.27% 85.60%, 96.72% 86.63%, 96.12% 87.63%, 95.49% 88.60%, 94.81% 89.55%, 94.09% 90.46%, 93.33% 91.34%, 92.54% 92.19%, 91.70% 93.00%, 90.84% 93.77%, 89.94% 94.51%, 89.01% 95.20%, 88.05% 95.86%, 87.06% 96.47%, 86.04% 97.04%, 85.00% 97.56%, 83.93% 98.04%, 82.84% 98.47%, 81.73% 98.85%, 80.60% 99.17%, 79.45% 99.45%, 78.28% 99.67%, 77.09% 99.84%, 75.89% 99.95%, 74.68% 100.00%, 73.46% 99.99%, 72.23% 99.92%, 70.98% 99.79%, 69.73% 99.59%, 68.48% 99.33%, 67.22% 99.00%, 65.95% 98.60%, 64.69% 98.14%, 63.47% 97.63%, 62.36% 97.14%, 61.25% 96.66%, 60.13% 96.18%, 58.99% 95.72%, 57.84% 95.32%, 56.67% 94.98%, 55.49% 94.70%, 54.31% 94.47%, 53.11% 94.29%, 51.91% 94.18%, 50.71% 94.11%, 49.50% 94.11%, 48.30% 94.16%, 47.10% 94.27%, 45.90% 94.43%, 44.71% 94.65%, 43.53% 94.93%, 42.36% 95.26%, 41.21% 95.65%, 40.07% 96.09%, 38.95% 96.58%, 37.84% 97.06%, 36.72% 97.54%, 35.54% 98.05%, 34.27% 98.53%, 33.01% 98.94%, 31.74% 99.28%, 30.49% 99.55%, 29.24% 99.76%, 27.99% 99.90%, 26.76% 99.98%, 25.53% 100.00%, 24.32% 99.96%, 23.12% 99.86%, 21.93% 99.70%, 20.76% 99.49%, 19.60% 99.23%, 18.47% 98.91%, 17.35% 98.54%, 16.26% 98.12%, 15.19% 97.65%, 14.14% 97.13%, 13.12% 96.57%, 12.12% 95.97%, 11.16% 95.32%, 10.22% 94.63%, 9.32% 93.90%, 8.45% 93.14%, 7.61% 92.33%, 6.81% 91.49%, 6.04% 90.62%, 5.32% 89.71%, 4.63% 88.77%, 3.99% 87.80%, 3.38% 86.81%, 2.83% 85.78%, 2.31% 84.74%, 1.85% 83.66%, 1.43% 82.57%, 1.07% 81.45%, 0.75% 80.31%, 0.49% 79.16%, 0.28% 77.98%, 0.13% 76.80%, 0.04% 75.59%, 0.00% 74.38%, 0.02% 73.15%, 0.11% 71.92%, 0.26% 70.67%, 0.47% 69.42%, 0.75% 68.16%, 1.09% 66.90%, 1.51% 65.64%, 1.99% 64.37%, 2.49% 63.19%, 2.98% 62.08%, 3.46% 60.97%, 3.94% 59.85%, 4.38% 58.71%, 4.77% 57.55%, 5.09% 56.38%, 5.37% 55.20%, 5.58% 54.01%, 5.74% 52.81%, 5.84% 51.61%, 5.89% 50.41%, 5.88% 49.20%, 5.82% 48.00%, 5.70% 46.80%, 5.52% 45.61%, 5.28% 44.42%, 4.99% 43.24%, 4.65% 42.07%, 4.25% 40.92%, 3.79% 39.78%, 3.30% 38.67%, 2.82% 37.56%, 2.34% 36.45%, 1.82% 35.22%, 1.36% 33.95%, 0.97% 32.69%, 0.65% 31.43%, 0.39% 30.18%, 0.20% 28.93%, 0.07% 27.68%, 0.01% 26.45%, 0.01% 25.23%, 0.06% 24.02%, 0.17% 22.82%, 0.34% 21.64%, 0.57% 20.47%, 0.85% 19.32%, 1.18% 18.19%, 1.56% 17.08%, 2.00% 15.99%, 2.48% 14.92%, 3.00% 13.88%, 3.57% 12.87%, 4.19% 11.88%, 4.85% 10.92%, 5.55% 9.99%, 6.29% 9.10%, 7.06% 8.23%, 7.88% 7.41%, 8.72% 6.61%, 9.61% 5.86%, 10.52% 5.14%, 11.47% 4.47%, 12.44% 3.83%, 13.45% 3.24%, 14.48% 2.69%, 15.53% 2.19%, 16.61% 1.74%, 17.71% 1.34%, 18.83% 0.98%, 19.98% 0.68%, 21.14% 0.43%, 22.31% 0.24%, 23.50% 0.10%, 24.71% 0.02%, 25.93% 0.00%, 27.16% 0.04%, 28.39% 0.14%, 29.64% 0.30%, 30.89% 0.53%, 32.15% 0.83%, 33.41% 1.19%, 34.68% 1.62%, 35.94% 2.12%, 37.08% 2.61%, 38.20% 3.10%, 39.31% 3.58%, 40.43% 4.06%, 41.58% 4.48%, 42.74% 4.85%, 43.91% 5.17%, 45.10% 5.43%, 46.29% 5.63%, 47.49% 5.77%, 48.69% 5.86%, 49.89% 5.90%, 51.10% 5.87%, 52.30% 5.79%, 53.50% 5.66%, 54.69% 5.47%, 55.88% 5.22%, 57.05% 4.91%, 58.21% 4.55%, 59.36% 4.14%, 60.49% 3.67%, 61.61% 3.18%, 62.72% 2.70%, 63.83% 2.22%',
3
+ '9-sided-cookie': '61.39% 5.18%, 62.25% 5.81%, 63.15% 6.37%, 64.08% 6.88%, 65.04% 7.33%, 66.03% 7.71%, 67.04% 8.02%, 68.07% 8.27%, 69.11% 8.45%, 70.17% 8.57%, 71.18% 8.61%, 72.43% 8.63%, 73.38% 8.68%, 74.46% 8.80%, 75.52% 9.00%, 76.56% 9.26%, 77.57% 9.59%, 78.55% 9.98%, 79.50% 10.44%, 80.42% 10.95%, 81.30% 11.52%, 82.14% 12.14%, 82.93% 12.81%, 83.69% 13.54%, 84.39% 14.31%, 85.05% 15.13%, 85.65% 15.99%, 86.20% 16.89%, 86.69% 17.84%, 87.12% 18.81%, 87.49% 19.83%, 87.79% 20.87%, 87.99% 21.78%, 88.22% 23.01%, 88.46% 24.01%, 88.76% 25.02%, 89.14% 26.02%, 89.57% 26.98%, 90.07% 27.91%, 90.63% 28.81%, 91.24% 29.67%, 91.91% 30.49%, 92.64% 31.27%, 93.40% 31.98%, 94.34% 32.79%, 95.02% 33.41%, 95.78% 34.19%, 96.48% 35.02%, 97.12% 35.88%, 97.70% 36.77%, 98.21% 37.69%, 98.66% 38.65%, 99.05% 39.62%, 99.37% 40.62%, 99.63% 41.63%, 99.82% 42.66%, 99.94% 43.70%, 100.00% 44.74%, 99.99% 45.79%, 99.91% 46.84%, 99.76% 47.88%, 99.54% 48.92%, 99.26% 49.95%, 98.90% 50.97%, 98.47% 51.97%, 98.04% 52.81%, 97.43% 53.91%, 96.96% 54.80%, 96.53% 55.77%, 96.16% 56.77%, 95.86% 57.78%, 95.63% 58.81%, 95.46% 59.86%, 95.36% 60.91%, 95.34% 61.97%, 95.38% 63.03%, 95.49% 64.09%, 95.68% 65.27%, 95.82% 66.19%, 95.91% 67.28%, 95.93% 68.36%, 95.88% 69.43%, 95.76% 70.49%, 95.57% 71.53%, 95.32% 72.55%, 95.00% 73.55%, 94.61% 74.53%, 94.17% 75.47%, 93.66% 76.39%, 93.10% 77.27%, 92.48% 78.11%, 91.81% 78.92%, 91.09% 79.68%, 90.31% 80.39%, 89.48% 81.06%, 88.61% 81.68%, 87.69% 82.23%, 86.73% 82.74%, 85.81% 83.14%, 84.74% 83.55%, 83.75% 83.94%, 82.78% 84.40%, 81.85% 84.91%, 80.96% 85.49%, 80.11% 86.11%, 79.30% 86.80%, 78.54% 87.53%, 77.83% 88.31%, 77.17% 89.14%, 76.56% 90.02%, 75.97% 90.98%, 75.43% 91.87%, 74.84% 92.73%, 74.17% 93.59%, 73.45% 94.38%, 72.69% 95.13%, 71.89% 95.82%, 71.04% 96.45%, 70.16% 97.02%, 69.25% 97.53%, 68.30% 97.99%, 67.34% 98.38%, 66.34% 98.71%, 65.33% 98.97%, 64.30% 99.17%, 63.26% 99.30%, 62.21% 99.37%, 61.15% 99.37%, 60.08% 99.29%, 59.02% 99.15%, 57.96% 98.93%, 56.92% 98.65%, 55.99% 98.34%, 54.89% 97.96%, 53.86% 97.67%, 52.82% 97.46%, 51.77% 97.31%, 50.72% 97.23%, 49.66% 97.21%, 48.61% 97.27%, 47.55% 97.39%, 46.51% 97.59%, 45.48% 97.85%, 44.51% 98.16%, 43.35% 98.56%, 42.42% 98.84%, 41.36% 99.08%, 40.30% 99.25%, 39.24% 99.35%, 38.18% 99.38%, 37.12% 99.34%, 36.07% 99.23%, 35.04% 99.05%, 34.02% 98.81%, 33.02% 98.50%, 32.04% 98.13%, 31.09% 97.70%, 30.17% 97.21%, 29.27% 96.66%, 28.42% 96.05%, 27.60% 95.38%, 26.82% 94.66%, 26.08% 93.88%, 25.40% 93.04%, 24.76% 92.16%, 24.27% 91.38%, 23.64% 90.33%, 23.06% 89.45%, 22.42% 88.60%, 21.72% 87.80%, 20.98% 87.05%, 20.19% 86.35%, 19.35% 85.70%, 18.47% 85.11%, 17.56% 84.58%, 16.60% 84.10%, 15.67% 83.70%, 14.49% 83.26%, 13.63% 82.90%, 12.65% 82.42%, 11.72% 81.88%, 10.83% 81.29%, 9.98% 80.64%, 9.19% 79.94%, 8.45% 79.20%, 7.75% 78.41%, 7.12% 77.58%, 6.53% 76.71%, 6.01% 75.81%, 5.54% 74.87%, 5.14% 73.91%, 4.80% 72.92%, 4.52% 71.90%, 4.30% 70.87%, 4.16% 69.82%, 4.08% 68.75%, 4.08% 67.67%, 4.15% 66.59%, 4.26% 65.66%, 4.47% 64.41%, 4.59% 63.41%, 4.66% 62.35%, 4.66% 61.29%, 4.59% 60.23%, 4.44% 59.18%, 4.24% 58.15%, 3.96% 57.13%, 3.62% 56.12%, 3.21% 55.14%, 2.73% 54.19%, 2.14% 53.14%, 1.71% 52.32%, 1.25% 51.33%, 0.87% 50.32%, 0.55% 49.29%, 0.31% 48.25%, 0.14% 47.21%, 0.04% 46.16%, 0.00% 45.11%, 0.03% 44.07%, 0.13% 43.03%, 0.30% 42.00%, 0.53% 40.98%, 0.83% 39.98%, 1.19% 38.99%, 1.62% 38.03%, 2.11% 37.10%, 2.67% 36.19%, 3.28% 35.32%, 3.96% 34.48%, 4.70% 33.69%, 5.41% 33.02%, 6.33% 32.22%, 7.09% 31.54%, 7.84% 30.78%, 8.53% 29.97%, 9.16% 29.12%, 9.74% 28.24%, 10.26% 27.32%, 10.72% 26.37%, 11.11% 25.38%, 11.45% 24.37%, 11.71% 23.34%, 11.94% 22.20%, 12.13% 21.24%, 12.40% 20.20%, 12.75% 19.17%, 13.15% 18.18%, 13.62% 17.23%, 14.15% 16.31%, 14.73% 15.43%, 15.37% 14.60%, 16.06% 13.81%, 16.80% 13.07%, 17.58% 12.37%, 18.40% 11.73%, 19.27% 11.14%, 20.17% 10.61%, 21.11% 10.14%, 22.08% 9.72%, 23.08% 9.37%, 24.11% 9.09%, 25.16% 8.87%, 26.24% 8.72%, 27.27% 8.64%, 28.33% 8.62%, 29.45% 8.59%, 30.51% 8.50%, 31.56% 8.34%, 32.60% 8.12%, 33.62% 7.83%, 34.61% 7.47%, 35.58% 7.05%, 36.52% 6.56%, 37.43% 6.02%, 38.31% 5.41%, 39.15% 4.75%, 39.15% 4.75%, 40.04% 4.03%, 40.85% 3.44%, 41.76% 2.86%, 42.71% 2.35%, 43.68% 1.90%, 44.67% 1.52%, 45.68% 1.21%, 46.70% 0.96%, 47.73% 0.78%, 48.77% 0.67%, 49.81% 0.62%, 50.86% 0.65%, 51.90% 0.73%, 52.94% 0.89%, 53.96% 1.11%, 54.98% 1.40%, 55.97% 1.76%, 56.95% 2.18%, 57.90% 2.67%, 58.83% 3.23%, 59.73% 3.85%, 60.46% 4.43%',
4
+ oval: '72.29% 0.03%, 73.21% 0.08%, 74.12% 0.15%, 75.02% 0.24%, 75.92% 0.35%, 76.80% 0.49%, 77.67% 0.64%, 78.54% 0.82%, 79.39% 1.02%, 80.23% 1.24%, 81.06% 1.49%, 81.87% 1.75%, 82.68% 2.04%, 83.47% 2.35%, 84.25% 2.68%, 85.01% 3.04%, 85.76% 3.42%, 86.50% 3.82%, 87.23% 4.24%, 87.93% 4.69%, 88.63% 5.15%, 89.31% 5.65%, 89.97% 6.16%, 90.62% 6.70%, 91.25% 7.26%, 91.86% 7.84%, 92.45% 8.45%, 93.03% 9.07%, 93.57% 9.71%, 94.10% 10.36%, 94.60% 11.03%, 95.08% 11.72%, 95.54% 12.42%, 95.97% 13.13%, 96.39% 13.86%, 96.77% 14.61%, 97.14% 15.37%, 97.48% 16.14%, 97.81% 16.93%, 98.11% 17.72%, 98.38% 18.53%, 98.64% 19.36%, 98.87% 20.19%, 99.08% 21.04%, 99.27% 21.89%, 99.44% 22.76%, 99.58% 23.64%, 99.71% 24.53%, 99.81% 25.43%, 99.89% 26.33%, 99.95% 27.25%, 99.98% 28.18%, 100.00% 29.11%, 99.99% 30.05%, 99.97% 31.00%, 99.92% 31.96%, 99.85% 32.92%, 99.76% 33.89%, 99.65% 34.87%, 99.52% 35.85%, 99.37% 36.84%, 99.20% 37.83%, 99.00% 38.83%, 98.79% 39.84%, 98.55% 40.84%, 98.30% 41.86%, 98.02% 42.87%, 97.73% 43.89%, 97.41% 44.91%, 97.08% 45.93%, 96.72% 46.96%, 96.35% 47.99%, 95.95% 49.02%, 95.53% 50.05%, 95.10% 51.08%, 94.65% 52.11%, 94.17% 53.15%, 93.68% 54.18%, 93.16% 55.21%, 92.63% 56.24%, 92.08% 57.27%, 91.51% 58.30%, 90.92% 59.33%, 90.31% 60.35%, 89.68% 61.37%, 89.03% 62.39%, 88.37% 63.41%, 87.68% 64.42%, 86.98% 65.43%, 86.26% 66.43%, 85.52% 67.43%, 84.76% 68.43%, 83.98% 69.42%, 83.18% 70.40%, 82.37% 71.38%, 81.54% 72.35%, 80.69% 73.32%, 79.82% 74.27%, 78.93% 75.22%, 78.03% 76.17%, 77.10% 77.10%, 77.10% 77.10%, 76.17% 78.03%, 75.22% 78.93%, 74.27% 79.82%, 73.32% 80.69%, 72.35% 81.54%, 71.38% 82.37%, 70.40% 83.18%, 69.42% 83.98%, 68.43% 84.76%, 67.43% 85.52%, 66.43% 86.26%, 65.43% 86.98%, 64.42% 87.68%, 63.41% 88.37%, 62.39% 89.03%, 61.37% 89.68%, 60.35% 90.31%, 59.33% 90.92%, 58.30% 91.51%, 57.27% 92.08%, 56.24% 92.63%, 55.21% 93.16%, 54.18% 93.68%, 53.15% 94.17%, 52.11% 94.65%, 51.08% 95.10%, 50.05% 95.53%, 49.02% 95.95%, 47.99% 96.35%, 46.96% 96.72%, 45.93% 97.08%, 44.91% 97.41%, 43.89% 97.73%, 42.87% 98.02%, 41.86% 98.30%, 40.84% 98.55%, 39.84% 98.79%, 38.83% 99.00%, 37.83% 99.20%, 36.84% 99.37%, 35.85% 99.52%, 34.87% 99.65%, 33.89% 99.76%, 32.92% 99.85%, 31.96% 99.92%, 31.00% 99.97%, 30.05% 99.99%, 29.11% 100.00%, 28.18% 99.98%, 27.25% 99.95%, 26.33% 99.89%, 25.43% 99.81%, 24.53% 99.71%, 23.64% 99.58%, 22.76% 99.44%, 21.89% 99.27%, 21.04% 99.08%, 20.19% 98.87%, 19.36% 98.64%, 18.53% 98.38%, 17.72% 98.11%, 16.93% 97.81%, 16.14% 97.48%, 15.37% 97.14%, 14.61% 96.77%, 13.86% 96.39%, 13.13% 95.97%, 12.42% 95.54%, 11.72% 95.08%, 11.03% 94.60%, 10.36% 94.10%, 9.71% 93.57%, 9.07% 93.03%, 8.45% 92.45%, 7.84% 91.86%, 7.26% 91.25%, 6.70% 90.62%, 6.16% 89.97%, 5.65% 89.31%, 5.15% 88.63%, 4.69% 87.93%, 4.24% 87.23%, 3.82% 86.50%, 3.42% 85.76%, 3.04% 85.01%, 2.68% 84.25%, 2.35% 83.47%, 2.04% 82.68%, 1.75% 81.87%, 1.49% 81.06%, 1.24% 80.23%, 1.02% 79.39%, 0.82% 78.54%, 0.64% 77.67%, 0.49% 76.80%, 0.35% 75.92%, 0.24% 75.02%, 0.15% 74.12%, 0.08% 73.21%, 0.03% 72.29%, 0.01% 71.36%, 0.00% 70.42%, 0.02% 69.47%, 0.05% 68.52%, 0.11% 67.56%, 0.19% 66.59%, 0.29% 65.62%, 0.41% 64.64%, 0.55% 63.65%, 0.72% 62.66%, 0.90% 61.67%, 1.10% 60.67%, 1.33% 59.66%, 1.57% 58.65%, 1.84% 57.64%, 2.12% 56.62%, 2.43% 55.60%, 2.75% 54.58%, 3.10% 53.55%, 3.46% 52.53%, 3.85% 51.50%, 4.25% 50.47%, 4.68% 49.43%, 5.12% 48.40%, 5.59% 47.37%, 6.07% 46.34%, 6.58% 45.31%, 7.10% 44.27%, 7.64% 43.24%, 8.20% 42.21%, 8.78% 41.19%, 9.38% 40.16%, 10.00% 39.14%, 10.64% 38.12%, 11.30% 37.10%, 11.97% 36.09%, 12.67% 35.07%, 13.38% 34.07%, 14.11% 33.07%, 14.86% 32.07%, 15.63% 31.08%, 16.42% 30.09%, 17.22% 29.11%, 18.05% 28.13%, 18.89% 27.17%, 19.75% 26.20%, 20.62% 25.25%, 21.52% 24.30%, 22.43% 23.36%, 23.36% 22.43%, 24.30% 21.52%, 25.25% 20.62%, 26.20% 19.75%, 27.17% 18.89%, 28.13% 18.05%, 29.11% 17.22%, 30.09% 16.42%, 31.08% 15.63%, 32.07% 14.86%, 33.07% 14.11%, 34.07% 13.38%, 35.07% 12.67%, 36.09% 11.97%, 37.10% 11.30%, 38.12% 10.64%, 39.14% 10.00%, 40.16% 9.38%, 41.19% 8.78%, 42.21% 8.20%, 43.24% 7.64%, 44.27% 7.10%, 45.31% 6.58%, 46.34% 6.07%, 47.37% 5.59%, 48.40% 5.12%, 49.43% 4.68%, 50.47% 4.25%, 51.50% 3.85%, 52.53% 3.46%, 53.55% 3.10%, 54.58% 2.75%, 55.60% 2.43%, 56.62% 2.12%, 57.64% 1.84%, 58.65% 1.57%, 59.66% 1.33%, 60.67% 1.10%, 61.67% 0.90%, 62.66% 0.72%, 63.65% 0.55%, 64.64% 0.41%, 65.62% 0.29%, 66.59% 0.19%, 67.56% 0.11%, 68.52% 0.05%, 69.47% 0.02%, 70.42% 0.00%, 71.36% 0.01%',
5
+ pentagon: '61.18% 5.13%, 62.02% 5.74%, 62.86% 6.35%, 63.70% 6.96%, 64.54% 7.58%, 65.38% 8.19%, 66.22% 8.80%, 67.07% 9.41%, 67.91% 10.02%, 68.75% 10.63%, 69.59% 11.24%, 70.43% 11.85%, 71.27% 12.47%, 72.11% 13.08%, 72.96% 13.69%, 73.80% 14.30%, 74.64% 14.91%, 75.48% 15.52%, 76.32% 16.13%, 77.16% 16.74%, 78.00% 17.36%, 78.85% 17.97%, 79.69% 18.58%, 80.53% 19.19%, 81.37% 19.80%, 82.21% 20.41%, 83.05% 21.02%, 83.89% 21.64%, 84.74% 22.25%, 85.58% 22.86%, 86.42% 23.47%, 87.26% 24.08%, 88.10% 24.69%, 88.94% 25.30%, 89.78% 25.91%, 90.62% 26.53%, 91.47% 27.14%, 92.31% 27.75%, 93.15% 28.41%, 93.95% 29.12%, 94.70% 29.85%, 95.40% 30.63%, 96.05% 31.44%, 96.66% 32.27%, 97.22% 33.14%, 97.73% 34.03%, 98.19% 34.95%, 98.60% 35.89%, 98.96% 36.85%, 99.27% 37.83%, 99.52% 38.82%, 99.72% 39.83%, 99.87% 40.84%, 99.96% 41.87%, 100.00% 42.90%, 99.98% 43.94%, 99.90% 44.98%, 99.77% 46.02%, 99.58% 47.05%, 99.32% 48.09%, 99.01% 49.11%, 98.69% 50.09%, 98.37% 51.08%, 98.05% 52.07%, 97.73% 53.06%, 97.41% 54.05%, 97.09% 55.04%, 96.76% 56.03%, 96.44% 57.02%, 96.12% 58.01%, 95.80% 59.00%, 95.48% 59.99%, 95.16% 60.97%, 94.84% 61.96%, 94.51% 62.95%, 94.19% 63.94%, 93.87% 64.93%, 93.55% 65.92%, 93.23% 66.91%, 92.91% 67.90%, 92.59% 68.89%, 92.26% 69.88%, 91.94% 70.87%, 91.62% 71.85%, 91.30% 72.84%, 90.98% 73.83%, 90.66% 74.82%, 90.34% 75.81%, 90.02% 76.80%, 89.69% 77.79%, 89.37% 78.78%, 89.05% 79.77%, 88.73% 80.76%, 88.41% 81.75%, 88.09% 82.73%, 87.77% 83.72%, 87.44% 84.71%, 87.11% 85.71%, 86.73% 86.71%, 86.30% 87.68%, 85.82% 88.61%, 85.29% 89.51%, 84.72% 90.38%, 84.10% 91.21%, 83.44% 92.00%, 82.74% 92.75%, 82.01% 93.47%, 81.23% 94.14%, 80.42% 94.77%, 79.58% 95.35%, 78.71% 95.89%, 77.81% 96.39%, 76.88% 96.83%, 75.93% 97.22%, 74.96% 97.57%, 73.96% 97.86%, 72.94% 98.10%, 71.91% 98.28%, 70.86% 98.40%, 69.80% 98.47%, 68.74% 98.48%, 67.70% 98.48%, 66.66% 98.48%, 65.62% 98.48%, 64.58% 98.48%, 63.54% 98.48%, 62.50% 98.48%, 61.46% 98.48%, 60.42% 98.48%, 59.38% 98.48%, 58.34% 98.48%, 57.30% 98.48%, 56.26% 98.48%, 55.22% 98.48%, 54.18% 98.48%, 53.14% 98.48%, 52.10% 98.48%, 51.06% 98.48%, 50.02% 98.48%, 48.98% 98.48%, 47.94% 98.48%, 46.90% 98.48%, 45.86% 98.48%, 44.82% 98.48%, 43.78% 98.48%, 42.74% 98.48%, 41.70% 98.48%, 40.66% 98.48%, 39.62% 98.48%, 38.58% 98.48%, 37.54% 98.48%, 36.50% 98.48%, 35.46% 98.48%, 34.42% 98.48%, 33.38% 98.48%, 32.34% 98.48%, 31.30% 98.48%, 30.24% 98.47%, 29.18% 98.41%, 28.13% 98.28%, 27.09% 98.10%, 26.08% 97.87%, 25.08% 97.58%, 24.11% 97.24%, 23.15% 96.85%, 22.22% 96.40%, 21.32% 95.91%, 20.45% 95.37%, 19.61% 94.79%, 18.80% 94.16%, 18.02% 93.49%, 17.28% 92.78%, 16.58% 92.03%, 15.92% 91.24%, 15.30% 90.41%, 14.73% 89.54%, 14.20% 88.64%, 13.71% 87.71%, 13.28% 86.75%, 12.90% 85.75%, 12.57% 84.75%, 12.25% 83.76%, 11.93% 82.77%, 11.60% 81.78%, 11.28% 80.79%, 10.96% 79.80%, 10.64% 78.82%, 10.32% 77.83%, 10.00% 76.84%, 9.68% 75.85%, 9.35% 74.86%, 9.03% 73.87%, 8.71% 72.88%, 8.39% 71.89%, 8.07% 70.90%, 7.75% 69.91%, 7.43% 68.92%, 7.10% 67.94%, 6.78% 66.95%, 6.46% 65.96%, 6.14% 64.97%, 5.82% 63.98%, 5.50% 62.99%, 5.18% 62.00%, 4.86% 61.01%, 4.53% 60.02%, 4.21% 59.03%, 3.89% 58.04%, 3.57% 57.06%, 3.25% 56.07%, 2.93% 55.08%, 2.61% 54.09%, 2.28% 53.10%, 1.96% 52.11%, 1.64% 51.12%, 1.32% 50.13%, 1.00% 49.14%, 0.69% 48.12%, 0.43% 47.09%, 0.24% 46.06%, 0.10% 45.02%, 0.02% 43.98%, 0.00% 42.94%, 0.03% 41.91%, 0.12% 40.88%, 0.27% 39.86%, 0.47% 38.86%, 0.72% 37.86%, 1.03% 36.89%, 1.38% 35.93%, 1.79% 34.99%, 2.25% 34.07%, 2.76% 33.17%, 3.32% 32.31%, 3.92% 31.47%, 4.58% 30.66%, 5.28% 29.88%, 6.03% 29.14%, 6.82% 28.44%, 7.66% 27.78%, 8.50% 27.16%, 9.34% 26.55%, 10.19% 25.94%, 11.03% 25.33%, 11.87% 24.71%, 12.71% 24.10%, 13.55% 23.49%, 14.39% 22.88%, 15.23% 22.27%, 16.08% 21.66%, 16.92% 21.05%, 17.76% 20.44%, 18.60% 19.82%, 19.44% 19.21%, 20.28% 18.60%, 21.12% 17.99%, 21.96% 17.38%, 22.81% 16.77%, 23.65% 16.16%, 24.49% 15.55%, 25.33% 14.93%, 26.17% 14.32%, 27.01% 13.71%, 27.85% 13.10%, 28.70% 12.49%, 29.54% 11.88%, 30.38% 11.27%, 31.22% 10.65%, 32.06% 10.04%, 32.90% 9.43%, 33.74% 8.82%, 34.59% 8.21%, 35.43% 7.60%, 36.27% 6.99%, 37.11% 6.38%, 37.95% 5.76%, 38.79% 5.15%, 38.79% 5.15%, 39.68% 4.55%, 40.58% 4.00%, 41.51% 3.50%, 42.46% 3.06%, 43.43% 2.68%, 44.41% 2.35%, 45.41% 2.07%, 46.41% 1.85%, 47.43% 1.69%, 48.45% 1.57%, 49.47% 1.52%, 50.49% 1.52%, 51.52% 1.57%, 52.54% 1.68%, 53.55% 1.84%, 54.56% 2.06%, 55.55% 2.34%, 56.53% 2.66%, 57.50% 3.05%, 58.45% 3.49%, 59.38% 3.98%, 60.29% 4.53%',
6
+ pill: '64.49% 0.65%, 65.49% 0.84%, 66.48% 1.05%, 67.48% 1.28%, 68.46% 1.54%, 69.44% 1.83%, 70.42% 2.13%, 71.39% 2.46%, 72.35% 2.81%, 73.30% 3.19%, 74.25% 3.59%, 75.19% 4.02%, 76.12% 4.47%, 77.05% 4.94%, 77.96% 5.43%, 78.87% 5.95%, 79.76% 6.50%, 80.64% 7.06%, 81.52% 7.66%, 82.38% 8.27%, 83.23% 8.91%, 84.06% 9.57%, 84.89% 10.26%, 85.70% 10.96%, 86.49% 11.70%, 87.28% 12.45%, 88.04% 13.23%, 88.78% 14.02%, 89.50% 14.83%, 90.19% 15.65%, 90.86% 16.48%, 91.51% 17.33%, 92.13% 18.18%, 92.73% 19.05%, 93.31% 19.93%, 93.86% 20.82%, 94.39% 21.72%, 94.89% 22.63%, 95.37% 23.55%, 95.83% 24.48%, 96.26% 25.42%, 96.67% 26.36%, 97.06% 27.32%, 97.42% 28.28%, 97.76% 29.24%, 98.07% 30.22%, 98.36% 31.20%, 98.63% 32.18%, 98.87% 33.17%, 99.09% 34.16%, 99.29% 35.16%, 99.46% 36.16%, 99.61% 37.16%, 99.73% 38.17%, 99.83% 39.18%, 99.91% 40.19%, 99.96% 41.20%, 99.99% 42.21%, 100.00% 43.23%, 99.98% 44.24%, 99.94% 45.25%, 99.88% 46.26%, 99.79% 47.27%, 99.68% 48.28%, 99.54% 49.29%, 99.38% 50.29%, 99.20% 51.29%, 98.99% 52.28%, 98.76% 53.27%, 98.50% 54.26%, 98.22% 55.24%, 97.92% 56.22%, 97.60% 57.19%, 97.25% 58.15%, 96.87% 59.11%, 96.48% 60.06%, 96.06% 61.00%, 95.61% 61.93%, 95.14% 62.86%, 94.65% 63.77%, 94.14% 64.68%, 93.60% 65.57%, 93.03% 66.46%, 92.45% 67.33%, 91.84% 68.20%, 91.20% 69.05%, 90.55% 69.89%, 89.86% 70.71%, 89.16% 71.53%, 88.43% 72.33%, 87.68% 73.11%, 86.93% 73.86%, 86.20% 74.59%, 85.47% 75.32%, 84.74% 76.06%, 84.00% 76.79%, 83.27% 77.52%, 82.54% 78.25%, 81.81% 78.99%, 81.07% 79.72%, 80.34% 80.45%, 79.61% 81.18%, 78.88% 81.92%, 78.14% 82.65%, 77.41% 83.38%, 76.68% 84.11%, 75.95% 84.85%, 75.21% 85.58%, 74.48% 86.31%, 73.75% 87.04%, 72.99% 87.79%, 72.21% 88.54%, 71.40% 89.27%, 70.59% 89.97%, 69.76% 90.65%, 68.92% 91.30%, 68.07% 91.93%, 67.20% 92.54%, 66.33% 93.12%, 65.44% 93.68%, 64.54% 94.22%, 63.64% 94.73%, 62.72% 95.22%, 61.79% 95.68%, 60.86% 96.12%, 59.91% 96.54%, 58.96% 96.93%, 58.01% 97.30%, 57.04% 97.65%, 56.07% 97.97%, 55.09% 98.27%, 54.11% 98.54%, 53.12% 98.79%, 52.13% 99.02%, 51.14% 99.22%, 50.14% 99.40%, 49.13% 99.56%, 48.13% 99.69%, 47.12% 99.80%, 46.11% 99.89%, 45.10% 99.95%, 44.09% 99.99%, 43.07% 100.00%, 42.06% 99.99%, 41.05% 99.96%, 40.04% 99.90%, 39.03% 99.82%, 38.02% 99.71%, 37.01% 99.59%, 36.01% 99.43%, 35.01% 99.26%, 34.01% 99.06%, 33.02% 98.83%, 32.03% 98.59%, 31.05% 98.32%, 30.07% 98.02%, 29.10% 97.70%, 28.13% 97.36%, 27.17% 97.00%, 26.22% 96.61%, 25.28% 96.20%, 24.34% 95.76%, 23.41% 95.30%, 22.49% 94.81%, 21.59% 94.31%, 20.69% 93.78%, 19.80% 93.22%, 18.92% 92.64%, 18.05% 92.04%, 17.20% 91.41%, 16.35% 90.76%, 15.52% 90.09%, 14.71% 89.39%, 13.90% 88.67%, 13.11% 87.92%, 12.34% 87.16%, 11.59% 86.37%, 10.86% 85.57%, 10.15% 84.76%, 9.47% 83.93%, 8.81% 83.10%, 8.18% 82.25%, 7.56% 81.38%, 6.98% 80.51%, 6.41% 79.62%, 5.87% 78.73%, 5.36% 77.82%, 4.87% 76.91%, 4.40% 75.98%, 3.95% 75.05%, 3.53% 74.11%, 3.13% 73.16%, 2.76% 72.20%, 2.41% 71.24%, 2.08% 70.27%, 1.78% 69.29%, 1.50% 68.31%, 1.25% 67.32%, 1.02% 66.33%, 0.81% 65.34%, 0.62% 64.34%, 0.46% 63.34%, 0.33% 62.33%, 0.21% 61.32%, 0.13% 60.31%, 0.06% 59.30%, 0.02% 58.29%, 0.00% 57.28%, 0.01% 56.26%, 0.04% 55.25%, 0.09% 54.24%, 0.16% 53.23%, 0.27% 52.22%, 0.39% 51.22%, 0.54% 50.21%, 0.71% 49.21%, 0.90% 48.21%, 1.12% 47.22%, 1.37% 46.23%, 1.63% 45.25%, 1.92% 44.27%, 2.24% 43.29%, 2.57% 42.33%, 2.94% 41.37%, 3.32% 40.41%, 3.73% 39.47%, 4.16% 38.53%, 4.62% 37.60%, 5.10% 36.68%, 5.60% 35.77%, 6.13% 34.87%, 6.68% 33.98%, 7.26% 33.10%, 7.85% 32.23%, 8.48% 31.37%, 9.12% 30.53%, 9.79% 29.70%, 10.49% 28.88%, 11.20% 28.07%, 11.94% 27.28%, 12.70% 26.51%, 13.43% 25.77%, 14.17% 25.04%, 14.90% 24.31%, 15.63% 23.58%, 16.36% 22.84%, 17.10% 22.11%, 17.83% 21.38%, 18.56% 20.65%, 19.29% 19.91%, 20.03% 19.18%, 20.76% 18.45%, 21.49% 17.72%, 22.22% 16.98%, 22.96% 16.25%, 23.69% 15.52%, 24.42% 14.79%, 25.15% 14.05%, 25.89% 13.32%, 26.62% 12.59%, 26.62% 12.59%, 27.40% 11.83%, 28.19% 11.09%, 29.00% 10.38%, 29.82% 9.69%, 30.66% 9.02%, 31.50% 8.38%, 32.36% 7.76%, 33.23% 7.17%, 34.11% 6.59%, 35.01% 6.05%, 35.91% 5.52%, 36.82% 5.02%, 37.74% 4.55%, 38.67% 4.09%, 39.61% 3.67%, 40.56% 3.26%, 41.51% 2.88%, 42.47% 2.52%, 43.44% 2.19%, 44.42% 1.88%, 45.40% 1.59%, 46.38% 1.33%, 47.37% 1.09%, 48.37% 0.87%, 49.36% 0.68%, 50.36% 0.51%, 51.37% 0.37%, 52.38% 0.25%, 53.38% 0.15%, 54.40% 0.08%, 55.41% 0.03%, 56.42% 0.00%, 57.43% 0.00%, 58.45% 0.02%, 59.46% 0.07%, 60.47% 0.14%, 61.48% 0.23%, 62.48% 0.35%, 63.49% 0.49%',
7
+ 'soft-burst': '59.28% 10.04%, 60.01% 11.05%, 60.92% 11.86%, 61.99% 12.44%, 63.15% 12.76%, 64.37% 12.81%, 65.59% 12.57%, 66.75% 12.12%, 67.90% 11.66%, 69.04% 11.20%, 70.18% 10.74%, 71.32% 10.28%, 72.46% 9.83%, 73.60% 9.37%, 74.75% 8.91%, 76.01% 8.58%, 77.25% 8.56%, 78.43% 8.82%, 79.51% 9.33%, 80.44% 10.06%, 81.19% 10.98%, 81.72% 12.06%, 81.98% 13.28%, 81.96% 14.56%, 81.87% 15.78%, 81.77% 17.01%, 81.68% 18.24%, 81.59% 19.46%, 81.50% 20.69%, 81.41% 21.92%, 81.32% 23.14%, 81.32% 24.39%, 81.60% 25.58%, 82.15% 26.65%, 82.93% 27.57%, 83.91% 28.30%, 85.06% 28.79%, 86.27% 29.09%, 87.46% 29.38%, 88.66% 29.67%, 89.85% 29.96%, 91.05% 30.25%, 92.24% 30.54%, 93.44% 30.83%, 94.65% 31.13%, 95.85% 31.62%, 96.85% 32.35%, 97.62% 33.27%, 98.16% 34.32%, 98.46% 35.47%, 98.48% 36.66%, 98.22% 37.84%, 97.67% 38.97%, 96.87% 39.97%, 96.07% 40.90%, 96.27% 41.84%, 94.47% 42.77%, 93.67% 43.70%, 92.87% 44.64%, 92.07% 45.57%, 91.27% 46.51%, 90.54% 47.53%, 90.09% 48.67%, 89.92% 49.86%, 90.03% 51.06%, 90.42% 52.22%, 91.09% 53.27%, 91.89% 54.21%, 92.70% 55.15%, 93.50% 56.08%, 94.30% 57.01%, 95.10% 57.95%, 95.90% 58.88%, 96.70% 59.82%, 97.51% 60.79%, 98.13% 61.90%, 98.45% 63.07%, 98.48% 64.26%, 98.25% 65.42%, 97.76% 66.50%, 97.03% 67.45%, 96.08% 68.22%, 94.93% 68.77%, 93.70% 69.09%, 92.50% 69.38%, 91.31% 69.67%, 90.11% 69.96%, 88.92% 70.25%, 87.72% 70.54%, 86.53% 70.83%, 85.33% 71.12%, 84.14% 71.56%, 83.12% 72.24%, 82.30% 73.12%, 81.70% 74.17%, 81.36% 75.33%, 81.30% 76.58%, 81.39% 77.80%, 81.48% 79.03%, 81.57% 80.26%, 81.66% 81.48%, 81.75% 82.71%, 81.85% 83.94%, 81.94% 85.16%, 82.00% 86.43%, 81.80% 87.67%, 81.33% 88.78%, 80.62% 89.74%, 79.72% 90.52%, 78.67% 91.08%, 77.51% 91.39%, 76.28% 91.44%, 75.02% 91.18%, 73.85% 90.72%, 72.71% 90.26%, 71.57% 89.80%, 70.42% 89.34%, 69.28% 88.88%, 68.14% 88.42%, 67.00% 87.96%, 65.85% 87.50%, 64.64% 87.21%, 63.41% 87.20%, 62.23% 87.46%, 61.14% 87.98%, 60.19% 88.74%, 59.42% 89.72%, 58.77% 90.76%, 58.11% 91.81%, 57.46% 92.85%, 56.80% 93.89%, 56.15% 94.93%, 55.49% 95.97%, 54.84% 97.01%, 54.13% 98.07%, 53.22% 98.94%, 52.17% 99.55%, 51.03% 99.91%, 49.84% 100.00%, 48.66% 99.83%, 47.54% 99.41%, 46.52% 98.72%, 45.67% 97.77%, 44.99% 96.72%, 44.34% 95.67%, 43.68% 94.63%, 43.03% 93.59%, 42.37% 92.55%, 41.72% 91.51%, 41.06% 90.47%, 40.40% 89.42%, 39.57% 88.50%, 38.58% 87.80%, 37.46% 87.36%, 36.26% 87.17%, 35.03% 87.26%, 33.83% 87.64%, 32.69% 88.09%, 31.55% 88.55%, 30.41% 89.01%, 29.27% 89.47%, 28.13% 89.93%, 26.99% 90.39%, 25.85% 90.85%, 24.64% 91.28%, 23.39% 91.46%, 22.17% 91.33%, 21.04% 90.94%, 20.02% 90.32%, 19.17% 89.49%, 18.53% 88.48%, 18.13% 87.33%, 18.02% 86.06%, 18.11% 84.82%, 18.20% 83.59%, 18.29% 82.36%, 18.38% 81.14%, 18.47% 79.91%, 18.56% 78.68%, 18.65% 77.46%, 18.73% 76.22%, 18.59% 74.99%, 18.17% 73.85%, 17.51% 72.85%, 16.62% 72.02%, 15.55% 71.41%, 14.35% 71.04%, 13.15% 70.75%, 11.96% 70.46%, 10.76% 70.17%, 9.57% 69.88%, 8.37% 69.59%, 7.18% 69.30%, 5.98% 69.01%, 4.74% 68.64%, 3.64% 68.02%, 2.76% 67.20%, 2.09% 66.20%, 1.68% 65.10%, 1.52% 63.92%, 1.63% 62.73%, 2.04% 61.57%, 2.75% 60.49%, 3.55% 59.55%, 4.35% 58.62%, 5.15% 57.68%, 5.95% 56.75%, 6.75% 55.81%, 7.55% 54.88%, 8.35% 53.95%, 9.15% 52.99%, 9.74% 51.90%, 10.05% 50.72%, 10.08% 49.52%, 9.83% 48.34%, 9.30% 47.23%, 8.52% 46.24%, 7.72% 45.31%, 6.92% 44.37%, 6.12% 43.44%, 5.32% 42.50%, 4.52% 41.57%, 3.72% 40.64%, 2.92% 39.70%, 2.16% 38.66%, 1.69% 37.51%, 1.52% 36.32%, 1.62% 35.14%, 1.98% 34.01%, 2.59% 32.99%, 3.43% 32.12%, 4.49% 31.46%, 5.72% 31.04%, 6.92% 30.75%, 8.11% 30.46%, 9.31% 30.17%, 10.50% 29.88%, 11.70% 29.59%, 12.90% 29.30%, 14.09% 29.01%, 15.30% 28.68%, 16.41% 28.12%, 17.33% 27.33%, 18.05% 26.36%, 18.52% 25.25%, 18.73% 24.04%, 18.67% 22.80%, 18.58% 21.57%, 18.49% 20.34%, 18.40% 19.11%, 18.31% 17.89%, 18.22% 16.66%, 18.13% 15.43%, 18.04% 14.21%, 18.08% 12.92%, 18.42% 11.74%, 19.02% 10.70%, 19.82% 9.83%, 20.81% 9.16%, 21.92% 8.72%, 23.12% 8.53%, 24.37% 8.64%, 25.60% 9.04%, 26.74% 9.50%, 27.88% 9.96%, 29.02% 10.42%, 30.16% 10.87%, 31.31% 11.33%, 32.45% 11.79%, 33.59% 12.25%, 34.77% 12.67%, 35.99% 12.82%, 37.20% 12.69%, 38.34% 12.30%, 39.37% 11.66%, 40.24% 10.78%, 40.92% 9.74%, 41.58% 8.70%, 42.23% 7.66%, 42.89% 6.62%, 43.54% 5.58%, 44.20% 4.54%, 44.85% 3.50%, 45.51% 2.45%, 45.51% 2.45%, 46.32% 1.45%, 47.31% 0.71%, 48.41% 0.22%, 49.58% 0.00%, 50.77% 0.04%, 51.93% 0.33%, 53.01% 0.89%, 53.95% 1.71%, 54.70% 2.75%, 55.35% 3.79%, 56.01% 4.83%, 56.66% 5.87%, 57.32% 6.91%, 57.97% 7.96%, 58.63% 9.00%',
8
+ sunny: '61.43% 7.32%, 62.14% 8.02%, 62.94% 8.72%, 63.93% 9.57%, 64.67% 10.16%, 65.47% 10.66%, 66.44% 11.09%, 67.45% 11.39%, 68.29% 11.52%, 69.44% 11.62%, 70.64% 11.70%, 71.70% 11.77%, 72.77% 11.84%, 73.83% 11.92%, 74.89% 11.99%, 75.96% 12.06%, 77.02% 12.13%, 77.02% 12.13%, 78.53% 12.24%, 79.79% 12.34%, 80.85% 12.46%, 81.73% 12.62%, 82.50% 12.83%, 83.29% 13.16%, 84.21% 13.70%, 85.04% 14.35%, 85.78% 15.11%, 86.42% 15.96%, 86.93% 16.90%, 87.22% 17.64%, 87.42% 18.43%, 87.57% 19.34%, 87.68% 20.43%, 87.79% 21.74%, 87.89% 23.19%, 87.96% 24.25%, 88.03% 25.31%, 88.10% 26.38%, 88.18% 27.44%, 88.25% 28.50%, 88.32% 29.56%, 88.41% 30.82%, 88.50% 31.89%, 88.66% 32.74%, 88.99% 33.75%, 89.45% 34.71%, 89.94% 35.46%, 90.57% 36.24%, 91.42% 37.22%, 92.12% 38.02%, 92.82% 38.82%, 93.52% 39.62%, 94.22% 40.43%, 94.92% 41.23%, 95.62% 42.03%, 96.53% 43.07%, 97.41% 44.10%, 98.13% 44.98%, 98.70% 45.74%, 99.14% 46.44%, 99.46% 47.12%, 99.78% 48.13%, 99.96% 49.18%, 100.00% 50.24%, 99.90% 51.29%, 99.65% 52.33%, 99.33% 53.19%, 98.96% 53.87%, 98.47% 54.60%, 97.84% 55.41%, 97.05% 56.34%, 96.09% 57.45%, 95.32% 58.34%, 94.62% 59.14%, 93.92% 59.94%, 93.22% 60.74%, 92.52% 61.55%, 91.82% 62.35%, 91.07% 63.20%, 90.26% 64.14%, 89.73% 64.85%, 89.23% 65.72%, 88.83% 66.70%, 88.58% 67.66%, 88.46% 68.54%, 88.36% 69.82%, 88.29% 70.92%, 88.22% 71.98%, 88.14% 73.04%, 88.07% 74.10%, 88.00% 75.17%, 87.93% 76.23%, 87.85% 77.43%, 87.74% 78.88%, 87.64% 80.08%, 87.51% 81.09%, 87.34% 81.94%, 87.12% 82.68%, 86.72% 83.53%, 86.15% 84.44%, 85.47% 85.25%, 84.69% 85.96%, 83.82% 86.57%, 82.89% 87.04%, 82.18% 87.29%, 81.37% 87.47%, 80.41% 87.61%, 79.27% 87.72%, 77.90% 87.82%, 76.55% 87.91%, 75.49% 87.99%, 74.43% 88.06%, 73.37% 88.13%, 72.30% 88.20%, 71.24% 88.28%, 70.18% 88.35%, 68.88% 88.44%, 67.90% 88.54%, 67.01% 88.74%, 66.01% 89.10%, 65.07% 89.59%, 64.37% 90.08%, 63.53% 90.79%, 62.59% 91.60%, 61.79% 92.30%, 60.99% 93.01%, 60.99% 93.01%, 60.18% 93.71%, 59.38% 94.41%, 58.58% 95.11%, 57.78% 95.81%, 56.66% 96.78%, 55.68% 97.62%, 54.83% 98.30%, 54.08% 98.83%, 53.39% 99.23%, 52.64% 99.56%, 51.61% 99.85%, 50.56% 99.99%, 49.50% 100.00%, 48.45% 99.86%, 47.42% 99.58%, 46.65% 99.26%, 45.96% 98.86%, 45.22% 98.33%, 44.38% 97.66%, 43.40% 96.83%, 42.27% 95.85%, 41.47% 95.15%, 40.67% 94.45%, 39.87% 93.75%, 39.06% 93.05%, 38.26% 92.35%, 37.46% 91.65%, 36.53% 90.84%, 35.67% 90.12%, 34.99% 89.63%, 34.05% 89.13%, 33.05% 88.76%, 32.15% 88.55%, 31.19% 88.44%, 29.89% 88.35%, 28.83% 88.28%, 27.76% 88.21%, 26.70% 88.14%, 25.64% 88.06%, 24.57% 87.99%, 23.51% 87.92%, 22.19% 87.83%, 20.81% 87.73%, 19.65% 87.62%, 18.69% 87.48%, 17.87% 87.30%, 17.15% 87.06%, 16.24% 86.60%, 15.36% 86.00%, 14.57% 85.30%, 13.88% 84.49%, 13.31% 83.59%, 12.90% 82.73%, 12.67% 81.99%, 12.50% 81.15%, 12.37% 80.15%, 12.26% 78.96%, 12.16% 77.53%, 12.07% 76.30%, 12.00% 75.23%, 11.93% 74.17%, 11.86% 73.11%, 11.79% 72.05%, 11.71% 70.98%, 11.64% 69.92%, 11.54% 68.61%, 11.43% 67.71%, 11.19% 66.77%, 10.80% 65.78%, 10.30% 64.89%, 9.78% 64.19%, 8.99% 63.27%, 8.23% 62.40%, 7.53% 61.60%, 6.83% 60.79%, 6.13% 59.99%, 5.43% 59.19%, 4.72% 58.39%, 3.98% 57.53%, 3.00% 56.41%, 2.21% 55.46%, 1.56% 54.65%, 1.06% 53.92%, 0.69% 53.23%, 0.36% 52.40%, 0.11% 51.36%, 0.00% 50.31%, 0.03% 49.25%, 0.20% 48.20%, 0.52% 47.18%, 0.84% 46.49%, 1.27% 45.79%, 1.83% 45.03%, 2.53% 44.16%, 3.41% 43.14%, 4.33% 42.08%, 5.03% 41.28%, 5.73% 40.48%, 6.43% 39.67%, 7.13% 38.87%, 7.83% 38.07%, 8.53% 37.27%, 9.38% 36.30%, 10.03% 35.50%, 10.52% 34.77%, 10.99% 33.81%, 11.32% 32.80%, 11.49% 31.95%, 11.59% 30.90%, 11.67% 29.63%, 11.74% 28.57%, 11.82% 27.51%, 11.89% 26.44%, 11.96% 25.38%, 12.03% 24.32%, 12.11% 23.25%, 12.20% 21.83%, 12.31% 20.51%, 12.42% 19.40%, 12.57% 18.48%, 12.76% 17.69%, 13.04% 16.96%, 13.55% 16.02%, 14.17% 15.16%, 14.90% 14.40%, 15.73% 13.74%, 16.65% 13.19%, 17.46% 12.84%, 18.21% 12.63%, 19.09% 12.47%, 20.13% 12.35%, 21.38% 12.24%, 22.88% 12.14%, 23.97% 12.07%, 25.04% 11.99%, 26.10% 11.92%, 27.16% 11.85%, 28.23% 11.78%, 29.29% 11.70%, 30.47% 11.62%, 31.65% 11.53%, 32.49% 11.40%, 33.49% 11.11%, 34.47% 10.69%, 35.28% 10.19%, 36.01% 9.62%, 37.01% 8.76%, 37.81% 8.06%, 38.61% 7.36%, 39.41% 6.66%, 40.22% 5.96%, 41.02% 5.26%, 41.82% 4.56%, 42.78% 3.73%, 43.85% 2.80%, 44.76% 2.04%, 45.55% 1.44%, 46.26% 0.97%, 46.94% 0.62%, 47.87% 0.30%, 48.91% 0.08%, 49.97% 0.00%, 51.02% 0.07%, 52.07% 0.28%, 53.01% 0.60%, 53.69% 0.94%, 54.40% 1.40%, 55.19% 2.00%, 56.09% 2.74%, 57.15% 3.66%, 58.13% 4.51%, 58.93% 5.21%, 59.73% 5.91%, 60.53% 6.62%'
9
+ };
@@ -0,0 +1,52 @@
1
+ import { MoniElement } from './_base/index.js';
2
+ /**
3
+ * Material 3 App Bar (`m3-docs/components/app-bars/specs.md`).
4
+ *
5
+ * App bars are placed at the top of a screen to help users navigate.
6
+ * Two main placements:
7
+ * - **top** (default): header above content. Standard height **64dp**.
8
+ * - **bottom**: footer below content (mobile pattern). Houses navigation
9
+ * icons and an optional FAB anchor.
10
+ *
11
+ * Two variants:
12
+ * - **standard** (default): flat surface with no shadow at rest.
13
+ * - **floating**: gains an elevation 2 shadow when content scrolls under it.
14
+ *
15
+ * Two size modes:
16
+ * - **default**: 64dp tall.
17
+ * - **prominent**: 152dp tall, used when a subtitle is shown.
18
+ *
19
+ * Center-aligned title (M3 spec): title is centered horizontally.
20
+ * Navigation icons go to the leading edge; actions to the trailing edge.
21
+ *
22
+ * Attributes:
23
+ * - placement: top (default) | bottom
24
+ * - variant: standard (default) | floating
25
+ * - size: default (default, 64dp) | prominent (152dp)
26
+ * - title: text content of the title (centered)
27
+ * - subtitle: optional subtitle shown below the title (prominent only)
28
+ * - elevated: present → adds elevation 2 shadow (e.g. when scrolled)
29
+ *
30
+ * Slots:
31
+ * - leading: navigation icon(s) on the leading edge
32
+ * - trailing: action icon(s) on the trailing edge
33
+ * - fab: (bottom only) FAB anchored to the trailing edge
34
+ * - default: any extra content (e.g. tabs)
35
+ */
36
+ export declare class MoniAppBar extends MoniElement {
37
+ placement: 'top' | 'bottom';
38
+ variant: 'standard' | 'floating';
39
+ size: 'default' | 'prominent';
40
+ title: string;
41
+ subtitle: string;
42
+ elevated: boolean;
43
+ static styles: import("lit").CSSResult[];
44
+ render(): import("lit-html").TemplateResult<1>;
45
+ }
46
+ declare global {
47
+ interface HTMLElementTagNameMap {
48
+ 'moni-app-bar': MoniAppBar;
49
+ }
50
+ }
51
+ export default MoniAppBar;
52
+ //# sourceMappingURL=moni-app-bar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moni-app-bar.d.ts","sourceRoot":"","sources":["../../src/components/moni-app-bar.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAgB,MAAM,kBAAkB,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,qBACa,UAAW,SAAQ,WAAW;IAE1C,SAAS,EAAE,KAAK,GAAG,QAAQ,CAAS;IAEpC,OAAO,EAAE,UAAU,GAAG,UAAU,CAAc;IAE9C,IAAI,EAAE,SAAS,GAAG,WAAW,CAAa;IACb,KAAK,SAAM;IACX,QAAQ,SAAM;IACC,QAAQ,UAAS;IAE7D,OAAgB,MAAM,4BAyGpB;IAEO,MAAM;CAwBf;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,cAAc,EAAE,UAAU,CAAC;KAC3B;CACD;AAED,eAAe,UAAU,CAAC"}
@@ -0,0 +1,207 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { html, css, nothing } from 'lit';
8
+ import { customElement, property } from 'lit/decorators.js';
9
+ import { MoniElement, sharedStyles } from './_base/index.js';
10
+ /**
11
+ * Material 3 App Bar (`m3-docs/components/app-bars/specs.md`).
12
+ *
13
+ * App bars are placed at the top of a screen to help users navigate.
14
+ * Two main placements:
15
+ * - **top** (default): header above content. Standard height **64dp**.
16
+ * - **bottom**: footer below content (mobile pattern). Houses navigation
17
+ * icons and an optional FAB anchor.
18
+ *
19
+ * Two variants:
20
+ * - **standard** (default): flat surface with no shadow at rest.
21
+ * - **floating**: gains an elevation 2 shadow when content scrolls under it.
22
+ *
23
+ * Two size modes:
24
+ * - **default**: 64dp tall.
25
+ * - **prominent**: 152dp tall, used when a subtitle is shown.
26
+ *
27
+ * Center-aligned title (M3 spec): title is centered horizontally.
28
+ * Navigation icons go to the leading edge; actions to the trailing edge.
29
+ *
30
+ * Attributes:
31
+ * - placement: top (default) | bottom
32
+ * - variant: standard (default) | floating
33
+ * - size: default (default, 64dp) | prominent (152dp)
34
+ * - title: text content of the title (centered)
35
+ * - subtitle: optional subtitle shown below the title (prominent only)
36
+ * - elevated: present → adds elevation 2 shadow (e.g. when scrolled)
37
+ *
38
+ * Slots:
39
+ * - leading: navigation icon(s) on the leading edge
40
+ * - trailing: action icon(s) on the trailing edge
41
+ * - fab: (bottom only) FAB anchored to the trailing edge
42
+ * - default: any extra content (e.g. tabs)
43
+ */
44
+ let MoniAppBar = class MoniAppBar extends MoniElement {
45
+ constructor() {
46
+ super(...arguments);
47
+ this.placement = 'top';
48
+ this.variant = 'standard';
49
+ this.size = 'default';
50
+ this.title = '';
51
+ this.subtitle = '';
52
+ this.elevated = false;
53
+ }
54
+ static { this.styles = [
55
+ sharedStyles,
56
+ css `
57
+ :host {
58
+ display: block;
59
+ font-family: var(--font);
60
+ background-color: var(--surface);
61
+ color: var(--on-surface);
62
+ position: sticky;
63
+ inset-block-start: 0;
64
+ z-index: 30;
65
+ transition:
66
+ box-shadow var(--speed2),
67
+ block-size var(--speed2);
68
+ }
69
+
70
+ :host([placement='bottom']) {
71
+ inset-block-start: auto;
72
+ inset-block-end: 0;
73
+ }
74
+
75
+ :host([variant='floating']),
76
+ :host([elevated]) {
77
+ box-shadow: var(--elevate2);
78
+ }
79
+
80
+ .bar {
81
+ display: grid;
82
+ grid-template-columns: auto 1fr auto;
83
+ grid-template-rows: auto auto;
84
+ align-items: center;
85
+ column-gap: 0.5rem;
86
+ padding-inline: 1rem;
87
+ block-size: 4rem;
88
+ min-block-size: 4rem;
89
+ }
90
+
91
+ :host([size='prominent']) .bar {
92
+ block-size: 9.5rem;
93
+ min-block-size: 9.5rem;
94
+ grid-template-rows: auto auto auto;
95
+ }
96
+
97
+ .leading,
98
+ .trailing {
99
+ display: flex;
100
+ gap: 0.25rem;
101
+ align-items: center;
102
+ justify-content: center;
103
+ min-inline-size: 3rem;
104
+ block-size: 3rem;
105
+ }
106
+ .leading { justify-content: flex-start; }
107
+ .trailing { justify-content: flex-end; }
108
+
109
+ .title {
110
+ font-size: 1.375rem;
111
+ line-height: 1.75rem;
112
+ font-weight: 400;
113
+ letter-spacing: 0;
114
+ text-align: center;
115
+ color: var(--on-surface);
116
+ grid-column: 2;
117
+ grid-row: 1;
118
+ padding: 0 1rem;
119
+ overflow: hidden;
120
+ text-overflow: ellipsis;
121
+ white-space: nowrap;
122
+ }
123
+
124
+ :host([size='prominent']) .title {
125
+ grid-row: 2;
126
+ align-self: end;
127
+ font-size: 1.375rem;
128
+ }
129
+
130
+ .subtitle {
131
+ font-size: 0.875rem;
132
+ line-height: 1.25rem;
133
+ font-weight: 400;
134
+ letter-spacing: 0.007em;
135
+ text-align: center;
136
+ color: var(--on-surface-variant);
137
+ grid-column: 2;
138
+ grid-row: 3;
139
+ padding: 0 1rem;
140
+ overflow: hidden;
141
+ text-overflow: ellipsis;
142
+ white-space: nowrap;
143
+ }
144
+
145
+ .actions {
146
+ grid-column: 1 / -1;
147
+ grid-row: 3;
148
+ display: flex;
149
+ gap: 0.5rem;
150
+ padding-block-start: 0.5rem;
151
+ }
152
+
153
+ ::slotted([slot='fab']) {
154
+ position: absolute;
155
+ inset-block-end: 1rem;
156
+ inset-inline-end: 1rem;
157
+ }
158
+ `
159
+ ]; }
160
+ render() {
161
+ const hasSubtitle = this.size === 'prominent' && Boolean(this.subtitle);
162
+ const hasActions = Boolean(this.size === 'prominent');
163
+ return html `
164
+ <div class="bar" part="bar">
165
+ <div class="leading" part="leading">
166
+ <slot name="leading"></slot>
167
+ </div>
168
+ <div class="title" part="title">${this.title}</div>
169
+ <div class="trailing" part="trailing">
170
+ <slot name="trailing"></slot>
171
+ </div>
172
+ ${hasSubtitle
173
+ ? html `<div class="subtitle" part="subtitle">${this.subtitle}</div>`
174
+ : nothing}
175
+ ${hasActions
176
+ ? html `<div class="actions" part="actions">
177
+ <slot name="actions"></slot>
178
+ </div>`
179
+ : nothing}
180
+ <slot name="fab"></slot>
181
+ </div>
182
+ `;
183
+ }
184
+ };
185
+ __decorate([
186
+ property({ reflect: true })
187
+ ], MoniAppBar.prototype, "placement", void 0);
188
+ __decorate([
189
+ property({ reflect: true })
190
+ ], MoniAppBar.prototype, "variant", void 0);
191
+ __decorate([
192
+ property({ reflect: true })
193
+ ], MoniAppBar.prototype, "size", void 0);
194
+ __decorate([
195
+ property({ reflect: true })
196
+ ], MoniAppBar.prototype, "title", void 0);
197
+ __decorate([
198
+ property({ reflect: true })
199
+ ], MoniAppBar.prototype, "subtitle", void 0);
200
+ __decorate([
201
+ property({ type: Boolean, reflect: true })
202
+ ], MoniAppBar.prototype, "elevated", void 0);
203
+ MoniAppBar = __decorate([
204
+ customElement('moni-app-bar')
205
+ ], MoniAppBar);
206
+ export { MoniAppBar };
207
+ export default MoniAppBar;
@@ -0,0 +1,37 @@
1
+ import { MoniElement } from './_base/index.js';
2
+ /**
3
+ * Badge that faithfully ports BeerCSS's `.badge` styles.
4
+ *
5
+ * BeerCSS `.badge` uses:
6
+ * - `position: absolute; inset: 50% auto auto 50%; transform: translate(var(--_x), var(--_y))`
7
+ * - Default: --_x: 0, --_y: -100% → top-right corner
8
+ *
9
+ * The parent element MUST have `position: relative` for the badge to anchor correctly.
10
+ * We ensure this in connectedCallback.
11
+ *
12
+ * Attributes:
13
+ * - value: text content (also accepts slotted content)
14
+ * - position: '' (top-right default) | top | bottom | left | right | none
15
+ * - shape: '' (round) | circle | square | min
16
+ * - color: error (default) | primary | secondary | tertiary
17
+ * - border: present → outlined badge (BeerCSS .badge.border)
18
+ * - inline: present → badge becomes inline (BeerCSS .badge.none)
19
+ */
20
+ export declare class MoniBadge extends MoniElement {
21
+ value: string;
22
+ position: 'top' | 'bottom' | 'left' | 'right' | 'none' | '';
23
+ shape: 'circle' | 'square' | 'min' | '';
24
+ color: 'primary' | 'secondary' | 'tertiary' | 'error';
25
+ inline: boolean;
26
+ border: boolean;
27
+ connectedCallback(): void;
28
+ static styles: import("lit").CSSResult[];
29
+ render(): import("lit-html").TemplateResult<1>;
30
+ }
31
+ declare global {
32
+ interface HTMLElementTagNameMap {
33
+ 'moni-badge': MoniBadge;
34
+ }
35
+ }
36
+ export default MoniBadge;
37
+ //# sourceMappingURL=moni-badge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moni-badge.d.ts","sourceRoot":"","sources":["../../src/components/moni-badge.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAgB,MAAM,kBAAkB,CAAC;AAE7D;;;;;;;;;;;;;;;;;GAiBG;AACH,qBACa,SAAU,SAAQ,WAAW;IACZ,KAAK,SAAM;IAExC,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,EAAE,CAAM;IAEjE,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,EAAE,CAAM;IAE7C,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,OAAO,CAAW;IACpB,MAAM,UAAS;IACf,MAAM,UAAS;IAElD,iBAAiB;IAY1B,OAAgB,MAAM,4BAqEpB;IAEO,MAAM;CAYf;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,YAAY,EAAE,SAAS,CAAC;KACxB;CACD;AAED,eAAe,SAAS,CAAC"}