@livenetworks/ashlar 2.0.7 → 2.0.8

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 (207) 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 +96 -96
  12. package/components/ln-api-connector/src/ln-api-connector.js +1 -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/crypto.js +286 -265
  33. package/components/ln-core/dom.js +115 -115
  34. package/components/ln-core/form.js +136 -136
  35. package/components/ln-core/helpers.js +33 -33
  36. package/components/ln-core/http.js +48 -48
  37. package/components/ln-core/index.js +1 -1
  38. package/components/ln-core/ln-core.schema.json +109 -109
  39. package/components/ln-core/locale.js +55 -55
  40. package/components/ln-core/matching.js +78 -78
  41. package/components/ln-core/number.js +125 -125
  42. package/components/ln-core/template.js +206 -206
  43. package/components/ln-couchdb-connector/ln-couchdb-connector.js +1 -1
  44. package/components/ln-couchdb-connector/ln-couchdb-connector.schema.json +50 -50
  45. package/components/ln-couchdb-connector/src/ln-couchdb-connector.js +1 -0
  46. package/components/ln-data-coordinator/README.md +9 -38
  47. package/components/ln-data-coordinator/ln-data-coordinator-dev.scss +8 -8
  48. package/components/ln-data-coordinator/ln-data-coordinator.js +1 -1
  49. package/components/ln-data-coordinator/ln-data-coordinator.schema.json +16 -16
  50. package/components/ln-data-coordinator/src/data-read-policy.js +0 -7
  51. package/components/ln-data-coordinator/src/ln-data-coordinator.js +428 -1308
  52. package/components/ln-data-store/ln-data-store-dev.scss +13 -13
  53. package/components/ln-data-store/ln-data-store.js +1 -1
  54. package/components/ln-data-store/ln-data-store.schema.json +84 -84
  55. package/components/ln-data-store/src/data-store-model.js +184 -184
  56. package/components/ln-data-store/src/ln-data-store.js +1 -1
  57. package/components/ln-date/ln-date.js +1 -1
  58. package/components/ln-date/ln-date.schema.json +92 -92
  59. package/components/ln-date/src/date-model.js +186 -186
  60. package/components/ln-debug/ln-debug.js +1 -1
  61. package/components/ln-debug/ln-debug.schema.json +28 -28
  62. package/components/ln-debug/src/console-sink.js +19 -19
  63. package/components/ln-debug/src/gate.js +95 -95
  64. package/components/ln-debug/src/generated-attributes.js +2 -2
  65. package/components/ln-dropdown/ln-dropdown-dev.scss +13 -13
  66. package/components/ln-dropdown/ln-dropdown.js +1 -1
  67. package/components/ln-dropdown/ln-dropdown.schema.json +90 -90
  68. package/components/ln-editor/ln-editor.js +1 -1
  69. package/components/ln-editor/ln-editor.schema.json +58 -58
  70. package/components/ln-external-links/ln-external-links.js +1 -1
  71. package/components/ln-external-links/ln-external-links.schema.json +18 -18
  72. package/components/ln-fill/ln-fill.js +1 -1
  73. package/components/ln-fill/ln-fill.schema.json +23 -23
  74. package/components/ln-filter/ln-filter.js +1 -1
  75. package/components/ln-filter/ln-filter.schema.json +153 -153
  76. package/components/ln-filter/src/filter-model.js +185 -185
  77. package/components/ln-form/ln-form-dev.scss +8 -8
  78. package/components/ln-form/ln-form.js +1 -1
  79. package/components/ln-form/ln-form.schema.json +45 -45
  80. package/components/ln-http/ln-http.js +1 -1
  81. package/components/ln-http/ln-http.schema.json +6 -6
  82. package/components/ln-icon/ln-icon.schema.json +6 -6
  83. package/components/ln-include/ln-include.js +1 -1
  84. package/components/ln-include/ln-include.schema.json +23 -23
  85. package/components/ln-key/ln-key-dev.scss +18 -18
  86. package/components/ln-key/ln-key.js +1 -1
  87. package/components/ln-key/ln-key.schema.json +56 -56
  88. package/components/ln-key/src/ln-key.js +10 -10
  89. package/components/ln-link/ln-link-dev.scss +8 -8
  90. package/components/ln-link/ln-link.js +1 -1
  91. package/components/ln-link/ln-link.schema.json +22 -22
  92. package/components/ln-list/README.md +152 -152
  93. package/components/ln-list/ln-list-dev.scss +8 -8
  94. package/components/ln-list/ln-list.js +1 -1
  95. package/components/ln-list/ln-list.schema.json +166 -166
  96. package/components/ln-modal/ln-modal.js +1 -1
  97. package/components/ln-modal/ln-modal.schema.json +65 -65
  98. package/components/ln-nav/ln-nav.js +1 -1
  99. package/components/ln-nav/ln-nav.schema.json +25 -25
  100. package/components/ln-number/ln-number.js +1 -1
  101. package/components/ln-number/ln-number.schema.json +63 -63
  102. package/components/ln-number/src/number-model.js +31 -31
  103. package/components/ln-obfuscator/README.md +60 -60
  104. package/components/ln-obfuscator/ln-obfuscator.js +1 -1
  105. package/components/ln-obfuscator/ln-obfuscator.schema.json +49 -49
  106. package/components/ln-obfuscator/src/ln-obfuscator.js +159 -159
  107. package/components/ln-obfuscator/src/obfuscator-model.js +250 -250
  108. package/components/ln-options/ln-options.js +1 -1
  109. package/components/ln-options/ln-options.schema.json +41 -41
  110. package/components/ln-persist/README.md +151 -151
  111. package/components/ln-persist/ln-persist.js +1 -1
  112. package/components/ln-persist/ln-persist.schema.json +28 -28
  113. package/components/ln-persist/src/ln-persist.js +83 -83
  114. package/components/ln-picklist/README.md +230 -230
  115. package/components/ln-picklist/ln-picklist-dev.scss +22 -22
  116. package/components/ln-picklist/ln-picklist.js +1 -1
  117. package/components/ln-picklist/ln-picklist.schema.json +49 -49
  118. package/components/ln-picklist/src/ln-picklist.js +228 -228
  119. package/components/ln-popover/ln-popover-dev.scss +13 -13
  120. package/components/ln-popover/ln-popover.js +1 -1
  121. package/components/ln-popover/ln-popover.schema.json +82 -82
  122. package/components/ln-progress/ln-progress-dev.scss +8 -8
  123. package/components/ln-progress/ln-progress.js +1 -1
  124. package/components/ln-progress/ln-progress.schema.json +40 -40
  125. package/components/ln-router/ln-router.js +1 -1
  126. package/components/ln-router/ln-router.schema.json +76 -76
  127. package/components/ln-scroll/README.md +45 -45
  128. package/components/ln-scroll/ln-scroll.js +1 -1
  129. package/components/ln-scroll/ln-scroll.schema.json +85 -85
  130. package/components/ln-scroll/src/ln-scroll.js +150 -150
  131. package/components/ln-search/README.md +188 -188
  132. package/components/ln-search/ln-search.js +1 -1
  133. package/components/ln-search/ln-search.schema.json +103 -103
  134. package/components/ln-slug/ln-slug.js +1 -1
  135. package/components/ln-slug/ln-slug.schema.json +23 -23
  136. package/components/ln-sort/ln-sort.js +1 -1
  137. package/components/ln-sort/ln-sort.schema.json +104 -104
  138. package/components/ln-sort/src/ln-sort.js +321 -321
  139. package/components/ln-sort/src/sort-model.js +117 -117
  140. package/components/ln-sortable/ln-sortable-dev.scss +13 -13
  141. package/components/ln-sortable/ln-sortable.js +1 -1
  142. package/components/ln-sortable/ln-sortable.schema.json +36 -36
  143. package/components/ln-stat/ln-stat-dev.scss +8 -8
  144. package/components/ln-stat/ln-stat.js +1 -1
  145. package/components/ln-stat/ln-stat.schema.json +32 -32
  146. package/components/ln-stat/src/stat-model.js +28 -28
  147. package/components/ln-table/ln-table.js +1 -1
  148. package/components/ln-table/ln-table.schema.json +211 -211
  149. package/components/ln-table/src/table-model.js +98 -98
  150. package/components/ln-table-coordinator/ln-table-coordinator.js +1 -1
  151. package/components/ln-table-coordinator/ln-table-coordinator.schema.json +93 -93
  152. package/components/ln-tabs/ln-tabs.js +1 -1
  153. package/components/ln-tabs/ln-tabs.schema.json +75 -75
  154. package/components/ln-tabs/src/ln-tabs.js +208 -208
  155. package/components/ln-tabs/src/tabs-model.js +82 -82
  156. package/components/ln-time/ln-time-dev.scss +13 -13
  157. package/components/ln-time/ln-time.js +1 -1
  158. package/components/ln-time/ln-time.schema.json +38 -38
  159. package/components/ln-toast/ln-toast.js +1 -1
  160. package/components/ln-toast/ln-toast.schema.json +65 -65
  161. package/components/ln-toggle/ln-toggle.js +1 -1
  162. package/components/ln-toggle/ln-toggle.schema.json +52 -52
  163. package/components/ln-tooltip/ln-tooltip.js +1 -1
  164. package/components/ln-tooltip/ln-tooltip.schema.json +86 -86
  165. package/components/ln-translations/ln-translations.js +1 -1
  166. package/components/ln-translations/ln-translations.schema.json +120 -120
  167. package/components/ln-ui-coordinator/README.md +62 -62
  168. package/components/ln-ui-coordinator/ln-ui-coordinator.js +1 -1
  169. package/components/ln-ui-coordinator/ln-ui-coordinator.schema.json +28 -28
  170. package/components/ln-ui-coordinator/src/ln-ui-coordinator.js +140 -140
  171. package/components/ln-upload/ln-upload.js +1 -1
  172. package/components/ln-upload/ln-upload.schema.json +193 -193
  173. package/components/ln-upload/src/upload-model.js +78 -78
  174. package/components/ln-validate/ln-validate.js +1 -1
  175. package/components/ln-validate/ln-validate.schema.json +50 -50
  176. package/components/ln-validate/src/validate-model.js +64 -64
  177. package/components/ln-websocket-connector/README.md +166 -166
  178. package/components/ln-websocket-connector/ln-websocket-connector.js +1 -1
  179. package/components/ln-websocket-connector/ln-websocket-connector.schema.json +29 -29
  180. package/components/ln-websocket-connector/src/ln-websocket-connector.js +283 -279
  181. package/ln-ashlar.html-data.json +7 -8
  182. package/package.json +84 -84
  183. package/theme/brand.css +73 -73
  184. package/theme/components/_confirm.scss +6 -6
  185. package/theme/components/_picklist.scss +3 -3
  186. package/theme/config/_palette.scss +274 -274
  187. package/theme/config/_theme.scss +292 -292
  188. package/theme/config/_tokens.scss +285 -285
  189. package/theme/config/mixins/_index.scss +62 -62
  190. package/theme/config/mixins/_picklist.scss +66 -66
  191. package/theme/ln-ashlar-dev.scss +66 -66
  192. package/theme/ln-ashlar-landing.scss +56 -56
  193. package/theme/ln-ashlar-theme.scss +63 -63
  194. package/theme/presentation/_bento.scss +151 -151
  195. package/theme/presentation/_cta.scss +111 -111
  196. package/theme/presentation/_effects.scss +216 -216
  197. package/theme/presentation/_features.scss +108 -108
  198. package/theme/presentation/_footer.scss +129 -129
  199. package/theme/presentation/_hero.scss +158 -158
  200. package/theme/presentation/_layout.scss +170 -170
  201. package/theme/presentation/_navbar.scss +140 -140
  202. package/theme/presentation/_pricing.scss +262 -262
  203. package/theme/presentation/_stats.scss +87 -87
  204. package/theme/presentation/_testimonials.scss +124 -124
  205. package/theme/presentation/_tokens.scss +39 -39
  206. package/theme/presentation/_typography.scss +163 -163
  207. package/web-types.json +12 -12
