@dxos/lit-ui 0.8.1-staging.31c3ee1

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 (88) hide show
  1. package/LICENSE +8 -0
  2. package/README.md +3 -0
  3. package/dist/src/defs.d.ts +2 -0
  4. package/dist/src/defs.d.ts.map +1 -0
  5. package/dist/src/defs.js +4 -0
  6. package/dist/src/defs.js.map +1 -0
  7. package/dist/src/dx-avatar/dx-avatar.d.ts +32 -0
  8. package/dist/src/dx-avatar/dx-avatar.d.ts.map +1 -0
  9. package/dist/src/dx-avatar/dx-avatar.js +191 -0
  10. package/dist/src/dx-avatar/dx-avatar.js.map +1 -0
  11. package/dist/src/dx-avatar/dx-avatar.lit-stories.d.ts +12 -0
  12. package/dist/src/dx-avatar/dx-avatar.lit-stories.d.ts.map +1 -0
  13. package/dist/src/dx-avatar/dx-avatar.lit-stories.js +16 -0
  14. package/dist/src/dx-avatar/dx-avatar.lit-stories.js.map +1 -0
  15. package/dist/src/dx-avatar/index.d.ts +2 -0
  16. package/dist/src/dx-avatar/index.d.ts.map +1 -0
  17. package/dist/src/dx-avatar/index.js +5 -0
  18. package/dist/src/dx-avatar/index.js.map +1 -0
  19. package/dist/src/dx-icon/dx-icon.d.ts +10 -0
  20. package/dist/src/dx-icon/dx-icon.d.ts.map +1 -0
  21. package/dist/src/dx-icon/dx-icon.js +43 -0
  22. package/dist/src/dx-icon/dx-icon.js.map +1 -0
  23. package/dist/src/dx-icon/index.d.ts +2 -0
  24. package/dist/src/dx-icon/index.d.ts.map +1 -0
  25. package/dist/src/dx-icon/index.js +5 -0
  26. package/dist/src/dx-icon/index.js.map +1 -0
  27. package/dist/src/dx-tag-picker/dx-tag-picker-item.d.ts +21 -0
  28. package/dist/src/dx-tag-picker/dx-tag-picker-item.d.ts.map +1 -0
  29. package/dist/src/dx-tag-picker/dx-tag-picker-item.js +68 -0
  30. package/dist/src/dx-tag-picker/dx-tag-picker-item.js.map +1 -0
  31. package/dist/src/dx-tag-picker/index.d.ts +2 -0
  32. package/dist/src/dx-tag-picker/index.d.ts.map +1 -0
  33. package/dist/src/dx-tag-picker/index.js +5 -0
  34. package/dist/src/dx-tag-picker/index.js.map +1 -0
  35. package/dist/src/index.d.ts +5 -0
  36. package/dist/src/index.d.ts.map +1 -0
  37. package/dist/src/index.js +8 -0
  38. package/dist/src/index.js.map +1 -0
  39. package/dist/tsconfig.tsbuildinfo +1 -0
  40. package/dist/types/src/defs.d.ts +2 -0
  41. package/dist/types/src/defs.d.ts.map +1 -0
  42. package/dist/types/src/defs.js +4 -0
  43. package/dist/types/src/defs.js.map +1 -0
  44. package/dist/types/src/dx-avatar/dx-avatar.d.ts +32 -0
  45. package/dist/types/src/dx-avatar/dx-avatar.d.ts.map +1 -0
  46. package/dist/types/src/dx-avatar/dx-avatar.js +191 -0
  47. package/dist/types/src/dx-avatar/dx-avatar.js.map +1 -0
  48. package/dist/types/src/dx-avatar/dx-avatar.lit-stories.d.ts +12 -0
  49. package/dist/types/src/dx-avatar/dx-avatar.lit-stories.d.ts.map +1 -0
  50. package/dist/types/src/dx-avatar/dx-avatar.lit-stories.js +16 -0
  51. package/dist/types/src/dx-avatar/dx-avatar.lit-stories.js.map +1 -0
  52. package/dist/types/src/dx-avatar/index.d.ts +2 -0
  53. package/dist/types/src/dx-avatar/index.d.ts.map +1 -0
  54. package/dist/types/src/dx-avatar/index.js +5 -0
  55. package/dist/types/src/dx-avatar/index.js.map +1 -0
  56. package/dist/types/src/dx-icon/dx-icon.d.ts +10 -0
  57. package/dist/types/src/dx-icon/dx-icon.d.ts.map +1 -0
  58. package/dist/types/src/dx-icon/dx-icon.js +43 -0
  59. package/dist/types/src/dx-icon/dx-icon.js.map +1 -0
  60. package/dist/types/src/dx-icon/index.d.ts +2 -0
  61. package/dist/types/src/dx-icon/index.d.ts.map +1 -0
  62. package/dist/types/src/dx-icon/index.js +5 -0
  63. package/dist/types/src/dx-icon/index.js.map +1 -0
  64. package/dist/types/src/dx-tag-picker/dx-tag-picker-item.d.ts +21 -0
  65. package/dist/types/src/dx-tag-picker/dx-tag-picker-item.d.ts.map +1 -0
  66. package/dist/types/src/dx-tag-picker/dx-tag-picker-item.js +68 -0
  67. package/dist/types/src/dx-tag-picker/dx-tag-picker-item.js.map +1 -0
  68. package/dist/types/src/dx-tag-picker/index.d.ts +2 -0
  69. package/dist/types/src/dx-tag-picker/index.d.ts.map +1 -0
  70. package/dist/types/src/dx-tag-picker/index.js +5 -0
  71. package/dist/types/src/dx-tag-picker/index.js.map +1 -0
  72. package/dist/types/src/index.d.ts +5 -0
  73. package/dist/types/src/index.d.ts.map +1 -0
  74. package/dist/types/src/index.js +8 -0
  75. package/dist/types/src/index.js.map +1 -0
  76. package/dist/types/tsconfig.tsbuildinfo +1 -0
  77. package/package.json +34 -0
  78. package/src/defs.ts +43 -0
  79. package/src/dx-avatar/dx-avatar.lit-stories.ts +20 -0
  80. package/src/dx-avatar/dx-avatar.pcss +78 -0
  81. package/src/dx-avatar/dx-avatar.ts +214 -0
  82. package/src/dx-avatar/index.ts +5 -0
  83. package/src/dx-icon/dx-icon.ts +33 -0
  84. package/src/dx-icon/index.ts +5 -0
  85. package/src/dx-tag-picker/dx-tag-picker-item.ts +59 -0
  86. package/src/dx-tag-picker/dx-tag-picker.pcss +23 -0
  87. package/src/dx-tag-picker/index.ts +5 -0
  88. package/src/index.ts +9 -0
