@owlmeans/web-panel 0.1.18-rc.9 → 0.1.18

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 (669) hide show
  1. package/README.md +510 -143
  2. package/THIRD-PARTY-NOTICES.txt +24 -0
  3. package/agent-meta/manifest.json +163 -4
  4. package/agent-meta/skills/web-panel/SKILL.md +136 -83
  5. package/agent-meta/skills/web-panel/parts/consent.md +114 -0
  6. package/agent-meta/skills/web-panel/parts/editor.md +47 -0
  7. package/agent-meta/skills/web-panel/parts/forms.md +85 -0
  8. package/agent-meta/skills/web-panel/parts/navigation.md +203 -0
  9. package/agent-meta/skills/web-panel/parts/picker.md +164 -0
  10. package/agent-meta/skills/web-panel/parts/reload.md +46 -0
  11. package/agent-meta/skills/web-panel/parts/sign-in.md +65 -0
  12. package/agent-meta/skills/web-panel/parts/theme.md +74 -0
  13. package/build/@/components/ui/alert-dialog.d.ts +15 -0
  14. package/build/@/components/ui/alert-dialog.d.ts.map +1 -0
  15. package/build/@/components/ui/alert-dialog.js +39 -0
  16. package/build/@/components/ui/alert-dialog.js.map +1 -0
  17. package/build/@/components/ui/alert.js +1 -1
  18. package/build/@/components/ui/alert.js.map +1 -1
  19. package/build/@/components/ui/button.js +1 -1
  20. package/build/@/components/ui/button.js.map +1 -1
  21. package/build/@/components/ui/card.js +1 -1
  22. package/build/@/components/ui/card.js.map +1 -1
  23. package/build/@/components/ui/input.js +1 -1
  24. package/build/@/components/ui/input.js.map +1 -1
  25. package/build/@/components/ui/label.js +1 -1
  26. package/build/@/components/ui/label.js.map +1 -1
  27. package/build/@/components/ui/navigation-menu.js +1 -1
  28. package/build/@/components/ui/navigation-menu.js.map +1 -1
  29. package/build/@/components/ui/popover.d.ts +8 -0
  30. package/build/@/components/ui/popover.d.ts.map +1 -0
  31. package/build/@/components/ui/popover.js +17 -0
  32. package/build/@/components/ui/popover.js.map +1 -0
  33. package/build/@/components/ui/progress.js +1 -1
  34. package/build/@/components/ui/progress.js.map +1 -1
  35. package/build/@/components/ui/separator.js +1 -1
  36. package/build/@/components/ui/separator.js.map +1 -1
  37. package/build/@/components/ui/sheet.d.ts +15 -0
  38. package/build/@/components/ui/sheet.d.ts.map +1 -0
  39. package/build/@/components/ui/sheet.js +40 -0
  40. package/build/@/components/ui/sheet.js.map +1 -0
  41. package/build/auth/context.d.ts.map +1 -1
  42. package/build/auth/context.js +0 -1
  43. package/build/auth/context.js.map +1 -1
  44. package/build/auth/entrypoints.d.ts +10 -0
  45. package/build/auth/entrypoints.d.ts.map +1 -0
  46. package/build/auth/entrypoints.js +4 -0
  47. package/build/auth/entrypoints.js.map +1 -0
  48. package/build/auth/exports.d.ts +4 -4
  49. package/build/auth/exports.d.ts.map +1 -1
  50. package/build/auth/exports.js +3 -3
  51. package/build/auth/exports.js.map +1 -1
  52. package/build/auth/modules.d.ts +1 -1
  53. package/build/auth/modules.d.ts.map +1 -1
  54. package/build/auth/plugins/basic-ed25519.js +4 -4
  55. package/build/auth/plugins/basic-ed25519.js.map +1 -1
  56. package/build/auth/plugins/re-captcha.js +3 -3
  57. package/build/auth/plugins/re-captcha.js.map +1 -1
  58. package/build/auth/plugins/tunnel-consumer.js +1 -1
  59. package/build/auth/plugins/tunnel-consumer.js.map +1 -1
  60. package/build/components/block.js +2 -2
  61. package/build/components/block.js.map +1 -1
  62. package/build/components/consts.local.d.ts +14 -0
  63. package/build/components/consts.local.d.ts.map +1 -0
  64. package/build/components/consts.local.js +26 -0
  65. package/build/components/consts.local.js.map +1 -0
  66. package/build/components/footer/component.d.ts +19 -1
  67. package/build/components/footer/component.d.ts.map +1 -1
  68. package/build/components/footer/component.js +38 -11
  69. package/build/components/footer/component.js.map +1 -1
  70. package/build/components/footer/credit.d.ts +27 -0
  71. package/build/components/footer/credit.d.ts.map +1 -0
  72. package/build/components/footer/credit.js +42 -0
  73. package/build/components/footer/credit.js.map +1 -0
  74. package/build/components/footer/index.d.ts +1 -0
  75. package/build/components/footer/index.d.ts.map +1 -1
  76. package/build/components/footer/index.js +1 -0
  77. package/build/components/footer/index.js.map +1 -1
  78. package/build/components/footer/types.d.ts +22 -1
  79. package/build/components/footer/types.d.ts.map +1 -1
  80. package/build/components/form/button/component.d.ts.map +1 -1
  81. package/build/components/form/button/component.js +5 -3
  82. package/build/components/form/button/component.js.map +1 -1
  83. package/build/components/form/component.js +2 -2
  84. package/build/components/form/component.js.map +1 -1
  85. package/build/components/form/text/component.js +2 -2
  86. package/build/components/form/text/component.js.map +1 -1
  87. package/build/components/helper.d.ts.map +1 -1
  88. package/build/components/helper.js +1 -12
  89. package/build/components/helper.js.map +1 -1
  90. package/build/components/index.d.ts +4 -0
  91. package/build/components/index.d.ts.map +1 -1
  92. package/build/components/index.js +4 -0
  93. package/build/components/index.js.map +1 -1
  94. package/build/components/link.js +3 -3
  95. package/build/components/link.js.map +1 -1
  96. package/build/components/login/append.d.ts +15 -0
  97. package/build/components/login/append.d.ts.map +1 -0
  98. package/build/components/login/append.js +26 -0
  99. package/build/components/login/append.js.map +1 -0
  100. package/build/components/login/consts.d.ts +3 -0
  101. package/build/components/login/consts.d.ts.map +1 -0
  102. package/build/components/login/consts.js +3 -0
  103. package/build/components/login/consts.js.map +1 -0
  104. package/build/components/login/consts.local.d.ts +4 -0
  105. package/build/components/login/consts.local.d.ts.map +1 -0
  106. package/build/components/login/consts.local.js +8 -0
  107. package/build/components/login/consts.local.js.map +1 -0
  108. package/build/components/login/credit.d.ts +12 -0
  109. package/build/components/login/credit.d.ts.map +1 -0
  110. package/build/components/login/credit.js +18 -0
  111. package/build/components/login/credit.js.map +1 -0
  112. package/build/components/login/i18n/be.json +10 -0
  113. package/build/components/login/i18n/de.json +10 -0
  114. package/build/components/login/i18n/en.json +10 -0
  115. package/build/components/login/i18n/es.json +10 -0
  116. package/build/components/login/i18n/fr.json +10 -0
  117. package/build/components/login/i18n/pl.json +10 -0
  118. package/build/components/login/i18n/ru.json +10 -0
  119. package/build/components/login/i18n/uk.json +10 -0
  120. package/build/components/login/i18n.d.ts +2 -0
  121. package/build/components/login/i18n.d.ts.map +1 -0
  122. package/build/components/login/i18n.js +28 -0
  123. package/build/components/login/i18n.js.map +1 -0
  124. package/build/components/login/icons.d.ts +14 -0
  125. package/build/components/login/icons.d.ts.map +1 -0
  126. package/build/components/login/icons.js +29 -0
  127. package/build/components/login/icons.js.map +1 -0
  128. package/build/components/login/index.d.ts +11 -0
  129. package/build/components/login/index.d.ts.map +1 -0
  130. package/build/components/login/index.js +10 -0
  131. package/build/components/login/index.js.map +1 -0
  132. package/build/components/login/notify.d.ts +18 -0
  133. package/build/components/login/notify.d.ts.map +1 -0
  134. package/build/components/login/notify.js +41 -0
  135. package/build/components/login/notify.js.map +1 -0
  136. package/build/components/login/provider.d.ts +20 -0
  137. package/build/components/login/provider.d.ts.map +1 -0
  138. package/build/components/login/provider.js +31 -0
  139. package/build/components/login/provider.js.map +1 -0
  140. package/build/components/login/screen.d.ts +24 -0
  141. package/build/components/login/screen.d.ts.map +1 -0
  142. package/build/components/login/screen.js +92 -0
  143. package/build/components/login/screen.js.map +1 -0
  144. package/build/components/login/terms.d.ts +19 -0
  145. package/build/components/login/terms.d.ts.map +1 -0
  146. package/build/components/login/terms.js +32 -0
  147. package/build/components/login/terms.js.map +1 -0
  148. package/build/components/login/types.d.ts +28 -0
  149. package/build/components/login/types.d.ts.map +1 -0
  150. package/build/components/login/types.js +2 -0
  151. package/build/components/login/types.js.map +1 -0
  152. package/build/components/nav/consts.local.d.ts +41 -0
  153. package/build/components/nav/consts.local.d.ts.map +1 -0
  154. package/build/components/nav/consts.local.js +60 -0
  155. package/build/components/nav/consts.local.js.map +1 -0
  156. package/build/components/nav/index.d.ts +1 -0
  157. package/build/components/nav/index.d.ts.map +1 -1
  158. package/build/components/nav/index.js +1 -0
  159. package/build/components/nav/index.js.map +1 -1
  160. package/build/components/nav/layout.d.ts +9 -2
  161. package/build/components/nav/layout.d.ts.map +1 -1
  162. package/build/components/nav/layout.js +48 -7
  163. package/build/components/nav/layout.js.map +1 -1
  164. package/build/components/nav/mobile.d.ts +21 -0
  165. package/build/components/nav/mobile.d.ts.map +1 -0
  166. package/build/components/nav/mobile.js +55 -0
  167. package/build/components/nav/mobile.js.map +1 -0
  168. package/build/components/nav/side.d.ts.map +1 -1
  169. package/build/components/nav/side.js +10 -10
  170. package/build/components/nav/side.js.map +1 -1
  171. package/build/components/nav/top.d.ts.map +1 -1
  172. package/build/components/nav/top.js +12 -8
  173. package/build/components/nav/top.js.map +1 -1
  174. package/build/components/nav/types.d.ts +64 -1
  175. package/build/components/nav/types.d.ts.map +1 -1
  176. package/build/components/nav/viewport.d.ts +3 -0
  177. package/build/components/nav/viewport.d.ts.map +1 -0
  178. package/build/components/nav/viewport.js +14 -0
  179. package/build/components/nav/viewport.js.map +1 -0
  180. package/build/components/panel-app/component.d.ts.map +1 -1
  181. package/build/components/panel-app/component.js +4 -3
  182. package/build/components/panel-app/component.js.map +1 -1
  183. package/build/components/picker/color-picker.d.ts +9 -0
  184. package/build/components/picker/color-picker.d.ts.map +1 -0
  185. package/build/components/picker/color-picker.js +9 -0
  186. package/build/components/picker/color-picker.js.map +1 -0
  187. package/build/components/picker/consts.local.d.ts +76 -0
  188. package/build/components/picker/consts.local.d.ts.map +1 -0
  189. package/build/components/picker/consts.local.js +214 -0
  190. package/build/components/picker/consts.local.js.map +1 -0
  191. package/build/components/picker/dot.d.ts +8 -0
  192. package/build/components/picker/dot.d.ts.map +1 -0
  193. package/build/components/picker/dot.js +10 -0
  194. package/build/components/picker/dot.js.map +1 -0
  195. package/build/components/picker/grid.d.ts +17 -0
  196. package/build/components/picker/grid.d.ts.map +1 -0
  197. package/build/components/picker/grid.js +73 -0
  198. package/build/components/picker/grid.js.map +1 -0
  199. package/build/components/picker/i18n/be.json +60 -0
  200. package/build/components/picker/i18n/de.json +60 -0
  201. package/build/components/picker/i18n/en.json +60 -0
  202. package/build/components/picker/i18n/es.json +60 -0
  203. package/build/components/picker/i18n/fr.json +60 -0
  204. package/build/components/picker/i18n/pl.json +60 -0
  205. package/build/components/picker/i18n/ru.json +60 -0
  206. package/build/components/picker/i18n/uk.json +60 -0
  207. package/build/components/picker/i18n.d.ts +2 -0
  208. package/build/components/picker/i18n.d.ts.map +1 -0
  209. package/build/components/picker/i18n.js +18 -0
  210. package/build/components/picker/i18n.js.map +1 -0
  211. package/build/components/picker/icon-color-picker.d.ts +14 -0
  212. package/build/components/picker/icon-color-picker.d.ts.map +1 -0
  213. package/build/components/picker/icon-color-picker.js +15 -0
  214. package/build/components/picker/icon-color-picker.js.map +1 -0
  215. package/build/components/picker/icon-picker.d.ts +8 -0
  216. package/build/components/picker/icon-picker.d.ts.map +1 -0
  217. package/build/components/picker/icon-picker.js +8 -0
  218. package/build/components/picker/icon-picker.js.map +1 -0
  219. package/build/components/picker/index.d.ts +11 -0
  220. package/build/components/picker/index.d.ts.map +1 -0
  221. package/build/components/picker/index.js +10 -0
  222. package/build/components/picker/index.js.map +1 -0
  223. package/build/components/picker/panel.d.ts +9 -0
  224. package/build/components/picker/panel.d.ts.map +1 -0
  225. package/build/components/picker/panel.js +23 -0
  226. package/build/components/picker/panel.js.map +1 -0
  227. package/build/components/picker/root.d.ts +13 -0
  228. package/build/components/picker/root.d.ts.map +1 -0
  229. package/build/components/picker/root.js +55 -0
  230. package/build/components/picker/root.js.map +1 -0
  231. package/build/components/picker/roving.d.ts +8 -0
  232. package/build/components/picker/roving.d.ts.map +1 -0
  233. package/build/components/picker/roving.js +62 -0
  234. package/build/components/picker/roving.js.map +1 -0
  235. package/build/components/picker/surface.d.ts +18 -0
  236. package/build/components/picker/surface.d.ts.map +1 -0
  237. package/build/components/picker/surface.js +36 -0
  238. package/build/components/picker/surface.js.map +1 -0
  239. package/build/components/picker/swatches/custom.d.ts +10 -0
  240. package/build/components/picker/swatches/custom.d.ts.map +1 -0
  241. package/build/components/picker/swatches/custom.js +65 -0
  242. package/build/components/picker/swatches/custom.js.map +1 -0
  243. package/build/components/picker/swatches.d.ts +16 -0
  244. package/build/components/picker/swatches.d.ts.map +1 -0
  245. package/build/components/picker/swatches.js +35 -0
  246. package/build/components/picker/swatches.js.map +1 -0
  247. package/build/components/picker/text.d.ts +5 -0
  248. package/build/components/picker/text.d.ts.map +1 -0
  249. package/build/components/picker/text.js +29 -0
  250. package/build/components/picker/text.js.map +1 -0
  251. package/build/components/picker/tile.d.ts +11 -0
  252. package/build/components/picker/tile.d.ts.map +1 -0
  253. package/build/components/picker/tile.js +19 -0
  254. package/build/components/picker/tile.js.map +1 -0
  255. package/build/components/picker/translate.d.ts +9 -0
  256. package/build/components/picker/translate.d.ts.map +1 -0
  257. package/build/components/picker/translate.js +13 -0
  258. package/build/components/picker/translate.js.map +1 -0
  259. package/build/components/picker/trigger.d.ts +12 -0
  260. package/build/components/picker/trigger.d.ts.map +1 -0
  261. package/build/components/picker/trigger.js +29 -0
  262. package/build/components/picker/trigger.js.map +1 -0
  263. package/build/components/picker/types.d.ts +114 -0
  264. package/build/components/picker/types.d.ts.map +1 -0
  265. package/build/components/picker/types.js +2 -0
  266. package/build/components/picker/types.js.map +1 -0
  267. package/build/components/picker/types.local.d.ts +143 -0
  268. package/build/components/picker/types.local.d.ts.map +1 -0
  269. package/build/components/picker/types.local.js +2 -0
  270. package/build/components/picker/types.local.js.map +1 -0
  271. package/build/components/scheme/consts.local.d.ts +8 -0
  272. package/build/components/scheme/consts.local.d.ts.map +1 -0
  273. package/build/components/scheme/consts.local.js +13 -0
  274. package/build/components/scheme/consts.local.js.map +1 -0
  275. package/build/components/scheme/hook.d.ts +16 -0
  276. package/build/components/scheme/hook.d.ts.map +1 -0
  277. package/build/components/scheme/hook.js +52 -0
  278. package/build/components/scheme/hook.js.map +1 -0
  279. package/build/components/scheme/index.d.ts +4 -0
  280. package/build/components/scheme/index.d.ts.map +1 -0
  281. package/build/components/scheme/index.js +3 -0
  282. package/build/components/scheme/index.js.map +1 -0
  283. package/build/components/scheme/toggle.d.ts +14 -0
  284. package/build/components/scheme/toggle.d.ts.map +1 -0
  285. package/build/components/scheme/toggle.js +24 -0
  286. package/build/components/scheme/toggle.js.map +1 -0
  287. package/build/components/scheme/types.d.ts +21 -0
  288. package/build/components/scheme/types.d.ts.map +1 -0
  289. package/build/components/scheme/types.js +2 -0
  290. package/build/components/scheme/types.js.map +1 -0
  291. package/build/components/socket/i18n/be.json +9 -0
  292. package/build/components/socket/i18n/de.json +9 -0
  293. package/build/components/socket/i18n/en.json +9 -0
  294. package/build/components/socket/i18n/es.json +9 -0
  295. package/build/components/socket/i18n/fr.json +9 -0
  296. package/build/components/socket/i18n/pl.json +9 -0
  297. package/build/components/socket/i18n/ru.json +9 -0
  298. package/build/components/socket/i18n/uk.json +9 -0
  299. package/build/components/socket/i18n.d.ts +2 -0
  300. package/build/components/socket/i18n.d.ts.map +1 -0
  301. package/build/components/socket/i18n.js +18 -0
  302. package/build/components/socket/i18n.js.map +1 -0
  303. package/build/components/socket/index.d.ts +3 -0
  304. package/build/components/socket/index.d.ts.map +1 -0
  305. package/build/components/socket/index.js +3 -0
  306. package/build/components/socket/index.js.map +1 -0
  307. package/build/components/socket/reload-dialog.d.ts +22 -0
  308. package/build/components/socket/reload-dialog.d.ts.map +1 -0
  309. package/build/components/socket/reload-dialog.js +34 -0
  310. package/build/components/socket/reload-dialog.js.map +1 -0
  311. package/build/components/status.js +1 -1
  312. package/build/components/status.js.map +1 -1
  313. package/build/components/text.d.ts.map +1 -1
  314. package/build/components/text.js +2 -13
  315. package/build/components/text.js.map +1 -1
  316. package/build/components/toaster.d.ts +16 -0
  317. package/build/components/toaster.d.ts.map +1 -0
  318. package/build/components/toaster.js +52 -0
  319. package/build/components/toaster.js.map +1 -0
  320. package/build/components/uploader/consts.local.d.ts +4 -0
  321. package/build/components/uploader/consts.local.d.ts.map +1 -0
  322. package/build/components/uploader/consts.local.js +6 -0
  323. package/build/components/uploader/consts.local.js.map +1 -0
  324. package/build/components/uploader/image.d.ts.map +1 -1
  325. package/build/components/uploader/image.js +2 -6
  326. package/build/components/uploader/image.js.map +1 -1
  327. package/build/consent/component.d.ts +27 -0
  328. package/build/consent/component.d.ts.map +1 -0
  329. package/build/consent/component.js +60 -0
  330. package/build/consent/component.js.map +1 -0
  331. package/build/consent/consts.d.ts +2 -0
  332. package/build/consent/consts.d.ts.map +1 -0
  333. package/build/consent/consts.js +2 -0
  334. package/build/consent/consts.js.map +1 -0
  335. package/build/consent/consts.local.d.ts +9 -0
  336. package/build/consent/consts.local.d.ts.map +1 -0
  337. package/build/consent/consts.local.js +9 -0
  338. package/build/consent/consts.local.js.map +1 -0
  339. package/build/consent/geo.d.ts +17 -0
  340. package/build/consent/geo.d.ts.map +1 -0
  341. package/build/consent/geo.js +19 -0
  342. package/build/consent/geo.js.map +1 -0
  343. package/build/consent/index.d.ts +11 -0
  344. package/build/consent/index.d.ts.map +1 -0
  345. package/build/consent/index.js +9 -0
  346. package/build/consent/index.js.map +1 -0
  347. package/build/consent/language.d.ts +12 -0
  348. package/build/consent/language.d.ts.map +1 -0
  349. package/build/consent/language.js +11 -0
  350. package/build/consent/language.js.map +1 -0
  351. package/build/consent/menu-widget.d.ts +13 -0
  352. package/build/consent/menu-widget.d.ts.map +1 -0
  353. package/build/consent/menu-widget.js +20 -0
  354. package/build/consent/menu-widget.js.map +1 -0
  355. package/build/consent/presence.d.ts +30 -0
  356. package/build/consent/presence.d.ts.map +1 -0
  357. package/build/consent/presence.js +40 -0
  358. package/build/consent/presence.js.map +1 -0
  359. package/build/consent/service.d.ts +18 -0
  360. package/build/consent/service.d.ts.map +1 -0
  361. package/build/consent/service.js +53 -0
  362. package/build/consent/service.js.map +1 -0
  363. package/build/consent/translate.d.ts +14 -0
  364. package/build/consent/translate.d.ts.map +1 -0
  365. package/build/consent/translate.js +28 -0
  366. package/build/consent/translate.js.map +1 -0
  367. package/build/consent/types.d.ts +39 -0
  368. package/build/consent/types.d.ts.map +1 -0
  369. package/build/consent/types.js +2 -0
  370. package/build/consent/types.js.map +1 -0
  371. package/build/consent/types.local.d.ts +6 -0
  372. package/build/consent/types.local.d.ts.map +1 -0
  373. package/build/consent/types.local.js +2 -0
  374. package/build/consent/types.local.js.map +1 -0
  375. package/build/context.d.ts.map +1 -1
  376. package/build/context.js +10 -0
  377. package/build/context.js.map +1 -1
  378. package/build/editor/component.d.ts +4 -0
  379. package/build/editor/component.d.ts.map +1 -0
  380. package/build/editor/component.js +103 -0
  381. package/build/editor/component.js.map +1 -0
  382. package/build/editor/consts.local.d.ts +6 -0
  383. package/build/editor/consts.local.d.ts.map +1 -0
  384. package/build/editor/consts.local.js +58 -0
  385. package/build/editor/consts.local.js.map +1 -0
  386. package/build/editor/index.d.ts +3 -0
  387. package/build/editor/index.d.ts.map +1 -0
  388. package/build/editor/index.js +2 -0
  389. package/build/editor/index.js.map +1 -0
  390. package/build/editor/types.d.ts +24 -0
  391. package/build/editor/types.d.ts.map +1 -0
  392. package/build/editor/types.js +2 -0
  393. package/build/editor/types.js.map +1 -0
  394. package/build/entrypoints.d.ts +8 -0
  395. package/build/entrypoints.d.ts.map +1 -0
  396. package/build/entrypoints.js +4 -0
  397. package/build/entrypoints.js.map +1 -0
  398. package/build/exports.d.ts +6 -5
  399. package/build/exports.d.ts.map +1 -1
  400. package/build/exports.js +5 -5
  401. package/build/exports.js.map +1 -1
  402. package/build/index.d.ts +1 -1
  403. package/build/index.d.ts.map +1 -1
  404. package/build/index.js +1 -1
  405. package/build/index.js.map +1 -1
  406. package/build/main.d.ts +1 -4
  407. package/build/main.d.ts.map +1 -1
  408. package/build/main.js.map +1 -1
  409. package/build/modules.d.ts +1 -1
  410. package/build/modules.d.ts.map +1 -1
  411. package/build/permission/i18n/be.json +13 -0
  412. package/build/permission/i18n/de.json +13 -0
  413. package/build/permission/i18n/en.json +13 -0
  414. package/build/permission/i18n/es.json +13 -0
  415. package/build/permission/i18n/fr.json +13 -0
  416. package/build/permission/i18n/pl.json +13 -0
  417. package/build/permission/i18n/ru.json +13 -0
  418. package/build/permission/i18n/uk.json +13 -0
  419. package/build/permission/i18n.d.ts +2 -0
  420. package/build/permission/i18n.d.ts.map +1 -0
  421. package/build/permission/i18n.js +13 -0
  422. package/build/permission/i18n.js.map +1 -0
  423. package/build/permission/index.d.ts +6 -0
  424. package/build/permission/index.d.ts.map +1 -0
  425. package/build/permission/index.js +27 -0
  426. package/build/permission/index.js.map +1 -0
  427. package/build/permission/toast.d.ts +5 -0
  428. package/build/permission/toast.d.ts.map +1 -0
  429. package/build/permission/toast.js +8 -0
  430. package/build/permission/toast.js.map +1 -0
  431. package/build/permission/types.d.ts +6 -0
  432. package/build/permission/types.d.ts.map +1 -0
  433. package/build/permission/types.js +2 -0
  434. package/build/permission/types.js.map +1 -0
  435. package/build/picker/icons/consts.d.ts +9 -0
  436. package/build/picker/icons/consts.d.ts.map +1 -0
  437. package/build/picker/icons/consts.js +264 -0
  438. package/build/picker/icons/consts.js.map +1 -0
  439. package/build/picker/icons/types.d.ts +18 -0
  440. package/build/picker/icons/types.d.ts.map +1 -0
  441. package/build/picker/icons/types.js +2 -0
  442. package/build/picker/icons/types.js.map +1 -0
  443. package/build/picker/icons.d.ts +4 -0
  444. package/build/picker/icons.d.ts.map +1 -0
  445. package/build/picker/icons.js +54 -0
  446. package/build/picker/icons.js.map +1 -0
  447. package/build/picker/index.d.ts +11 -0
  448. package/build/picker/index.d.ts.map +1 -0
  449. package/build/picker/index.js +10 -0
  450. package/build/picker/index.js.map +1 -0
  451. package/build/picker/utils/color/types.d.ts +35 -0
  452. package/build/picker/utils/color/types.d.ts.map +1 -0
  453. package/build/picker/utils/color/types.js +2 -0
  454. package/build/picker/utils/color/types.js.map +1 -0
  455. package/build/picker/utils/color.d.ts +4 -0
  456. package/build/picker/utils/color.d.ts.map +1 -0
  457. package/build/picker/utils/color.js +96 -0
  458. package/build/picker/utils/color.js.map +1 -0
  459. package/build/picker/vocabulary/consts.d.ts +26 -0
  460. package/build/picker/vocabulary/consts.d.ts.map +1 -0
  461. package/build/picker/vocabulary/consts.js +336 -0
  462. package/build/picker/vocabulary/consts.js.map +1 -0
  463. package/build/picker/vocabulary/types.d.ts +67 -0
  464. package/build/picker/vocabulary/types.d.ts.map +1 -0
  465. package/build/picker/vocabulary/types.js +2 -0
  466. package/build/picker/vocabulary/types.js.map +1 -0
  467. package/build/picker/vocabulary.d.ts +11 -0
  468. package/build/picker/vocabulary.d.ts.map +1 -0
  469. package/build/picker/vocabulary.js +83 -0
  470. package/build/picker/vocabulary.js.map +1 -0
  471. package/build/scheme/consts.d.ts +8 -0
  472. package/build/scheme/consts.d.ts.map +1 -0
  473. package/build/scheme/consts.js +8 -0
  474. package/build/scheme/consts.js.map +1 -0
  475. package/build/scheme/index.d.ts +4 -0
  476. package/build/scheme/index.d.ts.map +1 -0
  477. package/build/scheme/index.js +3 -0
  478. package/build/scheme/index.js.map +1 -0
  479. package/build/scheme/scheme.d.ts +16 -0
  480. package/build/scheme/scheme.d.ts.map +1 -0
  481. package/build/scheme/scheme.js +58 -0
  482. package/build/scheme/scheme.js.map +1 -0
  483. package/build/scheme/types.d.ts +30 -0
  484. package/build/scheme/types.d.ts.map +1 -0
  485. package/build/scheme/types.js +2 -0
  486. package/build/scheme/types.js.map +1 -0
  487. package/build/types.d.ts +18 -2
  488. package/build/types.d.ts.map +1 -1
  489. package/package.json +107 -52
  490. package/src/@/components/ui/alert-dialog.tsx +156 -0
  491. package/src/@/components/ui/alert.tsx +1 -1
  492. package/src/@/components/ui/button.tsx +1 -1
  493. package/src/@/components/ui/card.tsx +1 -1
  494. package/src/@/components/ui/input.tsx +1 -1
  495. package/src/@/components/ui/label.tsx +1 -1
  496. package/src/@/components/ui/navigation-menu.tsx +1 -1
  497. package/src/@/components/ui/popover.tsx +47 -0
  498. package/src/@/components/ui/progress.tsx +1 -1
  499. package/src/@/components/ui/separator.tsx +1 -1
  500. package/src/@/components/ui/sheet.tsx +142 -0
  501. package/src/auth/context.ts +0 -2
  502. package/src/auth/entrypoints.ts +5 -0
  503. package/src/auth/exports.ts +4 -4
  504. package/src/auth/plugins/basic-ed25519.tsx +4 -4
  505. package/src/auth/plugins/re-captcha.tsx +3 -3
  506. package/src/auth/plugins/tunnel-consumer.tsx +1 -1
  507. package/src/components/block.tsx +2 -2
  508. package/src/components/consts.local.ts +29 -0
  509. package/src/components/footer/component.tsx +58 -16
  510. package/src/components/footer/credit.tsx +61 -0
  511. package/src/components/footer/index.ts +1 -0
  512. package/src/components/footer/types.ts +22 -1
  513. package/src/components/form/button/component.tsx +7 -4
  514. package/src/components/form/component.tsx +2 -2
  515. package/src/components/form/text/component.tsx +2 -2
  516. package/src/components/helper.ts +1 -13
  517. package/src/components/index.ts +4 -0
  518. package/src/components/link.tsx +3 -3
  519. package/src/components/login/append.ts +34 -0
  520. package/src/components/login/consts.local.ts +10 -0
  521. package/src/components/login/consts.ts +2 -0
  522. package/src/components/login/credit.tsx +33 -0
  523. package/src/components/login/i18n/be.json +10 -0
  524. package/src/components/login/i18n/de.json +10 -0
  525. package/src/components/login/i18n/en.json +10 -0
  526. package/src/components/login/i18n/es.json +10 -0
  527. package/src/components/login/i18n/fr.json +10 -0
  528. package/src/components/login/i18n/pl.json +10 -0
  529. package/src/components/login/i18n/ru.json +10 -0
  530. package/src/components/login/i18n/uk.json +10 -0
  531. package/src/components/login/i18n.ts +29 -0
  532. package/src/components/login/icons.tsx +39 -0
  533. package/src/components/login/index.ts +11 -0
  534. package/src/components/login/notify.ts +48 -0
  535. package/src/components/login/provider.tsx +57 -0
  536. package/src/components/login/screen.tsx +178 -0
  537. package/src/components/login/terms.tsx +75 -0
  538. package/src/components/login/types.ts +30 -0
  539. package/src/components/nav/consts.local.ts +64 -0
  540. package/src/components/nav/index.ts +1 -0
  541. package/src/components/nav/layout.tsx +184 -26
  542. package/src/components/nav/mobile.tsx +165 -0
  543. package/src/components/nav/side.tsx +43 -27
  544. package/src/components/nav/top.tsx +44 -22
  545. package/src/components/nav/types.ts +65 -2
  546. package/src/components/nav/viewport.ts +16 -0
  547. package/src/components/panel-app/component.tsx +9 -1
  548. package/src/components/picker/color-picker.tsx +15 -0
  549. package/src/components/picker/consts.local.ts +267 -0
  550. package/src/components/picker/dot.tsx +21 -0
  551. package/src/components/picker/grid.tsx +138 -0
  552. package/src/components/picker/i18n/be.json +60 -0
  553. package/src/components/picker/i18n/de.json +60 -0
  554. package/src/components/picker/i18n/en.json +60 -0
  555. package/src/components/picker/i18n/es.json +60 -0
  556. package/src/components/picker/i18n/fr.json +60 -0
  557. package/src/components/picker/i18n/pl.json +60 -0
  558. package/src/components/picker/i18n/ru.json +60 -0
  559. package/src/components/picker/i18n/uk.json +60 -0
  560. package/src/components/picker/i18n.ts +19 -0
  561. package/src/components/picker/icon-color-picker.tsx +25 -0
  562. package/src/components/picker/icon-picker.tsx +13 -0
  563. package/src/components/picker/index.ts +11 -0
  564. package/src/components/picker/panel.tsx +61 -0
  565. package/src/components/picker/root.tsx +81 -0
  566. package/src/components/picker/roving.ts +70 -0
  567. package/src/components/picker/surface.tsx +62 -0
  568. package/src/components/picker/swatches/custom.tsx +110 -0
  569. package/src/components/picker/swatches.tsx +67 -0
  570. package/src/components/picker/text.ts +46 -0
  571. package/src/components/picker/tile.tsx +35 -0
  572. package/src/components/picker/translate.ts +15 -0
  573. package/src/components/picker/trigger.tsx +54 -0
  574. package/src/components/picker/types.local.ts +154 -0
  575. package/src/components/picker/types.ts +125 -0
  576. package/src/components/scheme/consts.local.ts +13 -0
  577. package/src/components/scheme/hook.ts +62 -0
  578. package/src/components/scheme/index.ts +4 -0
  579. package/src/components/scheme/toggle.tsx +32 -0
  580. package/src/components/scheme/types.ts +23 -0
  581. package/src/components/socket/i18n/be.json +9 -0
  582. package/src/components/socket/i18n/de.json +9 -0
  583. package/src/components/socket/i18n/en.json +9 -0
  584. package/src/components/socket/i18n/es.json +9 -0
  585. package/src/components/socket/i18n/fr.json +9 -0
  586. package/src/components/socket/i18n/pl.json +9 -0
  587. package/src/components/socket/i18n/ru.json +9 -0
  588. package/src/components/socket/i18n/uk.json +9 -0
  589. package/src/components/socket/i18n.ts +19 -0
  590. package/src/components/socket/index.ts +2 -0
  591. package/src/components/socket/reload-dialog.tsx +61 -0
  592. package/src/components/status.tsx +1 -1
  593. package/src/components/text.tsx +2 -14
  594. package/src/components/toaster.tsx +65 -0
  595. package/src/components/uploader/consts.local.ts +7 -0
  596. package/src/components/uploader/image.tsx +2 -6
  597. package/src/consent/component.tsx +84 -0
  598. package/src/consent/consts.local.ts +10 -0
  599. package/src/consent/consts.ts +1 -0
  600. package/src/consent/geo.ts +26 -0
  601. package/src/consent/index.ts +24 -0
  602. package/src/consent/language.ts +12 -0
  603. package/src/consent/menu-widget.tsx +22 -0
  604. package/src/consent/presence.ts +45 -0
  605. package/src/consent/service.ts +75 -0
  606. package/src/consent/translate.ts +31 -0
  607. package/src/consent/types.local.ts +6 -0
  608. package/src/consent/types.ts +43 -0
  609. package/src/context.ts +12 -0
  610. package/src/editor/component.tsx +172 -0
  611. package/src/editor/consts.local.ts +62 -0
  612. package/src/editor/index.ts +2 -0
  613. package/src/editor/types.ts +24 -0
  614. package/src/entrypoints.ts +5 -0
  615. package/src/exports.ts +6 -5
  616. package/src/index.ts +1 -1
  617. package/src/main.tsx +2 -6
  618. package/src/permission/i18n/be.json +13 -0
  619. package/src/permission/i18n/de.json +13 -0
  620. package/src/permission/i18n/en.json +13 -0
  621. package/src/permission/i18n/es.json +13 -0
  622. package/src/permission/i18n/fr.json +13 -0
  623. package/src/permission/i18n/pl.json +13 -0
  624. package/src/permission/i18n/ru.json +13 -0
  625. package/src/permission/i18n/uk.json +13 -0
  626. package/src/permission/i18n.ts +13 -0
  627. package/src/permission/index.ts +27 -0
  628. package/src/permission/toast.tsx +20 -0
  629. package/src/permission/types.ts +5 -0
  630. package/src/picker/icons/consts.ts +309 -0
  631. package/src/picker/icons/types.ts +18 -0
  632. package/src/picker/icons.ts +70 -0
  633. package/src/picker/index.ts +11 -0
  634. package/src/picker/utils/color/types.ts +37 -0
  635. package/src/picker/utils/color.ts +119 -0
  636. package/src/picker/vocabulary/consts.ts +347 -0
  637. package/src/picker/vocabulary/types.ts +72 -0
  638. package/src/picker/vocabulary.ts +111 -0
  639. package/src/scheme/consts.ts +8 -0
  640. package/src/scheme/index.ts +3 -0
  641. package/src/scheme/scheme.ts +66 -0
  642. package/src/scheme/types.ts +30 -0
  643. package/src/types.ts +19 -2
  644. package/tests/consent-language.spec.ts +31 -0
  645. package/tests/consent.spec.ts +112 -0
  646. package/tests/context.ts +4 -0
  647. package/tests/editor.spec.ts +58 -0
  648. package/tests/harness/editor.tsx +32 -0
  649. package/tests/harness/index.html +1 -0
  650. package/tests/harness/lazy-screen.tsx +9 -0
  651. package/tests/harness/mount.tsx +370 -29
  652. package/tests/harness/picker.tsx +110 -0
  653. package/tests/lazy.spec.ts +104 -0
  654. package/tests/login-provider.spec.ts +114 -0
  655. package/tests/login.spec.ts +447 -0
  656. package/tests/nav.spec.ts +449 -3
  657. package/tests/package-boundary.spec.ts +19 -0
  658. package/tests/picker-shots.spec.ts +174 -0
  659. package/tests/picker-vocabulary.spec.ts +217 -0
  660. package/tests/picker.spec.ts +333 -0
  661. package/tests/scheme.spec.ts +149 -0
  662. package/tests/smoke.spec.ts +2 -2
  663. package/tests/socket-dialog.spec.ts +154 -0
  664. package/tests/toaster.spec.ts +59 -0
  665. package/zz-tw.d.mts +2 -0
  666. package/zz-tw.d.mts.map +1 -0
  667. package/build/.gitkeep +0 -0
  668. package/src/auth/modules.ts +0 -5
  669. package/src/modules.ts +0 -5
