@rosettadash/web-components 0.1.0

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 (131) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +103 -0
  3. package/browser/media.js +484 -0
  4. package/browser/media.js.map +7 -0
  5. package/package.json +125 -0
  6. package/src/catalog/_shared/catalog-variant.d.ts +5 -0
  7. package/src/catalog/_shared/catalog-variant.js +19 -0
  8. package/src/catalog/_shared/catalog-variant.js.map +1 -0
  9. package/src/catalog/_shared/markup-shared.d.ts +6 -0
  10. package/src/catalog/_shared/markup-shared.js +21 -0
  11. package/src/catalog/_shared/markup-shared.js.map +1 -0
  12. package/src/catalog/component-attribute/index.d.ts +2 -0
  13. package/src/catalog/component-attribute/index.js +2 -0
  14. package/src/catalog/component-attribute/index.js.map +1 -0
  15. package/src/catalog/component-attribute/rd-attribute.d.ts +20 -0
  16. package/src/catalog/component-attribute/rd-attribute.js +27 -0
  17. package/src/catalog/component-attribute/rd-attribute.js.map +1 -0
  18. package/src/catalog/component-name/index.d.ts +2 -0
  19. package/src/catalog/component-name/index.js +2 -0
  20. package/src/catalog/component-name/index.js.map +1 -0
  21. package/src/catalog/component-name/rd-component-name.d.ts +40 -0
  22. package/src/catalog/component-name/rd-component-name.js +219 -0
  23. package/src/catalog/component-name/rd-component-name.js.map +1 -0
  24. package/src/catalog/component-option/index.d.ts +2 -0
  25. package/src/catalog/component-option/index.js +2 -0
  26. package/src/catalog/component-option/index.js.map +1 -0
  27. package/src/catalog/component-option/rd-component-option.d.ts +25 -0
  28. package/src/catalog/component-option/rd-component-option.js +104 -0
  29. package/src/catalog/component-option/rd-component-option.js.map +1 -0
  30. package/src/catalog/component-port/index.d.ts +2 -0
  31. package/src/catalog/component-port/index.js +2 -0
  32. package/src/catalog/component-port/index.js.map +1 -0
  33. package/src/catalog/component-port/rd-component-port.d.ts +26 -0
  34. package/src/catalog/component-port/rd-component-port.js +109 -0
  35. package/src/catalog/component-port/rd-component-port.js.map +1 -0
  36. package/src/catalog/component-requirement/index.d.ts +2 -0
  37. package/src/catalog/component-requirement/index.js +2 -0
  38. package/src/catalog/component-requirement/index.js.map +1 -0
  39. package/src/catalog/component-requirement/rd-component-requirement.d.ts +17 -0
  40. package/src/catalog/component-requirement/rd-component-requirement.js +76 -0
  41. package/src/catalog/component-requirement/rd-component-requirement.js.map +1 -0
  42. package/src/catalog/component-spec/index.d.ts +2 -0
  43. package/src/catalog/component-spec/index.js +2 -0
  44. package/src/catalog/component-spec/index.js.map +1 -0
  45. package/src/catalog/component-spec/rd-component-spec.d.ts +40 -0
  46. package/src/catalog/component-spec/rd-component-spec.js +367 -0
  47. package/src/catalog/component-spec/rd-component-spec.js.map +1 -0
  48. package/src/catalog/index.d.ts +23 -0
  49. package/src/catalog/index.js +37 -0
  50. package/src/catalog/index.js.map +1 -0
  51. package/src/catalog/palette-catalog/index.d.ts +2 -0
  52. package/src/catalog/palette-catalog/index.js +2 -0
  53. package/src/catalog/palette-catalog/index.js.map +1 -0
  54. package/src/catalog/palette-catalog/rd-palette-catalog.d.ts +29 -0
  55. package/src/catalog/palette-catalog/rd-palette-catalog.js +114 -0
  56. package/src/catalog/palette-catalog/rd-palette-catalog.js.map +1 -0
  57. package/src/catalog/palette-group/index.d.ts +2 -0
  58. package/src/catalog/palette-group/index.js +2 -0
  59. package/src/catalog/palette-group/index.js.map +1 -0
  60. package/src/catalog/palette-group/rd-palette-group.d.ts +33 -0
  61. package/src/catalog/palette-group/rd-palette-group.js +179 -0
  62. package/src/catalog/palette-group/rd-palette-group.js.map +1 -0
  63. package/src/catalog/subcomponent-name/index.d.ts +1 -0
  64. package/src/catalog/subcomponent-name/index.js +2 -0
  65. package/src/catalog/subcomponent-name/index.js.map +1 -0
  66. package/src/catalog/subcomponent-name/rd-subcomponent-name.d.ts +12 -0
  67. package/src/catalog/subcomponent-name/rd-subcomponent-name.js +29 -0
  68. package/src/catalog/subcomponent-name/rd-subcomponent-name.js.map +1 -0
  69. package/src/index.d.ts +9 -0
  70. package/src/index.js +23 -0
  71. package/src/index.js.map +1 -0
  72. package/src/layout/accordion/index.d.ts +4 -0
  73. package/src/layout/accordion/index.js +7 -0
  74. package/src/layout/accordion/index.js.map +1 -0
  75. package/src/layout/accordion/rd-accordion.d.ts +26 -0
  76. package/src/layout/accordion/rd-accordion.js +94 -0
  77. package/src/layout/accordion/rd-accordion.js.map +1 -0
  78. package/src/layout/accordion-link-list/index.d.ts +4 -0
  79. package/src/layout/accordion-link-list/index.js +7 -0
  80. package/src/layout/accordion-link-list/index.js.map +1 -0
  81. package/src/layout/accordion-link-list/rd-accordion-link-list.d.ts +36 -0
  82. package/src/layout/accordion-link-list/rd-accordion-link-list.js +139 -0
  83. package/src/layout/accordion-link-list/rd-accordion-link-list.js.map +1 -0
  84. package/src/lib/element-utils.d.ts +8 -0
  85. package/src/lib/element-utils.js +46 -0
  86. package/src/lib/element-utils.js.map +1 -0
  87. package/src/lib/parse-link-items.d.ts +6 -0
  88. package/src/lib/parse-link-items.js +37 -0
  89. package/src/lib/parse-link-items.js.map +1 -0
  90. package/src/lib/shadow-base.d.ts +20 -0
  91. package/src/lib/shadow-base.js +81 -0
  92. package/src/lib/shadow-base.js.map +1 -0
  93. package/src/lib/shadow-resources.d.ts +10 -0
  94. package/src/lib/shadow-resources.js +38 -0
  95. package/src/lib/shadow-resources.js.map +1 -0
  96. package/src/register-shadow-bases.browser.d.ts +1 -0
  97. package/src/register-shadow-bases.browser.js +5 -0
  98. package/src/register-shadow-bases.browser.js.map +1 -0
  99. package/src/visual/link-list/index.d.ts +4 -0
  100. package/src/visual/link-list/index.js +7 -0
  101. package/src/visual/link-list/index.js.map +1 -0
  102. package/src/visual/link-list/rd-link-list.d.ts +26 -0
  103. package/src/visual/link-list/rd-link-list.js +68 -0
  104. package/src/visual/link-list/rd-link-list.js.map +1 -0
  105. package/src/visual/media/equirect-viewport/index.d.ts +1 -0
  106. package/src/visual/media/equirect-viewport/index.js +2 -0
  107. package/src/visual/media/equirect-viewport/index.js.map +1 -0
  108. package/src/visual/media/equirect-viewport/rd-equirect-viewport.d.ts +30 -0
  109. package/src/visual/media/equirect-viewport/rd-equirect-viewport.js +199 -0
  110. package/src/visual/media/equirect-viewport/rd-equirect-viewport.js.map +1 -0
  111. package/src/visual/media/index.d.ts +3 -0
  112. package/src/visual/media/index.js +9 -0
  113. package/src/visual/media/index.js.map +1 -0
  114. package/src/visual/media/video-source/index.d.ts +1 -0
  115. package/src/visual/media/video-source/index.js +2 -0
  116. package/src/visual/media/video-source/index.js.map +1 -0
  117. package/src/visual/media/video-source/rd-video-source.d.ts +19 -0
  118. package/src/visual/media/video-source/rd-video-source.js +105 -0
  119. package/src/visual/media/video-source/rd-video-source.js.map +1 -0
  120. package/src/wasm/index.d.ts +2 -0
  121. package/src/wasm/index.js +6 -0
  122. package/src/wasm/index.js.map +1 -0
  123. package/src/wasm/wasm-media/index.d.ts +1 -0
  124. package/src/wasm/wasm-media/index.js +2 -0
  125. package/src/wasm/wasm-media/index.js.map +1 -0
  126. package/src/wasm/wasm-media/rd-wasm-media.d.ts +30 -0
  127. package/src/wasm/wasm-media/rd-wasm-media.js +269 -0
  128. package/src/wasm/wasm-media/rd-wasm-media.js.map +1 -0
  129. package/styles/catalog.css +69 -0
  130. package/styles/styles.css +76 -0
  131. package/styles/tokens.css +19 -0