@@ -0,0 +1,191 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
7
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
8
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
9
+ };
10
+ import { html, svg, LitElement } from 'lit';
11
+ import { customElement, state, property } from 'lit/decorators.js';
12
+ import { styleMap } from 'lit/directives/style-map.js';
13
+ import { makeId } from '@dxos/react-hooks';
14
+ const rx = '0.125rem';
15
+ let DxAvatar = class DxAvatar extends LitElement {
16
+ constructor() {
17
+ super();
18
+ this.fallback = 'never';
19
+ this.labelId = 'never';
20
+ this.imgSrc = undefined;
21
+ this.imgCrossOrigin = undefined;
22
+ this.imgReferrerPolicy = undefined;
23
+ this.variant = 'circle';
24
+ this.status = undefined;
25
+ this.animation = 'none';
26
+ this.hue = undefined;
27
+ this.hueVariant = 'fill';
28
+ this.size = 10;
29
+ this.icon = undefined;
30
+ this.rootClassName = undefined;
31
+ this.loadingStaus = 'idle';
32
+ this.maskId = makeId('avatar__mask');
33
+ }
34
+ connectedCallback() {
35
+ super.connectedCallback();
36
+ this.loadingStaus = this.imgSrc ? 'loading' : 'idle';
37
+ }
38
+ willUpdate(changedProperties) {
39
+ if (changedProperties.has('imgSrc')) {
40
+ this.loadingStaus = changedProperties.get('imgSrc') ? 'loading' : 'idle';
41
+ }
42
+ }
43
+ handleLoad() {
44
+ this.loadingStaus = 'loaded';
45
+ }
46
+ handleError() {
47
+ this.loadingStaus = 'error';
48
+ }
49
+ render() {
50
+ const numericSize = this.size === 'px' ? 1 : Number(this.size);
51
+ const sizePx = numericSize * 4;
52
+ const ringWidth = this.status ? (numericSize > 4 ? 2 : numericSize > 3 ? 1 : 1) : 0;
53
+ const ringGap = this.status ? (numericSize > 12 ? 3 : numericSize > 4 ? 2 : numericSize > 3 ? 1 : 0) : 0;
54
+ const r = sizePx / 2 - ringGap - ringWidth;
55
+ const isTextOnly = Boolean(this.fallback && /[0-9a-zA-Z]+/.test(this.fallback));
56
+ const fontScale = (isTextOnly ? 3 : 3.6) * (1 / 1.612);
57
+ const bg = this.hue
58
+ ? this.hueVariant === 'surface'
59
+ ? `var(--dx-${this.hue}Surface)`
60
+ : `var(--dx-${this.hue}Fill)`
61
+ : 'var(--surface-bg)';
62
+ const fg = this.hue && this.hueVariant === 'surface' ? `var(--dx-${this.hue}SurfaceText)` : 'var(--dx-inverse)';
63
+ return html `<span
64
+ role="img"
65
+ class=${`dx-avatar${this.rootClassName ? ` ${this.rootClassName}` : ''}`}
66
+ aria-labelledby=${this.labelId}
67
+ data-size=${this.size}
68
+ data-variant=${this.variant}
69
+ data-status=${this.status}
70
+ data-animation=${this.animation}
71
+ data-state-loading-status=${this.loadingStaus}
72
+ >${svg `<svg
73
+ viewBox=${`0 0 ${sizePx} ${sizePx}`}
74
+ width=${sizePx}
75
+ height=${sizePx}
76
+ class="dx-avatar__frame"
77
+ >
78
+ <defs>
79
+ <mask id=${this.maskId}>
80
+ ${this.variant === 'circle'
81
+ ? svg `<circle fill="white" cx="50%" cy="50%" r=${r} />`
82
+ : svg `<rect
83
+ fill="white"
84
+ width=${2 * r}
85
+ height=${2 * r}
86
+ x=${ringGap + ringWidth}
87
+ y=${ringGap + ringWidth}
88
+ rx=${rx}
89
+ />`}
90
+ </mask>
91
+ </defs>
92
+ ${this.variant === 'circle'
93
+ ? svg ` <circle
94
+ cx="50%"
95
+ cy="50%"
96
+ r=${r}
97
+ fill=${bg}
98
+ />`
99
+ : svg ` <rect
100
+ fill=${bg}
101
+ x=${ringGap + ringWidth}
102
+ y=${ringGap + ringWidth}
103
+ width=${2 * r}
104
+ height=${2 * r}
105
+ rx=${rx}
106
+ />`}
107
+ ${this.imgSrc &&
108
+ svg `<image
109
+ width="100%"
110
+ height="100%"
111
+ preserveAspectRatio="xMidYMid slice"
112
+ href=${this.imgSrc}
113
+ mask=${`url(#${this.maskId})`}
114
+ crossorigin=${this.imgCrossOrigin}
115
+ @load=${this.handleLoad}
116
+ @error=${this.handleError}
117
+ />`}
118
+ ${this.icon
119
+ ? svg `<use
120
+ class="dx-avatar__icon"
121
+ href=${this.icon}
122
+ x=${sizePx / 5}
123
+ y=${sizePx / 5}
124
+ width=${(3 * sizePx) / 5}
125
+ height=${(3 * sizePx) / 5} />`
126
+ : svg `<text
127
+ x="50%"
128
+ y="50%"
129
+ class="dx-avatar__fallback-text"
130
+ fill=${fg}
131
+ text-anchor="middle"
132
+ alignment-baseline="central"
133
+ font-size=${this.size === 'px' ? '200%' : this.size * fontScale}
134
+ mask=${`url(#${this.maskId})`}
135
+ >
136
+ ${this.fallback}
137
+ </text>`}
138
+ </svg>`}<span role="none" class="dx-avatar__ring" style=${styleMap({ borderWidth: ringWidth + 'px' })}
139
+ /></span>`;
140
+ }
141
+ createRenderRoot() {
142
+ return this;
143
+ }
144
+ };
145
+ __decorate([
146
+ property({ type: String })
147
+ ], DxAvatar.prototype, "fallback", void 0);
148
+ __decorate([
149
+ property({ type: String })
150
+ ], DxAvatar.prototype, "labelId", void 0);
151
+ __decorate([
152
+ property({ type: String })
153
+ ], DxAvatar.prototype, "imgSrc", void 0);
154
+ __decorate([
155
+ property({ type: String })
156
+ ], DxAvatar.prototype, "imgCrossOrigin", void 0);
157
+ __decorate([
158
+ property({ type: String })
159
+ ], DxAvatar.prototype, "imgReferrerPolicy", void 0);
160
+ __decorate([
161
+ property({ type: String })
162
+ ], DxAvatar.prototype, "variant", void 0);
163
+ __decorate([
164
+ property({ type: String })
165
+ ], DxAvatar.prototype, "status", void 0);
166
+ __decorate([
167
+ property({ type: String })
168
+ ], DxAvatar.prototype, "animation", void 0);
169
+ __decorate([
170
+ property({ type: String })
171
+ ], DxAvatar.prototype, "hue", void 0);
172
+ __decorate([
173
+ property({ type: String })
174
+ ], DxAvatar.prototype, "hueVariant", void 0);
175
+ __decorate([
176
+ property({ type: String })
177
+ ], DxAvatar.prototype, "size", void 0);
178
+ __decorate([
179
+ property({ type: String })
180
+ ], DxAvatar.prototype, "icon", void 0);
181
+ __decorate([
182
+ property({ type: String })
183
+ ], DxAvatar.prototype, "rootClassName", void 0);
184
+ __decorate([
185
+ state()
186
+ ], DxAvatar.prototype, "loadingStaus", void 0);
187
+ DxAvatar = __decorate([
188
+ customElement('dx-avatar')
189
+ ], DxAvatar);
190
+ export { DxAvatar };
191
+ //# sourceMappingURL=dx-avatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dx-avatar.js","sourceRoot":"","sources":["../../../../src/dx-avatar/dx-avatar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import './dx-avatar.ts';
2
+ import './dx-avatar.pcss';
3
+ import { type DxAvatarProps } from './dx-avatar';
4
+ declare const _default: {
5
+ title: string;
6
+ parameters: {
7
+ layout: string;
8
+ };
9
+ };
10
+ export default _default;
11
+ export declare const Basic: (props: DxAvatarProps) => import("lit").TemplateResult<1>;
12
+ //# sourceMappingURL=dx-avatar.lit-stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dx-avatar.lit-stories.d.ts","sourceRoot":"","sources":["../../../../src/dx-avatar/dx-avatar.lit-stories.ts"],"names":[],"mappings":"AAIA,OAAO,gBAAgB,CAAC;AACxB,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;;;;;;;AAEjD,wBAGE;AAEF,eAAO,MAAM,KAAK,UAAW,aAAa,oCAIzC,CAAC"}
@@ -0,0 +1,16 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+ import './dx-avatar.ts';
5
+ import './dx-avatar.pcss';
6
+ import { html } from 'lit';
7
+ export default {
8
+ title: 'dx-avatar',
9
+ parameters: { layout: 'fullscreen' },
10
+ };
11
+ export const Basic = (props) => {
12
+ return html `<div class="dark" style="position:fixed;inset:0;">
13
+ <dx-avatar></dx-avatar>
14
+ </div>`;
15
+ };
16
+ //# sourceMappingURL=dx-avatar.lit-stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dx-avatar.lit-stories.js","sourceRoot":"","sources":["../../../../src/dx-avatar/dx-avatar.lit-stories.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AAEF,OAAO,gBAAgB,CAAC;AACxB,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAI3B,eAAe;IACb,KAAK,EAAE,WAAW;IAClB,UAAU,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE;CACrC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAoB,EAAE,EAAE;IAC5C,OAAO,IAAI,CAAA;;SAEJ,CAAC;AACV,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './dx-avatar';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/dx-avatar/index.ts"],"names":[],"mappings":"AAIA,cAAc,aAAa,CAAC"}
@@ -0,0 +1,5 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+ export * from './dx-avatar';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/dx-avatar/index.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AAEF,cAAc,aAAa,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { LitElement } from 'lit';
2
+ import { type Size } from '../defs';
3
+ export declare class DxIcon extends LitElement {
4
+ size: Size;
5
+ icon: string;
6
+ noCache: boolean;
7
+ render(): import("lit").TemplateResult<2>;
8
+ createRenderRoot(): this;
9
+ }
10
+ //# sourceMappingURL=dx-icon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dx-icon.d.ts","sourceRoot":"","sources":["../../../../src/dx-icon/dx-icon.ts"],"names":[],"mappings":"AAIA,OAAO,EAAO,UAAU,EAAE,MAAM,KAAK,CAAC;AAGtC,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,SAAS,CAAC;AAIpC,qBACa,MAAO,SAAQ,UAAU;IAGpC,IAAI,EAAE,IAAI,CAAK;IAGf,IAAI,EAAE,MAAM,CAA8B;IAG1C,OAAO,EAAE,OAAO,CAAQ;IAEf,MAAM;IAMN,gBAAgB;CAG1B"}
@@ -0,0 +1,43 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
7
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
8
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
9
+ };
10
+ import { svg, LitElement } from 'lit';
11
+ import { customElement, property } from 'lit/decorators.js';
12
+ const ICONS_URL = '/icons.svg';
13
+ let DxIcon = class DxIcon extends LitElement {
14
+ constructor() {
15
+ super(...arguments);
16
+ // TODO(thure): Get Hue type used in theme.
17
+ this.size = 4;
18
+ this.icon = 'ph--placeholder--regular';
19
+ this.noCache = true;
20
+ }
21
+ render() {
22
+ const url = this.noCache ? `${ICONS_URL}?nocache=${new Date().getMinutes()}` : ICONS_URL;
23
+ const href = `${url}#${this.icon}`;
24
+ return svg `<svg class="dx-icon" data-size=${this.size}><use href=${href} /></svg>`;
25
+ }
26
+ createRenderRoot() {
27
+ return this;
28
+ }
29
+ };
30
+ __decorate([
31
+ property({ type: String })
32
+ ], DxIcon.prototype, "size", void 0);
33
+ __decorate([
34
+ property({ type: String })
35
+ ], DxIcon.prototype, "icon", void 0);
36
+ __decorate([
37
+ property({ type: Boolean })
38
+ ], DxIcon.prototype, "noCache", void 0);
39
+ DxIcon = __decorate([
40
+ customElement('dx-icon')
41
+ ], DxIcon);
42
+ export { DxIcon };
43
+ //# sourceMappingURL=dx-icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dx-icon.js","sourceRoot":"","sources":["../../../../src/dx-icon/dx-icon.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;AAEF,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAI5D,MAAM,SAAS,GAAG,YAAY,CAAC;AAGxB,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,UAAU;IAA/B;;QACL,2CAA2C;QAE3C,SAAI,GAAS,CAAC,CAAC;QAGf,SAAI,GAAW,0BAA0B,CAAC;QAG1C,YAAO,GAAY,IAAI,CAAC;IAW1B,CAAC;IATU,MAAM;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,YAAY,IAAI,IAAI,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACzF,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACnC,OAAO,GAAG,CAAA,kCAAkC,IAAI,CAAC,IAAI,cAAc,IAAI,WAAW,CAAC;IACrF,CAAC;IAEQ,gBAAgB;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAjBC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oCACZ;AAGf;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oCACe;AAG1C;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;uCACJ;AATb,MAAM;IADlB,aAAa,CAAC,SAAS,CAAC;GACZ,MAAM,CAoBlB"}
@@ -0,0 +1,2 @@
1
+ export * from './dx-icon';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/dx-icon/index.ts"],"names":[],"mappings":"AAIA,cAAc,WAAW,CAAC"}
@@ -0,0 +1,5 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+ export * from './dx-icon';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/dx-icon/index.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AAEF,cAAc,WAAW,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { LitElement } from 'lit';
2
+ export declare class DxTagPickerItemClick extends Event {
3
+ readonly itemId: string;
4
+ readonly action: 'remove' | 'activate';
5
+ constructor(props: {
6
+ itemId: string;
7
+ action: 'remove' | 'activate';
8
+ });
9
+ }
10
+ export declare class DxTagPickerItem extends LitElement {
11
+ hue: string;
12
+ itemId: string;
13
+ label: string;
14
+ rootClassName: string | undefined;
15
+ removeLabel: string | undefined;
16
+ private handleClickActivate;
17
+ private handleClickRemove;
18
+ render(): import("lit").TemplateResult<1>;
19
+ createRenderRoot(): this;
20
+ }
21
+ //# sourceMappingURL=dx-tag-picker-item.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dx-tag-picker-item.d.ts","sourceRoot":"","sources":["../../../../src/dx-tag-picker/dx-tag-picker-item.ts"],"names":[],"mappings":"AAIA,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAKvC,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,MAAM,EAAE,QAAQ,GAAG,UAAU,CAAC;gBAClC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,QAAQ,GAAG,UAAU,CAAA;KAAE;CAKrE;AAED,qBACa,eAAgB,SAAQ,UAAU;IAG7C,GAAG,EAAE,MAAM,CAAa;IAGxB,MAAM,EAAE,MAAM,CAAgC;IAG9C,KAAK,EAAE,MAAM,CAAW;IAGxB,aAAa,EAAE,MAAM,GAAG,SAAS,CAAa;IAG9C,WAAW,EAAE,MAAM,GAAG,SAAS,CAAa;IAE5C,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,iBAAiB;IAIhB,MAAM;IAUN,gBAAgB;CAG1B"}
@@ -0,0 +1,68 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
7
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
8
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
9
+ };
10
+ import { html, LitElement } from 'lit';
11
+ import { customElement, property } from 'lit/decorators.js';
12
+ import { makeId } from '@dxos/react-hooks';
13
+ export class DxTagPickerItemClick extends Event {
14
+ constructor(props) {
15
+ super('dx-tag-picker-item-click');
16
+ this.itemId = props.itemId;
17
+ this.action = props.action;
18
+ }
19
+ }
20
+ let DxTagPickerItem = class DxTagPickerItem extends LitElement {
21
+ constructor() {
22
+ super(...arguments);
23
+ // TODO(thure): Get Hue type used in theme.
24
+ this.hue = 'neutral';
25
+ this.itemId = makeId('dx-tag-picker-item');
26
+ this.label = 'never';
27
+ this.rootClassName = undefined;
28
+ this.removeLabel = undefined;
29
+ }
30
+ handleClickActivate() {
31
+ this.dispatchEvent(new DxTagPickerItemClick({ itemId: this.itemId, action: 'activate' }));
32
+ }
33
+ handleClickRemove() {
34
+ this.dispatchEvent(new DxTagPickerItemClick({ itemId: this.itemId, action: 'remove' }));
35
+ }
36
+ render() {
37
+ const className = `dx-tag dx-tag-picker-item${this.rootClassName ? ` ${this.rootClassName}` : ''}`;
38
+ return html `<span class=${className} data-remove=${!!this.removeLabel} data-hue=${this.hue} id=${this.id}
39
+ ><button class="dx-focus-ring" @click=${this.handleClickActivate}>${this.label}</button>${this.removeLabel &&
40
+ html `<button class="dx-focus-ring" aria-label=${this.removeLabel} @click=${this.handleClickRemove}>
41
+ <dx-icon icon="ph--x--regular" />
42
+ </button>`}</span
43
+ >`;
44
+ }
45
+ createRenderRoot() {
46
+ return this;
47
+ }
48
+ };
49
+ __decorate([
50
+ property({ type: String })
51
+ ], DxTagPickerItem.prototype, "hue", void 0);
52
+ __decorate([
53
+ property({ type: String })
54
+ ], DxTagPickerItem.prototype, "itemId", void 0);
55
+ __decorate([
56
+ property({ type: String })
57
+ ], DxTagPickerItem.prototype, "label", void 0);
58
+ __decorate([
59
+ property({ type: String })
60
+ ], DxTagPickerItem.prototype, "rootClassName", void 0);
61
+ __decorate([
62
+ property({ type: String })
63
+ ], DxTagPickerItem.prototype, "removeLabel", void 0);
64
+ DxTagPickerItem = __decorate([
65
+ customElement('dx-tag-picker-item')
66
+ ], DxTagPickerItem);
67
+ export { DxTagPickerItem };
68
+ //# sourceMappingURL=dx-tag-picker-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dx-tag-picker-item.js","sourceRoot":"","sources":["../../../../src/dx-tag-picker/dx-tag-picker-item.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;AAEF,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAG7C,YAAY,KAAwD;QAClE,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC7B,CAAC;CACF;AAGM,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,UAAU;IAAxC;;QACL,2CAA2C;QAE3C,QAAG,GAAW,SAAS,CAAC;QAGxB,WAAM,GAAW,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAG9C,UAAK,GAAW,OAAO,CAAC;QAGxB,kBAAa,GAAuB,SAAS,CAAC;QAG9C,gBAAW,GAAuB,SAAS,CAAC;IAuB9C,CAAC;IArBS,mBAAmB;QACzB,IAAI,CAAC,aAAa,CAAC,IAAI,oBAAoB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;IAC5F,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,aAAa,CAAC,IAAI,oBAAoB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC1F,CAAC;IAEQ,MAAM;QACb,MAAM,SAAS,GAAG,4BAA4B,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACnG,OAAO,IAAI,CAAA,eAAe,SAAS,gBAAgB,CAAC,CAAC,IAAI,CAAC,WAAW,aAAa,IAAI,CAAC,GAAG,OAAO,IAAI,CAAC,EAAE;8CAC9D,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,KAAK,YAAY,IAAI,CAAC,WAAW;YAC1G,IAAI,CAAA,4CAA4C,IAAI,CAAC,WAAW,WAAW,IAAI,CAAC,iBAAiB;;gBAEvF;MACV,CAAC;IACL,CAAC;IAEQ,gBAAgB;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAnCC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4CACH;AAGxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;+CACmB;AAG9C;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CACH;AAGxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;sDACmB;AAG9C;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oDACiB;AAfjC,eAAe;IAD3B,aAAa,CAAC,oBAAoB,CAAC;GACvB,eAAe,CAsC3B"}
@@ -0,0 +1,2 @@
1
+ export * from './dx-tag-picker-item';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/dx-tag-picker/index.ts"],"names":[],"mappings":"AAIA,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,5 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+ export * from './dx-tag-picker-item';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/dx-tag-picker/index.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AAEF,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './dx-avatar';
2
+ export * from './dx-tag-picker';
3
+ export * from './dx-icon';
4
+ export { createComponent, type EventName } from '@lit/react';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,8 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+ export * from './dx-avatar';
5
+ export * from './dx-tag-picker';
6
+ export * from './dx-icon';
7
+ export { createComponent } from '@lit/react';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AAEF,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAkB,MAAM,YAAY,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":"5.7.3"}
package/package.json ADDED
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "@dxos/lit-ui",
3
+ "version": "0.8.1-staging.31c3ee1",
4
+ "description": "Web Components for DXOS using Lit",
5
+ "homepage": "https://dxos.org",
6
+ "bugs": "https://github.com/dxos/dxos/issues",
7
+ "license": "MIT",
8
+ "author": "DXOS.org",
9
+ "sideEffects": true,
10
+ "type": "module",
11
+ "exports": {
12
+ ".": {
13
+ "types": "./dist/types/src/index.d.ts",
14
+ "browser": "./dist/src/index.js",
15
+ "node": "./dist/src/index.js"
16
+ },
17
+ "./dx-avatar.pcss": "./src/dx-avatar/dx-avatar.pcss",
18
+ "./dx-tag-picker.pcss": "./src/dx-tag-picker/dx-tag-picker.pcss"
19
+ },
20
+ "main": "dist/src/index.js",
21
+ "types": "dist/src/index.d.ts",
22
+ "files": [
23
+ "src",
24
+ "dist"
25
+ ],
26
+ "dependencies": {
27
+ "@lit/react": "^1.0.5",
28
+ "lit": "^3.2.0",
29
+ "@dxos/react-hooks": "0.8.1-staging.31c3ee1"
30
+ },
31
+ "devDependencies": {
32
+ "@dxos/test-utils": "0.8.1-staging.31c3ee1"
33
+ }
34
+ }
package/src/defs.ts ADDED
@@ -0,0 +1,43 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ // TODO(thure): I was unable to bring this in from `react-ui-types` because toolbox.ts would not acknowledge
6
+ // `"@dxos/lit-ui": [ "packages/ui/lit-ui/src/index.ts" ]` in tsconfig.paths.json. How is this meant to work? How is it
7
+ // okay with `react-hooks`?
8
+ export type Size =
9
+ | 0
10
+ | 'px'
11
+ | 0.5
12
+ | 1
13
+ | 1.5
14
+ | 2
15
+ | 2.5
16
+ | 3
17
+ | 3.5
18
+ | 4
19
+ | 5
20
+ | 6
21
+ | 7
22
+ | 8
23
+ | 9
24
+ | 10
25
+ | 11
26
+ | 12
27
+ | 14
28
+ | 16
29
+ | 20
30
+ | 24
31
+ | 28
32
+ | 32
33
+ | 36
34
+ | 40
35
+ | 44
36
+ | 48
37
+ | 52
38
+ | 56
39
+ | 60
40
+ | 64
41
+ | 72
42
+ | 80
43
+ | 96;
@@ -0,0 +1,20 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import './dx-avatar.ts';
6
+ import './dx-avatar.pcss';
7
+ import { html } from 'lit';
8
+
9
+ import { type DxAvatarProps } from './dx-avatar';
10
+
11
+ export default {
12
+ title: 'dx-avatar',
13
+ parameters: { layout: 'fullscreen' },
14
+ };
15
+
16
+ export const Basic = (props: DxAvatarProps) => {
17
+ return html`<div class="dark" style="position:fixed;inset:0;">
18
+ <dx-avatar></dx-avatar>
19
+ </div>`;
20
+ };