@livenetworks/ashlar 2.1.13 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (437) hide show
  1. package/assets/brand/android-chrome-192x192.png +0 -0
  2. package/assets/brand/android-chrome-512x512.png +0 -0
  3. package/assets/brand/apple-touch-icon.png +0 -0
  4. package/assets/brand/favicon-16x16.png +0 -0
  5. package/assets/brand/favicon-32x32.png +0 -0
  6. package/assets/brand/favicon-48x48.png +0 -0
  7. package/assets/brand/favicon-dark-128x128.png +0 -0
  8. package/assets/brand/favicon-dark-16x16.png +0 -0
  9. package/assets/brand/favicon-dark-180x180.png +0 -0
  10. package/assets/brand/favicon-dark-192x192.png +0 -0
  11. package/assets/brand/favicon-dark-256x256.png +0 -0
  12. package/assets/brand/favicon-dark-32x32.png +0 -0
  13. package/assets/brand/favicon-dark-48x48.png +0 -0
  14. package/assets/brand/favicon-dark-512x512.png +0 -0
  15. package/assets/brand/favicon-dark-64x64.png +0 -0
  16. package/assets/brand/favicon-dark.ico +0 -0
  17. package/assets/brand/favicon-dark.png +0 -0
  18. package/assets/brand/favicon-light-128x128.png +0 -0
  19. package/assets/brand/favicon-light-16x16.png +0 -0
  20. package/assets/brand/favicon-light-180x180.png +0 -0
  21. package/assets/brand/favicon-light-192x192.png +0 -0
  22. package/assets/brand/favicon-light-256x256.png +0 -0
  23. package/assets/brand/favicon-light-32x32.png +0 -0
  24. package/assets/brand/favicon-light-48x48.png +0 -0
  25. package/assets/brand/favicon-light-512x512.png +0 -0
  26. package/assets/brand/favicon-light-64x64.png +0 -0
  27. package/assets/brand/favicon-light.ico +0 -0
  28. package/assets/brand/favicon-light.png +0 -0
  29. package/assets/brand/favicon.ico +0 -0
  30. package/assets/brand/favicon.png +0 -0
  31. package/assets/brand/favicon.svg +12 -0
  32. package/assets/brand/ln-ashlar-emblem-dark-128.png +0 -0
  33. package/assets/brand/ln-ashlar-emblem-dark-16.png +0 -0
  34. package/assets/brand/ln-ashlar-emblem-dark-256.png +0 -0
  35. package/assets/brand/ln-ashlar-emblem-dark-32.png +0 -0
  36. package/assets/brand/ln-ashlar-emblem-dark-64.png +0 -0
  37. package/assets/brand/ln-ashlar-emblem-dark.png +0 -0
  38. package/assets/brand/ln-ashlar-emblem-light-128.png +0 -0
  39. package/assets/brand/ln-ashlar-emblem-light-16.png +0 -0
  40. package/assets/brand/ln-ashlar-emblem-light-256.png +0 -0
  41. package/assets/brand/ln-ashlar-emblem-light-32.png +0 -0
  42. package/assets/brand/ln-ashlar-emblem-light-64.png +0 -0
  43. package/assets/brand/ln-ashlar-emblem-light.png +0 -0
  44. package/assets/brand/ln-ashlar-logo-dark-128.png +0 -0
  45. package/assets/brand/ln-ashlar-logo-dark-256.png +0 -0
  46. package/assets/brand/ln-ashlar-logo-dark-512.png +0 -0
  47. package/assets/brand/ln-ashlar-logo-dark.png +0 -0
  48. package/assets/brand/ln-ashlar-logo-light-128.png +0 -0
  49. package/assets/brand/ln-ashlar-logo-light-256.png +0 -0
  50. package/assets/brand/ln-ashlar-logo-light-512.png +0 -0
  51. package/assets/brand/ln-ashlar-logo-light.png +0 -0
  52. package/assets/brand/site.webmanifest +41 -0
  53. package/assets/brand/source/ln-ashlar-icon-dark-1024.png +0 -0
  54. package/assets/brand/source/ln-ashlar-icon-dark-uncropped-1024.png +0 -0
  55. package/assets/brand/source/ln-ashlar-icon-light-1024.png +0 -0
  56. package/assets/brand/source/ln-ashlar-icon-light-uncropped-1024.png +0 -0
  57. package/assets/flags/ad.svg +150 -0
  58. package/assets/flags/ae.svg +6 -0
  59. package/assets/flags/af.svg +81 -0
  60. package/assets/flags/ag.svg +14 -0
  61. package/assets/flags/ai.svg +29 -0
  62. package/assets/flags/al.svg +5 -0
  63. package/assets/flags/am.svg +5 -0
  64. package/assets/flags/ao.svg +13 -0
  65. package/assets/flags/aq.svg +5 -0
  66. package/assets/flags/ar.svg +32 -0
  67. package/assets/flags/arab.svg +109 -0
  68. package/assets/flags/as.svg +72 -0
  69. package/assets/flags/asean.svg +13 -0
  70. package/assets/flags/at.svg +4 -0
  71. package/assets/flags/au.svg +8 -0
  72. package/assets/flags/aw.svg +186 -0
  73. package/assets/flags/ax.svg +18 -0
  74. package/assets/flags/az.svg +8 -0
  75. package/assets/flags/ba.svg +12 -0
  76. package/assets/flags/bb.svg +6 -0
  77. package/assets/flags/bd.svg +4 -0
  78. package/assets/flags/be.svg +7 -0
  79. package/assets/flags/bf.svg +7 -0
  80. package/assets/flags/bg.svg +5 -0
  81. package/assets/flags/bh.svg +4 -0
  82. package/assets/flags/bi.svg +15 -0
  83. package/assets/flags/bj.svg +14 -0
  84. package/assets/flags/bl.svg +5 -0
  85. package/assets/flags/bm.svg +97 -0
  86. package/assets/flags/bn.svg +36 -0
  87. package/assets/flags/bo.svg +673 -0
  88. package/assets/flags/bq.svg +5 -0
  89. package/assets/flags/br.svg +45 -0
  90. package/assets/flags/bs.svg +13 -0
  91. package/assets/flags/bt.svg +89 -0
  92. package/assets/flags/bv.svg +13 -0
  93. package/assets/flags/bw.svg +7 -0
  94. package/assets/flags/by.svg +18 -0
  95. package/assets/flags/bz.svg +145 -0
  96. package/assets/flags/ca.svg +4 -0
  97. package/assets/flags/cc.svg +19 -0
  98. package/assets/flags/cd.svg +5 -0
  99. package/assets/flags/cefta.svg +13 -0
  100. package/assets/flags/cf.svg +15 -0
  101. package/assets/flags/cg.svg +12 -0
  102. package/assets/flags/ch.svg +9 -0
  103. package/assets/flags/ci.svg +7 -0
  104. package/assets/flags/ck.svg +9 -0
  105. package/assets/flags/cl.svg +13 -0
  106. package/assets/flags/cm.svg +15 -0
  107. package/assets/flags/cn.svg +11 -0
  108. package/assets/flags/co.svg +7 -0
  109. package/assets/flags/cp.svg +7 -0
  110. package/assets/flags/cr.svg +7 -0
  111. package/assets/flags/cu.svg +13 -0
  112. package/assets/flags/cv.svg +13 -0
  113. package/assets/flags/cw.svg +14 -0
  114. package/assets/flags/cx.svg +15 -0
  115. package/assets/flags/cy.svg +6 -0
  116. package/assets/flags/cz.svg +5 -0
  117. package/assets/flags/de.svg +5 -0
  118. package/assets/flags/dg.svg +130 -0
  119. package/assets/flags/dj.svg +13 -0
  120. package/assets/flags/dk.svg +5 -0
  121. package/assets/flags/dm.svg +152 -0
  122. package/assets/flags/do.svg +121 -0
  123. package/assets/flags/dz.svg +5 -0
  124. package/assets/flags/eac.svg +48 -0
  125. package/assets/flags/ec.svg +138 -0
  126. package/assets/flags/ee.svg +5 -0
  127. package/assets/flags/eg.svg +38 -0
  128. package/assets/flags/eh.svg +16 -0
  129. package/assets/flags/er.svg +8 -0
  130. package/assets/flags/es-ct.svg +4 -0
  131. package/assets/flags/es-ga.svg +187 -0
  132. package/assets/flags/es-pv.svg +5 -0
  133. package/assets/flags/es.svg +544 -0
  134. package/assets/flags/et.svg +14 -0
  135. package/assets/flags/eu.svg +28 -0
  136. package/assets/flags/fi.svg +5 -0
  137. package/assets/flags/fj.svg +120 -0
  138. package/assets/flags/fk.svg +90 -0
  139. package/assets/flags/fm.svg +11 -0
  140. package/assets/flags/fo.svg +12 -0
  141. package/assets/flags/fr.svg +5 -0
  142. package/assets/flags/ga.svg +7 -0
  143. package/assets/flags/gb-eng.svg +5 -0
  144. package/assets/flags/gb-nir.svg +132 -0
  145. package/assets/flags/gb-sct.svg +4 -0
  146. package/assets/flags/gb-wls.svg +9 -0
  147. package/assets/flags/gb.svg +7 -0
  148. package/assets/flags/gd.svg +27 -0
  149. package/assets/flags/ge.svg +6 -0
  150. package/assets/flags/gf.svg +5 -0
  151. package/assets/flags/gg.svg +9 -0
  152. package/assets/flags/gh.svg +6 -0
  153. package/assets/flags/gi.svg +32 -0
  154. package/assets/flags/gl.svg +4 -0
  155. package/assets/flags/gm.svg +14 -0
  156. package/assets/flags/gn.svg +7 -0
  157. package/assets/flags/gp.svg +5 -0
  158. package/assets/flags/gq.svg +23 -0
  159. package/assets/flags/gr.svg +16 -0
  160. package/assets/flags/gs.svg +133 -0
  161. package/assets/flags/gt.svg +204 -0
  162. package/assets/flags/gu.svg +19 -0
  163. package/assets/flags/gw.svg +13 -0
  164. package/assets/flags/gy.svg +9 -0
  165. package/assets/flags/hk.svg +8 -0
  166. package/assets/flags/hm.svg +8 -0
  167. package/assets/flags/hn.svg +18 -0
  168. package/assets/flags/hr.svg +58 -0
  169. package/assets/flags/ht.svg +116 -0
  170. package/assets/flags/hu.svg +7 -0
  171. package/assets/flags/ic.svg +7 -0
  172. package/assets/flags/id.svg +4 -0
  173. package/assets/flags/ie.svg +7 -0
  174. package/assets/flags/il.svg +14 -0
  175. package/assets/flags/im.svg +36 -0
  176. package/assets/flags/in.svg +25 -0
  177. package/assets/flags/io.svg +130 -0
  178. package/assets/flags/iq.svg +10 -0
  179. package/assets/flags/ir.svg +219 -0
  180. package/assets/flags/is.svg +12 -0
  181. package/assets/flags/it.svg +7 -0
  182. package/assets/flags/je.svg +62 -0
  183. package/assets/flags/jm.svg +8 -0
  184. package/assets/flags/jo.svg +16 -0
  185. package/assets/flags/jp.svg +11 -0
  186. package/assets/flags/ke.svg +23 -0
  187. package/assets/flags/kg.svg +4 -0
  188. package/assets/flags/kh.svg +61 -0
  189. package/assets/flags/ki.svg +36 -0
  190. package/assets/flags/km.svg +16 -0
  191. package/assets/flags/kn.svg +14 -0
  192. package/assets/flags/kp.svg +15 -0
  193. package/assets/flags/kr.svg +24 -0
  194. package/assets/flags/kw.svg +13 -0
  195. package/assets/flags/ky.svg +103 -0
  196. package/assets/flags/kz.svg +36 -0
  197. package/assets/flags/la.svg +12 -0
  198. package/assets/flags/lb.svg +15 -0
  199. package/assets/flags/lc.svg +8 -0
  200. package/assets/flags/li.svg +43 -0
  201. package/assets/flags/lk.svg +22 -0
  202. package/assets/flags/lr.svg +14 -0
  203. package/assets/flags/ls.svg +8 -0
  204. package/assets/flags/lt.svg +7 -0
  205. package/assets/flags/lu.svg +5 -0
  206. package/assets/flags/lv.svg +6 -0
  207. package/assets/flags/ly.svg +13 -0
  208. package/assets/flags/ma.svg +4 -0
  209. package/assets/flags/mc.svg +6 -0
  210. package/assets/flags/md.svg +70 -0
  211. package/assets/flags/me.svg +116 -0
  212. package/assets/flags/mf.svg +5 -0
  213. package/assets/flags/mg.svg +7 -0
  214. package/assets/flags/mh.svg +7 -0
  215. package/assets/flags/mk.svg +5 -0
  216. package/assets/flags/ml.svg +7 -0
  217. package/assets/flags/mm.svg +12 -0
  218. package/assets/flags/mn.svg +14 -0
  219. package/assets/flags/mo.svg +9 -0
  220. package/assets/flags/mp.svg +86 -0
  221. package/assets/flags/mq.svg +5 -0
  222. package/assets/flags/mr.svg +6 -0
  223. package/assets/flags/ms.svg +29 -0
  224. package/assets/flags/mt.svg +58 -0
  225. package/assets/flags/mu.svg +8 -0
  226. package/assets/flags/mv.svg +6 -0
  227. package/assets/flags/mw.svg +10 -0
  228. package/assets/flags/mx.svg +382 -0
  229. package/assets/flags/my.svg +26 -0
  230. package/assets/flags/mz.svg +21 -0
  231. package/assets/flags/na.svg +16 -0
  232. package/assets/flags/nc.svg +13 -0
  233. package/assets/flags/ne.svg +6 -0
  234. package/assets/flags/nf.svg +9 -0
  235. package/assets/flags/ng.svg +6 -0
  236. package/assets/flags/ni.svg +129 -0
  237. package/assets/flags/nl.svg +5 -0
  238. package/assets/flags/no.svg +7 -0
  239. package/assets/flags/np.svg +13 -0
  240. package/assets/flags/nr.svg +12 -0
  241. package/assets/flags/nu.svg +10 -0
  242. package/assets/flags/nz.svg +36 -0
  243. package/assets/flags/om.svg +115 -0
  244. package/assets/flags/pa.svg +14 -0
  245. package/assets/flags/pc.svg +33 -0
  246. package/assets/flags/pe.svg +4 -0
  247. package/assets/flags/pf.svg +19 -0
  248. package/assets/flags/pg.svg +9 -0
  249. package/assets/flags/ph.svg +6 -0
  250. package/assets/flags/pk.svg +15 -0
  251. package/assets/flags/pl.svg +6 -0
  252. package/assets/flags/pm.svg +5 -0
  253. package/assets/flags/pn.svg +53 -0
  254. package/assets/flags/pr.svg +13 -0
  255. package/assets/flags/ps.svg +6 -0
  256. package/assets/flags/pt.svg +57 -0
  257. package/assets/flags/pw.svg +11 -0
  258. package/assets/flags/py.svg +157 -0
  259. package/assets/flags/qa.svg +4 -0
  260. package/assets/flags/re.svg +5 -0
  261. package/assets/flags/ro.svg +7 -0
  262. package/assets/flags/rs.svg +292 -0
  263. package/assets/flags/ru.svg +5 -0
  264. package/assets/flags/rw.svg +13 -0
  265. package/assets/flags/sa.svg +25 -0
  266. package/assets/flags/sb.svg +13 -0
  267. package/assets/flags/sc.svg +7 -0
  268. package/assets/flags/sd.svg +13 -0
  269. package/assets/flags/se.svg +4 -0
  270. package/assets/flags/sg.svg +13 -0
  271. package/assets/flags/sh-ac.svg +689 -0
  272. package/assets/flags/sh-hl.svg +164 -0
  273. package/assets/flags/sh-ta.svg +76 -0
  274. package/assets/flags/sh.svg +7 -0
  275. package/assets/flags/si.svg +18 -0
  276. package/assets/flags/sj.svg +7 -0
  277. package/assets/flags/sk.svg +9 -0
  278. package/assets/flags/sl.svg +7 -0
  279. package/assets/flags/sm.svg +75 -0
  280. package/assets/flags/sn.svg +8 -0
  281. package/assets/flags/so.svg +11 -0
  282. package/assets/flags/sr.svg +6 -0
  283. package/assets/flags/ss.svg +8 -0
  284. package/assets/flags/st.svg +16 -0
  285. package/assets/flags/sv.svg +593 -0
  286. package/assets/flags/sx.svg +56 -0
  287. package/assets/flags/sy.svg +6 -0
  288. package/assets/flags/sz.svg +34 -0
  289. package/assets/flags/tc.svg +50 -0
  290. package/assets/flags/td.svg +7 -0
  291. package/assets/flags/tf.svg +15 -0
  292. package/assets/flags/tg.svg +14 -0
  293. package/assets/flags/th.svg +7 -0
  294. package/assets/flags/tj.svg +22 -0
  295. package/assets/flags/tk.svg +5 -0
  296. package/assets/flags/tl.svg +13 -0
  297. package/assets/flags/tm.svg +204 -0
  298. package/assets/flags/tn.svg +4 -0
  299. package/assets/flags/to.svg +10 -0
  300. package/assets/flags/tr.svg +8 -0
  301. package/assets/flags/tt.svg +5 -0
  302. package/assets/flags/tv.svg +9 -0
  303. package/assets/flags/tw.svg +34 -0
  304. package/assets/flags/tz.svg +13 -0
  305. package/assets/flags/ua.svg +6 -0
  306. package/assets/flags/ug.svg +30 -0
  307. package/assets/flags/um.svg +9 -0
  308. package/assets/flags/un.svg +16 -0
  309. package/assets/flags/us.svg +9 -0
  310. package/assets/flags/uy.svg +28 -0
  311. package/assets/flags/uz.svg +30 -0
  312. package/assets/flags/va.svg +190 -0
  313. package/assets/flags/vc.svg +8 -0
  314. package/assets/flags/ve.svg +26 -0
  315. package/assets/flags/vg.svg +59 -0
  316. package/assets/flags/vi.svg +28 -0
  317. package/assets/flags/vn.svg +11 -0
  318. package/assets/flags/vu.svg +21 -0
  319. package/assets/flags/wf.svg +5 -0
  320. package/assets/flags/ws.svg +7 -0
  321. package/assets/flags/xk.svg +5 -0
  322. package/assets/flags/xx.svg +4 -0
  323. package/assets/flags/ye.svg +7 -0
  324. package/assets/flags/yt.svg +5 -0
  325. package/assets/flags/za.svg +17 -0
  326. package/assets/flags/zm.svg +27 -0
  327. package/assets/flags/zw.svg +21 -0
  328. package/components/COMPONENTS.md +80 -80
  329. package/components/ln-api-connector/ln-api-connector.schema.json +105 -105
  330. package/components/ln-chart/ln-chart-dev.scss +0 -4
  331. package/components/ln-core/README.md +21 -21
  332. package/components/ln-core/ln-core.schema.json +120 -120
  333. package/components/ln-core/query.js +113 -113
  334. package/components/ln-data-coordinator/README.md +2 -0
  335. package/components/ln-data-coordinator/ln-data-coordinator.js +1 -1
  336. package/components/ln-data-coordinator/ln-data-coordinator.schema.json +196 -196
  337. package/components/ln-data-coordinator/src/ln-data-coordinator.js +457 -432
  338. package/components/ln-data-store/ln-data-store.schema.json +92 -92
  339. package/components/ln-date/ln-date.js +1 -1
  340. package/components/ln-date/src/ln-date.js +1 -1
  341. package/components/ln-debug/ln-debug.js +1 -1
  342. package/components/ln-debug/ln-debug.schema.json +28 -28
  343. package/components/ln-debug/src/generated-attributes.js +4 -0
  344. package/components/ln-dropdown/ln-dropdown.schema.json +90 -90
  345. package/components/ln-external-links/README.md +19 -19
  346. package/components/ln-external-links/ln-external-links.js +1 -1
  347. package/components/ln-external-links/ln-external-links.schema.json +9 -0
  348. package/components/ln-external-links/ln-external-links.scss +12 -0
  349. package/components/ln-external-links/src/ln-external-links.js +3 -2
  350. package/components/ln-filter/README.md +2 -1
  351. package/components/ln-filter/ln-filter.js +1 -1
  352. package/components/ln-filter/ln-filter.schema.json +157 -169
  353. package/components/ln-filter/src/ln-filter.js +1 -3
  354. package/components/ln-form/ln-form.schema.json +57 -57
  355. package/components/ln-key/ln-key.js +1 -1
  356. package/components/ln-key/ln-key.schema.json +8 -0
  357. package/components/ln-key/src/ln-key.js +8 -5
  358. package/components/ln-obfuscator/ln-obfuscator.js +1 -1
  359. package/components/ln-obfuscator/ln-obfuscator.schema.json +6 -0
  360. package/components/ln-obfuscator/src/ln-obfuscator.js +2 -2
  361. package/components/ln-options/ln-options.schema.json +47 -47
  362. package/components/ln-popover/ln-popover.schema.json +82 -82
  363. package/components/ln-progress/ln-progress.schema.json +0 -13
  364. package/components/ln-search/ln-search.schema.json +111 -111
  365. package/components/ln-sort/README.md +1 -0
  366. package/components/ln-sort/ln-sort.js +1 -1
  367. package/components/ln-sort/ln-sort.schema.json +100 -112
  368. package/components/ln-sort/src/sort-model.js +1 -6
  369. package/components/ln-sortable/ln-sortable.schema.json +38 -38
  370. package/components/ln-sortable/ln-sortable.scss +25 -25
  371. package/components/ln-table/README.md +8 -1
  372. package/components/ln-table/ln-table.js +1 -1
  373. package/components/ln-table/ln-table.schema.json +195 -195
  374. package/components/ln-table/src/ln-table.js +43 -7
  375. package/components/ln-table-coordinator/ln-table-coordinator.js +1 -1
  376. package/components/ln-table-coordinator/ln-table-coordinator.schema.json +18 -0
  377. package/components/ln-table-coordinator/src/ln-table-coordinator.js +104 -2
  378. package/components/ln-toast/README.md +1 -1
  379. package/components/ln-toast/ln-toast.js +1 -1
  380. package/components/ln-toast/ln-toast.schema.json +6 -0
  381. package/components/ln-toast/src/ln-toast.js +1 -1
  382. package/components/ln-translations/README.md +202 -120
  383. package/components/ln-translations/ln-translations.js +1 -1
  384. package/components/ln-translations/ln-translations.schema.json +136 -120
  385. package/components/ln-translations/src/ln-translations.js +354 -295
  386. package/components/ln-translations/src/translations-model.js +221 -0
  387. package/components/ln-validate/README.md +6 -6
  388. package/components/ln-validate/ln-validate-dev.scss +0 -5
  389. package/components/ln-validate/ln-validate.js +1 -1
  390. package/components/ln-validate/ln-validate.schema.json +0 -6
  391. package/components/ln-validate/src/ln-validate.js +48 -29
  392. package/ln-ashlar.html-data.json +26 -8
  393. package/package.json +3 -2
  394. package/theme/README.md +7 -6
  395. package/theme/base/_global.scss +2 -2
  396. package/theme/base/_reset.scss +11 -0
  397. package/theme/components/_app-shell.scss +0 -8
  398. package/theme/components/_form.scss +6 -6
  399. package/theme/components/_ln-table.scss +6 -3
  400. package/theme/components/_scrollbar.scss +5 -4
  401. package/theme/components/_sortable.scss +19 -19
  402. package/theme/components/_stat-card.scss +1 -0
  403. package/theme/components/_table.scss +10 -33
  404. package/theme/components/_translations.scss +118 -111
  405. package/theme/config/_density.scss +236 -104
  406. package/theme/config/_palette.scss +71 -49
  407. package/theme/config/_theme.scss +27 -31
  408. package/theme/config/_tokens.scss +28 -26
  409. package/theme/config/mixins/_app-shell.scss +31 -21
  410. package/theme/config/mixins/_btn.scss +4 -2
  411. package/theme/config/mixins/_card.scss +87 -67
  412. package/theme/config/mixins/_colors.scss +2 -1
  413. package/theme/config/mixins/_count.scss +48 -0
  414. package/theme/config/mixins/_display.scss +12 -0
  415. package/theme/config/mixins/_footer.scss +3 -1
  416. package/theme/config/mixins/_form.scss +48 -16
  417. package/theme/config/mixins/_index.scss +1 -0
  418. package/theme/config/mixins/_layout.scss +9 -0
  419. package/theme/config/mixins/_ln-table.scss +22 -15
  420. package/theme/config/mixins/_modal.scss +3 -0
  421. package/theme/config/mixins/_nav.scss +19 -4
  422. package/theme/config/mixins/_sidebar.scss +2 -1
  423. package/theme/config/mixins/_stat-card.scss +33 -2
  424. package/theme/config/mixins/_status-badge.scss +1 -0
  425. package/theme/config/mixins/_table.scss +81 -39
  426. package/theme/config/mixins/_tabs.scss +31 -0
  427. package/theme/config/mixins/_toast.scss +0 -1
  428. package/theme/config/mixins/_translations.scss +126 -124
  429. package/theme/designs/relaxed/_card.scss +12 -0
  430. package/theme/designs/relaxed/_layout.scss +24 -0
  431. package/theme/ln-ashlar-core.scss +1 -0
  432. package/theme/ln-ashlar-dev.scss +0 -1
  433. package/theme/ln-ashlar-relaxed.scss +67 -0
  434. package/theme/tailwind/components.css +561 -24
  435. package/theme/utilities/_utilities.scss +1 -11
  436. package/web-types.json +38 -10
  437. package/components/ln-progress/ln-progress-dev.scss +0 -8
