@livenetworks/ashlar 2.0.7 → 2.0.9

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 (213) hide show
  1. package/LICENSE +641 -641
  2. package/components/COMPONENTS.md +1116 -1116
  3. package/components/index.js +81 -81
  4. package/components/ln-accordion/ln-accordion-dev.scss +8 -8
  5. package/components/ln-accordion/ln-accordion.js +1 -1
  6. package/components/ln-accordion/ln-accordion.schema.json +30 -30
  7. package/components/ln-ajax/ln-ajax-dev.scss +8 -8
  8. package/components/ln-ajax/ln-ajax.js +1 -1
  9. package/components/ln-ajax/ln-ajax.schema.json +30 -30
  10. package/components/ln-api-connector/ln-api-connector.js +1 -1
  11. package/components/ln-api-connector/ln-api-connector.schema.json +9 -0
  12. package/components/ln-api-connector/src/ln-api-connector.js +2 -0
  13. package/components/ln-api-queue/ln-api-queue.js +1 -1
  14. package/components/ln-api-queue/ln-api-queue.schema.json +34 -34
  15. package/components/ln-api-queue/src/ln-api-queue.js +3 -13
  16. package/components/ln-autoresize/ln-autoresize-dev.scss +8 -8
  17. package/components/ln-autoresize/ln-autoresize.js +1 -1
  18. package/components/ln-autoresize/ln-autoresize.schema.json +22 -22
  19. package/components/ln-autosave/ln-autosave-dev.scss +13 -13
  20. package/components/ln-autosave/ln-autosave.js +1 -1
  21. package/components/ln-autosave/ln-autosave.schema.json +48 -48
  22. package/components/ln-autosave/src/autosave-model.js +34 -34
  23. package/components/ln-chart/ln-chart.js +1 -1
  24. package/components/ln-chart/ln-chart.schema.json +146 -146
  25. package/components/ln-chart/src/chart-model.js +154 -154
  26. package/components/ln-circular-progress/ln-circular-progress.js +1 -1
  27. package/components/ln-circular-progress/ln-circular-progress.schema.json +42 -42
  28. package/components/ln-confirm/ln-confirm-dev.scss +24 -24
  29. package/components/ln-confirm/ln-confirm.js +1 -1
  30. package/components/ln-confirm/ln-confirm.schema.json +66 -66
  31. package/components/ln-confirm/src/ln-confirm.js +178 -178
  32. package/components/ln-core/attrs.js +13 -0
  33. package/components/ln-core/crypto.js +286 -265
  34. package/components/ln-core/dom.js +115 -115
  35. package/components/ln-core/form.js +146 -136
  36. package/components/ln-core/helpers.js +33 -33
  37. package/components/ln-core/http.js +48 -48
  38. package/components/ln-core/index.js +1 -1
  39. package/components/ln-core/lifecycle.js +5 -0
  40. package/components/ln-core/ln-core.schema.json +3 -2
  41. package/components/ln-core/locale.js +55 -55
  42. package/components/ln-core/matching.js +78 -78
  43. package/components/ln-core/number.js +125 -125
  44. package/components/ln-core/template.js +206 -206
  45. package/components/ln-couchdb-connector/ln-couchdb-connector.js +1 -1
  46. package/components/ln-couchdb-connector/ln-couchdb-connector.schema.json +50 -50
  47. package/components/ln-couchdb-connector/src/ln-couchdb-connector.js +1 -0
  48. package/components/ln-data-coordinator/README.md +9 -38
  49. package/components/ln-data-coordinator/ln-data-coordinator-dev.scss +8 -8
  50. package/components/ln-data-coordinator/ln-data-coordinator.js +1 -1
  51. package/components/ln-data-coordinator/ln-data-coordinator.schema.json +16 -16
  52. package/components/ln-data-coordinator/src/data-read-policy.js +0 -7
  53. package/components/ln-data-coordinator/src/ln-data-coordinator.js +432 -1308
  54. package/components/ln-data-store/ln-data-store-dev.scss +13 -13
  55. package/components/ln-data-store/ln-data-store.js +1 -1
  56. package/components/ln-data-store/ln-data-store.schema.json +84 -84
  57. package/components/ln-data-store/src/data-store-model.js +184 -184
  58. package/components/ln-data-store/src/ln-data-store.js +1 -1
  59. package/components/ln-date/ln-date.js +1 -1
  60. package/components/ln-date/ln-date.schema.json +92 -92
  61. package/components/ln-date/src/date-model.js +186 -186
  62. package/components/ln-debug/ln-debug.js +1 -1
  63. package/components/ln-debug/ln-debug.schema.json +28 -28
  64. package/components/ln-debug/src/console-sink.js +19 -19
  65. package/components/ln-debug/src/gate.js +95 -95
  66. package/components/ln-debug/src/generated-attributes.js +4 -2
  67. package/components/ln-dropdown/ln-dropdown-dev.scss +13 -13
  68. package/components/ln-dropdown/ln-dropdown.js +1 -1
  69. package/components/ln-dropdown/ln-dropdown.schema.json +90 -90
  70. package/components/ln-editor/ln-editor.js +1 -1
  71. package/components/ln-editor/ln-editor.schema.json +58 -58
  72. package/components/ln-external-links/ln-external-links.js +1 -1
  73. package/components/ln-external-links/ln-external-links.schema.json +18 -18
  74. package/components/ln-fill/ln-fill.js +1 -1
  75. package/components/ln-fill/ln-fill.schema.json +23 -23
  76. package/components/ln-filter/ln-filter.js +1 -1
  77. package/components/ln-filter/ln-filter.schema.json +153 -153
  78. package/components/ln-filter/src/filter-model.js +185 -185
  79. package/components/ln-form/ln-form-dev.scss +8 -8
  80. package/components/ln-form/ln-form.js +1 -1
  81. package/components/ln-form/ln-form.schema.json +6 -0
  82. package/components/ln-form/src/ln-form.js +21 -0
  83. package/components/ln-http/ln-http.js +1 -1
  84. package/components/ln-http/ln-http.schema.json +6 -6
  85. package/components/ln-icon/ln-icon.schema.json +6 -6
  86. package/components/ln-include/ln-include.js +1 -1
  87. package/components/ln-include/ln-include.schema.json +23 -23
  88. package/components/ln-key/ln-key-dev.scss +18 -18
  89. package/components/ln-key/ln-key.js +1 -1
  90. package/components/ln-key/ln-key.schema.json +56 -56
  91. package/components/ln-key/src/ln-key.js +10 -10
  92. package/components/ln-link/ln-link-dev.scss +8 -8
  93. package/components/ln-link/ln-link.js +1 -1
  94. package/components/ln-link/ln-link.schema.json +22 -22
  95. package/components/ln-list/README.md +152 -152
  96. package/components/ln-list/ln-list-dev.scss +8 -8
  97. package/components/ln-list/ln-list.js +1 -1
  98. package/components/ln-list/ln-list.schema.json +166 -166
  99. package/components/ln-modal/ln-modal.js +1 -1
  100. package/components/ln-modal/ln-modal.schema.json +65 -65
  101. package/components/ln-nav/ln-nav.js +1 -1
  102. package/components/ln-nav/ln-nav.schema.json +25 -25
  103. package/components/ln-number/ln-number.js +1 -1
  104. package/components/ln-number/ln-number.schema.json +63 -63
  105. package/components/ln-number/src/ln-number.js +26 -0
  106. package/components/ln-number/src/number-model.js +31 -31
  107. package/components/ln-obfuscator/README.md +60 -60
  108. package/components/ln-obfuscator/ln-obfuscator.js +1 -1
  109. package/components/ln-obfuscator/ln-obfuscator.schema.json +49 -49
  110. package/components/ln-obfuscator/src/ln-obfuscator.js +159 -159
  111. package/components/ln-obfuscator/src/obfuscator-model.js +250 -250
  112. package/components/ln-options/ln-options.js +1 -1
  113. package/components/ln-options/ln-options.schema.json +6 -0
  114. package/components/ln-options/src/ln-options.js +4 -4
  115. package/components/ln-persist/README.md +151 -151
  116. package/components/ln-persist/ln-persist.js +1 -1
  117. package/components/ln-persist/ln-persist.schema.json +28 -28
  118. package/components/ln-persist/src/ln-persist.js +83 -83
  119. package/components/ln-picklist/README.md +230 -230
  120. package/components/ln-picklist/ln-picklist-dev.scss +22 -22
  121. package/components/ln-picklist/ln-picklist.js +1 -1
  122. package/components/ln-picklist/ln-picklist.schema.json +49 -49
  123. package/components/ln-picklist/src/ln-picklist.js +228 -228
  124. package/components/ln-popover/ln-popover-dev.scss +13 -13
  125. package/components/ln-popover/ln-popover.js +1 -1
  126. package/components/ln-popover/ln-popover.schema.json +82 -82
  127. package/components/ln-progress/ln-progress-dev.scss +8 -8
  128. package/components/ln-progress/ln-progress.js +1 -1
  129. package/components/ln-progress/ln-progress.schema.json +40 -40
  130. package/components/ln-router/ln-router.js +1 -1
  131. package/components/ln-router/ln-router.schema.json +76 -76
  132. package/components/ln-scroll/README.md +45 -45
  133. package/components/ln-scroll/ln-scroll.js +1 -1
  134. package/components/ln-scroll/ln-scroll.schema.json +85 -85
  135. package/components/ln-scroll/src/ln-scroll.js +150 -150
  136. package/components/ln-search/README.md +188 -188
  137. package/components/ln-search/ln-search.js +1 -1
  138. package/components/ln-search/ln-search.schema.json +103 -103
  139. package/components/ln-slug/ln-slug.js +1 -1
  140. package/components/ln-slug/ln-slug.schema.json +23 -23
  141. package/components/ln-slug/src/ln-slug.js +25 -1
  142. package/components/ln-sort/ln-sort.js +1 -1
  143. package/components/ln-sort/ln-sort.schema.json +104 -104
  144. package/components/ln-sort/src/ln-sort.js +321 -321
  145. package/components/ln-sort/src/sort-model.js +117 -117
  146. package/components/ln-sortable/ln-sortable-dev.scss +13 -13
  147. package/components/ln-sortable/ln-sortable.js +1 -1
  148. package/components/ln-sortable/ln-sortable.schema.json +36 -36
  149. package/components/ln-stat/ln-stat-dev.scss +8 -8
  150. package/components/ln-stat/ln-stat.js +1 -1
  151. package/components/ln-stat/ln-stat.schema.json +32 -32
  152. package/components/ln-stat/src/stat-model.js +28 -28
  153. package/components/ln-table/ln-table.js +1 -1
  154. package/components/ln-table/ln-table.schema.json +211 -211
  155. package/components/ln-table/src/table-model.js +98 -98
  156. package/components/ln-table-coordinator/ln-table-coordinator.js +1 -1
  157. package/components/ln-table-coordinator/ln-table-coordinator.schema.json +93 -93
  158. package/components/ln-tabs/ln-tabs.js +1 -1
  159. package/components/ln-tabs/ln-tabs.schema.json +75 -75
  160. package/components/ln-tabs/src/ln-tabs.js +208 -208
  161. package/components/ln-tabs/src/tabs-model.js +82 -82
  162. package/components/ln-time/ln-time-dev.scss +13 -13
  163. package/components/ln-time/ln-time.js +1 -1
  164. package/components/ln-time/ln-time.schema.json +38 -38
  165. package/components/ln-toast/ln-toast.js +1 -1
  166. package/components/ln-toast/ln-toast.schema.json +65 -65
  167. package/components/ln-toggle/ln-toggle.js +1 -1
  168. package/components/ln-toggle/ln-toggle.schema.json +52 -52
  169. package/components/ln-tooltip/ln-tooltip.js +1 -1
  170. package/components/ln-tooltip/ln-tooltip.schema.json +86 -86
  171. package/components/ln-translations/ln-translations.js +1 -1
  172. package/components/ln-translations/ln-translations.schema.json +120 -120
  173. package/components/ln-ui-coordinator/README.md +62 -62
  174. package/components/ln-ui-coordinator/ln-ui-coordinator.js +1 -1
  175. package/components/ln-ui-coordinator/ln-ui-coordinator.schema.json +28 -28
  176. package/components/ln-ui-coordinator/src/ln-ui-coordinator.js +140 -140
  177. package/components/ln-upload/ln-upload.js +1 -1
  178. package/components/ln-upload/ln-upload.schema.json +193 -193
  179. package/components/ln-upload/src/upload-model.js +78 -78
  180. package/components/ln-validate/ln-validate.js +1 -1
  181. package/components/ln-validate/ln-validate.schema.json +50 -50
  182. package/components/ln-validate/src/validate-model.js +64 -64
  183. package/components/ln-websocket-connector/README.md +166 -166
  184. package/components/ln-websocket-connector/ln-websocket-connector.js +1 -1
  185. package/components/ln-websocket-connector/ln-websocket-connector.schema.json +29 -29
  186. package/components/ln-websocket-connector/src/ln-websocket-connector.js +283 -279
  187. package/ln-ashlar.html-data.json +15 -8
  188. package/package.json +85 -84
  189. package/theme/brand.css +73 -73
  190. package/theme/components/_confirm.scss +6 -6
  191. package/theme/components/_picklist.scss +3 -3
  192. package/theme/config/_palette.scss +274 -274
  193. package/theme/config/_theme.scss +292 -292
  194. package/theme/config/_tokens.scss +285 -285
  195. package/theme/config/mixins/_index.scss +62 -62
  196. package/theme/config/mixins/_picklist.scss +66 -66
  197. package/theme/ln-ashlar-dev.scss +66 -66
  198. package/theme/ln-ashlar-landing.scss +56 -56
  199. package/theme/ln-ashlar-theme.scss +63 -63
  200. package/theme/presentation/_bento.scss +151 -151
  201. package/theme/presentation/_cta.scss +111 -111
  202. package/theme/presentation/_effects.scss +216 -216
  203. package/theme/presentation/_features.scss +108 -108
  204. package/theme/presentation/_footer.scss +129 -129
  205. package/theme/presentation/_hero.scss +158 -158
  206. package/theme/presentation/_layout.scss +170 -170
  207. package/theme/presentation/_navbar.scss +140 -140
  208. package/theme/presentation/_pricing.scss +262 -262
  209. package/theme/presentation/_stats.scss +87 -87
  210. package/theme/presentation/_testimonials.scss +124 -124
  211. package/theme/presentation/_tokens.scss +39 -39
  212. package/theme/presentation/_typography.scss +163 -163
  213. package/web-types.json +26 -12