@@ -0,0 +1,367 @@
1
+ import { defineRosettaElement, readString } from '../../lib/element-utils.js';
2
+ import { RD_COMPONENT_OPTION_TAG } from '../component-option/rd-component-option.js';
3
+ import { RD_COMPONENT_PORT_TAG } from '../component-port/rd-component-port.js';
4
+ import { RD_COMPONENT_REQUIREMENT_TAG } from '../component-requirement/rd-component-requirement.js';
5
+ import { applyCatalogVariant, readCatalogVariant } from '../_shared/catalog-variant.js';
6
+ export const RD_COMPONENT_SPEC_TAG = 'rd-component-spec';
7
+ export class RdComponentSpecElement extends HTMLElement {
8
+ static tagName = RD_COMPONENT_SPEC_TAG;
9
+ static get observedAttributes() {
10
+ return [
11
+ 'component-type',
12
+ 'label',
13
+ 'description',
14
+ 'category',
15
+ 'is-visual',
16
+ 'variant',
17
+ 'nav-group-id',
18
+ ];
19
+ }
20
+ connectedCallback() {
21
+ if (!this.shadowRoot) {
22
+ this.attachShadow({ mode: 'open' });
23
+ }
24
+ if (this.navGroupId) {
25
+ this.setAttribute('data-nav-group', this.navGroupId);
26
+ }
27
+ this.render();
28
+ }
29
+ attributeChangedCallback() {
30
+ if (this.shadowRoot) {
31
+ this.render();
32
+ }
33
+ }
34
+ get componentType() {
35
+ return readString(this.getAttribute('component-type'), '');
36
+ }
37
+ get specLabel() {
38
+ return readString(this.getAttribute('label'), 'Component');
39
+ }
40
+ get description() {
41
+ return readString(this.getAttribute('description'), '');
42
+ }
43
+ get category() {
44
+ return readString(this.getAttribute('category'), '');
45
+ }
46
+ get isVisual() {
47
+ return this.getAttribute('is-visual') !== 'false';
48
+ }
49
+ get variant() {
50
+ return readCatalogVariant(this.getAttribute('variant'));
51
+ }
52
+ get navGroupId() {
53
+ return readString(this.getAttribute('nav-group-id'), '');
54
+ }
55
+ portRows(selector, direction) {
56
+ const ports = [...this.querySelectorAll(selector)].filter((el) => (el.getAttribute('direction') ?? 'input') === direction);
57
+ if (ports.length === 0) {
58
+ return '';
59
+ }
60
+ const rows = ports
61
+ .map((el) => {
62
+ const name = escapeHtml(el.getAttribute('name') ?? '');
63
+ const dataType = escapeHtml(el.getAttribute('data-type') ?? 'any');
64
+ const required = el.hasAttribute('required')
65
+ ? '<span class="rd-component-spec__required">required</span>'
66
+ : '';
67
+ const desc = el.getAttribute('description')
68
+ ? `<span class="rd-component-spec__port-desc">${escapeHtml(el.getAttribute('description') ?? '')}</span>`
69
+ : '';
70
+ return `<li><code>${name}</code> <span class="rd-component-spec__port-type">${dataType}</span>${required}${desc}</li>`;
71
+ })
72
+ .join('');
73
+ const label = direction === 'input' ? 'Inputs' : 'Outputs';
74
+ return `<div class="rd-component-spec__section"><span class="rd-component-spec__section-label">${label}</span><ul class="rd-component-spec__port-list">${rows}</ul></div>`;
75
+ }
76
+ requirementRows() {
77
+ const items = [...this.querySelectorAll(RD_COMPONENT_REQUIREMENT_TAG)];
78
+ if (items.length === 0) {
79
+ return '';
80
+ }
81
+ const rows = items
82
+ .map((el) => {
83
+ const kind = el.getAttribute('kind') === 'assumption' ? 'Assumption' : 'Dependency';
84
+ const text = escapeHtml(el.textContent?.trim() ?? '');
85
+ return `<li><span class="rd-component-spec__req-kind">${kind}</span> ${text}</li>`;
86
+ })
87
+ .join('');
88
+ return `<div class="rd-component-spec__section"><span class="rd-component-spec__section-label">Requirements</span><ul class="rd-component-spec__req-list">${rows}</ul></div>`;
89
+ }
90
+ optionRows() {
91
+ const items = [...this.querySelectorAll(RD_COMPONENT_OPTION_TAG)];
92
+ if (items.length === 0) {
93
+ return '';
94
+ }
95
+ const rows = items
96
+ .map((el) => {
97
+ const label = escapeHtml(el.getAttribute('label') ?? el.getAttribute('option-key') ?? '');
98
+ const key = escapeHtml(el.getAttribute('option-key') ?? '');
99
+ const type = escapeHtml(el.getAttribute('type') ?? 'string');
100
+ const required = el.hasAttribute('required')
101
+ ? '<span class="rd-component-spec__required">required</span>'
102
+ : '';
103
+ const def = el.getAttribute('default-value')
104
+ ? `<span class="rd-component-spec__opt-default">default: <code>${escapeHtml(el.getAttribute('default-value') ?? '')}</code></span>`
105
+ : '';
106
+ return `<li><strong>${label}</strong> <code>${key}</code> <span class="rd-component-spec__port-type">${type}</span>${required}${def}</li>`;
107
+ })
108
+ .join('');
109
+ return `<div class="rd-component-spec__section"><span class="rd-component-spec__section-label">Options</span><ul class="rd-component-spec__opt-list">${rows}</ul></div>`;
110
+ }
111
+ hideMetaChildren() {
112
+ this.querySelectorAll(`${RD_COMPONENT_PORT_TAG}, ${RD_COMPONENT_REQUIREMENT_TAG}, ${RD_COMPONENT_OPTION_TAG}`).forEach((el) => {
113
+ el.hidden = true;
114
+ });
115
+ }
116
+ render() {
117
+ const root = this.shadowRoot;
118
+ if (!root) {
119
+ return;
120
+ }
121
+ this.hideMetaChildren();
122
+ const variant = this.variant;
123
+ const navAttr = this.navGroupId ? ` data-nav-group="${escapeAttr(this.navGroupId)}"` : '';
124
+ const linkable = this.navGroupId ? ' rd-component-spec__header--linkable' : '';
125
+ const meta = this.category
126
+ ? `<footer class="rd-component-spec__footer"><code>${escapeHtml(this.componentType)}</code><span>${escapeHtml(this.category)}${this.isVisual ? '' : ' · non-visual'}</span></footer>`
127
+ : `<footer class="rd-component-spec__footer"><code>${escapeHtml(this.componentType)}</code></footer>`;
128
+ const learnMore = this.querySelector('[slot="learn-more"]');
129
+ const learnMoreHtml = learnMore
130
+ ? `<div class="rd-component-spec__learn"><slot name="learn-more"></slot></div>`
131
+ : '';
132
+ root.innerHTML = `
133
+ <style>
134
+ :host { display: block; }
135
+ .rd-component-spec {
136
+ display: grid;
137
+ gap: 0.75rem;
138
+ padding: 1rem;
139
+ border: 1px solid var(--rd-color-border, #d0d0d0);
140
+ border-radius: var(--rd-radius-md, 0.5rem);
141
+ background: #fff;
142
+ font-family: var(--rd-font-family, system-ui, sans-serif);
143
+ color: var(--rd-color-text, #1a1a1a);
144
+ }
145
+ .rd-component-spec__header h3 {
146
+ margin: 0;
147
+ font-size: 1rem;
148
+ }
149
+ .rd-component-spec__header p {
150
+ margin: 0.25rem 0 0;
151
+ font-size: 0.8125rem;
152
+ color: var(--rd-color-muted, #5c5c5c);
153
+ line-height: 1.45;
154
+ }
155
+ .rd-component-spec__header--linkable { cursor: pointer; }
156
+ .rd-component-spec__header--linkable h3 { color: var(--rd-color-accent, #2563eb); }
157
+ .rd-component-spec__meta {
158
+ display: grid;
159
+ gap: 0.5rem;
160
+ padding: 0.625rem 0.75rem;
161
+ border: 1px solid var(--rd-color-border, #d0d0d0);
162
+ border-radius: var(--rd-radius-sm, 0.25rem);
163
+ background: var(--rd-color-surface, #f8fafc);
164
+ font-size: 0.8125rem;
165
+ }
166
+ .rd-component-spec__section { display: grid; gap: 0.375rem; }
167
+ .rd-component-spec__section-label {
168
+ font-size: 0.625rem;
169
+ font-weight: 700;
170
+ text-transform: uppercase;
171
+ letter-spacing: 0.04em;
172
+ color: var(--rd-color-muted, #5c5c5c);
173
+ }
174
+ .rd-component-spec__port-list,
175
+ .rd-component-spec__req-list,
176
+ .rd-component-spec__opt-list {
177
+ margin: 0;
178
+ padding: 0;
179
+ list-style: none;
180
+ display: grid;
181
+ gap: 0.25rem;
182
+ }
183
+ .rd-component-spec__port-list li,
184
+ .rd-component-spec__req-list li,
185
+ .rd-component-spec__opt-list li {
186
+ display: flex;
187
+ flex-wrap: wrap;
188
+ align-items: baseline;
189
+ gap: 0.25rem 0.375rem;
190
+ font-size: 0.8125rem;
191
+ }
192
+ .rd-component-spec__port-type {
193
+ padding: 0.0625rem 0.375rem;
194
+ border-radius: 999px;
195
+ background: rgb(15 23 42 / 6%);
196
+ font-size: 0.6875rem;
197
+ color: var(--rd-color-muted, #5c5c5c);
198
+ }
199
+ .rd-component-spec__required {
200
+ font-size: 0.6875rem;
201
+ font-weight: 600;
202
+ color: #b45309;
203
+ }
204
+ .rd-component-spec__req-kind {
205
+ font-size: 0.625rem;
206
+ font-weight: 700;
207
+ text-transform: uppercase;
208
+ color: var(--rd-color-muted, #5c5c5c);
209
+ }
210
+ .rd-component-spec__port-desc,
211
+ .rd-component-spec__opt-default {
212
+ flex: 1 1 100%;
213
+ font-size: 0.75rem;
214
+ color: var(--rd-color-muted, #5c5c5c);
215
+ }
216
+ .rd-component-spec__demo ::slotted(*) { display: block; }
217
+ .rd-component-spec__learn {
218
+ font-size: 0.75rem;
219
+ color: var(--rd-color-muted, #5c5c5c);
220
+ line-height: 1.45;
221
+ }
222
+ .rd-component-spec__footer {
223
+ display: flex;
224
+ flex-wrap: wrap;
225
+ gap: 0.5rem 1rem;
226
+ padding-top: 0.5rem;
227
+ border-top: 1px solid var(--rd-color-border, #d0d0d0);
228
+ font-size: 0.6875rem;
229
+ color: var(--rd-color-muted, #5c5c5c);
230
+ }
231
+ .rd-component-spec__footer code {
232
+ font-family: ui-monospace, monospace;
233
+ }
234
+ .rd-component-spec--compact {
235
+ padding: 0.625rem 0.75rem;
236
+ gap: 0.5rem;
237
+ }
238
+ .rd-component-spec--compact .rd-component-spec__header h3 { font-size: 0.9375rem; }
239
+ .rd-component-spec--plain {
240
+ border-style: dashed;
241
+ background: transparent;
242
+ }
243
+ .rd-component-spec--plain .rd-component-spec__meta {
244
+ background: transparent;
245
+ border-style: dashed;
246
+ }
247
+ </style>
248
+ <article class="rd-component-spec"${navAttr} part="spec">
249
+ <header class="rd-component-spec__header${linkable}">
250
+ <h3>${escapeHtml(this.specLabel)}</h3>
251
+ <p>${escapeHtml(this.description)}</p>
252
+ <slot name="jump"></slot>
253
+ </header>
254
+ <div class="rd-component-spec__meta">
255
+ ${this.portRows(RD_COMPONENT_PORT_TAG, 'input')}
256
+ ${this.portRows(RD_COMPONENT_PORT_TAG, 'output')}
257
+ ${this.requirementRows()}
258
+ ${this.optionRows()}
259
+ </div>
260
+ <div class="rd-component-spec__demo"><slot name="demo"></slot></div>
261
+ ${learnMoreHtml}
262
+ ${meta}
263
+ </article>`;
264
+ applyCatalogVariant(this, 'rd-component-spec', variant);
265
+ }
266
+ }
267
+ function escapeHtml(value) {
268
+ return value
269
+ .replace(/&/g, '&amp;')
270
+ .replace(/</g, '&lt;')
271
+ .replace(/>/g, '&gt;')
272
+ .replace(/"/g, '&quot;');
273
+ }
274
+ function escapeAttr(value) {
275
+ return escapeHtml(value);
276
+ }
277
+ export function registerRdComponentSpec() {
278
+ defineRosettaElement(RD_COMPONENT_SPEC_TAG, RdComponentSpecElement);
279
+ }
280
+ /** Factory helper — build spec element tree from registry definition. */
281
+ export function createComponentSpecElement(definition, options = {}) {
282
+ const el = document.createElement(RD_COMPONENT_SPEC_TAG);
283
+ el.setAttribute('component-type', definition.type);
284
+ el.setAttribute('label', definition.label);
285
+ if (definition.description) {
286
+ el.setAttribute('description', definition.description);
287
+ }
288
+ el.setAttribute('category', definition.category);
289
+ el.setAttribute('is-visual', definition.isVisual ? 'true' : 'false');
290
+ if (options.variant) {
291
+ el.setAttribute('variant', options.variant);
292
+ }
293
+ if (options.navGroupId) {
294
+ el.setAttribute('nav-group-id', options.navGroupId);
295
+ }
296
+ for (const port of definition.inputs) {
297
+ const portEl = document.createElement(RD_COMPONENT_PORT_TAG);
298
+ portEl.setAttribute('direction', 'input');
299
+ portEl.setAttribute('name', port.name);
300
+ portEl.setAttribute('data-type', port.dataType);
301
+ if (port.required) {
302
+ portEl.setAttribute('required', '');
303
+ }
304
+ if (port.description) {
305
+ portEl.setAttribute('description', port.description);
306
+ }
307
+ if (options.variant) {
308
+ portEl.setAttribute('variant', options.variant);
309
+ }
310
+ el.appendChild(portEl);
311
+ }
312
+ for (const port of definition.outputs) {
313
+ const portEl = document.createElement(RD_COMPONENT_PORT_TAG);
314
+ portEl.setAttribute('direction', 'output');
315
+ portEl.setAttribute('name', port.name);
316
+ portEl.setAttribute('data-type', port.dataType);
317
+ if (port.description) {
318
+ portEl.setAttribute('description', port.description);
319
+ }
320
+ if (options.variant) {
321
+ portEl.setAttribute('variant', options.variant);
322
+ }
323
+ el.appendChild(portEl);
324
+ }
325
+ for (const text of options.dependencies ?? []) {
326
+ const req = document.createElement(RD_COMPONENT_REQUIREMENT_TAG);
327
+ req.setAttribute('kind', 'dependency');
328
+ if (options.variant) {
329
+ req.setAttribute('variant', options.variant);
330
+ }
331
+ req.textContent = text;
332
+ el.appendChild(req);
333
+ }
334
+ for (const text of options.assumptions ?? []) {
335
+ const req = document.createElement(RD_COMPONENT_REQUIREMENT_TAG);
336
+ req.setAttribute('kind', 'assumption');
337
+ if (options.variant) {
338
+ req.setAttribute('variant', options.variant);
339
+ }
340
+ req.textContent = text;
341
+ el.appendChild(req);
342
+ }
343
+ for (const property of definition.properties) {
344
+ const opt = document.createElement(RD_COMPONENT_OPTION_TAG);
345
+ opt.setAttribute('option-key', property.key);
346
+ opt.setAttribute('type', property.type);
347
+ opt.setAttribute('label', property.label);
348
+ if (property.default !== undefined) {
349
+ opt.setAttribute('default-value', String(property.default));
350
+ }
351
+ if (property.required) {
352
+ opt.setAttribute('required', '');
353
+ }
354
+ if (options.variant) {
355
+ opt.setAttribute('variant', options.variant);
356
+ }
357
+ el.appendChild(opt);
358
+ }
359
+ if (options.learnMoreHtml) {
360
+ const learn = document.createElement('div');
361
+ learn.slot = 'learn-more';
362
+ learn.innerHTML = options.learnMoreHtml;
363
+ el.appendChild(learn);
364
+ }
365
+ return el;
366
+ }
367
+ //# sourceMappingURL=rd-component-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rd-component-spec.js","sourceRoot":"","sources":["../../../../../../packages/web-components/src/catalog/component-spec/rd-component-spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ export type { CatalogVariant } from './_shared/catalog-variant.js';
2
+ export { CATALOG_VARIANTS, readCatalogVariant, applyCatalogVariant } from './_shared/catalog-variant.js';
3
+ export type { ComponentAttributeProps } from './component-attribute/index.js';
4
+ export { RD_ATTRIBUTE_TAG, RdAttributeElement, registerRdAttribute, } from './component-attribute/index.js';
5
+ export type { BuildComponentMarkupOptions } from './component-name/index.js';
6
+ export { RD_COMPONENT_NAME_TAG, RdComponentNameElement, registerRdComponentName, createComponentNameElement, } from './component-name/index.js';
7
+ export { RD_SUBCOMPONENT_NAME_TAG, RdSubcomponentNameElement, registerRdSubcomponentName, } from './subcomponent-name/index.js';
8
+ export { taxonomyToRdTag } from './_shared/markup-shared.js';
9
+ export { RD_COMPONENT_PORT_TAG, RdComponentPortElement, registerRdComponentPort, } from './component-port/index.js';
10
+ export type { ComponentRequirementKind, ComponentRequirementProps } from './component-requirement/index.js';
11
+ export { RD_COMPONENT_REQUIREMENT_TAG, RdComponentRequirementElement, registerRdComponentRequirement, } from './component-requirement/index.js';
12
+ export type { ComponentOptionProps } from './component-option/index.js';
13
+ export { RD_COMPONENT_OPTION_TAG, RdComponentOptionElement, registerRdComponentOption, } from './component-option/index.js';
14
+ export type { ComponentSpecProps } from './component-spec/index.js';
15
+ export { RD_COMPONENT_SPEC_TAG, RdComponentSpecElement, registerRdComponentSpec, createComponentSpecElement, } from './component-spec/index.js';
16
+ export type { PaletteGroupFit, PaletteGroupProps } from './palette-group/index.js';
17
+ export { RD_PALETTE_GROUP_TAG, RdPaletteGroupElement, registerRdPaletteGroup, createPaletteGroupElement, } from './palette-group/index.js';
18
+ export type { PaletteCatalogProps } from './palette-catalog/index.js';
19
+ export { RD_PALETTE_CATALOG_TAG, RdPaletteCatalogElement, registerRdPaletteCatalog, createPaletteCatalogElement, } from './palette-catalog/index.js';
20
+ /** Register all catalog meta custom elements (`rd-palette-*`, `rd-component-*`). */
21
+ export declare function registerRosettaDashCatalogElements(): void;
22
+ /** Convenience alias matching import path `catalog/palette-catalog`. */
23
+ export declare function registerCatalogPaletteCatalog(): void;
@@ -0,0 +1,37 @@
1
+ export { CATALOG_VARIANTS, readCatalogVariant, applyCatalogVariant } from './_shared/catalog-variant.js';
2
+ export { RD_ATTRIBUTE_TAG, RdAttributeElement, registerRdAttribute, } from './component-attribute/index.js';
3
+ export { RD_COMPONENT_NAME_TAG, RdComponentNameElement, registerRdComponentName, createComponentNameElement, } from './component-name/index.js';
4
+ export { RD_SUBCOMPONENT_NAME_TAG, RdSubcomponentNameElement, registerRdSubcomponentName, } from './subcomponent-name/index.js';
5
+ export { taxonomyToRdTag } from './_shared/markup-shared.js';
6
+ export { RD_COMPONENT_PORT_TAG, RdComponentPortElement, registerRdComponentPort, } from './component-port/index.js';
7
+ export { RD_COMPONENT_REQUIREMENT_TAG, RdComponentRequirementElement, registerRdComponentRequirement, } from './component-requirement/index.js';
8
+ export { RD_COMPONENT_OPTION_TAG, RdComponentOptionElement, registerRdComponentOption, } from './component-option/index.js';
9
+ export { RD_COMPONENT_SPEC_TAG, RdComponentSpecElement, registerRdComponentSpec, createComponentSpecElement, } from './component-spec/index.js';
10
+ export { RD_PALETTE_GROUP_TAG, RdPaletteGroupElement, registerRdPaletteGroup, createPaletteGroupElement, } from './palette-group/index.js';
11
+ export { RD_PALETTE_CATALOG_TAG, RdPaletteCatalogElement, registerRdPaletteCatalog, createPaletteCatalogElement, } from './palette-catalog/index.js';
12
+ import { registerRdAttribute } from './component-attribute/index.js';
13
+ import { registerRdComponentName } from './component-name/index.js';
14
+ import { registerRdComponentOption } from './component-option/index.js';
15
+ import { registerRdComponentPort } from './component-port/index.js';
16
+ import { registerRdComponentRequirement } from './component-requirement/index.js';
17
+ import { registerRdComponentSpec } from './component-spec/index.js';
18
+ import { registerRdPaletteCatalog } from './palette-catalog/index.js';
19
+ import { registerRdPaletteGroup } from './palette-group/index.js';
20
+ import { registerRdSubcomponentName } from './subcomponent-name/index.js';
21
+ /** Register all catalog meta custom elements (`rd-palette-*`, `rd-component-*`). */
22
+ export function registerRosettaDashCatalogElements() {
23
+ registerRdAttribute();
24
+ registerRdSubcomponentName();
25
+ registerRdComponentName();
26
+ registerRdComponentPort();
27
+ registerRdComponentRequirement();
28
+ registerRdComponentOption();
29
+ registerRdComponentSpec();
30
+ registerRdPaletteGroup();
31
+ registerRdPaletteCatalog();
32
+ }
33
+ /** Convenience alias matching import path `catalog/palette-catalog`. */
34
+ export function registerCatalogPaletteCatalog() {
35
+ registerRosettaDashCatalogElements();
36
+ }
37
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/web-components/src/catalog/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAGzG,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC7B,8BAA8B,GAC/B,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,oFAAoF;AACpF,MAAM,UAAU,kCAAkC;IAChD,mBAAmB,EAAE,CAAC;IACtB,0BAA0B,EAAE,CAAC;IAC7B,uBAAuB,EAAE,CAAC;IAC1B,uBAAuB,EAAE,CAAC;IAC1B,8BAA8B,EAAE,CAAC;IACjC,yBAAyB,EAAE,CAAC;IAC5B,uBAAuB,EAAE,CAAC;IAC1B,sBAAsB,EAAE,CAAC;IACzB,wBAAwB,EAAE,CAAC;AAC7B,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,6BAA6B;IAC3C,kCAAkC,EAAE,CAAC;AACvC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export type { PaletteCatalogProps } from './rd-palette-catalog.js';
2
+ export { RD_PALETTE_CATALOG_TAG, RdPaletteCatalogElement, registerRdPaletteCatalog, createPaletteCatalogElement, } from './rd-palette-catalog.js';
@@ -0,0 +1,2 @@
1
+ export { RD_PALETTE_CATALOG_TAG, RdPaletteCatalogElement, registerRdPaletteCatalog, createPaletteCatalogElement, } from './rd-palette-catalog.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/web-components/src/catalog/palette-catalog/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { RD_COMPONENT_SPEC_TAG } from '../component-spec/rd-component-spec.js';
2
+ import { RD_PALETTE_GROUP_TAG } from '../palette-group/rd-palette-group.js';
3
+ import { type CatalogVariant } from '../_shared/catalog-variant.js';
4
+ export declare const RD_PALETTE_CATALOG_TAG = "rd-palette-catalog";
5
+ export interface PaletteCatalogProps {
6
+ groupId?: string;
7
+ variant?: CatalogVariant;
8
+ columns?: boolean;
9
+ }
10
+ export declare class RdPaletteCatalogElement extends HTMLElement {
11
+ static readonly tagName = "rd-palette-catalog";
12
+ static get observedAttributes(): string[];
13
+ connectedCallback(): void;
14
+ attributeChangedCallback(): void;
15
+ get groupId(): string;
16
+ get variant(): CatalogVariant;
17
+ get columns(): boolean;
18
+ private render;
19
+ }
20
+ export declare function registerRdPaletteCatalog(): void;
21
+ export declare function createPaletteCatalogElement(options: {
22
+ groupId: string;
23
+ variant?: CatalogVariant;
24
+ columns?: boolean;
25
+ guide?: HTMLElement;
26
+ title?: HTMLElement;
27
+ specs: HTMLElement[];
28
+ }): RdPaletteCatalogElement;
29
+ export { RD_COMPONENT_SPEC_TAG, RD_PALETTE_GROUP_TAG };
@@ -0,0 +1,114 @@
1
+ import { defineRosettaElement, readString } from '../../lib/element-utils.js';
2
+ import { RD_COMPONENT_SPEC_TAG } from '../component-spec/rd-component-spec.js';
3
+ import { RD_PALETTE_GROUP_TAG } from '../palette-group/rd-palette-group.js';
4
+ import { applyCatalogVariant, readCatalogVariant } from '../_shared/catalog-variant.js';
5
+ export const RD_PALETTE_CATALOG_TAG = 'rd-palette-catalog';
6
+ export class RdPaletteCatalogElement extends HTMLElement {
7
+ static tagName = RD_PALETTE_CATALOG_TAG;
8
+ static get observedAttributes() {
9
+ return ['group-id', 'variant', 'columns'];
10
+ }
11
+ connectedCallback() {
12
+ if (!this.shadowRoot) {
13
+ this.attachShadow({ mode: 'open' });
14
+ }
15
+ this.render();
16
+ }
17
+ attributeChangedCallback() {
18
+ if (this.shadowRoot) {
19
+ this.render();
20
+ }
21
+ }
22
+ get groupId() {
23
+ return readString(this.getAttribute('group-id'), '');
24
+ }
25
+ get variant() {
26
+ return readCatalogVariant(this.getAttribute('variant'));
27
+ }
28
+ get columns() {
29
+ return this.getAttribute('columns') !== 'false';
30
+ }
31
+ render() {
32
+ const root = this.shadowRoot;
33
+ if (!root) {
34
+ return;
35
+ }
36
+ const layoutClass = this.columns ? ' rd-palette-catalog__layout--columns' : '';
37
+ root.innerHTML = `
38
+ <style>
39
+ :host { display: block; }
40
+ .rd-palette-catalog {
41
+ display: grid;
42
+ gap: 1.25rem;
43
+ max-width: 80rem;
44
+ font-family: var(--rd-font-family, system-ui, sans-serif);
45
+ }
46
+ .rd-palette-catalog__layout {
47
+ display: grid;
48
+ gap: 1.25rem;
49
+ }
50
+ .rd-palette-catalog__layout--columns {
51
+ grid-template-columns: minmax(16rem, 22rem) minmax(0, 1fr);
52
+ gap: 1.5rem 2rem;
53
+ align-items: start;
54
+ }
55
+ .rd-palette-catalog__guide {
56
+ position: sticky;
57
+ top: 1rem;
58
+ }
59
+ .rd-palette-catalog__items {
60
+ display: grid;
61
+ gap: 1.25rem;
62
+ min-width: 0;
63
+ }
64
+ .rd-palette-catalog--compact .rd-palette-catalog__items { gap: 0.75rem; }
65
+ .rd-palette-catalog--plain .rd-palette-catalog__guide { position: static; }
66
+ @media (max-width: 768px) {
67
+ .rd-palette-catalog__layout--columns {
68
+ grid-template-columns: 1fr;
69
+ }
70
+ .rd-palette-catalog__guide { position: static; }
71
+ }
72
+ </style>
73
+ <div class="rd-palette-catalog" part="catalog" data-catalog-group="${escapeAttr(this.groupId)}">
74
+ <slot name="title"></slot>
75
+ <div class="rd-palette-catalog__layout${layoutClass}">
76
+ <div class="rd-palette-catalog__guide"><slot name="guide"></slot></div>
77
+ <div class="rd-palette-catalog__items"><slot name="items"></slot></div>
78
+ </div>
79
+ </div>`;
80
+ applyCatalogVariant(this, 'rd-palette-catalog', this.variant);
81
+ }
82
+ }
83
+ function escapeAttr(value) {
84
+ return value
85
+ .replace(/&/g, '&amp;')
86
+ .replace(/</g, '&lt;')
87
+ .replace(/"/g, '&quot;');
88
+ }
89
+ export function registerRdPaletteCatalog() {
90
+ defineRosettaElement(RD_PALETTE_CATALOG_TAG, RdPaletteCatalogElement);
91
+ }
92
+ export function createPaletteCatalogElement(options) {
93
+ const el = document.createElement(RD_PALETTE_CATALOG_TAG);
94
+ el.setAttribute('group-id', options.groupId);
95
+ if (options.variant) {
96
+ el.setAttribute('variant', options.variant);
97
+ }
98
+ el.setAttribute('columns', options.columns === false ? 'false' : 'true');
99
+ if (options.title) {
100
+ options.title.slot = 'title';
101
+ el.appendChild(options.title);
102
+ }
103
+ if (options.guide) {
104
+ options.guide.slot = 'guide';
105
+ el.appendChild(options.guide);
106
+ }
107
+ for (const spec of options.specs) {
108
+ spec.slot = 'items';
109
+ el.appendChild(spec);
110
+ }
111
+ return el;
112
+ }
113
+ export { RD_COMPONENT_SPEC_TAG, RD_PALETTE_GROUP_TAG };
114
+ //# sourceMappingURL=rd-palette-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rd-palette-catalog.js","sourceRoot":"","sources":["../../../../../../packages/web-components/src/catalog/palette-catalog/rd-palette-catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export type { PaletteGroupFit, PaletteGroupProps } from './rd-palette-group.js';
2
+ export { RD_PALETTE_GROUP_TAG, RdPaletteGroupElement, registerRdPaletteGroup, createPaletteGroupElement, } from './rd-palette-group.js';
@@ -0,0 +1,2 @@
1
+ export { RD_PALETTE_GROUP_TAG, RdPaletteGroupElement, registerRdPaletteGroup, createPaletteGroupElement, } from './rd-palette-group.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/web-components/src/catalog/palette-group/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC"}