@@ -1,163 +1,163 @@
1
- // ==========================================================================
2
- // Presentation Typography — ln-ashlar
3
- // ==========================================================================
4
- // Fluid display typography, gradient headlines, balanced text, and badges.
5
- // ==========================================================================
6
-
7
- .hero-title {
8
- font-size: var(--text-hero);
9
- line-height: var(--lh-hero);
10
- font-weight: 800;
11
- letter-spacing: -0.035em;
12
- color: var(--color-fg);
13
- text-wrap: balance;
14
- margin-block-start: 0;
15
- margin-block-end: var(--size-md);
16
- }
17
-
18
- .hero-lead {
19
- font-size: var(--text-lead);
20
- line-height: var(--lh-lead);
21
- color: var(--fg-muted);
22
- font-weight: 400;
23
- text-wrap: pretty;
24
- margin-block-start: 0;
25
- margin-block-end: var(--size-xl);
26
- max-width: var(--max-w-prose);
27
- }
28
-
29
- .section-title {
30
- font-size: var(--text-section-title);
31
- line-height: var(--lh-section-title);
32
- font-weight: 750;
33
- letter-spacing: -0.03em;
34
- color: var(--color-fg);
35
- text-wrap: balance;
36
- margin-block-start: 0;
37
- margin-block-end: var(--size-sm-up);
38
- }
39
-
40
- .section-sub {
41
- font-size: var(--text-section-sub);
42
- line-height: var(--lh-section-sub);
43
- font-weight: 650;
44
- letter-spacing: -0.02em;
45
- color: var(--color-fg);
46
- margin-block-start: 0;
47
- margin-block-end: var(--size-sm);
48
- }
49
-
50
- .section-lead {
51
- font-size: var(--text-lead);
52
- line-height: var(--lh-lead);
53
- color: var(--fg-muted);
54
- text-wrap: pretty;
55
- margin-block-start: 0;
56
- margin-block-end: var(--size-lg);
57
- max-width: var(--max-w-prose);
58
- }
59
-
60
- .section-eyebrow,
61
- .eyebrow,
62
- .kicker {
63
- display: inline-block;
64
- font-size: var(--text-xs);
65
- font-weight: 600;
66
- text-transform: uppercase;
67
- letter-spacing: 0.08em;
68
- color: hsl(var(--color-primary));
69
- margin-block-end: var(--size-sm);
70
- }
71
-
72
- // ---------------------------------------------------------------------------
73
- // Pill Badges (Announcement / Status banners above headlines)
74
- // ---------------------------------------------------------------------------
75
- .badge-pill {
76
- display: inline-flex;
77
- align-items: center;
78
- gap: var(--size-xs);
79
- padding: var(--size-2xs) var(--size-sm-up);
80
- border-radius: var(--radius-full);
81
- font-size: var(--text-xs);
82
- font-weight: 500;
83
- line-height: 1.4;
84
- background-color: color-mix(in srgb, hsl(var(--color-primary)) 12%, var(--bg-base));
85
- color: hsl(var(--color-primary));
86
- border: var(--border-width) solid color-mix(in srgb, hsl(var(--color-primary)) 25%, transparent);
87
- text-decoration: none;
88
- transition: var(--transition-fast);
89
-
90
- &:hover {
91
- background-color: color-mix(in srgb, hsl(var(--color-primary)) 18%, var(--bg-base));
92
- border-color: color-mix(in srgb, hsl(var(--color-primary)) 40%, transparent);
93
- color: hsl(var(--color-primary));
94
- }
95
-
96
- .badge-dot {
97
- width: 0.5rem;
98
- height: 0.5rem;
99
- border-radius: var(--radius-full);
100
- background-color: hsl(var(--color-primary));
101
- box-shadow: 0 0 8px hsl(var(--color-primary));
102
- }
103
- }
104
-
105
- // ---------------------------------------------------------------------------
106
- // Gradient Text
107
- // ---------------------------------------------------------------------------
108
- .text-gradient {
109
- background: linear-gradient(135deg, hsl(var(--color-primary)), hsl(var(--color-secondary, var(--color-primary))));
110
- -webkit-background-clip: text;
111
- -webkit-text-fill-color: transparent;
112
- background-clip: text;
113
- color: transparent;
114
- display: inline-block;
115
- }
116
-
117
- // High-impact multi-stop gradient for Hero headlines
118
- .text-gradient-vibrant {
119
- background: linear-gradient(
120
- 135deg,
121
- hsl(var(--color-primary)),
122
- hsl(from hsl(var(--color-primary)) calc(h + 35) 90% 60%),
123
- hsl(from hsl(var(--color-primary)) calc(h + 70) 95% 70%)
124
- );
125
- -webkit-background-clip: text;
126
- -webkit-text-fill-color: transparent;
127
- background-clip: text;
128
- color: transparent;
129
- display: inline-block;
130
- }
131
-
132
- .text-balance {
133
- text-wrap: balance;
134
- }
135
-
136
- .text-pretty {
137
- text-wrap: pretty;
138
- }
139
-
140
- .text-center {
141
- text-align: center;
142
- }
143
-
144
- .text-muted {
145
- color: var(--fg-muted);
146
- }
147
-
148
- // ---------------------------------------------------------------------------
149
- // Refined presentation inline links
150
- // ---------------------------------------------------------------------------
151
- .landing-section p a:not(.btn),
152
- .landing-section li a:not(.btn) {
153
- color: hsl(var(--color-primary));
154
- text-decoration: underline;
155
- text-decoration-color: hsl(var(--color-primary) / 0.4);
156
- text-underline-offset: 3px;
157
- transition: text-decoration-color var(--transition-fast), color var(--transition-fast);
158
-
159
- &:hover {
160
- color: hsl(from hsl(var(--color-primary)) h s calc(l + 6));
161
- text-decoration-color: hsl(var(--color-primary));
162
- }
163
- }
1
+ // ==========================================================================
2
+ // Presentation Typography — ln-ashlar
3
+ // ==========================================================================
4
+ // Fluid display typography, gradient headlines, balanced text, and badges.
5
+ // ==========================================================================
6
+
7
+ .hero-title {
8
+ font-size: var(--text-hero);
9
+ line-height: var(--lh-hero);
10
+ font-weight: 800;
11
+ letter-spacing: -0.035em;
12
+ color: var(--color-fg);
13
+ text-wrap: balance;
14
+ margin-block-start: 0;
15
+ margin-block-end: var(--size-md);
16
+ }
17
+
18
+ .hero-lead {
19
+ font-size: var(--text-lead);
20
+ line-height: var(--lh-lead);
21
+ color: var(--fg-muted);
22
+ font-weight: 400;
23
+ text-wrap: pretty;
24
+ margin-block-start: 0;
25
+ margin-block-end: var(--size-xl);
26
+ max-width: var(--max-w-prose);
27
+ }
28
+
29
+ .section-title {
30
+ font-size: var(--text-section-title);
31
+ line-height: var(--lh-section-title);
32
+ font-weight: 750;
33
+ letter-spacing: -0.03em;
34
+ color: var(--color-fg);
35
+ text-wrap: balance;
36
+ margin-block-start: 0;
37
+ margin-block-end: var(--size-sm-up);
38
+ }
39
+
40
+ .section-sub {
41
+ font-size: var(--text-section-sub);
42
+ line-height: var(--lh-section-sub);
43
+ font-weight: 650;
44
+ letter-spacing: -0.02em;
45
+ color: var(--color-fg);
46
+ margin-block-start: 0;
47
+ margin-block-end: var(--size-sm);
48
+ }
49
+
50
+ .section-lead {
51
+ font-size: var(--text-lead);
52
+ line-height: var(--lh-lead);
53
+ color: var(--fg-muted);
54
+ text-wrap: pretty;
55
+ margin-block-start: 0;
56
+ margin-block-end: var(--size-lg);
57
+ max-width: var(--max-w-prose);
58
+ }
59
+
60
+ .section-eyebrow,
61
+ .eyebrow,
62
+ .kicker {
63
+ display: inline-block;
64
+ font-size: var(--text-xs);
65
+ font-weight: 600;
66
+ text-transform: uppercase;
67
+ letter-spacing: 0.08em;
68
+ color: hsl(var(--color-primary));
69
+ margin-block-end: var(--size-sm);
70
+ }
71
+
72
+ // ---------------------------------------------------------------------------
73
+ // Pill Badges (Announcement / Status banners above headlines)
74
+ // ---------------------------------------------------------------------------
75
+ .badge-pill {
76
+ display: inline-flex;
77
+ align-items: center;
78
+ gap: var(--size-xs);
79
+ padding: var(--size-2xs) var(--size-sm-up);
80
+ border-radius: var(--radius-full);
81
+ font-size: var(--text-xs);
82
+ font-weight: 500;
83
+ line-height: 1.4;
84
+ background-color: color-mix(in srgb, hsl(var(--color-primary)) 12%, var(--bg-base));
85
+ color: hsl(var(--color-primary));
86
+ border: var(--border-width) solid color-mix(in srgb, hsl(var(--color-primary)) 25%, transparent);
87
+ text-decoration: none;
88
+ transition: var(--transition-fast);
89
+
90
+ &:hover {
91
+ background-color: color-mix(in srgb, hsl(var(--color-primary)) 18%, var(--bg-base));
92
+ border-color: color-mix(in srgb, hsl(var(--color-primary)) 40%, transparent);
93
+ color: hsl(var(--color-primary));
94
+ }
95
+
96
+ .badge-dot {
97
+ width: 0.5rem;
98
+ height: 0.5rem;
99
+ border-radius: var(--radius-full);
100
+ background-color: hsl(var(--color-primary));
101
+ box-shadow: 0 0 8px hsl(var(--color-primary));
102
+ }
103
+ }
104
+
105
+ // ---------------------------------------------------------------------------
106
+ // Gradient Text
107
+ // ---------------------------------------------------------------------------
108
+ .text-gradient {
109
+ background: linear-gradient(135deg, hsl(var(--color-primary)), hsl(var(--color-secondary, var(--color-primary))));
110
+ -webkit-background-clip: text;
111
+ -webkit-text-fill-color: transparent;
112
+ background-clip: text;
113
+ color: transparent;
114
+ display: inline-block;
115
+ }
116
+
117
+ // High-impact multi-stop gradient for Hero headlines
118
+ .text-gradient-vibrant {
119
+ background: linear-gradient(
120
+ 135deg,
121
+ hsl(var(--color-primary)),
122
+ hsl(from hsl(var(--color-primary)) calc(h + 35) 90% 60%),
123
+ hsl(from hsl(var(--color-primary)) calc(h + 70) 95% 70%)
124
+ );
125
+ -webkit-background-clip: text;
126
+ -webkit-text-fill-color: transparent;
127
+ background-clip: text;
128
+ color: transparent;
129
+ display: inline-block;
130
+ }
131
+
132
+ .text-balance {
133
+ text-wrap: balance;
134
+ }
135
+
136
+ .text-pretty {
137
+ text-wrap: pretty;
138
+ }
139
+
140
+ .text-center {
141
+ text-align: center;
142
+ }
143
+
144
+ .text-muted {
145
+ color: var(--fg-muted);
146
+ }
147
+
148
+ // ---------------------------------------------------------------------------
149
+ // Refined presentation inline links
150
+ // ---------------------------------------------------------------------------
151
+ .landing-section p a:not(.btn),
152
+ .landing-section li a:not(.btn) {
153
+ color: hsl(var(--color-primary));
154
+ text-decoration: underline;
155
+ text-decoration-color: hsl(var(--color-primary) / 0.4);
156
+ text-underline-offset: 3px;
157
+ transition: text-decoration-color var(--transition-fast), color var(--transition-fast);
158
+
159
+ &:hover {
160
+ color: hsl(from hsl(var(--color-primary)) h s calc(l + 6));
161
+ text-decoration-color: hsl(var(--color-primary));
162
+ }
163
+ }
package/web-types.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/web-types",
3
3
  "name": "@livenetworks/ashlar",