@@ -0,0 +1,60 @@
1
+ {
2
+ "label": "Symbol und Farbe",
3
+ "icon": "Symbol",
4
+ "color": "Farbe",
5
+ "placeholder": {
6
+ "both": "Symbol und Farbe wählen",
7
+ "icon": "Symbol wählen",
8
+ "color": "Farbe wählen"
9
+ },
10
+ "nothing": "Noch nichts gewählt",
11
+ "done": "Fertig",
12
+ "search": "Symbole suchen",
13
+ "searchPlaceholder": "Symbole suchen…",
14
+ "categoriesLabel": "Kategorien",
15
+ "all": "Alle",
16
+ "results": "Gefundene Symbole: {count}",
17
+ "empty": "Keine Symbole passen zu „{query}“",
18
+ "clear": "Suche löschen",
19
+ "custom": "Eigene Farbe",
20
+ "hex": "Hex-Farbe",
21
+ "invalidHex": "Gib eine Farbe wie #3b82f6 ein",
22
+ "colors": {
23
+ "red": "Rot",
24
+ "orange": "Orange",
25
+ "amber": "Bernstein",
26
+ "yellow": "Gelb",
27
+ "lime": "Limette",
28
+ "green": "Grün",
29
+ "emerald": "Smaragd",
30
+ "teal": "Petrol",
31
+ "cyan": "Cyan",
32
+ "sky": "Himmelblau",
33
+ "blue": "Blau",
34
+ "indigo": "Indigo",
35
+ "violet": "Violett",
36
+ "purple": "Lila",
37
+ "fuchsia": "Fuchsia",
38
+ "pink": "Rosa",
39
+ "rose": "Himbeere",
40
+ "maroon": "Weinrot",
41
+ "brown": "Braun",
42
+ "olive": "Oliv",
43
+ "navy": "Marineblau",
44
+ "slate": "Schiefer",
45
+ "stone": "Stein",
46
+ "graphite": "Graphit"
47
+ },
48
+ "categories": {
49
+ "work": "Arbeit",
50
+ "people": "Personen",
51
+ "communication": "Kommunikation",
52
+ "commerce": "Handel",
53
+ "operations": "Betrieb",
54
+ "places": "Orte",
55
+ "tech": "Technik",
56
+ "status": "Status",
57
+ "objects": "Gegenstände",
58
+ "nature": "Natur"
59
+ }
60
+ }
@@ -0,0 +1,60 @@
1
+ {
2
+ "label": "Icon and colour",
3
+ "icon": "Icon",
4
+ "color": "Colour",
5
+ "placeholder": {
6
+ "both": "Choose icon and colour",
7
+ "icon": "Choose an icon",
8
+ "color": "Choose a colour"
9
+ },
10
+ "nothing": "Nothing chosen yet",
11
+ "done": "Done",
12
+ "search": "Search icons",
13
+ "searchPlaceholder": "Search icons…",
14
+ "categoriesLabel": "Categories",
15
+ "all": "All",
16
+ "results": "Icons found: {count}",
17
+ "empty": "No icons match “{query}”",
18
+ "clear": "Clear search",
19
+ "custom": "Custom colour",
20
+ "hex": "Hex colour",
21
+ "invalidHex": "Enter a colour like #3b82f6",
22
+ "colors": {
23
+ "red": "Red",
24
+ "orange": "Orange",
25
+ "amber": "Amber",
26
+ "yellow": "Yellow",
27
+ "lime": "Lime",
28
+ "green": "Green",
29
+ "emerald": "Emerald",
30
+ "teal": "Teal",
31
+ "cyan": "Cyan",
32
+ "sky": "Sky",
33
+ "blue": "Blue",
34
+ "indigo": "Indigo",
35
+ "violet": "Violet",
36
+ "purple": "Purple",
37
+ "fuchsia": "Fuchsia",
38
+ "pink": "Pink",
39
+ "rose": "Rose",
40
+ "maroon": "Maroon",
41
+ "brown": "Brown",
42
+ "olive": "Olive",
43
+ "navy": "Navy",
44
+ "slate": "Slate",
45
+ "stone": "Stone",
46
+ "graphite": "Graphite"
47
+ },
48
+ "categories": {
49
+ "work": "Work",
50
+ "people": "People",
51
+ "communication": "Communication",
52
+ "commerce": "Commerce",
53
+ "operations": "Operations",
54
+ "places": "Places",
55
+ "tech": "Tech",
56
+ "status": "Status",
57
+ "objects": "Objects",
58
+ "nature": "Nature"
59
+ }
60
+ }
@@ -0,0 +1,60 @@
1
+ {
2
+ "label": "Icono y color",
3
+ "icon": "Icono",
4
+ "color": "Color",
5
+ "placeholder": {
6
+ "both": "Elige icono y color",
7
+ "icon": "Elige un icono",
8
+ "color": "Elige un color"
9
+ },
10
+ "nothing": "Nada elegido todavía",
11
+ "done": "Listo",
12
+ "search": "Buscar iconos",
13
+ "searchPlaceholder": "Buscar iconos…",
14
+ "categoriesLabel": "Categorías",
15
+ "all": "Todos",
16
+ "results": "Iconos encontrados: {count}",
17
+ "empty": "Ningún icono coincide con «{query}»",
18
+ "clear": "Borrar búsqueda",
19
+ "custom": "Color personalizado",
20
+ "hex": "Color hexadecimal",
21
+ "invalidHex": "Escribe un color como #3b82f6",
22
+ "colors": {
23
+ "red": "Rojo",
24
+ "orange": "Naranja",
25
+ "amber": "Ámbar",
26
+ "yellow": "Amarillo",
27
+ "lime": "Lima",
28
+ "green": "Verde",
29
+ "emerald": "Esmeralda",
30
+ "teal": "Verde azulado",
31
+ "cyan": "Cian",
32
+ "sky": "Celeste",
33
+ "blue": "Azul",
34
+ "indigo": "Índigo",
35
+ "violet": "Violeta",
36
+ "purple": "Púrpura",
37
+ "fuchsia": "Fucsia",
38
+ "pink": "Rosa",
39
+ "rose": "Frambuesa",
40
+ "maroon": "Granate",
41
+ "brown": "Marrón",
42
+ "olive": "Oliva",
43
+ "navy": "Azul marino",
44
+ "slate": "Pizarra",
45
+ "stone": "Piedra",
46
+ "graphite": "Grafito"
47
+ },
48
+ "categories": {
49
+ "work": "Trabajo",
50
+ "people": "Personas",
51
+ "communication": "Comunicación",
52
+ "commerce": "Comercio",
53
+ "operations": "Operaciones",
54
+ "places": "Lugares",
55
+ "tech": "Tecnología",
56
+ "status": "Estados",
57
+ "objects": "Objetos",
58
+ "nature": "Naturaleza"
59
+ }
60
+ }
@@ -0,0 +1,60 @@
1
+ {
2
+ "label": "Icône et couleur",
3
+ "icon": "Icône",
4
+ "color": "Couleur",
5
+ "placeholder": {
6
+ "both": "Choisir une icône et une couleur",
7
+ "icon": "Choisir une icône",
8
+ "color": "Choisir une couleur"
9
+ },
10
+ "nothing": "Rien de choisi pour l’instant",
11
+ "done": "Terminé",
12
+ "search": "Rechercher des icônes",
13
+ "searchPlaceholder": "Rechercher des icônes…",
14
+ "categoriesLabel": "Catégories",
15
+ "all": "Toutes",
16
+ "results": "Icônes trouvées : {count}",
17
+ "empty": "Aucune icône ne correspond à « {query} »",
18
+ "clear": "Effacer la recherche",
19
+ "custom": "Couleur personnalisée",
20
+ "hex": "Couleur hexadécimale",
21
+ "invalidHex": "Saisissez une couleur comme #3b82f6",
22
+ "colors": {
23
+ "red": "Rouge",
24
+ "orange": "Orange",
25
+ "amber": "Ambre",
26
+ "yellow": "Jaune",
27
+ "lime": "Citron vert",
28
+ "green": "Vert",
29
+ "emerald": "Émeraude",
30
+ "teal": "Sarcelle",
31
+ "cyan": "Cyan",
32
+ "sky": "Ciel",
33
+ "blue": "Bleu",
34
+ "indigo": "Indigo",
35
+ "violet": "Violet",
36
+ "purple": "Pourpre",
37
+ "fuchsia": "Fuchsia",
38
+ "pink": "Rose",
39
+ "rose": "Framboise",
40
+ "maroon": "Bordeaux",
41
+ "brown": "Marron",
42
+ "olive": "Olive",
43
+ "navy": "Bleu marine",
44
+ "slate": "Ardoise",
45
+ "stone": "Pierre",
46
+ "graphite": "Graphite"
47
+ },
48
+ "categories": {
49
+ "work": "Travail",
50
+ "people": "Personnes",
51
+ "communication": "Communication",
52
+ "commerce": "Commerce",
53
+ "operations": "Opérations",
54
+ "places": "Lieux",
55
+ "tech": "Technologie",
56
+ "status": "Statuts",
57
+ "objects": "Objets",
58
+ "nature": "Nature"
59
+ }
60
+ }
@@ -0,0 +1,60 @@
1
+ {
2
+ "label": "Ikona i kolor",
3
+ "icon": "Ikona",
4
+ "color": "Kolor",
5
+ "placeholder": {
6
+ "both": "Wybierz ikonę i kolor",
7
+ "icon": "Wybierz ikonę",
8
+ "color": "Wybierz kolor"
9
+ },
10
+ "nothing": "Nic jeszcze nie wybrano",
11
+ "done": "Gotowe",
12
+ "search": "Szukaj ikon",
13
+ "searchPlaceholder": "Szukaj ikon…",
14
+ "categoriesLabel": "Kategorie",
15
+ "all": "Wszystkie",
16
+ "results": "Znalezione ikony: {count}",
17
+ "empty": "Brak ikon pasujących do „{query}”",
18
+ "clear": "Wyczyść wyszukiwanie",
19
+ "custom": "Własny kolor",
20
+ "hex": "Kolor szesnastkowy",
21
+ "invalidHex": "Wpisz kolor, np. #3b82f6",
22
+ "colors": {
23
+ "red": "Czerwony",
24
+ "orange": "Pomarańczowy",
25
+ "amber": "Bursztynowy",
26
+ "yellow": "Żółty",
27
+ "lime": "Limonkowy",
28
+ "green": "Zielony",
29
+ "emerald": "Szmaragdowy",
30
+ "teal": "Morski",
31
+ "cyan": "Cyjan",
32
+ "sky": "Błękitny",
33
+ "blue": "Niebieski",
34
+ "indigo": "Indygo",
35
+ "violet": "Fioletowy",
36
+ "purple": "Purpurowy",
37
+ "fuchsia": "Fuksja",
38
+ "pink": "Różowy",
39
+ "rose": "Malinowy",
40
+ "maroon": "Bordowy",
41
+ "brown": "Brązowy",
42
+ "olive": "Oliwkowy",
43
+ "navy": "Granatowy",
44
+ "slate": "Łupkowy",
45
+ "stone": "Kamienny",
46
+ "graphite": "Grafitowy"
47
+ },
48
+ "categories": {
49
+ "work": "Praca",
50
+ "people": "Ludzie",
51
+ "communication": "Komunikacja",
52
+ "commerce": "Handel",
53
+ "operations": "Operacje",
54
+ "places": "Miejsca",
55
+ "tech": "Technologia",
56
+ "status": "Status",
57
+ "objects": "Przedmioty",
58
+ "nature": "Natura"
59
+ }
60
+ }
@@ -0,0 +1,60 @@
1
+ {
2
+ "label": "Значок и цвет",
3
+ "icon": "Значок",
4
+ "color": "Цвет",
5
+ "placeholder": {
6
+ "both": "Выберите значок и цвет",
7
+ "icon": "Выберите значок",
8
+ "color": "Выберите цвет"
9
+ },
10
+ "nothing": "Ничего не выбрано",
11
+ "done": "Готово",
12
+ "search": "Поиск значков",
13
+ "searchPlaceholder": "Поиск значков…",
14
+ "categoriesLabel": "Категории",
15
+ "all": "Все",
16
+ "results": "Найдено значков: {count}",
17
+ "empty": "Нет значков по запросу «{query}»",
18
+ "clear": "Очистить поиск",
19
+ "custom": "Свой цвет",
20
+ "hex": "Цвет в формате HEX",
21
+ "invalidHex": "Введите цвет, например #3b82f6",
22
+ "colors": {
23
+ "red": "Красный",
24
+ "orange": "Оранжевый",
25
+ "amber": "Янтарный",
26
+ "yellow": "Жёлтый",
27
+ "lime": "Лаймовый",
28
+ "green": "Зелёный",
29
+ "emerald": "Изумрудный",
30
+ "teal": "Бирюзовый",
31
+ "cyan": "Циан",
32
+ "sky": "Небесный",
33
+ "blue": "Синий",
34
+ "indigo": "Индиго",
35
+ "violet": "Фиолетовый",
36
+ "purple": "Пурпурный",
37
+ "fuchsia": "Фуксия",
38
+ "pink": "Розовый",
39
+ "rose": "Малиновый",
40
+ "maroon": "Бордовый",
41
+ "brown": "Коричневый",
42
+ "olive": "Оливковый",
43
+ "navy": "Тёмно-синий",
44
+ "slate": "Сланцевый",
45
+ "stone": "Каменный",
46
+ "graphite": "Графитовый"
47
+ },
48
+ "categories": {
49
+ "work": "Работа",
50
+ "people": "Люди",
51
+ "communication": "Общение",
52
+ "commerce": "Торговля",
53
+ "operations": "Операции",
54
+ "places": "Места",
55
+ "tech": "Технологии",
56
+ "status": "Статусы",
57
+ "objects": "Предметы",
58
+ "nature": "Природа"
59
+ }
60
+ }
@@ -0,0 +1,60 @@
1
+ {
2
+ "label": "Значок і колір",
3
+ "icon": "Значок",
4
+ "color": "Колір",
5
+ "placeholder": {
6
+ "both": "Виберіть значок і колір",
7
+ "icon": "Виберіть значок",
8
+ "color": "Виберіть колір"
9
+ },
10
+ "nothing": "Нічого не вибрано",
11
+ "done": "Готово",
12
+ "search": "Пошук значків",
13
+ "searchPlaceholder": "Пошук значків…",
14
+ "categoriesLabel": "Категорії",
15
+ "all": "Усі",
16
+ "results": "Знайдено значків: {count}",
17
+ "empty": "Немає значків за запитом «{query}»",
18
+ "clear": "Очистити пошук",
19
+ "custom": "Власний колір",
20
+ "hex": "Колір у форматі HEX",
21
+ "invalidHex": "Введіть колір, наприклад #3b82f6",
22
+ "colors": {
23
+ "red": "Червоний",
24
+ "orange": "Помаранчевий",
25
+ "amber": "Бурштиновий",
26
+ "yellow": "Жовтий",
27
+ "lime": "Лаймовий",
28
+ "green": "Зелений",
29
+ "emerald": "Смарагдовий",
30
+ "teal": "Бірюзовий",
31
+ "cyan": "Ціан",
32
+ "sky": "Небесний",
33
+ "blue": "Синій",
34
+ "indigo": "Індиго",
35
+ "violet": "Фіолетовий",
36
+ "purple": "Пурпуровий",
37
+ "fuchsia": "Фуксія",
38
+ "pink": "Рожевий",
39
+ "rose": "Малиновий",
40
+ "maroon": "Бордовий",
41
+ "brown": "Коричневий",
42
+ "olive": "Оливковий",
43
+ "navy": "Темно-синій",
44
+ "slate": "Сланцевий",
45
+ "stone": "Кам’яний",
46
+ "graphite": "Графітовий"
47
+ },
48
+ "categories": {
49
+ "work": "Робота",
50
+ "people": "Люди",
51
+ "communication": "Спілкування",
52
+ "commerce": "Торгівля",
53
+ "operations": "Операції",
54
+ "places": "Місця",
55
+ "tech": "Технології",
56
+ "status": "Статуси",
57
+ "objects": "Предмети",
58
+ "nature": "Природа"
59
+ }
60
+ }
@@ -0,0 +1,19 @@
1
+ import { i18nHelper } from '@owlmeans/i18n'
2
+
3
+ import en from './i18n/en.json' with { type: 'json' }
4
+ import pl from './i18n/pl.json' with { type: 'json' }
5
+ import ru from './i18n/ru.json' with { type: 'json' }
6
+ import be from './i18n/be.json' with { type: 'json' }
7
+ import uk from './i18n/uk.json' with { type: 'json' }
8
+ import es from './i18n/es.json' with { type: 'json' }
9
+ import de from './i18n/de.json' with { type: 'json' }
10
+ import fr from './i18n/fr.json' with { type: 'json' }
11
+
12
+ i18nHelper.addI18nLib('en', 'picker', en)
13
+ i18nHelper.addI18nLib('pl', 'picker', pl)
14
+ i18nHelper.addI18nLib('ru', 'picker', ru)
15
+ i18nHelper.addI18nLib('be', 'picker', be)
16
+ i18nHelper.addI18nLib('uk', 'picker', uk)
17
+ i18nHelper.addI18nLib('es', 'picker', es)
18
+ i18nHelper.addI18nLib('de', 'picker', de)
19
+ i18nHelper.addI18nLib('fr', 'picker', fr)
@@ -0,0 +1,25 @@
1
+ import type { FC } from 'react'
2
+ import type { IconColorPickerProps } from './types.js'
3
+ import { PickerRoot } from './root.js'
4
+
5
+ const present = (value: string | null | undefined): string | undefined =>
6
+ value != null && value !== '' ? value : undefined
7
+
8
+ /**
9
+ * The composite icon + colour picker — the standard editor of a mark a person chooses (a type's,
10
+ * a flow's, a label's). One trigger opens both halves: 24 swatches (plus a colour wheel and a hex
11
+ * field with `customColors`) and a searchable, categorized icon grid tinted in the chosen colour.
12
+ *
13
+ * Every pick commits at once: `onChange({ icon, color })` carries both halves as they now stand —
14
+ * a palette key or `#rrggbb`, a kebab-case lucide name; a half never chosen stays `undefined`. It
15
+ * opens as a popover from 768px up and as a bottom sheet below (`surface`), and stays open until
16
+ * Esc, a click outside or (on the sheet) Done.
17
+ */
18
+ export const IconColorPicker: FC<IconColorPickerProps> = (
19
+ { value, onChange, trigger = 'button', customColors = false, ...base }
20
+ ) => <PickerRoot
21
+ {...base} mode="both" trigger={trigger} customColors={customColors} closeOnPick={false}
22
+ icon={value?.icon} color={value?.color}
23
+ onIcon={icon => onChange({ icon, color: present(value?.color) })}
24
+ onColor={color => onChange({ icon: present(value?.icon), color })}
25
+ />
@@ -0,0 +1,13 @@
1
+ import type { FC } from 'react'
2
+ import type { IconPickerProps } from './types.js'
3
+ import { PickerRoot } from './root.js'
4
+
5
+ /**
6
+ * The icon half alone: a trigger opening the searchable, categorized grid (tinted in `color`).
7
+ * Commits a kebab-case lucide name on click and closes.
8
+ */
9
+ export const IconPicker: FC<IconPickerProps> = ({ value, onChange, color, trigger = 'button', ...base }) =>
10
+ <PickerRoot
11
+ {...base} mode="icon" trigger={trigger} closeOnPick icon={value} color={color}
12
+ onIcon={onChange} onColor={() => undefined}
13
+ />
@@ -0,0 +1,11 @@
1
+ export type * from './types.js'
2
+
3
+ export * from './icon-color-picker.js'
4
+ export * from './icon-picker.js'
5
+ export * from './color-picker.js'
6
+ export { ColorSwatches } from './swatches.js'
7
+ export { IconGrid } from './grid.js'
8
+ export * from './tile.js'
9
+ export * from './dot.js'
10
+ export * from './translate.js'
11
+ export * from './i18n.js'
@@ -0,0 +1,61 @@
1
+ import type { FC } from 'react'
2
+ import { PlusIcon } from 'lucide-react'
3
+ import { cn } from '../../@/lib/utils.js'
4
+ import { pickerColorHelper } from '../../picker/vocabulary.js'
5
+ import type { PickerPanelProps } from './types.local.js'
6
+ import { IconBrowser } from './grid.js'
7
+ import { SwatchGrid } from './swatches.js'
8
+ import { IconTile } from './tile.js'
9
+ import {
10
+ BODY, DONE, HAIRLINE, HEADER, HEADER_SUMMARY, HEADER_TITLE, ICON_GRID_PAD, SECTION, SECTION_TITLE, TRIGGER_EMPTY,
11
+ } from './consts.local.js'
12
+
13
+ /**
14
+ * A picker's content: a preview header (the mark as it will render, the title, the current choice
15
+ * — and on the sheet a 44px Done button), then the swatches and the icon grid, scrolling between a
16
+ * fixed header and the surface's edge.
17
+ */
18
+ export const PickerPanel: FC<PickerPanelProps> = ({
19
+ mode, icon, color, onIcon, onColor, onCustomColor, colors, icons, customColors, text, layout, title, onDone, searchRef,
20
+ }) => {
21
+ const resolved = pickerColorHelper.resolve(color, colors)
22
+ const summary = text.summary(icon, resolved, mode) ?? text.text('nothing', 'Nothing chosen yet')
23
+
24
+ return <div data-picker-panel className="flex min-h-0 flex-1 flex-col">
25
+ <div className={HEADER[layout]}>
26
+ {mode === 'color'
27
+ ? <span
28
+ aria-hidden="true" style={pickerColorHelper.styleOf(color, colors)}
29
+ className={cn('size-12 shrink-0 rounded-full bg-(--pick-swatch)', HAIRLINE, resolved == null && 'opacity-40')}
30
+ />
31
+ : (icon == null || icon === '') && resolved == null
32
+ ? <span aria-hidden="true" className={cn(TRIGGER_EMPTY, 'size-12 rounded-xl [&>svg]:size-5')}><PlusIcon /></span>
33
+ : <IconTile icon={icon} color={color} colors={colors} size="lg" />}
34
+ <div className="min-w-0 flex-1">
35
+ <p aria-hidden="true" className={HEADER_TITLE}>{title}</p>
36
+ <p data-picker-summary className={HEADER_SUMMARY}>{summary}</p>
37
+ </div>
38
+ {onDone != null && <button
39
+ type="button" data-picker-done aria-label={text.text('done', 'Done')} onClick={onDone} className={DONE}
40
+ >
41
+ {text.text('done', 'Done')}
42
+ </button>}
43
+ </div>
44
+ <div data-picker-scroll className={BODY}>
45
+ {mode !== 'icon' && <section className={cn(SECTION[layout], mode === 'color' && ICON_GRID_PAD[layout])}>
46
+ {mode === 'both' && <h3 className={SECTION_TITLE}>{text.text('color', 'Colour')}</h3>}
47
+ <SwatchGrid
48
+ value={color} onChange={onColor} onCustomChange={onCustomColor} colors={colors} customColors={customColors}
49
+ text={text} layout={layout} label={text.text('color', 'Colour')}
50
+ />
51
+ </section>}
52
+ {mode !== 'color' && <section className={cn(SECTION[layout], ICON_GRID_PAD[layout])}>
53
+ {mode === 'both' && <h3 className={SECTION_TITLE}>{text.text('icon', 'Icon')}</h3>}
54
+ <IconBrowser
55
+ value={icon} onChange={onIcon} color={color} colors={colors} icons={icons} text={text} layout={layout}
56
+ label={text.text('icon', 'Icon')} searchRef={searchRef}
57
+ />
58
+ </section>}
59
+ </div>
60
+ </div>
61
+ }
@@ -0,0 +1,81 @@
1
+ import { useMemo, useRef, useState } from 'react'
2
+ import type { FC } from 'react'
3
+ import { PICKER_COLORS } from '../../picker/vocabulary/consts.js'
4
+ import type { PickerRootProps } from './types.local.js'
5
+ import { PickerPanel } from './panel.js'
6
+ import { PickerSurface } from './surface.js'
7
+ import { PickerTrigger } from './trigger.js'
8
+ import { makePickerText } from './text.js'
9
+ import { FINE_POINTER_QUERY, POPOVER_QUERY } from './consts.local.js'
10
+
11
+ const matches = (query: string): boolean =>
12
+ typeof window !== 'undefined' && typeof window.matchMedia === 'function' && window.matchMedia(query).matches
13
+
14
+ /**
15
+ * The state every picker shares: open or closed, and on which surface.
16
+ *
17
+ * `surface="auto"` is decided when the picker OPENS — a popover from 768px up, a sheet below — and
18
+ * kept until it closes, so a resize or an on-screen keyboard never swaps the surface under the
19
+ * person's finger. Picks commit at once through `onIcon` / `onColor`; a single-purpose picker then
20
+ * closes, the composite stays open for its other half. On open, a fine pointer lands in the search
21
+ * field; anything else on the selected cell (no keyboard pops up on a phone).
22
+ */
23
+ export const PickerRoot: FC<PickerRootProps> = ({
24
+ mode, icon, color, onIcon, onColor, colors = PICKER_COLORS, icons, customColors = false, trigger, closeOnPick,
25
+ label, placeholder, disabled, surface = 'auto', translate, className, id,
26
+ }) => {
27
+ const text = useMemo(() => makePickerText(translate), [translate])
28
+ const [open, setOpen] = useState(false)
29
+ const [kind, setKind] = useState<'popover' | 'sheet'>('popover')
30
+ const triggerRef = useRef<HTMLButtonElement | null>(null)
31
+ const searchRef = useRef<HTMLInputElement | null>(null)
32
+
33
+ const title = label != null && label !== ''
34
+ ? label
35
+ : mode === 'both' ? text.text('label', 'Icon and colour')
36
+ : mode === 'icon' ? text.text('icon', 'Icon') : text.text('color', 'Colour')
37
+ const hint = placeholder ?? (
38
+ mode === 'both' ? text.text('placeholder.both', 'Choose icon and colour')
39
+ : mode === 'icon' ? text.text('placeholder.icon', 'Choose an icon') : text.text('placeholder.color', 'Choose a colour')
40
+ )
41
+
42
+ const show = (): void => {
43
+ if (disabled === true) {
44
+ return
45
+ }
46
+ setKind(surface === 'auto' ? (matches(POPOVER_QUERY) ? 'popover' : 'sheet') : surface)
47
+ setOpen(true)
48
+ }
49
+
50
+ const picked = (apply: (value: string) => void) => (value: string): void => {
51
+ apply(value)
52
+ if (closeOnPick) {
53
+ setOpen(false)
54
+ }
55
+ }
56
+
57
+ const onOpenFocus = (content: HTMLElement): void => {
58
+ const search = searchRef.current
59
+ if (search != null && matches(FINE_POINTER_QUERY)) {
60
+ search.focus()
61
+
62
+ return
63
+ }
64
+ ;(content.querySelector<HTMLElement>('[data-roving-item][tabindex="0"]') ?? content).focus()
65
+ }
66
+
67
+ return <PickerSurface
68
+ open={open} onOpenChange={setOpen} kind={kind} tall={mode !== 'color'} title={title}
69
+ onOpenFocus={onOpenFocus} onCloseFocus={() => triggerRef.current?.focus()}
70
+ anchor={<PickerTrigger
71
+ ref={triggerRef} mode={mode} variant={trigger} icon={icon} color={color} colors={colors} text={text}
72
+ label={label} placeholder={hint} open={open} disabled={disabled} id={id} className={className} onOpen={show}
73
+ />}
74
+ >
75
+ <PickerPanel
76
+ mode={mode} icon={icon} color={color} onIcon={picked(onIcon)} onColor={picked(onColor)} onCustomColor={onColor}
77
+ colors={colors} icons={icons} customColors={customColors} text={text} layout={kind} title={title}
78
+ onDone={kind === 'sheet' ? () => setOpen(false) : undefined} searchRef={searchRef}
79
+ />
80
+ </PickerSurface>
81
+ }