@@ -147,6 +147,18 @@ body:has(.app-wrapper) {
147
147
  position: relative;
148
148
  }
149
149
 
150
+ .app-header .header-actions button:has(> .ln-icon:only-child),
151
+ .app-header .header-actions button:has(> .ln-icon):not(:has(span)),
152
+ .app-header .menu-toggle {
153
+ width: 2.25rem;
154
+ height: 2.25rem;
155
+ padding: 0;
156
+ display: inline-flex;
157
+ align-items: center;
158
+ justify-content: center;
159
+ border-radius: 0.5rem;
160
+ }
161
+
150
162
  /* Main inner viewport */
151
163
  .app-main {
152
164
  display: flex;
@@ -214,6 +226,7 @@ body:has(.app-wrapper) {
214
226
  padding: 1rem;
215
227
  gap: 1rem;
216
228
  overflow-y: auto;
229
+ transform: translateX(-100%);
217
230
  transition: transform 0.2s ease;
218
231
  }
219
232
 
@@ -223,18 +236,49 @@ body:has(.app-wrapper) {
223
236
  border-right-color: #1e293b;
224
237
  }
225
238
 
239
+ .app-sidebar[data-ln-toggle="open"],
240
+ aside.app-sidebar[data-ln-toggle="open"] {
241
+ transform: translateX(0);
242
+ }
243
+
244
+ .app-sidebar[data-ln-toggle="close"],
245
+ aside.app-sidebar[data-ln-toggle="close"] {
246
+ transform: translateX(-100%);
247
+ }
248
+
226
249
  @media (max-width: 767px) {
227
- .app-sidebar[data-ln-toggle="close"],
228
- aside.app-sidebar[data-ln-toggle="close"] {
229
- transform: translateX(-100%);
250
+ .app-sidebar,
251
+ aside.app-sidebar {
252
+ z-index: 45;
230
253
  }
231
- .app-sidebar[data-ln-toggle="open"],
232
- aside.app-sidebar[data-ln-toggle="open"] {
233
- transform: translateX(0);
254
+ }
255
+
256
+ /* Scrim overlay for mobile drawer */
257
+ .app-scrim {
258
+ position: fixed;
259
+ inset: 0;
260
+ background-color: rgba(0, 0, 0, 0.4);
261
+ z-index: 40;
262
+ opacity: 0;
263
+ pointer-events: none;
264
+ transition: opacity 0.2s ease;
265
+ cursor: pointer;
266
+ }
267
+
268
+ aside[data-ln-toggle="open"] ~ .app-scrim,
269
+ .app-sidebar[data-ln-toggle="open"] ~ .app-scrim {
270
+ opacity: 1;
271
+ pointer-events: auto;
272
+ }
273
+
274
+ @media (min-width: 768px) {
275
+ .app-scrim {
276
+ display: none;
234
277
  }
235
278
  }
236
279
 
237
280
  .app-sidebar header {
281
+ position: relative;
238
282
  display: flex;
239
283
  flex-direction: column;
240
284
  gap: 0.75rem;
@@ -242,6 +286,38 @@ body:has(.app-wrapper) {
242
286
  border-bottom: 1px solid #e2e8f0;
243
287
  }
244
288
 
289
+ .app-sidebar header [data-ln-toggle-action="close"] {
290
+ position: absolute;
291
+ top: 0;
292
+ right: 0;
293
+ width: 1.75rem;
294
+ height: 1.75rem;
295
+ padding: 0;
296
+ display: inline-flex;
297
+ align-items: center;
298
+ justify-content: center;
299
+ background: transparent;
300
+ border: none;
301
+ border-radius: 0.375rem;
302
+ color: #64748b;
303
+ cursor: pointer;
304
+ box-shadow: none;
305
+ }
306
+
307
+ .app-sidebar header [data-ln-toggle-action="close"]:hover {
308
+ background-color: #f1f5f9;
309
+ color: #0f172a;
310
+ }
311
+
312
+ [data-mode="dark"] .app-sidebar header [data-ln-toggle-action="close"] {
313
+ color: #94a3b8;
314
+ }
315
+
316
+ [data-mode="dark"] .app-sidebar header [data-ln-toggle-action="close"]:hover {
317
+ background-color: #1e293b;
318
+ color: #f8fafc;
319
+ }
320
+
245
321
  [data-mode="dark"] .app-sidebar header {
246
322
  border-bottom-color: #1e293b;
247
323
  }
@@ -272,12 +348,15 @@ body:has(.app-wrapper) {
272
348
  .app-sidebar header label.search {
273
349
  display: flex;
274
350
  align-items: center;
275
- gap: 0.5rem;
351
+ gap: 0.375rem;
276
352
  padding: 0.375rem 0.625rem;
277
353
  background-color: #f1f5f9; /* slate-100 */
278
354
  border: 1px solid #e2e8f0;
279
355
  border-radius: 0.5rem;
280
356
  color: #64748b;
357
+ width: 100%;
358
+ box-sizing: border-box;
359
+ transition: all 0.15s ease-in-out;
281
360
  }
282
361
 
283
362
  [data-mode="dark"] .app-sidebar header search,
@@ -287,13 +366,31 @@ body:has(.app-wrapper) {
287
366
  color: #94a3b8;
288
367
  }
289
368
 
369
+ .app-sidebar header search:focus-within,
370
+ .app-sidebar header label.search:focus-within {
371
+ border-color: #4f46e5;
372
+ background-color: #ffffff;
373
+ box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.15);
374
+ }
375
+
376
+ [data-mode="dark"] .app-sidebar header search:focus-within,
377
+ [data-mode="dark"] .app-sidebar header label.search:focus-within {
378
+ border-color: #818cf8;
379
+ background-color: #0f172a;
380
+ box-shadow: 0 0 0 3px rgba(129, 140, 248, 0.2);
381
+ }
382
+
290
383
  .app-sidebar header search input {
291
- border: none;
292
- background: transparent;
293
- font-size: 0.8125rem;
294
- outline: none;
295
- width: 100%;
296
- color: inherit;
384
+ border: none !important;
385
+ background: transparent !important;
386
+ font-size: 0.8125rem !important;
387
+ outline: none !important;
388
+ box-shadow: none !important;
389
+ flex: 1 1 0% !important;
390
+ min-width: 0 !important;
391
+ width: 100% !important;
392
+ color: inherit !important;
393
+ padding: 0 !important;
297
394
  }
298
395
 
299
396
  .app-sidebar footer {
@@ -844,12 +941,15 @@ table thead, [data-ln-table] thead {
844
941
  }
845
942
 
846
943
  table th, [data-ln-table] th {
944
+ position: relative;
847
945
  padding: 0.75rem 1rem;
848
946
  font-size: 0.75rem;
849
947
  font-weight: 600;
850
948
  text-transform: uppercase;
851
949
  letter-spacing: 0.05em;
852
950
  color: #64748b;
951
+ vertical-align: middle;
952
+ white-space: nowrap;
853
953
  }
854
954
 
855
955
  [data-mode="dark"] table th,
@@ -857,6 +957,194 @@ table th, [data-ln-table] th {
857
957
  color: #94a3b8;
858
958
  }
859
959
 
960
+ /* Allocate header space when sort and/or filter controls are present */
961
+ table th:has(:is([data-ln-sort], [data-ln-table-col-filter])),
962
+ [data-ln-table] th:has(:is([data-ln-sort], [data-ln-table-col-filter])) {
963
+ min-width: 6.25rem;
964
+ padding-inline-end: 2.75rem;
965
+ }
966
+
967
+ table th:has([data-ln-sort]):has([data-ln-table-col-filter]),
968
+ [data-ln-table] th:has([data-ln-sort]):has([data-ln-table-col-filter]) {
969
+ min-width: 8.5rem;
970
+ padding-inline-end: 4.5rem;
971
+ }
972
+
973
+ /* Position action buttons inside th */
974
+ table th [data-ln-table-col-filter],
975
+ table th [data-ln-sort],
976
+ [data-ln-table] th [data-ln-table-col-filter],
977
+ [data-ln-table] th [data-ln-sort] {
978
+ position: absolute;
979
+ top: 50%;
980
+ transform: translateY(-50%);
981
+ right: 0.75rem;
982
+ margin: 0;
983
+ }
984
+
985
+ /* When both sort and filter exist: sort button sits to the left of the filter button */
986
+ table th:has([data-ln-table-col-filter]) [data-ln-sort],
987
+ [data-ln-table] th:has([data-ln-table-col-filter]) [data-ln-sort] {
988
+ right: 2.5rem;
989
+ }
990
+
991
+ /* --------------------------------------------------------------------------
992
+ Table Column Sort ([data-ln-sort])
993
+ -------------------------------------------------------------------------- */
994
+ [data-ln-sort] {
995
+ display: inline-flex;
996
+ align-items: center;
997
+ list-style: none !important;
998
+ list-style-type: none !important;
999
+ margin: 0;
1000
+ padding: 0;
1001
+ vertical-align: middle;
1002
+ }
1003
+
1004
+ [data-ln-sort] li {
1005
+ list-style: none !important;
1006
+ list-style-type: none !important;
1007
+ margin: 0;
1008
+ padding: 0;
1009
+ display: contents;
1010
+ }
1011
+
1012
+ /* Base sort button styling — hidden by default so only active trigger shows */
1013
+ [data-ln-sort] button {
1014
+ display: none;
1015
+ width: 1.75rem;
1016
+ height: 1.75rem;
1017
+ padding: 0;
1018
+ border: none;
1019
+ background: transparent;
1020
+ box-shadow: none;
1021
+ border-radius: 9999px;
1022
+ cursor: pointer;
1023
+ color: #64748b;
1024
+ opacity: 0.45;
1025
+ transition: all 0.15s ease-in-out;
1026
+ align-items: center;
1027
+ justify-content: center;
1028
+ }
1029
+
1030
+ [data-mode="dark"] [data-ln-sort] button {
1031
+ color: #94a3b8;
1032
+ }
1033
+
1034
+ /* Hover reveals sort trigger button clearly */
1035
+ th:hover [data-ln-sort] button,
1036
+ [data-ln-table] th:hover [data-ln-sort] button {
1037
+ opacity: 0.75;
1038
+ }
1039
+
1040
+ [data-ln-sort] button:hover {
1041
+ opacity: 1 !important;
1042
+ background-color: rgba(79, 70, 229, 0.1);
1043
+ color: #4f46e5;
1044
+ }
1045
+
1046
+ [data-mode="dark"] [data-ln-sort] button:hover {
1047
+ background-color: rgba(129, 140, 248, 0.15);
1048
+ color: #818cf8;
1049
+ }
1050
+
1051
+ /* Active 3-trigger cycle display rules (circular cycle: none -> asc -> desc -> none) */
1052
+ [data-ln-sort]:not([data-ln-sort-state]) [data-ln-sort-dir="asc"],
1053
+ [data-ln-sort][data-ln-sort-state="none"] [data-ln-sort-dir="asc"],
1054
+ [data-ln-sort][data-ln-sort-state="asc"] [data-ln-sort-dir="desc"],
1055
+ [data-ln-sort][data-ln-sort-state="desc"] [data-ln-sort-dir="none"] {
1056
+ display: inline-flex;
1057
+ }
1058
+
1059
+ /* When column is sorted (asc or desc), highlight the button */
1060
+ [data-ln-sort][data-ln-sort-state="asc"] button,
1061
+ [data-ln-sort][data-ln-sort-state="desc"] button {
1062
+ opacity: 1;
1063
+ color: #4f46e5;
1064
+ }
1065
+
1066
+ [data-mode="dark"] [data-ln-sort][data-ln-sort-state="asc"] button,
1067
+ [data-mode="dark"] [data-ln-sort][data-ln-sort-state="desc"] button {
1068
+ color: #818cf8;
1069
+ }
1070
+
1071
+ [data-ln-sort] .ln-icon {
1072
+ width: 1.125rem;
1073
+ height: 1.125rem;
1074
+ }
1075
+
1076
+ /* --------------------------------------------------------------------------
1077
+ Table Column Filter Button ([data-ln-table-col-filter])
1078
+ -------------------------------------------------------------------------- */
1079
+ [data-ln-table-col-filter] {
1080
+ width: 1.75rem;
1081
+ height: 1.75rem;
1082
+ display: inline-flex;
1083
+ align-items: center;
1084
+ justify-content: center;
1085
+ padding: 0;
1086
+ border: none;
1087
+ background: transparent;
1088
+ box-shadow: none;
1089
+ border-radius: 9999px;
1090
+ cursor: pointer;
1091
+ color: #64748b;
1092
+ opacity: 0.45;
1093
+ transition: all 0.15s ease-in-out;
1094
+ vertical-align: middle;
1095
+ position: relative;
1096
+ }
1097
+
1098
+ [data-mode="dark"] [data-ln-table-col-filter] {
1099
+ color: #94a3b8;
1100
+ }
1101
+
1102
+ th:hover [data-ln-table-col-filter],
1103
+ [data-ln-table] th:hover [data-ln-table-col-filter] {
1104
+ opacity: 0.75;
1105
+ }
1106
+
1107
+ [data-ln-table-col-filter]:hover {
1108
+ opacity: 1 !important;
1109
+ background-color: rgba(79, 70, 229, 0.1);
1110
+ color: #4f46e5;
1111
+ }
1112
+
1113
+ [data-mode="dark"] [data-ln-table-col-filter]:hover {
1114
+ background-color: rgba(129, 140, 248, 0.15);
1115
+ color: #818cf8;
1116
+ }
1117
+
1118
+ /* Active filter state indicator */
1119
+ [data-ln-table-col-filter].ln-filter-active {
1120
+ opacity: 1;
1121
+ color: #4f46e5;
1122
+ }
1123
+
1124
+ [data-mode="dark"] [data-ln-table-col-filter].ln-filter-active {
1125
+ color: #818cf8;
1126
+ }
1127
+
1128
+ [data-ln-table-col-filter].ln-filter-active::after {
1129
+ content: '';
1130
+ position: absolute;
1131
+ top: 0.125rem;
1132
+ right: 0.125rem;
1133
+ width: 0.375rem;
1134
+ height: 0.375rem;
1135
+ border-radius: 9999px;
1136
+ background-color: #4f46e5;
1137
+ }
1138
+
1139
+ [data-mode="dark"] [data-ln-table-col-filter].ln-filter-active::after {
1140
+ background-color: #818cf8;
1141
+ }
1142
+
1143
+ [data-ln-table-col-filter] .ln-icon {
1144
+ width: 1.125rem;
1145
+ height: 1.125rem;
1146
+ }
1147
+
860
1148
  table td, [data-ln-table] td {
861
1149
  padding: 0.875rem 1rem;
862
1150
  border-bottom: 1px solid #f1f5f9;
@@ -879,6 +1167,60 @@ table tbody tr:hover td,
879
1167
  background-color: rgba(30, 41, 59, 0.5);
880
1168
  }
881
1169
 
1170
+ /* Table Checkbox & Row Selection */
1171
+ table input[type="checkbox"],
1172
+ [data-ln-table] input[type="checkbox"] {
1173
+ accent-color: #4f46e5;
1174
+ cursor: pointer;
1175
+ width: 1rem;
1176
+ height: 1rem;
1177
+ border-radius: 0.25rem;
1178
+ vertical-align: middle;
1179
+ }
1180
+
1181
+ table tbody tr.selected td,
1182
+ table tbody tr.ln-row-selected td,
1183
+ table tbody tr:has(input[type="checkbox"]:checked) td,
1184
+ [data-ln-table] tbody tr.selected td,
1185
+ [data-ln-table] tbody tr.ln-row-selected td,
1186
+ [data-ln-table] tbody tr:has(input[type="checkbox"]:checked) td {
1187
+ background-color: rgba(79, 70, 229, 0.08);
1188
+ }
1189
+
1190
+ [data-mode="dark"] table tbody tr.selected td,
1191
+ [data-mode="dark"] table tbody tr.ln-row-selected td,
1192
+ [data-mode="dark"] table tbody tr:has(input[type="checkbox"]:checked) td,
1193
+ [data-mode="dark"] [data-ln-table] tbody tr.selected td,
1194
+ [data-mode="dark"] [data-ln-table] tbody tr.ln-row-selected td,
1195
+ [data-mode="dark"] [data-ln-table] tbody tr:has(input[type="checkbox"]:checked) td {
1196
+ background-color: rgba(129, 140, 248, 0.15);
1197
+ }
1198
+
1199
+ /* Table Row Actions */
1200
+ td:has(.table-row-actions) {
1201
+ position: relative;
1202
+ }
1203
+
1204
+ .table-row-actions {
1205
+ display: flex;
1206
+ align-items: center;
1207
+ gap: 0.5rem;
1208
+ position: absolute;
1209
+ right: 1rem;
1210
+ top: 50%;
1211
+ transform: translateY(-50%);
1212
+ opacity: 0;
1213
+ pointer-events: none;
1214
+ visibility: hidden;
1215
+ transition: opacity 0.15s ease-in-out, visibility 0.15s;
1216
+ }
1217
+
1218
+ tr:hover .table-row-actions {
1219
+ opacity: 1;
1220
+ pointer-events: auto;
1221
+ visibility: visible;
1222
+ }
1223
+
882
1224
  .ln-table__toolbar,
883
1225
  [data-ln-table] > header {
884
1226
  display: flex;
@@ -887,28 +1229,154 @@ table tbody tr:hover td,
887
1229
  gap: 0.75rem;
888
1230
  padding: 0.75rem 1rem;
889
1231
  border-bottom: 1px solid #e2e8f0;
1232
+ background-color: #ffffff;
890
1233
  }
891
1234
 
892
1235
  [data-mode="dark"] .ln-table__toolbar,
893
1236
  [data-mode="dark"] [data-ln-table] > header {
894
1237
  border-bottom-color: #334155;
1238
+ background-color: #0f172a;
895
1239
  }
896
1240
 
897
- .ln-table__toolbar :is(label, search),
898
- [data-ln-table] > header :is(label, search) {
1241
+ /* Unified search pill/box for search inputs in table toolbar */
1242
+ /* Unified search pill/box for search inputs in table toolbar */
1243
+ .ln-table__toolbar search,
1244
+ .ln-table__toolbar label:has(> input[type="search"]) {
899
1245
  display: inline-flex;
900
1246
  align-items: center;
901
- gap: 0.5rem;
902
- position: relative;
903
- width: auto;
1247
+ gap: 0.375rem;
1248
+ padding: 0.3125rem 0.625rem;
1249
+ background-color: #ffffff;
1250
+ border: 1px solid #cbd5e1;
1251
+ border-radius: 0.5rem;
1252
+ box-shadow: 0 1px 2px #0000000d;
1253
+ transition: all 0.15s ease-in-out;
1254
+ color: #64748b;
1255
+ width: 16rem;
1256
+ max-width: 24rem;
1257
+ box-sizing: border-box;
904
1258
  }
905
1259
 
906
- .ln-table__toolbar :is(label, search) > input,
907
- .ln-table__toolbar input[type="search"],
908
- [data-ln-table] > header :is(label, search) > input {
909
- display: inline-block;
910
- width: 10rem;
911
- max-width: 16rem;
1260
+ [data-mode="dark"] .ln-table__toolbar search,
1261
+ [data-mode="dark"] .ln-table__toolbar label:has(> input[type="search"]) {
1262
+ background-color: #0f172a;
1263
+ border-color: #334155;
1264
+ color: #94a3b8;
1265
+ }
1266
+
1267
+ .ln-table__toolbar search:focus-within {
1268
+ border-color: #4f46e5;
1269
+ box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.15);
1270
+ }
1271
+
1272
+ [data-mode="dark"] .ln-table__toolbar search:focus-within {
1273
+ border-color: #818cf8;
1274
+ box-shadow: 0 0 0 3px rgba(129, 140, 248, 0.2);
1275
+ }
1276
+
1277
+ .ln-table__toolbar search > .ln-icon,
1278
+ search:has(> input[type="search"]) > .ln-icon {
1279
+ width: 1rem;
1280
+ height: 1rem;
1281
+ flex-shrink: 0;
1282
+ color: #64748b;
1283
+ }
1284
+
1285
+ [data-mode="dark"] .ln-table__toolbar search > .ln-icon,
1286
+ [data-mode="dark"] search:has(> input[type="search"]) > .ln-icon {
1287
+ color: #94a3b8;
1288
+ }
1289
+
1290
+ .ln-table__toolbar search > input,
1291
+ .ln-table__toolbar search input[type="search"],
1292
+ search:has(> input[type="search"]) > input {
1293
+ border: none !important;
1294
+ outline: none !important;
1295
+ background: transparent !important;
1296
+ box-shadow: none !important;
1297
+ padding: 0.125rem 0.25rem !important;
1298
+ font-size: 0.8125rem !important;
1299
+ color: #0f172a !important;
1300
+ flex: 1 1 0% !important;
1301
+ min-width: 0 !important;
1302
+ width: 100% !important;
1303
+ }
1304
+
1305
+ [data-mode="dark"] .ln-table__toolbar search > input,
1306
+ [data-mode="dark"] .ln-table__toolbar search input[type="search"],
1307
+ [data-mode="dark"] search:has(> input[type="search"]) > input {
1308
+ color: #f8fafc !important;
1309
+ }
1310
+
1311
+ /* Clear search button inside search */
1312
+ search button[data-ln-search-clear],
1313
+ .app-sidebar header search button[data-ln-search-clear],
1314
+ .ln-table__toolbar button[data-ln-search-clear] {
1315
+ display: inline-flex;
1316
+ align-items: center;
1317
+ justify-content: center;
1318
+ width: 1.25rem;
1319
+ height: 1.25rem;
1320
+ padding: 0;
1321
+ border: none;
1322
+ background: transparent;
1323
+ box-shadow: none;
1324
+ border-radius: 9999px;
1325
+ color: #94a3b8;
1326
+ cursor: pointer;
1327
+ flex-shrink: 0;
1328
+ margin-left: auto;
1329
+ transition: all 0.15s;
1330
+ }
1331
+
1332
+ search button[data-ln-search-clear]:hover,
1333
+ .app-sidebar header search button[data-ln-search-clear]:hover,
1334
+ .ln-table__toolbar button[data-ln-search-clear]:hover {
1335
+ color: #0f172a;
1336
+ background-color: #e2e8f0;
1337
+ }
1338
+
1339
+ [data-mode="dark"] search button[data-ln-search-clear]:hover,
1340
+ [data-mode="dark"] .app-sidebar header search button[data-ln-search-clear]:hover,
1341
+ [data-mode="dark"] .ln-table__toolbar button[data-ln-search-clear]:hover {
1342
+ color: #f8fafc;
1343
+ background-color: #334155;
1344
+ }
1345
+
1346
+ search button[data-ln-search-clear] .ln-icon,
1347
+ .app-sidebar header search button[data-ln-search-clear] .ln-icon,
1348
+ .ln-table__toolbar button[data-ln-search-clear] .ln-icon {
1349
+ width: 0.875rem;
1350
+ height: 0.875rem;
1351
+ }
1352
+
1353
+ /* Hide clear button when input is empty / placeholder is shown */
1354
+ search:has(> input:placeholder-shown) button[data-ln-search-clear],
1355
+ search > input:placeholder-shown ~ button[data-ln-search-clear],
1356
+ .app-sidebar header search > input:placeholder-shown ~ button[data-ln-search-clear] {
1357
+ visibility: hidden;
1358
+ opacity: 0;
1359
+ pointer-events: none;
1360
+ }
1361
+
1362
+ /* Table footer */
1363
+ .ln-table__footer,
1364
+ [data-ln-table] > footer {
1365
+ display: flex;
1366
+ align-items: center;
1367
+ justify-content: space-between;
1368
+ padding: 0.75rem 1rem;
1369
+ border-top: 1px solid #e2e8f0;
1370
+ background-color: #f8fafc;
1371
+ font-size: 0.8125rem;
1372
+ color: #64748b;
1373
+ }
1374
+
1375
+ [data-mode="dark"] .ln-table__footer,
1376
+ [data-mode="dark"] [data-ln-table] > footer {
1377
+ border-top-color: #334155;
1378
+ background-color: #1e293b;
1379
+ color: #94a3b8;
912
1380
  }
913
1381
 
914
1382
  /* --------------------------------------------------------------------------
@@ -1310,6 +1778,75 @@ ul[data-ln-toast] li[data-ln-toast-item],
1310
1778
  background-color: #1e293b;
1311
1779
  }
1312
1780
 
1781
+ /* Popover Filter List Items & Labels */
1782
+ [data-ln-popover] ul[data-ln-filter],
1783
+ [data-ln-dropdown] ul[data-ln-filter] {
1784
+ min-width: 10rem;
1785
+ }
1786
+
1787
+ [data-ln-popover] ul[data-ln-filter] li,
1788
+ [data-ln-dropdown] ul[data-ln-filter] li {
1789
+ margin: 0;
1790
+ padding: 0;
1791
+ }
1792
+
1793
+ [data-ln-popover] label,
1794
+ [data-ln-dropdown] label {
1795
+ display: flex;
1796
+ align-items: center;
1797
+ gap: 0.5rem;
1798
+ padding: 0.375rem 0.625rem;
1799
+ border-radius: 0.375rem;
1800
+ font-size: 0.8125rem;
1801
+ font-weight: 500;
1802
+ color: #475569;
1803
+ cursor: pointer;
1804
+ margin-bottom: 0;
1805
+ transition: all 0.15s;
1806
+ user-select: none;
1807
+ }
1808
+
1809
+ [data-ln-popover] label:hover,
1810
+ [data-ln-dropdown] label:hover {
1811
+ background-color: #f1f5f9;
1812
+ color: #0f172a;
1813
+ }
1814
+
1815
+ [data-mode="dark"] [data-ln-popover] label,
1816
+ [data-mode="dark"] [data-ln-dropdown] label {
1817
+ color: #94a3b8;
1818
+ }
1819
+
1820
+ [data-mode="dark"] [data-ln-popover] label:hover,
1821
+ [data-mode="dark"] [data-ln-dropdown] label:hover {
1822
+ background-color: #1e293b;
1823
+ color: #f8fafc;
1824
+ }
1825
+
1826
+ [data-ln-popover] label:has(> input:checked),
1827
+ [data-ln-dropdown] label:has(> input:checked) {
1828
+ background-color: #eef2ff;
1829
+ color: #4f46e5;
1830
+ font-weight: 600;
1831
+ }
1832
+
1833
+ [data-mode="dark"] [data-ln-popover] label:has(> input:checked),
1834
+ [data-mode="dark"] [data-ln-dropdown] label:has(> input:checked) {
1835
+ background-color: rgba(79, 70, 229, 0.2);
1836
+ color: #818cf8;
1837
+ }
1838
+
1839
+ [data-ln-popover] input[type="checkbox"],
1840
+ [data-ln-dropdown] input[type="checkbox"] {
1841
+ accent-color: #4f46e5;
1842
+ width: 1rem;
1843
+ height: 1rem;
1844
+ border-radius: 0.25rem;
1845
+ cursor: pointer;
1846
+ vertical-align: middle;
1847
+ margin: 0;
1848
+ }
1849
+
1313
1850
  /* --------------------------------------------------------------------------
1314
1851
  13. Code Inspector Collapsible Panel
1315
1852
  -------------------------------------------------------------------------- */
@@ -1,17 +1,7 @@
1
1
  @use '../config/mixins' as *;
2
2
  @use '../config/breakpoints' as *;
3
3
 
4
- .sr-only {
5
- position: absolute;
6
- width: 1px;
7
- height: 1px;
8
- padding: 0;
9
- margin: -1px;
10
- overflow: hidden;
11
- clip: rect(0, 0, 0, 0);
12
- white-space: nowrap;
13
- border-width: 0;
14
- }
4
+ .sr-only { @include sr-only; }
15
5
 
16
6
  .hidden { @include hidden; }
17
7