@ketvietlab/design-system 0.1.9 → 0.1.13

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 (371) hide show
  1. package/README.md +92 -6
  2. package/dist/atlas/README.md +35 -0
  3. package/dist/atlas/adapter.schema.json +78 -0
  4. package/dist/atlas/profile.json +43 -0
  5. package/dist/atlas-cli.d.ts +3 -0
  6. package/dist/atlas-cli.d.ts.map +1 -0
  7. package/dist/atlas-cli.js +213 -0
  8. package/dist/atlas-cli.js.map +1 -0
  9. package/dist/catalogue/catalogue.css +198 -5
  10. package/dist/catalogue/groups.d.ts +11 -0
  11. package/dist/catalogue/groups.d.ts.map +1 -0
  12. package/dist/catalogue/groups.js +47 -0
  13. package/dist/catalogue/groups.js.map +1 -0
  14. package/dist/catalogue/index.d.ts +16 -17
  15. package/dist/catalogue/index.d.ts.map +1 -1
  16. package/dist/catalogue/index.js +39 -751
  17. package/dist/catalogue/index.js.map +1 -1
  18. package/dist/catalogue/inventory-policy.json +560 -0
  19. package/dist/catalogue/inventory.css +574 -0
  20. package/dist/catalogue/inventory.d.ts +16 -0
  21. package/dist/catalogue/inventory.d.ts.map +1 -0
  22. package/dist/catalogue/inventory.generated.d.ts +42 -0
  23. package/dist/catalogue/inventory.generated.d.ts.map +1 -0
  24. package/dist/catalogue/inventory.generated.js +3 -0
  25. package/dist/catalogue/inventory.generated.js.map +1 -0
  26. package/dist/catalogue/inventory.generated.json +9993 -0
  27. package/dist/catalogue/inventory.js +48 -0
  28. package/dist/catalogue/inventory.js.map +1 -0
  29. package/dist/catalogue/registry.d.ts +12 -0
  30. package/dist/catalogue/registry.d.ts.map +1 -0
  31. package/dist/catalogue/registry.js +134 -0
  32. package/dist/catalogue/registry.js.map +1 -0
  33. package/dist/catalogue/specimens.d.ts +15 -0
  34. package/dist/catalogue/specimens.d.ts.map +1 -0
  35. package/dist/catalogue/specimens.js +1186 -0
  36. package/dist/catalogue/specimens.js.map +1 -0
  37. package/dist/catalogue/styles.css +1 -0
  38. package/dist/contract/index.d.ts.map +1 -1
  39. package/dist/contract/index.js +64 -18
  40. package/dist/contract/index.js.map +1 -1
  41. package/dist/data-display/data-grid/index.d.ts +22 -0
  42. package/dist/data-display/data-grid/index.d.ts.map +1 -0
  43. package/dist/data-display/data-grid/index.js +15 -0
  44. package/dist/data-display/data-grid/index.js.map +1 -0
  45. package/dist/data-display/data-grid/styles.css +49 -0
  46. package/dist/data-display/resource-list/index.d.ts +22 -0
  47. package/dist/data-display/resource-list/index.d.ts.map +1 -0
  48. package/dist/data-display/resource-list/index.js +21 -0
  49. package/dist/data-display/resource-list/index.js.map +1 -0
  50. package/dist/data-display/resource-list/styles.css +39 -0
  51. package/dist/data-display/tree/index.d.ts +33 -0
  52. package/dist/data-display/tree/index.d.ts.map +1 -0
  53. package/dist/data-display/tree/index.js +21 -0
  54. package/dist/data-display/tree/index.js.map +1 -0
  55. package/dist/data-display/tree/styles.css +45 -0
  56. package/dist/data-operations/inline-edit/index.d.ts +19 -0
  57. package/dist/data-operations/inline-edit/index.d.ts.map +1 -0
  58. package/dist/data-operations/inline-edit/index.js +5 -0
  59. package/dist/data-operations/inline-edit/index.js.map +1 -0
  60. package/dist/data-operations/inline-edit/styles.css +34 -0
  61. package/dist/data-operations/list-controls/index.d.ts +67 -0
  62. package/dist/data-operations/list-controls/index.d.ts.map +1 -0
  63. package/dist/data-operations/list-controls/index.js +35 -0
  64. package/dist/data-operations/list-controls/index.js.map +1 -0
  65. package/dist/data-operations/list-controls/styles.css +82 -0
  66. package/dist/forms/combobox/index.d.ts +39 -0
  67. package/dist/forms/combobox/index.d.ts.map +1 -0
  68. package/dist/forms/combobox/index.js +23 -0
  69. package/dist/forms/combobox/index.js.map +1 -0
  70. package/dist/forms/combobox/styles.css +76 -0
  71. package/dist/forms/date-time/index.d.ts +25 -0
  72. package/dist/forms/date-time/index.d.ts.map +1 -0
  73. package/dist/forms/date-time/index.js +15 -0
  74. package/dist/forms/date-time/index.js.map +1 -0
  75. package/dist/forms/date-time/styles.css +25 -0
  76. package/dist/forms/relation-picker/index.d.ts +12 -0
  77. package/dist/forms/relation-picker/index.d.ts.map +1 -0
  78. package/dist/forms/relation-picker/index.js +13 -0
  79. package/dist/forms/relation-picker/index.js.map +1 -0
  80. package/dist/forms/relation-picker/styles.css +5 -0
  81. package/dist/forms/scalar-fields/index.d.ts +24 -0
  82. package/dist/forms/scalar-fields/index.d.ts.map +1 -0
  83. package/dist/forms/scalar-fields/index.js +23 -0
  84. package/dist/forms/scalar-fields/index.js.map +1 -0
  85. package/dist/forms/scalar-fields/styles.css +52 -0
  86. package/dist/forms/shared.d.ts +19 -0
  87. package/dist/forms/shared.d.ts.map +1 -0
  88. package/dist/forms/shared.js +9 -0
  89. package/dist/forms/shared.js.map +1 -0
  90. package/dist/forms/upload/index.d.ts +20 -0
  91. package/dist/forms/upload/index.d.ts.map +1 -0
  92. package/dist/forms/upload/index.js +11 -0
  93. package/dist/forms/upload/index.js.map +1 -0
  94. package/dist/forms/upload/styles.css +21 -0
  95. package/dist/foundations/reset.css +4 -0
  96. package/dist/foundations/tokens.css +31 -4
  97. package/dist/index.d.ts +78 -35
  98. package/dist/index.d.ts.map +1 -1
  99. package/dist/index.js +43 -19
  100. package/dist/index.js.map +1 -1
  101. package/dist/interactions/dialog/index.d.ts +25 -0
  102. package/dist/interactions/dialog/index.d.ts.map +1 -0
  103. package/dist/interactions/dialog/index.js +10 -0
  104. package/dist/interactions/dialog/index.js.map +1 -0
  105. package/dist/interactions/dialog/styles.css +11 -0
  106. package/dist/interactions/menu/index.d.ts +27 -0
  107. package/dist/interactions/menu/index.d.ts.map +1 -0
  108. package/dist/interactions/menu/index.js +13 -0
  109. package/dist/interactions/menu/index.js.map +1 -0
  110. package/dist/interactions/menu/styles.css +85 -0
  111. package/dist/interactions/popover/index.d.ts +15 -0
  112. package/dist/interactions/popover/index.d.ts.map +1 -0
  113. package/dist/interactions/popover/index.js +4 -0
  114. package/dist/interactions/popover/index.js.map +1 -0
  115. package/dist/interactions/popover/styles.css +47 -0
  116. package/dist/interactions/skeleton/index.d.ts +7 -0
  117. package/dist/interactions/skeleton/index.d.ts.map +1 -0
  118. package/dist/interactions/skeleton/index.js +5 -0
  119. package/dist/interactions/skeleton/index.js.map +1 -0
  120. package/dist/interactions/skeleton/styles.css +32 -0
  121. package/dist/interactions/spinner/index.d.ts +7 -0
  122. package/dist/interactions/spinner/index.d.ts.map +1 -0
  123. package/dist/interactions/spinner/index.js +4 -0
  124. package/dist/interactions/spinner/index.js.map +1 -0
  125. package/dist/interactions/spinner/styles.css +38 -0
  126. package/dist/interactions/toast/index.d.ts +16 -0
  127. package/dist/interactions/toast/index.d.ts.map +1 -0
  128. package/dist/interactions/toast/index.js +13 -0
  129. package/dist/interactions/toast/index.js.map +1 -0
  130. package/dist/interactions/toast/styles.css +64 -0
  131. package/dist/interactions/tooltip/index.d.ts +9 -0
  132. package/dist/interactions/tooltip/index.d.ts.map +1 -0
  133. package/dist/interactions/tooltip/index.js +4 -0
  134. package/dist/interactions/tooltip/index.js.map +1 -0
  135. package/dist/interactions/tooltip/styles.css +65 -0
  136. package/dist/layouts/app-navigation/index.d.ts +63 -0
  137. package/dist/layouts/app-navigation/index.d.ts.map +1 -0
  138. package/dist/layouts/app-navigation/index.js +50 -0
  139. package/dist/layouts/app-navigation/index.js.map +1 -0
  140. package/dist/layouts/app-navigation/styles.css +331 -0
  141. package/dist/layouts/app-navigation.d.ts +2 -0
  142. package/dist/layouts/app-navigation.d.ts.map +1 -0
  143. package/dist/layouts/app-navigation.js +2 -0
  144. package/dist/layouts/app-navigation.js.map +1 -0
  145. package/dist/layouts/flat/styles.css +74 -0
  146. package/dist/layouts/flat.css +1 -74
  147. package/dist/layouts/grouped/styles.css +131 -0
  148. package/dist/layouts/grouped.css +1 -126
  149. package/dist/layouts/index.d.ts +1 -69
  150. package/dist/layouts/index.d.ts.map +1 -1
  151. package/dist/layouts/index.js +1 -68
  152. package/dist/layouts/index.js.map +1 -1
  153. package/dist/layouts/layout/index.d.ts +70 -0
  154. package/dist/layouts/layout/index.d.ts.map +1 -0
  155. package/dist/layouts/layout/index.js +71 -0
  156. package/dist/layouts/layout/index.js.map +1 -0
  157. package/dist/layouts/layout/styles.css +369 -0
  158. package/dist/layouts/layouts.css +1 -369
  159. package/dist/layouts/shell/index.d.ts +27 -0
  160. package/dist/layouts/shell/index.d.ts.map +1 -0
  161. package/dist/layouts/shell/index.js +24 -0
  162. package/dist/layouts/shell/index.js.map +1 -0
  163. package/dist/layouts/shell/styles.css +168 -0
  164. package/dist/layouts/shell.css +1 -168
  165. package/dist/layouts/shell.d.ts +1 -26
  166. package/dist/layouts/shell.d.ts.map +1 -1
  167. package/dist/layouts/shell.js +1 -23
  168. package/dist/layouts/shell.js.map +1 -1
  169. package/dist/patterns/board-page/index.d.ts +16 -0
  170. package/dist/patterns/board-page/index.d.ts.map +1 -0
  171. package/dist/patterns/board-page/index.js +30 -0
  172. package/dist/patterns/board-page/index.js.map +1 -0
  173. package/dist/patterns/board-page/styles.css +164 -0
  174. package/dist/patterns/board-page.d.ts +1 -13
  175. package/dist/patterns/board-page.d.ts.map +1 -1
  176. package/dist/patterns/board-page.js +1 -27
  177. package/dist/patterns/board-page.js.map +1 -1
  178. package/dist/patterns/dashboard-page/index.d.ts +15 -0
  179. package/dist/patterns/dashboard-page/index.d.ts.map +1 -0
  180. package/dist/patterns/dashboard-page/index.js +27 -0
  181. package/dist/patterns/dashboard-page/index.js.map +1 -0
  182. package/dist/patterns/dashboard-page/styles.css +169 -0
  183. package/dist/patterns/dashboard-page.d.ts +1 -12
  184. package/dist/patterns/dashboard-page.d.ts.map +1 -1
  185. package/dist/patterns/dashboard-page.js +1 -24
  186. package/dist/patterns/dashboard-page.js.map +1 -1
  187. package/dist/patterns/data-table/index.d.ts +74 -0
  188. package/dist/patterns/data-table/index.d.ts.map +1 -0
  189. package/dist/patterns/data-table/index.js +60 -0
  190. package/dist/patterns/data-table/index.js.map +1 -0
  191. package/dist/patterns/data-table/styles.css +269 -0
  192. package/dist/patterns/data-table.d.ts +1 -73
  193. package/dist/patterns/data-table.d.ts.map +1 -1
  194. package/dist/patterns/data-table.js +1 -59
  195. package/dist/patterns/data-table.js.map +1 -1
  196. package/dist/patterns/form-page/index.d.ts +8 -0
  197. package/dist/patterns/form-page/index.d.ts.map +1 -0
  198. package/dist/patterns/form-page/index.js +22 -0
  199. package/dist/patterns/form-page/index.js.map +1 -0
  200. package/dist/patterns/form-page/styles.css +237 -0
  201. package/dist/patterns/form-page.d.ts +1 -7
  202. package/dist/patterns/form-page.d.ts.map +1 -1
  203. package/dist/patterns/form-page.js +1 -21
  204. package/dist/patterns/form-page.js.map +1 -1
  205. package/dist/patterns/list-chrome/index.d.ts +80 -0
  206. package/dist/patterns/list-chrome/index.d.ts.map +1 -0
  207. package/dist/patterns/list-chrome/index.js +45 -0
  208. package/dist/patterns/list-chrome/index.js.map +1 -0
  209. package/dist/patterns/list-chrome/styles.css +245 -0
  210. package/dist/patterns/list-chrome.d.ts +1 -79
  211. package/dist/patterns/list-chrome.d.ts.map +1 -1
  212. package/dist/patterns/list-chrome.js +1 -44
  213. package/dist/patterns/list-chrome.js.map +1 -1
  214. package/dist/patterns/list-page/index.d.ts +31 -0
  215. package/dist/patterns/list-page/index.d.ts.map +1 -0
  216. package/dist/patterns/list-page/index.js +41 -0
  217. package/dist/patterns/list-page/index.js.map +1 -0
  218. package/dist/patterns/list-page/responsive.css +140 -0
  219. package/dist/patterns/list-page/styles.css +228 -0
  220. package/dist/patterns/list-page.d.ts +1 -30
  221. package/dist/patterns/list-page.d.ts.map +1 -1
  222. package/dist/patterns/list-page.js +1 -40
  223. package/dist/patterns/list-page.js.map +1 -1
  224. package/dist/patterns/modal-sheet/index.d.ts +16 -0
  225. package/dist/patterns/modal-sheet/index.d.ts.map +1 -0
  226. package/dist/patterns/modal-sheet/index.js +15 -0
  227. package/dist/patterns/modal-sheet/index.js.map +1 -0
  228. package/dist/patterns/modal-sheet/styles.css +219 -0
  229. package/dist/patterns/modal-sheet.d.ts +1 -15
  230. package/dist/patterns/modal-sheet.d.ts.map +1 -1
  231. package/dist/patterns/modal-sheet.js +1 -14
  232. package/dist/patterns/modal-sheet.js.map +1 -1
  233. package/dist/patterns/page-shell/index.d.ts +24 -0
  234. package/dist/patterns/page-shell/index.d.ts.map +1 -0
  235. package/dist/patterns/page-shell/index.js +11 -0
  236. package/dist/patterns/page-shell/index.js.map +1 -0
  237. package/dist/patterns/page-shell.d.ts +1 -23
  238. package/dist/patterns/page-shell.d.ts.map +1 -1
  239. package/dist/patterns/page-shell.js +1 -10
  240. package/dist/patterns/page-shell.js.map +1 -1
  241. package/dist/patterns/patterns.css +12 -2247
  242. package/dist/patterns/pipeline/index.d.ts +29 -0
  243. package/dist/patterns/pipeline/index.d.ts.map +1 -0
  244. package/dist/patterns/pipeline/index.js +26 -0
  245. package/dist/patterns/pipeline/index.js.map +1 -0
  246. package/dist/patterns/pipeline/styles.css +168 -0
  247. package/dist/patterns/pipeline.d.ts +1 -28
  248. package/dist/patterns/pipeline.d.ts.map +1 -1
  249. package/dist/patterns/pipeline.js +1 -25
  250. package/dist/patterns/pipeline.js.map +1 -1
  251. package/dist/patterns/record-form/index.d.ts +18 -0
  252. package/dist/patterns/record-form/index.d.ts.map +1 -0
  253. package/dist/patterns/record-form/index.js +14 -0
  254. package/dist/patterns/record-form/index.js.map +1 -0
  255. package/dist/patterns/record-form/styles.css +175 -0
  256. package/dist/patterns/record-form.d.ts +1 -17
  257. package/dist/patterns/record-form.d.ts.map +1 -1
  258. package/dist/patterns/record-form.js +1 -13
  259. package/dist/patterns/record-form.js.map +1 -1
  260. package/dist/patterns/record-page/index.d.ts +31 -0
  261. package/dist/patterns/record-page/index.d.ts.map +1 -0
  262. package/dist/patterns/record-page/index.js +29 -0
  263. package/dist/patterns/record-page/index.js.map +1 -0
  264. package/dist/patterns/record-page/styles.css +228 -0
  265. package/dist/patterns/record-page.d.ts +1 -30
  266. package/dist/patterns/record-page.d.ts.map +1 -1
  267. package/dist/patterns/record-page.js +1 -28
  268. package/dist/patterns/record-page.js.map +1 -1
  269. package/dist/patterns/workspace-page/index.d.ts +23 -0
  270. package/dist/patterns/workspace-page/index.d.ts.map +1 -0
  271. package/dist/patterns/workspace-page/index.js +26 -0
  272. package/dist/patterns/workspace-page/index.js.map +1 -0
  273. package/dist/patterns/workspace-page/styles.css +9 -0
  274. package/dist/patterns/workspace-page.d.ts +1 -22
  275. package/dist/patterns/workspace-page.d.ts.map +1 -1
  276. package/dist/patterns/workspace-page.js +1 -25
  277. package/dist/patterns/workspace-page.js.map +1 -1
  278. package/dist/primitives/actions/index.d.ts +36 -0
  279. package/dist/primitives/actions/index.d.ts.map +1 -0
  280. package/dist/primitives/actions/index.js +10 -0
  281. package/dist/primitives/actions/index.js.map +1 -0
  282. package/dist/primitives/actions/styles.css +149 -0
  283. package/dist/primitives/actions.d.ts +1 -35
  284. package/dist/primitives/actions.d.ts.map +1 -1
  285. package/dist/primitives/actions.js +1 -9
  286. package/dist/primitives/actions.js.map +1 -1
  287. package/dist/primitives/feedback/index.d.ts +19 -0
  288. package/dist/primitives/feedback/index.d.ts.map +1 -0
  289. package/dist/primitives/feedback/index.js +21 -0
  290. package/dist/primitives/feedback/index.js.map +1 -0
  291. package/dist/primitives/feedback/styles.css +117 -0
  292. package/dist/primitives/feedback.d.ts +1 -18
  293. package/dist/primitives/feedback.d.ts.map +1 -1
  294. package/dist/primitives/feedback.js +1 -22
  295. package/dist/primitives/feedback.js.map +1 -1
  296. package/dist/primitives/field/index.d.ts +35 -0
  297. package/dist/primitives/field/index.d.ts.map +1 -0
  298. package/dist/primitives/field/index.js +34 -0
  299. package/dist/primitives/field/index.js.map +1 -0
  300. package/dist/primitives/field/native-control.d.ts +4 -0
  301. package/dist/primitives/field/native-control.d.ts.map +1 -0
  302. package/dist/primitives/field/native-control.js +12 -0
  303. package/dist/primitives/field/native-control.js.map +1 -0
  304. package/dist/primitives/field/styles.css +160 -0
  305. package/dist/primitives/field.d.ts +1 -34
  306. package/dist/primitives/field.d.ts.map +1 -1
  307. package/dist/primitives/field.js +1 -41
  308. package/dist/primitives/field.js.map +1 -1
  309. package/dist/primitives/navigation/index.d.ts +36 -0
  310. package/dist/primitives/navigation/index.d.ts.map +1 -0
  311. package/dist/primitives/navigation/index.js +19 -0
  312. package/dist/primitives/navigation/index.js.map +1 -0
  313. package/dist/primitives/{navigation.css → navigation/styles.css} +51 -0
  314. package/dist/primitives/navigation.d.ts +1 -25
  315. package/dist/primitives/navigation.d.ts.map +1 -1
  316. package/dist/primitives/navigation.js +1 -15
  317. package/dist/primitives/navigation.js.map +1 -1
  318. package/dist/primitives/primitives.css +4 -570
  319. package/dist/primitives/progress/index.d.ts +10 -0
  320. package/dist/primitives/progress/index.d.ts.map +1 -0
  321. package/dist/primitives/progress/index.js +13 -0
  322. package/dist/primitives/progress/index.js.map +1 -0
  323. package/dist/primitives/progress.d.ts +1 -9
  324. package/dist/primitives/progress.d.ts.map +1 -1
  325. package/dist/primitives/progress.js +1 -12
  326. package/dist/primitives/progress.js.map +1 -1
  327. package/dist/primitives/status/index.d.ts +27 -0
  328. package/dist/primitives/status/index.d.ts.map +1 -0
  329. package/dist/primitives/status/index.js +16 -0
  330. package/dist/primitives/status/index.js.map +1 -0
  331. package/dist/primitives/status/styles.css +114 -0
  332. package/dist/primitives/status.d.ts +1 -26
  333. package/dist/primitives/status.d.ts.map +1 -1
  334. package/dist/primitives/status.js +1 -15
  335. package/dist/primitives/status.js.map +1 -1
  336. package/dist/record/activity/index.d.ts +26 -0
  337. package/dist/record/activity/index.d.ts.map +1 -0
  338. package/dist/record/activity/index.js +33 -0
  339. package/dist/record/activity/index.js.map +1 -0
  340. package/dist/record/activity/styles.css +38 -0
  341. package/dist/record/composition/index.d.ts +33 -0
  342. package/dist/record/composition/index.d.ts.map +1 -0
  343. package/dist/record/composition/index.js +10 -0
  344. package/dist/record/composition/index.js.map +1 -0
  345. package/dist/record/composition/styles.css +30 -0
  346. package/dist/record/display/index.d.ts +37 -0
  347. package/dist/record/display/index.d.ts.map +1 -0
  348. package/dist/record/display/index.js +23 -0
  349. package/dist/record/display/index.js.map +1 -0
  350. package/dist/record/display/styles.css +63 -0
  351. package/dist/record/formatted-values/index.d.ts +19 -0
  352. package/dist/record/formatted-values/index.d.ts.map +1 -0
  353. package/dist/record/formatted-values/index.js +21 -0
  354. package/dist/record/formatted-values/index.js.map +1 -0
  355. package/dist/record/formatted-values/styles.css +8 -0
  356. package/dist/record/media/index.d.ts +31 -0
  357. package/dist/record/media/index.d.ts.map +1 -0
  358. package/dist/record/media/index.js +19 -0
  359. package/dist/record/media/index.js.map +1 -0
  360. package/dist/record/media/styles.css +38 -0
  361. package/dist/runtime/auto.d.ts +2 -0
  362. package/dist/runtime/auto.d.ts.map +1 -0
  363. package/dist/runtime/auto.js +5 -0
  364. package/dist/runtime/auto.js.map +1 -0
  365. package/dist/runtime/index.d.ts +9 -0
  366. package/dist/runtime/index.d.ts.map +1 -0
  367. package/dist/runtime/index.js +369 -0
  368. package/dist/runtime/index.js.map +1 -0
  369. package/dist/styles.css +47 -8
  370. package/package.json +9 -2
  371. /package/dist/primitives/{progress.css → progress/styles.css} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/design-system/src/record/media/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAGtE,eAAO,MAAM,KAAK,YAAI,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,CAAU,CAAA;AAE1F,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,WAAW,UAAW;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,SAAS,cAAc,EAAE,CAAA;IAChC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,KAAG,cAsBH,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,QAAQ,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AACD,eAAO,MAAM,YAAY,UAAW;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,SAAS,SAAS,EAAE,CAAA;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,KAAG,cA2BH,CAAA"}
