@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
@@ -1,62 +1,62 @@
1
- // Mixins index — @forward all in correct order
2
- // Primitives first, composites after (they depend on primitives)
3
-
4
- // Primitives
5
- @forward 'spacing';
6
- @forward 'breakpoints';
7
- @forward 'display';
8
- @forward 'sizing';
9
- @forward 'typography';
10
- @forward 'colors';
11
- @forward 'borders';
12
- @forward 'shadows';
13
- @forward 'transitions';
14
- @forward 'motion';
15
- @forward 'position';
16
- @forward 'interaction';
17
- @forward 'focus';
18
-
19
- // Composites (depend on primitives)
20
- @forward 'layout';
21
- @forward 'collapsible';
22
- @forward 'accordion';
23
- @forward 'card';
24
- @forward 'chip';
25
- @forward 'nav';
26
- @forward 'btn';
27
- @forward 'form';
28
- @forward 'filter';
29
- @forward 'modal';
30
- @forward 'breadcrumbs';
31
- @forward 'loader';
32
- @forward 'tabs';
33
- @forward 'table';
34
- @forward 'sort';
35
- @forward 'avatar';
36
- @forward 'footer';
37
- @forward 'sidebar';
38
- @forward 'app-shell';
39
- @forward 'status-badge';
40
- @forward 'alert';
41
- @forward 'empty-state';
42
- @forward 'page-header';
43
- @forward 'stepper';
44
- @forward 'timeline';
45
- @forward 'stat-card';
46
- @forward 'prose';
47
- @forward 'editor';
48
- @forward 'kbd';
49
- @forward 'tooltip';
50
- @forward 'popover';
51
- @forward 'progress';
52
- @forward 'link';
53
- @forward 'circular-progress';
54
- @forward 'dropdown';
55
- @forward 'toast';
56
- @forward 'upload';
57
- @forward 'picklist';
58
- @forward 'translations';
59
- @forward 'ln-table';
60
- @forward 'chart';
61
- @forward 'ajax';
62
- @forward 'diagnostics';
1
+ // Mixins index — @forward all in correct order
2
+ // Primitives first, composites after (they depend on primitives)
3
+
4
+ // Primitives
5
+ @forward 'spacing';
6
+ @forward 'breakpoints';
7
+ @forward 'display';
8
+ @forward 'sizing';
9
+ @forward 'typography';
10
+ @forward 'colors';
11
+ @forward 'borders';
12
+ @forward 'shadows';
13
+ @forward 'transitions';
14
+ @forward 'motion';
15
+ @forward 'position';
16
+ @forward 'interaction';
17
+ @forward 'focus';
18
+
19
+ // Composites (depend on primitives)
20
+ @forward 'layout';
21
+ @forward 'collapsible';
22
+ @forward 'accordion';
23
+ @forward 'card';
24
+ @forward 'chip';
25
+ @forward 'nav';
26
+ @forward 'btn';
27
+ @forward 'form';
28
+ @forward 'filter';
29
+ @forward 'modal';
30
+ @forward 'breadcrumbs';
31
+ @forward 'loader';
32
+ @forward 'tabs';
33
+ @forward 'table';
34
+ @forward 'sort';
35
+ @forward 'avatar';
36
+ @forward 'footer';
37
+ @forward 'sidebar';
38
+ @forward 'app-shell';
39
+ @forward 'status-badge';
40
+ @forward 'alert';
41
+ @forward 'empty-state';
42
+ @forward 'page-header';
43
+ @forward 'stepper';
44
+ @forward 'timeline';
45
+ @forward 'stat-card';
46
+ @forward 'prose';
47
+ @forward 'editor';
48
+ @forward 'kbd';
49
+ @forward 'tooltip';
50
+ @forward 'popover';
51
+ @forward 'progress';
52
+ @forward 'link';
53
+ @forward 'circular-progress';
54
+ @forward 'dropdown';
55
+ @forward 'toast';
56
+ @forward 'upload';
57
+ @forward 'picklist';
58
+ @forward 'translations';
59
+ @forward 'ln-table';
60
+ @forward 'chart';
61
+ @forward 'ajax';
62
+ @forward 'diagnostics';
@@ -1,66 +1,66 @@
1
- @use 'layout' as *;
2
- @use 'form' as *;
3
- @use 'display' as *;
4
- @use 'borders' as *;
5
- @use 'focus' as *;
6
- @use 'interaction' as *;
7
-
8
- // ─── Picklist ──────────────────────────────────────────────────
9
- // Two lists side by side: available on the left, selected on the
10
- // right. Checking an item moves it across (ln-picklist), so both
11
- // lists look the same — a vertical stack of checkbox pills.
12
- //
13
- // Structure:
14
- // [data-ln-picklist]
15
- // > * a pane (author's own markup)
16
- // > ul[data-ln-picklist-list] the items
17
- // > li > label > input one checkbox pill
18
- //
19
- // Deliberately `check-list-outline`, NOT `check-list`: @mixin pill
20
- // hides the input with `display: none`, which drops the checkbox out
21
- // of the tab order — and here the checkbox IS the control, not a
22
- // decorative marker. `pill-outline` keeps it visible and focusable.
23
- //
24
- // Usage:
25
- // [data-ln-picklist] { @include picklist; }
26
-
27
- @mixin picklist {
28
- @include grid-2;
29
- --gap: var(--size-md);
30
-
31
- [data-ln-picklist-list] {
32
- @include check-list-outline;
33
- @include flex-col;
34
- @include border;
35
-
36
- // pill-outline draws a border per item; this keeps them apart.
37
- --row-gap: var(--size-2xs);
38
- gap: var(--row-gap);
39
-
40
- border-radius: var(--radius);
41
- --padding-y: var(--size-xs);
42
- --padding-x: var(--size-xs);
43
- padding: var(--padding-y) var(--padding-x);
44
-
45
- // A hundred items must not stretch the page.
46
- --max-height: 20rem;
47
- max-height: var(--max-height);
48
- overflow-y: auto;
49
- }
50
-
51
- // The input stays visible (pill-outline reverts pill's display:none),
52
- // so the ring belongs on the pill that surrounds it.
53
- [data-ln-picklist-list] li label:has(> input:focus-visible) {
54
- @include focus-ring;
55
- }
56
-
57
- // The component's own state, expressed as the attribute value it writes.
58
- &[data-ln-picklist="disabled"] [data-ln-picklist-list] {
59
- --color-fg: var(--fg-muted);
60
- color: var(--color-fg);
61
-
62
- li label {
63
- @include cursor-not-allowed;
64
- }
65
- }
66
- }
1
+ @use 'layout' as *;
2
+ @use 'form' as *;
3
+ @use 'display' as *;
4
+ @use 'borders' as *;
5
+ @use 'focus' as *;
6
+ @use 'interaction' as *;
7
+
8
+ // ─── Picklist ──────────────────────────────────────────────────
9
+ // Two lists side by side: available on the left, selected on the
10
+ // right. Checking an item moves it across (ln-picklist), so both
11
+ // lists look the same — a vertical stack of checkbox pills.
12
+ //
13
+ // Structure:
14
+ // [data-ln-picklist]
15
+ // > * a pane (author's own markup)
16
+ // > ul[data-ln-picklist-list] the items
17
+ // > li > label > input one checkbox pill
18
+ //
19
+ // Deliberately `check-list-outline`, NOT `check-list`: @mixin pill
20
+ // hides the input with `display: none`, which drops the checkbox out
21
+ // of the tab order — and here the checkbox IS the control, not a
22
+ // decorative marker. `pill-outline` keeps it visible and focusable.
23
+ //
24
+ // Usage:
25
+ // [data-ln-picklist] { @include picklist; }
26
+
27
+ @mixin picklist {
28
+ @include grid-2;
29
+ --gap: var(--size-md);
30
+
31
+ [data-ln-picklist-list] {
32
+ @include check-list-outline;
33
+ @include flex-col;
34
+ @include border;
35
+
36
+ // pill-outline draws a border per item; this keeps them apart.
37
+ --row-gap: var(--size-2xs);
38
+ gap: var(--row-gap);
39
+
40
+ border-radius: var(--radius);
41
+ --padding-y: var(--size-xs);
42
+ --padding-x: var(--size-xs);
43
+ padding: var(--padding-y) var(--padding-x);
44
+
45
+ // A hundred items must not stretch the page.
46
+ --max-height: 20rem;
47
+ max-height: var(--max-height);
48
+ overflow-y: auto;
49
+ }
50
+
51
+ // The input stays visible (pill-outline reverts pill's display:none),
52
+ // so the ring belongs on the pill that surrounds it.
53
+ [data-ln-picklist-list] li label:has(> input:focus-visible) {
54
+ @include focus-ring;
55
+ }
56
+
57
+ // The component's own state, expressed as the attribute value it writes.
58
+ &[data-ln-picklist="disabled"] [data-ln-picklist-list] {
59
+ --color-fg: var(--fg-muted);
60
+ color: var(--color-fg);
61
+
62
+ li label {
63
+ @include cursor-not-allowed;
64
+ }
65
+ }
66
+ }
@@ -1,66 +1,66 @@
1
- // ==========================================================================
2
- // Dev & Validation Diagnostics — ln-ashlar
3
- // ==========================================================================
4
- // This stylesheet contains diagnostic CSS tools to validate correct HTML
5
- // structure, missing integration attributes, and accessibility warnings during
6
- // development. Do not compile or deploy this file to production.
7
- // ==========================================================================
8
-
9
- @use 'config/mixins' as *;
10
-
11
- // --- Modular Component Diagnostics ---
12
- @use '../components/ln-accordion/ln-accordion-dev';
13
- @use '../components/ln-ajax/ln-ajax-dev';
14
- @use '../components/ln-autoresize/ln-autoresize-dev';
15
- @use '../components/ln-autosave/ln-autosave-dev';
16
- @use '../components/ln-chart/ln-chart-dev';
17
- @use '../components/ln-circular-progress/ln-circular-progress-dev';
18
- @use '../components/ln-confirm/ln-confirm-dev';
19
- @use '../components/ln-data-coordinator/ln-data-coordinator-dev';
20
- @use '../components/ln-data-store/ln-data-store-dev';
21
- @use '../components/ln-date/ln-date-dev';
22
- @use '../components/ln-dropdown/ln-dropdown-dev';
23
- @use '../components/ln-editor/ln-editor-dev';
24
- @use '../components/ln-filter/ln-filter-dev';
25
- @use '../components/ln-form/ln-form-dev';
26
- @use '../components/ln-include/ln-include-dev';
27
- @use '../components/ln-key/ln-key-dev';
28
- @use '../components/ln-link/ln-link-dev';
29
- @use '../components/ln-list/ln-list-dev';
30
- @use '../components/ln-modal/ln-modal-dev';
31
- @use '../components/ln-number/ln-number-dev';
32
- @use '../components/ln-options/ln-options-dev';
33
- @use '../components/ln-picklist/ln-picklist-dev';
34
- @use '../components/ln-popover/ln-popover-dev';
35
- @use '../components/ln-progress/ln-progress-dev';
36
- @use '../components/ln-router/ln-router-dev';
37
- @use '../components/ln-search/ln-search-dev';
38
- @use '../components/ln-slug/ln-slug-dev';
39
- @use '../components/ln-sort/ln-sort-dev';
40
- @use '../components/ln-sortable/ln-sortable-dev';
41
- @use '../components/ln-stat/ln-stat-dev';
42
- @use '../components/ln-table/ln-table-dev';
43
- @use '../components/ln-tabs/ln-tabs-dev';
44
- @use '../components/ln-time/ln-time-dev';
45
- @use '../components/ln-toast/ln-toast-dev';
46
- @use '../components/ln-toggle/ln-toggle-dev';
47
- @use '../components/ln-tooltip/ln-tooltip-dev';
48
- @use '../components/ln-translations/ln-translations-dev';
49
- @use '../components/ln-ui-coordinator/ln-ui-coordinator-dev';
50
- @use '../components/ln-upload/ln-upload-dev';
51
- @use '../components/ln-validate/ln-validate-dev';
52
-
53
- // --- General HTML/Accessibility Diagnostics ---
54
- [data-ln-debug] {
55
- // 1. Image Missing Alt: accessibility warning
56
- // Flags an <img> with NO alt attribute (empty alt="" is the valid decorative pattern and is intentionally NOT flagged)
57
- img:not([alt]) {
58
- @include dev-replaced-error;
59
- }
60
-
61
- // 2. Abbr Missing Title: accessibility warning
62
- // Flags an <abbr> with no title — the abbreviation has no expansion and is meaningless to readers
63
- abbr:not([title]) {
64
- @include dev-inline-error("abbr is missing a title attribute");
65
- }
66
- }
1
+ // ==========================================================================
2
+ // Dev & Validation Diagnostics — ln-ashlar
3
+ // ==========================================================================
4
+ // This stylesheet contains diagnostic CSS tools to validate correct HTML
5
+ // structure, missing integration attributes, and accessibility warnings during
6
+ // development. Do not compile or deploy this file to production.
7
+ // ==========================================================================
8
+
9
+ @use 'config/mixins' as *;
10
+
11
+ // --- Modular Component Diagnostics ---
12
+ @use '../components/ln-accordion/ln-accordion-dev';
13
+ @use '../components/ln-ajax/ln-ajax-dev';
14
+ @use '../components/ln-autoresize/ln-autoresize-dev';
15
+ @use '../components/ln-autosave/ln-autosave-dev';
16
+ @use '../components/ln-chart/ln-chart-dev';
17
+ @use '../components/ln-circular-progress/ln-circular-progress-dev';
18
+ @use '../components/ln-confirm/ln-confirm-dev';
19
+ @use '../components/ln-data-coordinator/ln-data-coordinator-dev';
20
+ @use '../components/ln-data-store/ln-data-store-dev';
21
+ @use '../components/ln-date/ln-date-dev';
22
+ @use '../components/ln-dropdown/ln-dropdown-dev';
23
+ @use '../components/ln-editor/ln-editor-dev';
24
+ @use '../components/ln-filter/ln-filter-dev';
25
+ @use '../components/ln-form/ln-form-dev';
26
+ @use '../components/ln-include/ln-include-dev';
27
+ @use '../components/ln-key/ln-key-dev';
28
+ @use '../components/ln-link/ln-link-dev';
29
+ @use '../components/ln-list/ln-list-dev';
30
+ @use '../components/ln-modal/ln-modal-dev';
31
+ @use '../components/ln-number/ln-number-dev';
32
+ @use '../components/ln-options/ln-options-dev';
33
+ @use '../components/ln-picklist/ln-picklist-dev';
34
+ @use '../components/ln-popover/ln-popover-dev';
35
+ @use '../components/ln-progress/ln-progress-dev';
36
+ @use '../components/ln-router/ln-router-dev';
37
+ @use '../components/ln-search/ln-search-dev';
38
+ @use '../components/ln-slug/ln-slug-dev';
39
+ @use '../components/ln-sort/ln-sort-dev';
40
+ @use '../components/ln-sortable/ln-sortable-dev';
41
+ @use '../components/ln-stat/ln-stat-dev';
42
+ @use '../components/ln-table/ln-table-dev';
43
+ @use '../components/ln-tabs/ln-tabs-dev';
44
+ @use '../components/ln-time/ln-time-dev';
45
+ @use '../components/ln-toast/ln-toast-dev';
46
+ @use '../components/ln-toggle/ln-toggle-dev';
47
+ @use '../components/ln-tooltip/ln-tooltip-dev';
48
+ @use '../components/ln-translations/ln-translations-dev';
49
+ @use '../components/ln-ui-coordinator/ln-ui-coordinator-dev';
50
+ @use '../components/ln-upload/ln-upload-dev';
51
+ @use '../components/ln-validate/ln-validate-dev';
52
+
53
+ // --- General HTML/Accessibility Diagnostics ---
54
+ [data-ln-debug] {
55
+ // 1. Image Missing Alt: accessibility warning
56
+ // Flags an <img> with NO alt attribute (empty alt="" is the valid decorative pattern and is intentionally NOT flagged)
57
+ img:not([alt]) {
58
+ @include dev-replaced-error;
59
+ }
60
+
61
+ // 2. Abbr Missing Title: accessibility warning
62
+ // Flags an <abbr> with no title — the abbreviation has no expansion and is meaningless to readers
63
+ abbr:not([title]) {
64
+ @include dev-inline-error("abbr is missing a title attribute");
65
+ }
66
+ }
@@ -1,56 +1,56 @@
1
- // ==========================================================================
2
- // ln-ashlar Landing & Presentation Stylesheet — Visual Design System
3
- // ==========================================================================
4
- // Modern, high-impact presentation design system for marketing web pages,
5
- // hero sections, bento grids, pricing tables, fluid display typography, and CTAs.
6
- // Retains 100% compatibility with ln-ashlar's orthogonal 3-axis architecture:
7
- // data-mode (light, dark, scoped islands)
8
- // data-theme (ocean, sunset, midnight, glass, aurora, violet, cyber)
9
- // data-skin (default, glass, soft, outline)
10
- // ==========================================================================
11
-
12
- // 1. Core Functional Primitives
13
- @use 'ln-ashlar-core';
14
-
15
- // 2. Ashlar Configuration & Theming Engine
16
- @use 'config/tokens';
17
- @use 'config/breakpoints';
18
- @use 'config/density';
19
- @use 'config/theme';
20
- @use 'config/icons';
21
-
22
- // 3. Resets & Base Canvas
23
- @use 'base/reset';
24
- @use 'base/global';
25
-
26
- // 4. Presentation System Tokens & Components
27
- @use 'presentation/tokens' as *;
28
- @use 'presentation/typography';
29
- @use 'presentation/effects';
30
- @use 'presentation/layout';
31
- @use 'presentation/navbar';
32
- @use 'presentation/hero';
33
- @use 'presentation/features';
34
- @use 'presentation/bento';
35
- @use 'presentation/pricing';
36
- @use 'presentation/testimonials';
37
- @use 'presentation/stats';
38
- @use 'presentation/cta';
39
- @use 'presentation/footer';
40
-
41
- // 5. Ashlar Interactive Components (used on marketing pages)
42
- @use 'components/button';
43
- @use 'components/accordion';
44
- @use 'components/modal';
45
- @use 'components/tabs';
46
- @use 'components/toggle';
47
- @use 'components/tooltip';
48
- @use 'components/dropdown';
49
- @use 'components/popover';
50
- @use 'components/avatar';
51
- @use 'components/chip';
52
- @use 'components/status-badge';
53
-
54
- // 6. Utilities & Motion
55
- @use 'utilities/utilities';
56
- @use 'utilities/animations';
1
+ // ==========================================================================
2
+ // ln-ashlar Landing & Presentation Stylesheet — Visual Design System
3
+ // ==========================================================================
4
+ // Modern, high-impact presentation design system for marketing web pages,
5
+ // hero sections, bento grids, pricing tables, fluid display typography, and CTAs.
6
+ // Retains 100% compatibility with ln-ashlar's orthogonal 3-axis architecture:
7
+ // data-mode (light, dark, scoped islands)
8
+ // data-theme (ocean, sunset, midnight, glass, aurora, violet, cyber)
9
+ // data-skin (default, glass, soft, outline)
10
+ // ==========================================================================
11
+
12
+ // 1. Core Functional Primitives
13
+ @use 'ln-ashlar-core';
14
+
15
+ // 2. Ashlar Configuration & Theming Engine
16
+ @use 'config/tokens';
17
+ @use 'config/breakpoints';
18
+ @use 'config/density';
19
+ @use 'config/theme';
20
+ @use 'config/icons';
21
+
22
+ // 3. Resets & Base Canvas
23
+ @use 'base/reset';
24
+ @use 'base/global';
25
+
26
+ // 4. Presentation System Tokens & Components
27
+ @use 'presentation/tokens' as *;
28
+ @use 'presentation/typography';
29
+ @use 'presentation/effects';
30
+ @use 'presentation/layout';
31
+ @use 'presentation/navbar';
32
+ @use 'presentation/hero';
33
+ @use 'presentation/features';
34
+ @use 'presentation/bento';
35
+ @use 'presentation/pricing';
36
+ @use 'presentation/testimonials';
37
+ @use 'presentation/stats';
38
+ @use 'presentation/cta';
39
+ @use 'presentation/footer';
40
+
41
+ // 5. Ashlar Interactive Components (used on marketing pages)
42
+ @use 'components/button';
43
+ @use 'components/accordion';
44
+ @use 'components/modal';
45
+ @use 'components/tabs';
46
+ @use 'components/toggle';
47
+ @use 'components/tooltip';
48
+ @use 'components/dropdown';
49
+ @use 'components/popover';
50
+ @use 'components/avatar';
51
+ @use 'components/chip';
52
+ @use 'components/status-badge';
53
+
54
+ // 6. Utilities & Motion
55
+ @use 'utilities/utilities';
56
+ @use 'utilities/animations';
@@ -1,63 +1,63 @@
1
- // ==========================================================================
2
- // ln-ashlar Theme Stylesheet — Visual Design System
3
- // ==========================================================================
4
- // Contains design tokens, global resets, typography, and visual skin for components.
5
- // ==========================================================================
6
-
7
- @use 'config/tokens';
8
- @use 'config/breakpoints';
9
- @use 'config/density';
10
- @use 'config/theme';
11
- @use 'config/icons';
12
-
13
- @use 'base/reset';
14
- @use 'base/global';
15
- @use 'base/typography';
16
-
17
- @use 'components/button';
18
- @use 'components/form';
19
- @use 'components/date';
20
- @use 'components/layout';
21
- @use 'components/table';
22
- @use 'components/sort';
23
- @use 'components/tabs';
24
- @use 'components/toggle';
25
- @use 'components/accordion';
26
- @use 'components/card';
27
- @use 'components/sections';
28
- @use 'components/nav';
29
- @use 'components/sidebar';
30
- @use 'components/app-shell';
31
- @use 'components/breadcrumbs';
32
- @use 'components/avatar';
33
- @use 'components/status-badge';
34
- @use 'components/alert';
35
- @use 'components/empty-state';
36
- @use 'components/page-header';
37
- @use 'components/stepper';
38
- @use 'components/timeline';
39
- @use 'components/stat-card';
40
- @use 'components/prose';
41
- @use 'components/editor';
42
- @use 'components/scrollbar';
43
- @use 'components/tooltip';
44
- @use 'components/popover';
45
- @use 'components/filter';
46
- @use 'components/chip';
47
- @use 'components/loader';
48
- @use 'components/progress';
49
- @use 'components/link';
50
- @use 'components/confirm';
51
- @use 'components/circular-progress';
52
- @use 'components/modal';
53
- @use 'components/dropdown';
54
- @use 'components/toast';
55
- @use 'components/upload';
56
- @use 'components/picklist';
57
- @use 'components/translations';
58
- @use 'components/ln-table';
59
- @use 'components/chart';
60
- @use 'components/ajax';
61
-
62
- @use 'utilities/utilities';
63
- @use 'utilities/animations';
1
+ // ==========================================================================
2
+ // ln-ashlar Theme Stylesheet — Visual Design System
3
+ // ==========================================================================
4
+ // Contains design tokens, global resets, typography, and visual skin for components.
5
+ // ==========================================================================
6
+
7
+ @use 'config/tokens';
8
+ @use 'config/breakpoints';
9
+ @use 'config/density';
10
+ @use 'config/theme';
11
+ @use 'config/icons';
12
+
13
+ @use 'base/reset';
14
+ @use 'base/global';
15
+ @use 'base/typography';
16
+
17
+ @use 'components/button';
18
+ @use 'components/form';
19
+ @use 'components/date';
20
+ @use 'components/layout';
21
+ @use 'components/table';
22
+ @use 'components/sort';
23
+ @use 'components/tabs';
24
+ @use 'components/toggle';
25
+ @use 'components/accordion';
26
+ @use 'components/card';
27
+ @use 'components/sections';
28
+ @use 'components/nav';
29
+ @use 'components/sidebar';
30
+ @use 'components/app-shell';
31
+ @use 'components/breadcrumbs';
32
+ @use 'components/avatar';
33
+ @use 'components/status-badge';
34
+ @use 'components/alert';
35
+ @use 'components/empty-state';
36
+ @use 'components/page-header';
37
+ @use 'components/stepper';
38
+ @use 'components/timeline';
39
+ @use 'components/stat-card';
40
+ @use 'components/prose';
41
+ @use 'components/editor';
42
+ @use 'components/scrollbar';
43
+ @use 'components/tooltip';
44
+ @use 'components/popover';
45
+ @use 'components/filter';
46
+ @use 'components/chip';
47
+ @use 'components/loader';
48
+ @use 'components/progress';
49
+ @use 'components/link';
50
+ @use 'components/confirm';
51
+ @use 'components/circular-progress';
52
+ @use 'components/modal';
53
+ @use 'components/dropdown';
54
+ @use 'components/toast';
55
+ @use 'components/upload';
56
+ @use 'components/picklist';
57
+ @use 'components/translations';
58
+ @use 'components/ln-table';
59
+ @use 'components/chart';
60
+ @use 'components/ajax';
61
+
62
+ @use 'utilities/utilities';
63
+ @use 'utilities/animations';