package/package.json CHANGED
@@ -1,84 +1,85 @@
1
- {
2
- "name": "@livenetworks/ashlar",
3
- "version": "2.0.7",
4
- "description": "LiveNetworks unified frontend library - CSS framework and vanilla JS components",
5
- "license": "GPL-3.0-or-later",
6
- "author": "Live Networks",
7
- "type": "module",
8
- "publishConfig": {
9
- "access": "public"
10
- },
11
- "repository": {
12
- "type": "git",
13
- "url": "git+https://github.com/livenetworks/ln-ashlar.git"
14
- },
15
- "homepage": "https://github.com/livenetworks/ln-ashlar#readme",
16
- "bugs": "https://github.com/livenetworks/ln-ashlar/issues",
17
- "keywords": [
18
- "css",
19
- "scss",
20
- "design-system",
21
- "frontend",
22
- "components",
23
- "vanilla-js"
24
- ],
25
- "main": "./dist/ln-ashlar.js",
26
- "style": "./dist/ln-ashlar.css",
27
- "web-types": "./web-types.json",
28
- "files": [
29
- "dist/",
30
- "theme/",
31
- "components/",
32
- "ln-ashlar.html-data.json",
33
- "web-types.json"
34
- ],
35
- "exports": {
36
- ".": {
37
- "import": "./dist/ln-ashlar.js",
38
- "default": "./dist/ln-ashlar.js"
39
- },
40
- "./core.css": "./dist/ln-ashlar-core.css",
41
- "./theme.css": "./dist/ln-ashlar-theme.css",
42
- "./full.css": "./dist/ln-ashlar.css",
43
- "./landing.css": "./dist/ln-ashlar-landing.css",
44
- "./presentation.css": "./dist/ln-ashlar-landing.css",
45
- "./dev.css": "./dist/ln-ashlar-dev.css",
46
- "./dev.js": "./dist/ln-ashlar-dev.js",
47
- "./theme/*": "./theme/*",
48
- "./components/*": "./components/*"
49
- },
50
- "scripts": {
51
- "test": "npm run sync:ln-schemas:check && npm run sync:ln-events:check && npm run sync:css-tokens:check && node --test \"tests/*.test.js\"",
52
- "test:p0": "node --test tests/p0-data-integrity.test.js",
53
- "dev": "node scripts/build.mjs --watch",
54
- "build": "npm run sync:ln-schemas && npm run sync:ln-events && npm run sync:css-tokens && node scripts/build.mjs && npm run build:dev-css && npm run build:demos",
55
- "build:demos": "npm run build:demo-index && npm run build:demo-admin && npm run build:demo-docuflow && npm run build:demo-spa && npm run build:demo-landing && npm run build:demo-corporate",
56
- "build:dev-css": "sass theme/ln-ashlar-dev.scss demo/dist/ln-ashlar-dev.css --no-source-map --style=compressed",
57
- "generate:brand-assets": "powershell -ExecutionPolicy Bypass -File scripts/generate-brand-assets.ps1 && node scripts/generate-svg-favicon.mjs",
58
- "build:demo-index": "sass demo/index.scss demo/index.css --no-source-map --style=compressed",
59
- "build:demo-admin": "sass demo/admin/src/admin.scss demo/admin/dist/admin.css --no-source-map --style=compressed && node -e \"const fs = require('fs'); fs.copyFileSync('demo/admin/src/demo.js', 'demo/admin/dist/demo.js')\" && node demo/admin/src/build-pages.mjs",
60
- "build:demo-docuflow": "sass demo/docuflow/docuflow.scss demo/docuflow/dist/docuflow.css --no-source-map --style=compressed",
61
- "build:demo-spa": "node demo/spa/build.mjs",
62
- "build:demo-landing": "sass demo/landing/landing.scss demo/landing/landing.css --no-source-map --style=compressed",
63
- "build:demo-corporate": "sass demo/corporate/corporate.scss demo/corporate/corporate.css --no-source-map --style=compressed",
64
- "sync:ln-schemas": "node scripts/sync-ln-schemas.mjs",
65
- "sync:ln-schemas:check": "node scripts/sync-ln-schemas.mjs --check",
66
- "sync:ln-events": "node scripts/sync-ln-events.mjs",
67
- "sync:ln-events:check": "node scripts/sync-ln-events.mjs --check",
68
- "sync:ln-events:strict": "node scripts/sync-ln-events.mjs --strict",
69
- "sync:css-tokens": "node scripts/sync-css-tokens.mjs",
70
- "sync:css-tokens:check": "node scripts/sync-css-tokens.mjs --check",
71
- "manifest": "node scripts/extract-manifest.mjs",
72
- "manifest:file": "node scripts/extract-manifest.mjs --output=docs/manifest.txt",
73
- "generate:llms": "node scripts/generate-llms.mjs",
74
- "generate:llms:check": "node scripts/generate-llms.mjs --check"
75
- },
76
- "devDependencies": {
77
- "@tabler/icons": "^3.41.1",
78
- "fake-indexeddb": "^6.2.4",
79
- "flag-icons": "^7.5.0",
80
- "puppeteer-core": "^25.1.0",
81
- "sass-embedded": "^1.83.0",
82
- "vite": "^6.0.0"
83
- }
84
- }
1
+ {
2
+ "name": "@livenetworks/ashlar",
3
+ "version": "2.0.9",
4
+ "description": "LiveNetworks unified frontend library - CSS framework and vanilla JS components",
5
+ "license": "GPL-3.0-or-later",
6
+ "author": "Live Networks",
7
+ "type": "module",
8
+ "publishConfig": {
9
+ "access": "public"
10
+ },
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "git+https://github.com/livenetworks/ln-ashlar.git"
14
+ },
15
+ "homepage": "https://github.com/livenetworks/ln-ashlar#readme",
16
+ "bugs": "https://github.com/livenetworks/ln-ashlar/issues",
17
+ "keywords": [
18
+ "css",
19
+ "scss",
20
+ "design-system",
21
+ "frontend",
22
+ "components",
23
+ "vanilla-js"
24
+ ],
25
+ "main": "./dist/ln-ashlar.js",
26
+ "style": "./dist/ln-ashlar.css",
27
+ "web-types": "./web-types.json",
28
+ "files": [
29
+ "dist/",
30
+ "theme/",
31
+ "components/",
32
+ "ln-ashlar.html-data.json",
33
+ "web-types.json"
34
+ ],
35
+ "exports": {
36
+ ".": {
37
+ "import": "./dist/ln-ashlar.js",
38
+ "default": "./dist/ln-ashlar.js"
39
+ },
40
+ "./core.css": "./dist/ln-ashlar-core.css",
41
+ "./theme.css": "./dist/ln-ashlar-theme.css",
42
+ "./full.css": "./dist/ln-ashlar.css",
43
+ "./landing.css": "./dist/ln-ashlar-landing.css",
44
+ "./presentation.css": "./dist/ln-ashlar-landing.css",
45
+ "./dev.css": "./dist/ln-ashlar-dev.css",
46
+ "./dev.js": "./dist/ln-ashlar-dev.js",
47
+ "./theme/*": "./theme/*",
48
+ "./components/*": "./components/*"
49
+ },
50
+ "scripts": {
51
+ "test": "npm run sync:ln-schemas:check && npm run sync:ln-events:check && npm run sync:css-tokens:check && node --test \"tests/*.test.js\"",
52
+ "test:p0": "node --test tests/p0-data-integrity.test.js",
53
+ "test:headless": "node tests/headless/run-all.mjs",
54
+ "dev": "node scripts/build.mjs --watch",
55
+ "build": "npm run sync:ln-schemas && npm run sync:ln-events && npm run sync:css-tokens && node scripts/build.mjs && npm run build:dev-css && npm run build:demos",
56
+ "build:demos": "npm run build:demo-index && npm run build:demo-admin && npm run build:demo-docuflow && npm run build:demo-spa && npm run build:demo-landing && npm run build:demo-corporate",
57
+ "build:dev-css": "sass theme/ln-ashlar-dev.scss demo/dist/ln-ashlar-dev.css --no-source-map --style=compressed",
58
+ "generate:brand-assets": "powershell -ExecutionPolicy Bypass -File scripts/generate-brand-assets.ps1 && node scripts/generate-svg-favicon.mjs",
59
+ "build:demo-index": "sass demo/index.scss demo/index.css --no-source-map --style=compressed",
60
+ "build:demo-admin": "sass demo/admin/src/admin.scss demo/admin/dist/admin.css --no-source-map --style=compressed && node -e \"const fs = require('fs'); fs.copyFileSync('demo/admin/src/demo.js', 'demo/admin/dist/demo.js')\" && node demo/admin/src/build-pages.mjs",
61
+ "build:demo-docuflow": "sass demo/docuflow/docuflow.scss demo/docuflow/dist/docuflow.css --no-source-map --style=compressed",
62
+ "build:demo-spa": "node demo/spa/build.mjs",
63
+ "build:demo-landing": "sass demo/landing/landing.scss demo/landing/landing.css --no-source-map --style=compressed",
64
+ "build:demo-corporate": "sass demo/corporate/corporate.scss demo/corporate/corporate.css --no-source-map --style=compressed",
65
+ "sync:ln-schemas": "node scripts/sync-ln-schemas.mjs",
66
+ "sync:ln-schemas:check": "node scripts/sync-ln-schemas.mjs --check",
67
+ "sync:ln-events": "node scripts/sync-ln-events.mjs",
68
+ "sync:ln-events:check": "node scripts/sync-ln-events.mjs --check",
69
+ "sync:ln-events:strict": "node scripts/sync-ln-events.mjs --strict",
70
+ "sync:css-tokens": "node scripts/sync-css-tokens.mjs",
71
+ "sync:css-tokens:check": "node scripts/sync-css-tokens.mjs --check",
72
+ "manifest": "node scripts/extract-manifest.mjs",
73
+ "manifest:file": "node scripts/extract-manifest.mjs --output=docs/manifest.txt",
74
+ "generate:llms": "node scripts/generate-llms.mjs",
75
+ "generate:llms:check": "node scripts/generate-llms.mjs --check"
76
+ },
77
+ "devDependencies": {
78
+ "@tabler/icons": "^3.41.1",
79
+ "fake-indexeddb": "^6.2.4",
80
+ "flag-icons": "^7.5.0",
81
+ "puppeteer-core": "^25.1.0",
82
+ "sass-embedded": "^1.83.0",
83
+ "vite": "^6.0.0"
84
+ }
85
+ }
package/theme/brand.css CHANGED
@@ -1,73 +1,73 @@
1
- /**
2
- * ============================================================================
3
- * ln-ashlar — Brand Configuration Template (brand.css)
4
- * ============================================================================
5
- *
6
- * This file allows client applications to override corporate brand colors
7
- * and typography in a single place, without modifying or recompiling core
8
- * library files. Brand is polarity-free by default: one :root declaration
9
- * serves light and dark alike.
10
- *
11
- * HOW TO USE:
12
- * 1. Copy this file into your project (e.g., as `assets/css/brand.css`).
13
- * 2. Link this file in your HTML. Thanks to zero-specificity `:where()` selectors
14
- * in ln-ashlar, your definitions here will ALWAYS win regardless of stylesheet
15
- * loading order (even if loaded before `ln-ashlar.css`).
16
- *
17
- * IMPORTANT RULES:
18
- * - Bare HSL Triplets: Values for `--brand-primary` and `--brand-secondary` MUST
19
- * be specified as bare HSL triplets (e.g. `221 83% 48%`), NEVER wrapped in `hsl(...)`.
20
- * The library internally composes alpha transparency over these values using CSS
21
- * color slash syntax: `hsl(var(--color-primary) / 0.2)`. Wrapping them in `hsl()`
22
- * would produce invalid syntax like `hsl(hsl(...) / 0.2)` and drop declarations.
23
- *
24
- * - Tint Overrides: By default, `--color-accent-tint` and `--color-accent-tint-strong`
25
- * are automatically computed via `color-mix()` against local surface backgrounds.
26
- * If your brand requires custom hand-tuned tint shades, uncomment and set
27
- * `--brand-primary-tint` and `--brand-primary-tint-strong`.
28
- *
29
- * - Additional Overrides: You may also customize font families (`--font-sans`, `--font-mono`)
30
- * or override any neutral color tokens (`--color-neutral-50` ... `--color-neutral-900`)
31
- * within the respective theme blocks below.
32
- * ============================================================================
33
- */
34
-
35
- /* -------------------------------------------------------------------------- */
36
- /* Light Mode Brand Values */
37
- /* -------------------------------------------------------------------------- */
38
- :root {
39
- /* Primary brand color (bare HSL triplet: hue saturation% lightness%) */
40
- --brand-primary: 221 83% 43%;
41
-
42
- /* Secondary brand accent color (bare HSL triplet) */
43
- --brand-secondary: 160 84% 36%;
44
-
45
- /* Typography font stacks (optional) */
46
- --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
47
- --font-mono: 'JetBrains Mono', ui-monospace, 'Cascadia Code', monospace;
48
-
49
- /* Optional manual accent tint overrides (defaults are computed via color-mix) */
50
- /* --brand-primary-tint: hsl(221 83% 97%); */
51
- /* --brand-primary-tint-strong: hsl(221 83% 94%); */
52
- }
53
-
54
- /* -------------------------------------------------------------------------- */
55
- /* Dark Mode Brand Values — OPT-IN, commented out by default */
56
- /* -------------------------------------------------------------------------- */
57
- /*
58
- * Uncomment ONLY if your brand genuinely needs a different primary on dark
59
- * surfaces. Be aware of the cost: a per-polarity brand override re-declares
60
- * the token on EVERY nested [data-mode="dark"] island, and a declaration beats
61
- * inheritance at any specificity. So a dark island nested inside a scoped
62
- * [data-theme] region will clobber that region's brand and snap back to the
63
- * value below. Declaring brand at :root only — the default above — lets
64
- * [data-theme] islands rebind it cleanly.
65
- *
66
- * [data-mode="dark"] {
67
- * --brand-primary: 221 83% 48%;
68
- * --brand-secondary: 160 84% 36%;
69
- *
70
- * --brand-primary-tint: hsl(232 50% 15%);
71
- * --brand-primary-tint-strong: hsl(232 60% 22%);
72
- * }
73
- */
1
+ /**
2
+ * ============================================================================
3
+ * ln-ashlar — Brand Configuration Template (brand.css)
4
+ * ============================================================================
5
+ *
6
+ * This file allows client applications to override corporate brand colors
7
+ * and typography in a single place, without modifying or recompiling core
8
+ * library files. Brand is polarity-free by default: one :root declaration
9
+ * serves light and dark alike.
10
+ *
11
+ * HOW TO USE:
12
+ * 1. Copy this file into your project (e.g., as `assets/css/brand.css`).
13
+ * 2. Link this file in your HTML. Thanks to zero-specificity `:where()` selectors
14
+ * in ln-ashlar, your definitions here will ALWAYS win regardless of stylesheet
15
+ * loading order (even if loaded before `ln-ashlar.css`).
16
+ *
17
+ * IMPORTANT RULES:
18
+ * - Bare HSL Triplets: Values for `--brand-primary` and `--brand-secondary` MUST
19
+ * be specified as bare HSL triplets (e.g. `221 83% 48%`), NEVER wrapped in `hsl(...)`.
20
+ * The library internally composes alpha transparency over these values using CSS
21
+ * color slash syntax: `hsl(var(--color-primary) / 0.2)`. Wrapping them in `hsl()`
22
+ * would produce invalid syntax like `hsl(hsl(...) / 0.2)` and drop declarations.
23
+ *
24
+ * - Tint Overrides: By default, `--color-accent-tint` and `--color-accent-tint-strong`
25
+ * are automatically computed via `color-mix()` against local surface backgrounds.
26
+ * If your brand requires custom hand-tuned tint shades, uncomment and set
27
+ * `--brand-primary-tint` and `--brand-primary-tint-strong`.
28
+ *
29
+ * - Additional Overrides: You may also customize font families (`--font-sans`, `--font-mono`)
30
+ * or override any neutral color tokens (`--color-neutral-50` ... `--color-neutral-900`)
31
+ * within the respective theme blocks below.
32
+ * ============================================================================
33
+ */
34
+
35
+ /* -------------------------------------------------------------------------- */
36
+ /* Light Mode Brand Values */
37
+ /* -------------------------------------------------------------------------- */
38
+ :root {
39
+ /* Primary brand color (bare HSL triplet: hue saturation% lightness%) */
40
+ --brand-primary: 221 83% 43%;
41
+
42
+ /* Secondary brand accent color (bare HSL triplet) */
43
+ --brand-secondary: 160 84% 36%;
44
+
45
+ /* Typography font stacks (optional) */
46
+ --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
47
+ --font-mono: 'JetBrains Mono', ui-monospace, 'Cascadia Code', monospace;
48
+
49
+ /* Optional manual accent tint overrides (defaults are computed via color-mix) */
50
+ /* --brand-primary-tint: hsl(221 83% 97%); */
51
+ /* --brand-primary-tint-strong: hsl(221 83% 94%); */
52
+ }
53
+
54
+ /* -------------------------------------------------------------------------- */
55
+ /* Dark Mode Brand Values — OPT-IN, commented out by default */
56
+ /* -------------------------------------------------------------------------- */
57
+ /*
58
+ * Uncomment ONLY if your brand genuinely needs a different primary on dark
59
+ * surfaces. Be aware of the cost: a per-polarity brand override re-declares
60
+ * the token on EVERY nested [data-mode="dark"] island, and a declaration beats
61
+ * inheritance at any specificity. So a dark island nested inside a scoped
62
+ * [data-theme] region will clobber that region's brand and snap back to the
63
+ * value below. Declaring brand at :root only — the default above — lets
64
+ * [data-theme] islands rebind it cleanly.
65
+ *
66
+ * [data-mode="dark"] {
67
+ * --brand-primary: 221 83% 48%;
68
+ * --brand-secondary: 160 84% 36%;
69
+ *
70
+ * --brand-primary-tint: hsl(232 50% 15%);
71
+ * --brand-primary-tint-strong: hsl(232 60% 22%);
72
+ * }
73
+ */
@@ -1,6 +1,6 @@
1
- // Armed state — rebind the accent token so a button carrying @mixin btn turns
2
- // red while confirming and theme overrides keep applying. See
3
- // theme/base/_global.scss for this being the documented colour-variant hook.
4
- [data-ln-confirm-state="confirming"] {
5
- --color-primary: var(--color-error);
6
- }
1
+ // Armed state — rebind the accent token so a button carrying @mixin btn turns
2
+ // red while confirming and theme overrides keep applying. See
3
+ // theme/base/_global.scss for this being the documented colour-variant hook.
4
+ [data-ln-confirm-state="confirming"] {
5
+ --color-primary: var(--color-error);
6
+ }
@@ -1,3 +1,3 @@
1
- @use '../config/mixins' as *;
2
-
3
- [data-ln-picklist] { @include picklist; }
1
+ @use '../config/mixins' as *;
2
+
3
+ [data-ln-picklist] { @include picklist; }