4
- "version": "2.0.7",
4
+ "version": "2.0.8",
5
5
  "framework": "html",
6
6
  "contributions": {
7
7
  "html": {
@@ -348,6 +348,13 @@
348
348
  "type": "number"
349
349
  }
350
350
  },
351
+ {
352
+ "name": "data-ln-connector",
353
+ "description": "data-ln-connector attribute",
354
+ "value": {
355
+ "type": "string"
356
+ }
357
+ },
351
358
  {
352
359
  "name": "data-ln-couchdb-auth",
353
360
  "description": "Authentication credentials for CouchDB requests",
@@ -391,10 +398,10 @@
391
398
  }
392
399
  },
393
400
  {
394
- "name": "data-ln-data-coordinator-dict",
395
- "description": "Marks dictionary container for coordinator translatable messages",
401
+ "name": "data-ln-data-coordinator-connector",
402
+ "description": "Selector, identifier, or namespace of the bound connector",
396
403
  "value": {
397
- "type": "boolean"
404
+ "type": "string"
398
405
  }
399
406
  },
400
407
  {
@@ -445,7 +452,7 @@
445
452
  },
446
453
  {
447
454
  "name": "data-ln-data-coordinator-sort-field",
448
- "description": "Active sort field property name",
455
+ "description": "Sort field name",
449
456
  "value": {
450
457
  "type": "string"
451
458
  }
@@ -1027,13 +1034,6 @@
1027
1034
  "type": "number"
1028
1035
  }
1029
1036
  },
1030
- {
1031
- "name": "data-ln-mapper",
1032
- "description": "data-ln-mapper attribute",
1033
- "value": {
1034
- "type": "string"
1035
- }
1036
- },
1037
1037
  {
1038
1038
  "name": "data-ln-modal",
1039
1039
  "description": "Control state of the modal dialog",