@@ -0,0 +1,19 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@ketvietlab/ketjs-view/jsx-runtime";
2
+ import { each } from '@ketvietlab/ketjs-view';
3
+ import { EmptyState, LoadingState, Notice } from '../../primitives/feedback/index.js';
4
+ export const HOOKS = ['attachments', 'attachment', 'media-gallery', 'media-item'];
5
+ export const Attachments = (props) => {
6
+ if (props.loading)
7
+ return _jsx(LoadingState, { label: "Loading attachments" });
8
+ if (props.error)
9
+ return _jsx(Notice, { title: "Attachments unavailable", message: props.error, tone: "danger" });
10
+ if (!props.items.length)
11
+ return _jsx(EmptyState, { title: "No attachments", message: "No files have been attached." });
12
+ return (_jsx("ul", { "data-ui": "attachments", "aria-label": props.label, children: each(props.items, (item) => item.id, (item) => (_jsxs("li", { "data-ui": "attachment", children: [item.redacted || !item.href ? (_jsx("span", { children: props.redactedLabel ?? item.name })) : (_jsx("a", { href: item.href, children: item.name })), item.meta !== undefined && _jsx("small", { children: item.meta })] }))) }));
13
+ };
14
+ export const MediaGallery = (props) => {
15
+ if (!props.items.length)
16
+ return _jsx(EmptyState, { title: props.emptyTitle ?? 'No media', message: "No media is available." });
17
+ return (_jsx("div", { "data-ui": "media-gallery", role: "group", "aria-label": props.label, children: each(props.items, (item) => item.id, (item) => (_jsxs("figure", { "data-ui": "media-item", children: [item.redacted || !item.src ? (_jsx("div", { role: "img", "aria-label": props.redactedLabel ?? 'Media redacted', children: "Restricted" })) : item.href ? (_jsx("a", { href: item.href, children: _jsx("img", { src: item.src, alt: item.alt, loading: "lazy" }) })) : (_jsx("img", { src: item.src, alt: item.alt, loading: "lazy" })), item.caption !== undefined && _jsx("figcaption", { children: item.caption })] }))) }));
18
+ };
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/design-system/src/record/media/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAE7C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,oCAAqC,CAAA;AAEtF,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,CAAU,CAAA;AAU1F,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAM3B,EAAkB,EAAE;IACnB,IAAI,KAAK,CAAC,OAAO;QAAE,OAAO,KAAC,YAAY,IAAC,KAAK,EAAC,qBAAqB,GAAG,CAAA;IACtE,IAAI,KAAK,CAAC,KAAK;QAAE,OAAO,KAAC,MAAM,IAAC,KAAK,EAAC,yBAAyB,EAAC,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAC,QAAQ,GAAG,CAAA;IACtG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,KAAC,UAAU,IAAC,KAAK,EAAC,gBAAgB,EAAC,OAAO,EAAC,8BAA8B,GAAG,CAAA;IAC5G,OAAO,CACL,wBAAY,aAAa,gBAAa,KAAK,CAAC,KAAK,YAC9C,IAAI,CACH,KAAK,CAAC,KAAK,EACX,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EACjB,CAAC,IAAI,EAAE,EAAE,CAAC,CACR,yBAAY,YAAY,aACrB,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAC7B,yBAAO,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,GAAQ,CAChD,CAAC,CAAC,CAAC,CACF,YAAG,IAAI,EAAE,IAAI,CAAC,IAAI,YAAG,IAAI,CAAC,IAAI,GAAK,CACpC,EACA,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,0BAAQ,IAAI,CAAC,IAAI,GAAS,IACnD,CACN,CACF,GACE,CACN,CAAA;AACH,CAAC,CAAA;AAUD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAK5B,EAAkB,EAAE;IACnB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM;QACrB,OAAO,KAAC,UAAU,IAAC,KAAK,EAAE,KAAK,CAAC,UAAU,IAAI,UAAU,EAAE,OAAO,EAAC,wBAAwB,GAAG,CAAA;IAC/F,OAAO,CACL,yBAAa,eAAe,EAAC,IAAI,EAAC,OAAO,gBAAa,KAAK,CAAC,KAAK,YAC9D,IAAI,CACH,KAAK,CAAC,KAAK,EACX,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EACjB,CAAC,IAAI,EAAE,EAAE,CAAC,CACR,6BAAgB,YAAY,aACzB,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAC5B,cAAK,IAAI,EAAC,KAAK,gBAAa,KAAK,CAAC,aAAa,IAAI,gBAAgB,2BAE7D,CACP,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CACd,YAAG,IAAI,EAAE,IAAI,CAAC,IAAI,YAChB,cAAK,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,EAAC,MAAM,GAAG,GAClD,CACL,CAAC,CAAC,CAAC,CACF,cAAK,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,EAAC,MAAM,GAAG,CACrD,EACA,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,+BAAa,IAAI,CAAC,OAAO,GAAc,IAC/D,CACV,CACF,GACG,CACP,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,38 @@
1
+ @layer ket.app {
2
+ :where([data-kv-design-system]) [data-ui="attachments"] {
3
+ display: grid;
4
+ margin: 0;
5
+ padding: 0;
6
+ list-style: none;
7
+ }
8
+
9
+ :where([data-kv-design-system]) [data-ui="attachment"] {
10
+ display: flex;
11
+ align-items: center;
12
+ justify-content: space-between;
13
+ gap: var(--kv-space-3);
14
+ padding-block: var(--kv-space-2);
15
+ border-bottom: 1px solid var(--kv-panel-border);
16
+ }
17
+
18
+ :where([data-kv-design-system]) [data-ui="media-gallery"] {
19
+ display: grid;
20
+ grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
21
+ gap: var(--kv-space-3);
22
+ }
23
+
24
+ :where([data-kv-design-system]) [data-ui="media-item"] {
25
+ display: grid;
26
+ gap: var(--kv-space-1);
27
+ min-width: 0;
28
+ margin: 0;
29
+ }
30
+
31
+ :where([data-kv-design-system]) [data-ui="media-item"] :is(img, [role="img"]) {
32
+ width: 100%;
33
+ aspect-ratio: 4 / 3;
34
+ object-fit: cover;
35
+ border-radius: var(--kv-radius-sm);
36
+ background: var(--kv-interactive-bg);
37
+ }
38
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=auto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto.d.ts","sourceRoot":"","sources":["../../../../../packages/design-system/src/runtime/auto.js"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ // @ts-check
2
+ import { attachDesignSystemInteractions } from './index.js'
3
+
4
+ attachDesignSystemInteractions(document)
5
+ document.documentElement.dataset.kvInteractions = 'attached'
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto.js","sourceRoot":"","sources":["../../../../../../packages/design-system/src/runtime/auto.js"],"names":[],"mappings":"AAAA,YAAY;AACZ,OAAO,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAA;AAE3D,8BAA8B,CAAC,QAAQ,CAAC,CAAA;AACxC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,cAAc,GAAG,UAAU,CAAA"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Attach the small browser contract shared by server-rendered overlays.
3
+ * The returned function restores inert state and removes every listener.
4
+ *
5
+ * @param {ParentNode} [root]
6
+ * @returns {() => void}
7
+ */
8
+ export declare const attachDesignSystemInteractions: (root?: ParentNode) => () => void;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/design-system/src/runtime/index.js"],"names":[],"mappings":"AAsBA;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,UAHhC,UAAU,KACR,MAAM,IAqVlB,CAAA"}
@@ -0,0 +1,369 @@
1
+ // @ts-check
2
+
3
+ const focusableSelector = [
4
+ 'a[href]',
5
+ 'button:not([disabled])',
6
+ 'input:not([disabled])',
7
+ 'select:not([disabled])',
8
+ 'textarea:not([disabled])',
9
+ 'summary',
10
+ '[tabindex]:not([tabindex="-1"])',
11
+ ].join(',')
12
+
13
+ /** @param {ParentNode} root */
14
+ const focusables = (root) =>
15
+ [...root.querySelectorAll(focusableSelector)].filter(
16
+ (element) =>
17
+ element instanceof HTMLElement &&
18
+ !element.hidden &&
19
+ element.getAttribute('aria-hidden') !== 'true' &&
20
+ (typeof element.checkVisibility !== 'function' || element.checkVisibility()),
21
+ )
22
+
23
+ /**
24
+ * Attach the small browser contract shared by server-rendered overlays.
25
+ * The returned function restores inert state and removes every listener.
26
+ *
27
+ * @param {ParentNode} [root]
28
+ * @returns {() => void}
29
+ */
30
+ export const attachDesignSystemInteractions = (root = document) => {
31
+ const activeBeforeOpen = document.activeElement instanceof HTMLElement ? document.activeElement : null
32
+ const modal = root.querySelector('[data-ui="modal-layer"][data-route-modal="true"] [role="dialog"]')
33
+ const appShell = root.querySelector('[data-ui="app-shell"]')
34
+ const priorInert = appShell instanceof HTMLElement ? appShell.inert : false
35
+ if (modal instanceof HTMLElement) {
36
+ if (appShell instanceof HTMLElement && !appShell.contains(modal)) appShell.inert = true
37
+ const first = focusables(modal)[0]
38
+ ;(first instanceof HTMLElement ? first : modal).focus()
39
+ }
40
+
41
+ const navigationMedia = window.matchMedia('(max-width: 48rem)')
42
+ const navigationRoot = document.documentElement
43
+ const priorNavigationOpen = navigationRoot.dataset.kvNavigationOpen
44
+ const navigations = /** @type {HTMLDetailsElement[]} */ (
45
+ [...root.querySelectorAll('[data-ui="app-navigation"]')].filter(
46
+ (navigation) => navigation instanceof HTMLDetailsElement,
47
+ )
48
+ )
49
+ const navigationStates = new Map()
50
+
51
+ /** @param {HTMLDetailsElement} navigation */
52
+ const restoreNavigationTargets = (navigation) => {
53
+ const state = navigationStates.get(navigation)
54
+ if (!state?.targets) return
55
+ for (const { element, inert } of state.targets) element.inert = inert
56
+ state.targets = null
57
+ }
58
+
59
+ const syncNavigationLock = () => {
60
+ const hasOpenNavigation = navigationMedia.matches && navigations.some((navigation) => navigation.open)
61
+ if (hasOpenNavigation) navigationRoot.dataset.kvNavigationOpen = 'true'
62
+ else if (priorNavigationOpen === undefined) delete navigationRoot.dataset.kvNavigationOpen
63
+ else navigationRoot.dataset.kvNavigationOpen = priorNavigationOpen
64
+ }
65
+
66
+ /** @param {HTMLDetailsElement} navigation */
67
+ const syncNavigation = (navigation) => {
68
+ const trigger = navigation.querySelector('[data-ui="navigation-trigger"]')
69
+ const drawer = navigation.querySelector('[data-ui="navigation-drawer"]')
70
+ if (!(trigger instanceof HTMLElement) || !(drawer instanceof HTMLElement)) return
71
+ const mobile = navigationMedia.matches
72
+ trigger.dataset.open = String(mobile && navigation.open)
73
+ if (!mobile) {
74
+ drawer.removeAttribute('role')
75
+ drawer.removeAttribute('aria-modal')
76
+ drawer.removeAttribute('aria-label')
77
+ restoreNavigationTargets(navigation)
78
+ syncNavigationLock()
79
+ return
80
+ }
81
+ drawer.setAttribute('role', 'dialog')
82
+ drawer.setAttribute('aria-modal', 'true')
83
+ drawer.setAttribute('aria-label', drawer.dataset.navigationLabel ?? 'Navigation')
84
+ if (!navigation.open) {
85
+ restoreNavigationTargets(navigation)
86
+ syncNavigationLock()
87
+ return
88
+ }
89
+ const state = navigationStates.get(navigation) ?? {}
90
+ if (!state.targets) {
91
+ const shell = navigation.closest('[data-ui="app-shell"]')
92
+ const targets = shell
93
+ ? [...shell.querySelectorAll(':scope > [data-ui="app-main"], :scope > [data-ui="app-right-rail"]')]
94
+ .filter((element) => element instanceof HTMLElement)
95
+ .map((element) => ({ element, inert: element.inert }))
96
+ : []
97
+ for (const { element } of targets) element.inert = true
98
+ state.targets = targets
99
+ state.returnFocus = document.activeElement instanceof HTMLElement ? document.activeElement : trigger
100
+ navigationStates.set(navigation, state)
101
+ queueMicrotask(() => {
102
+ if (!navigation.open || !navigationMedia.matches) return
103
+ const activeItem = drawer.querySelector('[data-ui="navigation-item"][aria-current="page"]')
104
+ const first = focusables(drawer)[0]
105
+ const focusTarget = activeItem instanceof HTMLElement ? activeItem : first
106
+ ;(focusTarget instanceof HTMLElement ? focusTarget : drawer).focus()
107
+ })
108
+ }
109
+ syncNavigationLock()
110
+ }
111
+
112
+ /** @param {HTMLDetailsElement} navigation @param {boolean} [returnFocus] */
113
+ const closeNavigation = (navigation, returnFocus = true) => {
114
+ const state = navigationStates.get(navigation)
115
+ navigation.open = false
116
+ syncNavigation(navigation)
117
+ if (returnFocus && state?.returnFocus instanceof HTMLElement && state.returnFocus.isConnected)
118
+ state.returnFocus.focus()
119
+ navigationStates.delete(navigation)
120
+ }
121
+
122
+ const navigationCleanups = navigations.map((navigation) => {
123
+ const onToggle = () => syncNavigation(navigation)
124
+ /** @param {MouseEvent} event */
125
+ const onClick = (event) => {
126
+ const target = event.target
127
+ if (!(target instanceof Element)) return
128
+ const branchTrigger = target.closest('[data-ui="navigation-branch-trigger"]')
129
+ const branch = branchTrigger?.closest('[data-ui="navigation-branch"]')
130
+ if (branch instanceof HTMLDetailsElement && branch.open) {
131
+ event.preventDefault()
132
+ return
133
+ }
134
+ if (!navigationMedia.matches || !navigation.open) return
135
+ if (
136
+ target.closest('[data-ui="navigation-close"]') ||
137
+ target.closest('[data-ui="navigation-backdrop"]') ||
138
+ target.closest('[data-ui="navigation-item"]')
139
+ )
140
+ closeNavigation(navigation)
141
+ }
142
+ navigation.addEventListener('toggle', onToggle)
143
+ navigation.addEventListener('click', onClick)
144
+ syncNavigation(navigation)
145
+ return () => {
146
+ navigation.removeEventListener('toggle', onToggle)
147
+ navigation.removeEventListener('click', onClick)
148
+ restoreNavigationTargets(navigation)
149
+ }
150
+ })
151
+ const onNavigationMediaChange = () => {
152
+ for (const navigation of navigations) {
153
+ if (navigation.open) closeNavigation(navigation, false)
154
+ else syncNavigation(navigation)
155
+ }
156
+ }
157
+ navigationMedia.addEventListener('change', onNavigationMediaChange)
158
+
159
+ for (const popover of root.querySelectorAll('[data-ui="popover"][data-open="true"]')) {
160
+ const trigger = popover.querySelector('[data-ui="popover-trigger"]')
161
+ const panel = popover.querySelector('[data-ui="popover-panel"]')
162
+ if (!(trigger instanceof HTMLElement) || !(panel instanceof HTMLElement)) continue
163
+ const box = trigger.getBoundingClientRect()
164
+ const gap = 8
165
+ const placement = popover.getAttribute('data-placement') ?? 'bottom-start'
166
+ const prefersTop = placement.startsWith('top')
167
+ const prefersEnd = placement.endsWith('end')
168
+ const topPosition = box.top - panel.offsetHeight - gap
169
+ const bottomPosition = box.bottom + gap
170
+ const topFits = topPosition >= 8
171
+ const bottomFits = bottomPosition + panel.offsetHeight <= window.innerHeight - 8
172
+ const useTop = prefersTop ? topFits || !bottomFits : !bottomFits && topFits
173
+ const requestedLeft = prefersEnd ? box.right - panel.offsetWidth : box.left
174
+ const left = Math.max(8, Math.min(requestedLeft, window.innerWidth - panel.offsetWidth - 8))
175
+ const top = Math.max(
176
+ 8,
177
+ Math.min(useTop ? topPosition : bottomPosition, window.innerHeight - panel.offsetHeight - 8),
178
+ )
179
+ panel.dataset.runtimePositioned = 'true'
180
+ panel.dataset.runtimePlacement = `${useTop ? 'top' : 'bottom'}-${prefersEnd ? 'end' : 'start'}`
181
+ panel.style.left = `${Math.round(left)}px`
182
+ panel.style.top = `${Math.round(top)}px`
183
+ panel.style.right = 'auto'
184
+ panel.style.bottom = 'auto'
185
+ }
186
+
187
+ /** @param {KeyboardEvent} event */
188
+ const onKeydown = (event) => {
189
+ const openNavigation = navigations.find((navigation) => navigationMedia.matches && navigation.open)
190
+ if (openNavigation instanceof HTMLDetailsElement) {
191
+ const drawer = openNavigation.querySelector('[data-ui="navigation-drawer"]')
192
+ if (event.key === 'Escape') {
193
+ closeNavigation(openNavigation)
194
+ event.preventDefault()
195
+ return
196
+ }
197
+ if (event.key === 'Tab' && drawer instanceof HTMLElement) {
198
+ const items = focusables(drawer)
199
+ const first = items[0]
200
+ const last = items.at(-1)
201
+ if (!items.length) {
202
+ event.preventDefault()
203
+ drawer.focus()
204
+ return
205
+ }
206
+ if (event.shiftKey && (document.activeElement === first || document.activeElement === drawer)) {
207
+ event.preventDefault()
208
+ if (last instanceof HTMLElement) last.focus()
209
+ return
210
+ }
211
+ if (!event.shiftKey && document.activeElement === last) {
212
+ event.preventDefault()
213
+ if (first instanceof HTMLElement) first.focus()
214
+ return
215
+ }
216
+ }
217
+ }
218
+ const treeItem = document.activeElement?.closest('[data-ui="tree"] [role="treeitem"]')
219
+ if (treeItem instanceof HTMLElement) {
220
+ const tree = treeItem.closest('[data-ui="tree"]')
221
+ const items = /** @type {HTMLElement[]} */ (
222
+ tree
223
+ ? [...tree.querySelectorAll('[role="treeitem"]')].filter((item) => item instanceof HTMLElement)
224
+ : []
225
+ )
226
+ const activeIndex = items.indexOf(treeItem)
227
+ let nextIndex = -1
228
+ if (event.key === 'ArrowDown') nextIndex = Math.min(items.length - 1, activeIndex + 1)
229
+ else if (event.key === 'ArrowUp') nextIndex = Math.max(0, activeIndex - 1)
230
+ else if (event.key === 'Home') nextIndex = 0
231
+ else if (event.key === 'End') nextIndex = items.length - 1
232
+ else if (event.key === 'ArrowRight') {
233
+ const level = Number(treeItem.getAttribute('aria-level'))
234
+ if (
235
+ treeItem.getAttribute('aria-expanded') === 'true' &&
236
+ Number(items[activeIndex + 1]?.getAttribute('aria-level')) > level
237
+ )
238
+ nextIndex = activeIndex + 1
239
+ } else if (event.key === 'ArrowLeft') {
240
+ const level = Number(treeItem.getAttribute('aria-level'))
241
+ if (level > 1)
242
+ nextIndex = items.findLastIndex(
243
+ (item, index) => index < activeIndex && Number(item.getAttribute('aria-level')) < level,
244
+ )
245
+ }
246
+ if (nextIndex >= 0 && items[nextIndex]) {
247
+ for (const item of items) item.tabIndex = -1
248
+ items[nextIndex].tabIndex = 0
249
+ items[nextIndex].focus()
250
+ event.preventDefault()
251
+ return
252
+ }
253
+ }
254
+ const treeGridRow = document.activeElement?.closest('[data-ui="tree-grid-row"]')
255
+ if (treeGridRow instanceof HTMLElement) {
256
+ const grid = treeGridRow.closest('[data-ui="tree-grid"]')
257
+ const rows = /** @type {HTMLElement[]} */ (
258
+ grid
259
+ ? [...grid.querySelectorAll('[data-ui="tree-grid-row"]')].filter(
260
+ (row) => row instanceof HTMLElement,
261
+ )
262
+ : []
263
+ )
264
+ const activeIndex = rows.indexOf(treeGridRow)
265
+ const nextIndex =
266
+ event.key === 'ArrowDown'
267
+ ? Math.min(rows.length - 1, activeIndex + 1)
268
+ : event.key === 'ArrowUp'
269
+ ? Math.max(0, activeIndex - 1)
270
+ : event.key === 'Home'
271
+ ? 0
272
+ : event.key === 'End'
273
+ ? rows.length - 1
274
+ : -1
275
+ if (nextIndex >= 0 && rows[nextIndex]) {
276
+ for (const row of rows) row.tabIndex = -1
277
+ rows[nextIndex].tabIndex = 0
278
+ rows[nextIndex].focus()
279
+ event.preventDefault()
280
+ return
281
+ }
282
+ }
283
+ const openMenu = document.activeElement?.closest('[data-ui="menu"][open]')
284
+ if (openMenu instanceof HTMLDetailsElement) {
285
+ const trigger = openMenu.querySelector('[data-ui="menu-trigger"]')
286
+ const items = /** @type {HTMLElement[]} */ (
287
+ [...openMenu.querySelectorAll('[role="menuitem"]')].filter(
288
+ (item) => item instanceof HTMLElement && item.getAttribute('aria-disabled') !== 'true',
289
+ )
290
+ )
291
+ const active = document.activeElement
292
+ const activeIndex = active instanceof HTMLElement ? items.indexOf(active) : -1
293
+ let nextIndex = -1
294
+ if (event.key === 'ArrowDown') nextIndex = activeIndex < 0 ? 0 : (activeIndex + 1) % items.length
295
+ else if (event.key === 'ArrowUp')
296
+ nextIndex = activeIndex < 0 ? items.length - 1 : (activeIndex - 1 + items.length) % items.length
297
+ else if (event.key === 'Home') nextIndex = 0
298
+ else if (event.key === 'End') nextIndex = items.length - 1
299
+ if (nextIndex >= 0 && items[nextIndex] instanceof HTMLElement) {
300
+ items[nextIndex].focus()
301
+ event.preventDefault()
302
+ return
303
+ }
304
+ if ((event.key === 'Enter' || event.key === ' ') && document.activeElement === trigger) {
305
+ if (items[0] instanceof HTMLElement) items[0].focus()
306
+ event.preventDefault()
307
+ return
308
+ }
309
+ }
310
+ if (event.key === 'Escape' && openMenu instanceof HTMLDetailsElement) {
311
+ openMenu.open = false
312
+ const trigger = openMenu.querySelector('[data-ui="menu-trigger"]')
313
+ if (trigger instanceof HTMLElement) trigger.focus()
314
+ event.preventDefault()
315
+ return
316
+ }
317
+ const openPopover = document.activeElement?.closest('[data-ui="popover"][data-open="true"]')
318
+ if (event.key === 'Escape' && openPopover instanceof HTMLElement) {
319
+ const close = openPopover.querySelector('[data-ui="popover-close"]')
320
+ if (close instanceof HTMLElement) close.click()
321
+ event.preventDefault()
322
+ return
323
+ }
324
+ if (!(modal instanceof HTMLElement)) return
325
+ if (event.key === 'Escape') {
326
+ const close = modal.querySelector('[data-ui="modal-close"]')
327
+ if (close instanceof HTMLElement) close.click()
328
+ event.preventDefault()
329
+ return
330
+ }
331
+ if (event.key !== 'Tab') return
332
+ const items = focusables(modal)
333
+ if (!items.length) {
334
+ event.preventDefault()
335
+ modal.focus()
336
+ return
337
+ }
338
+ const first = items[0]
339
+ const last = items.at(-1)
340
+ if (event.shiftKey && (document.activeElement === first || document.activeElement === modal)) {
341
+ event.preventDefault()
342
+ if (last instanceof HTMLElement) last.focus()
343
+ } else if (!event.shiftKey && document.activeElement === last) {
344
+ event.preventDefault()
345
+ if (first instanceof HTMLElement) first.focus()
346
+ }
347
+ }
348
+ /** @param {MouseEvent} event */
349
+ const onDocumentClick = (event) => {
350
+ const target = event.target
351
+ if (!(target instanceof Node)) return
352
+ for (const menu of root.querySelectorAll('[data-ui="menu"][open]')) {
353
+ if (menu instanceof HTMLDetailsElement && !menu.contains(target)) menu.open = false
354
+ }
355
+ }
356
+ document.addEventListener('keydown', onKeydown)
357
+ document.addEventListener('click', onDocumentClick)
358
+
359
+ return () => {
360
+ document.removeEventListener('keydown', onKeydown)
361
+ document.removeEventListener('click', onDocumentClick)
362
+ navigationMedia.removeEventListener('change', onNavigationMediaChange)
363
+ for (const cleanup of navigationCleanups) cleanup()
364
+ if (priorNavigationOpen === undefined) delete navigationRoot.dataset.kvNavigationOpen
365
+ else navigationRoot.dataset.kvNavigationOpen = priorNavigationOpen
366
+ if (appShell instanceof HTMLElement) appShell.inert = priorInert
367
+ if (activeBeforeOpen?.isConnected) activeBeforeOpen.focus()
368
+ }
369
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/design-system/src/runtime/index.js"],"names":[],"mappings":"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"}
package/dist/styles.css CHANGED
@@ -1,11 +1,50 @@
1
+ @layer ket.reset, ket.theme, ket.app, ket.user;
2
+
1
3
  @import "./foundations/tokens.css";
2
4
  @import "./foundations/reset.css";
3
- @import "./primitives/primitives.css";
4
- @import "./primitives/navigation.css";
5
- @import "./primitives/progress.css";
6
- @import "./layouts/layouts.css";
7
- @import "./layouts/shell.css";
5
+ @import "./primitives/actions/styles.css";
6
+ @import "./primitives/status/styles.css";
7
+ @import "./primitives/feedback/styles.css";
8
+ @import "./primitives/field/styles.css";
9
+ @import "./primitives/navigation/styles.css";
10
+ @import "./primitives/progress/styles.css";
11
+ @import "./interactions/menu/styles.css";
12
+ @import "./interactions/popover/styles.css";
13
+ @import "./interactions/tooltip/styles.css";
14
+ @import "./interactions/dialog/styles.css";
15
+ @import "./interactions/toast/styles.css";
16
+ @import "./interactions/spinner/styles.css";
17
+ @import "./interactions/skeleton/styles.css";
18
+ @import "./forms/scalar-fields/styles.css";
19
+ @import "./forms/combobox/styles.css";
20
+ @import "./forms/date-time/styles.css";
21
+ @import "./forms/upload/styles.css";
22
+ @import "./forms/relation-picker/styles.css";
23
+ @import "./data-operations/list-controls/styles.css";
24
+ @import "./data-operations/inline-edit/styles.css";
25
+ @import "./data-display/resource-list/styles.css";
26
+ @import "./data-display/data-grid/styles.css";
27
+ @import "./data-display/tree/styles.css";
28
+ @import "./record/display/styles.css";
29
+ @import "./record/formatted-values/styles.css";
30
+ @import "./record/composition/styles.css";
31
+ @import "./record/activity/styles.css";
32
+ @import "./record/media/styles.css";
33
+ @import "./layouts/layout/styles.css";
34
+ @import "./layouts/shell/styles.css";
35
+ @import "./layouts/app-navigation/styles.css";
8
36
  /* FormPage rail contract: desktop content is 2:1; narrow screens stack. */
9
- @import "./patterns/patterns.css";
10
- @import "./layouts/flat.css";
11
- @import "./layouts/grouped.css";
37
+ @import "./patterns/list-page/styles.css";
38
+ @import "./patterns/data-table/styles.css";
39
+ @import "./patterns/list-chrome/styles.css";
40
+ @import "./patterns/record-form/styles.css";
41
+ @import "./patterns/modal-sheet/styles.css";
42
+ @import "./patterns/list-page/responsive.css";
43
+ @import "./patterns/pipeline/styles.css";
44
+ @import "./patterns/board-page/styles.css";
45
+ @import "./patterns/dashboard-page/styles.css";
46
+ @import "./patterns/form-page/styles.css";
47
+ @import "./patterns/record-page/styles.css";
48
+ @import "./patterns/workspace-page/styles.css";
49
+ @import "./layouts/flat/styles.css";
50
+ @import "./layouts/grouped/styles.css";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ketvietlab/design-system",
3
- "version": "0.1.9",
3
+ "version": "0.1.13",
4
4
  "description": "Két Việt's public, server-rendered operational design system.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -27,6 +27,9 @@
27
27
  "scripts": {
28
28
  "prepack": "npm run build --prefix ../.."
29
29
  },
30
+ "bin": {
31
+ "ket-design-system-atlas": "./dist/atlas-cli.js"
32
+ },
30
33
  "exports": {
31
34
  ".": {
32
35
  "types": "./dist/index.d.ts",
@@ -40,12 +43,16 @@
40
43
  "types": "./dist/catalogue/index.d.ts",
41
44
  "default": "./dist/catalogue/index.js"
42
45
  },
46
+ "./catalogue/inventory.json": "./dist/catalogue/inventory.generated.json",
47
+ "./atlas/profile.json": "./dist/atlas/profile.json",
48
+ "./atlas/adapter.schema.json": "./dist/atlas/adapter.schema.json",
49
+ "./runtime/auto.js": "./dist/runtime/auto.js",
43
50
  "./styles.css": "./dist/styles.css",
44
51
  "./tokens.css": "./dist/foundations/tokens.css",
45
52
  "./catalogue/styles.css": "./dist/catalogue/styles.css"
46
53
  },
47
54
  "dependencies": {
48
- "@ketvietlab/ketjs-view": "0.1.9"
55
+ "@ketvietlab/ketjs-view": "0.1.13"
49
56
  },
50
57
  "publishConfig": {
51
58
  "access": "public",