@jolly-pixel/ui 1.0.1 → 2.0.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 (117) hide show
  1. package/LICENSE +44 -44
  2. package/NOTICE +9 -0
  3. package/README.md +194 -194
  4. package/dist/containers/Dialog.js +11 -11
  5. package/dist/containers/Dialog.styles.js +48 -48
  6. package/dist/containers/Dock.js +11 -11
  7. package/dist/containers/Dock.styles.js +351 -351
  8. package/dist/containers/DockLayout.js +4 -4
  9. package/dist/containers/Floating.js +23 -23
  10. package/dist/containers/Floating.styles.js +116 -116
  11. package/dist/containers/Folder.js +28 -28
  12. package/dist/containers/Folder.styles.js +221 -221
  13. package/dist/containers/Pane.js +50 -50
  14. package/dist/containers/Pane.styles.js +186 -186
  15. package/dist/containers/Rail.js +18 -18
  16. package/dist/containers/Tab.js +10 -10
  17. package/dist/containers/Tabs.js +26 -26
  18. package/dist/containers/Tabs.styles.js +93 -93
  19. package/dist/containers/Toolbar.js +25 -25
  20. package/dist/containers/resize.js +5 -5
  21. package/dist/controls/Button.js +9 -9
  22. package/dist/controls/Button.styles.js +79 -79
  23. package/dist/controls/ButtonGroup.js +28 -28
  24. package/dist/controls/ButtonGroup.styles.js +98 -98
  25. package/dist/controls/Checkbox.js +14 -14
  26. package/dist/controls/Checkbox.styles.js +111 -111
  27. package/dist/controls/Color.js +51 -51
  28. package/dist/controls/Color.styles.js +83 -83
  29. package/dist/controls/ColorPicker.js +104 -104
  30. package/dist/controls/ColorPicker.styles.js +296 -296
  31. package/dist/controls/Control.js +33 -33
  32. package/dist/controls/Control.styles.js +102 -102
  33. package/dist/controls/Controls.js +11 -11
  34. package/dist/controls/Controls.styles.js +98 -98
  35. package/dist/controls/Flags.js +18 -18
  36. package/dist/controls/Flags.styles.js +59 -59
  37. package/dist/controls/Number.js +21 -21
  38. package/dist/controls/Number.styles.js +44 -44
  39. package/dist/controls/PropertyRow.js +13 -13
  40. package/dist/controls/PropertyRow.styles.js +105 -105
  41. package/dist/controls/Range.js +24 -24
  42. package/dist/controls/Range.styles.js +25 -25
  43. package/dist/controls/Select.js +23 -23
  44. package/dist/controls/Select.styles.js +47 -47
  45. package/dist/controls/Separator.js +11 -11
  46. package/dist/controls/Separator.styles.js +45 -45
  47. package/dist/controls/Slider.js +36 -36
  48. package/dist/controls/Slider.styles.js +161 -161
  49. package/dist/controls/Text.js +17 -17
  50. package/dist/data/Tree.d.ts +0 -14
  51. package/dist/data/Tree.d.ts.map +1 -1
  52. package/dist/data/Tree.js +90 -120
  53. package/dist/data/Tree.js.map +1 -1
  54. package/dist/data/Tree.styles.d.ts.map +1 -1
  55. package/dist/data/Tree.styles.js +220 -237
  56. package/dist/data/Tree.styles.js.map +1 -1
  57. package/dist/data/dropZone.d.ts +0 -10
  58. package/dist/data/dropZone.d.ts.map +1 -1
  59. package/dist/data/dropZone.js +0 -10
  60. package/dist/data/dropZone.js.map +1 -1
  61. package/dist/data/resolveRename.d.ts +0 -3
  62. package/dist/data/resolveRename.d.ts.map +1 -1
  63. package/dist/data/resolveRename.js +0 -3
  64. package/dist/data/resolveRename.js.map +1 -1
  65. package/dist/data/resolveReparent.d.ts +0 -7
  66. package/dist/data/resolveReparent.d.ts.map +1 -1
  67. package/dist/data/resolveReparent.js +0 -6
  68. package/dist/data/resolveReparent.js.map +1 -1
  69. package/dist/data/rowDragSession.d.ts +0 -8
  70. package/dist/data/rowDragSession.d.ts.map +1 -1
  71. package/dist/data/rowDragSession.js +0 -6
  72. package/dist/data/rowDragSession.js.map +1 -1
  73. package/dist/data/treeNodes.d.ts +0 -6
  74. package/dist/data/treeNodes.d.ts.map +1 -1
  75. package/dist/data/treeNodes.js +2 -7
  76. package/dist/data/treeNodes.js.map +1 -1
  77. package/dist/feedback/JollyPixelLogo.js +84 -84
  78. package/dist/feedback/Loading.js +29 -29
  79. package/dist/feedback/Loading.styles.js +230 -230
  80. package/dist/feedback/Log.js +8 -8
  81. package/dist/feedback/Log.styles.js +61 -61
  82. package/dist/feedback/Progress.js +17 -17
  83. package/dist/feedback/Progress.styles.js +146 -146
  84. package/dist/field/JollyField.js +51 -51
  85. package/dist/field/JollyField.styles.js +429 -429
  86. package/dist/icon/Icon.js +24 -24
  87. package/dist/icon/builtins.js +126 -126
  88. package/dist/interaction/drag/DragSession.js +6 -6
  89. package/dist/interaction/scrub/ScrubController.js +6 -6
  90. package/dist/math/AxisController.js +22 -22
  91. package/dist/math/Point2d.js +12 -12
  92. package/dist/math/Point2d.styles.js +49 -49
  93. package/dist/math/Quaternion.js +4 -4
  94. package/dist/math/Transform.js +40 -40
  95. package/dist/math/Transform.styles.js +17 -17
  96. package/dist/math/VectorField.js +4 -4
  97. package/dist/math/VectorField.styles.js +102 -102
  98. package/dist/monitors/Graph.js +8 -8
  99. package/dist/monitors/Graph.styles.js +42 -42
  100. package/dist/monitors/Monitor.js +5 -5
  101. package/dist/monitors/Monitor.styles.js +31 -31
  102. package/dist/peer/Presence.js +33 -33
  103. package/dist/peer/Presence.styles.js +82 -82
  104. package/dist/stats/Stats.js +6 -6
  105. package/dist/stats/Stats.styles.js +54 -54
  106. package/dist/theme/components/DensityControl.js +16 -16
  107. package/dist/theme/components/ThemeControl.js +16 -16
  108. package/dist/theme/components/ThemePreferences.js +18 -18
  109. package/dist/theme/font.js +9 -9
  110. package/dist/theme/styles/hiddenStyles.js +4 -4
  111. package/dist/theme/styles/mixins.js +16 -16
  112. package/dist/theme/styles/themeStyles.js +4 -4
  113. package/dist/theme/tokens/density.js +19 -19
  114. package/dist/theme/tokens/ramps.js +40 -40
  115. package/dist/theme/tokens/scales.js +56 -56
  116. package/dist/theme/tokens/semantic.js +184 -184
  117. package/package.json +6 -5
@@ -1,150 +1,150 @@
1
1
  // Import Third-party Dependencies
2
2
  import { css } from "lit";
3
- export const progressStyles = css `
4
- :host {
5
- --jolly-progress-height: 4px;
6
- --jolly-progress-track: var(--jolly-groove, rgb(0 0 0 / 0.2));
7
- --jolly-progress-fill: var(--jolly-accent-fill, #4488ff);
8
- --jolly-progress-duration: var(--jolly-duration-base, 160ms);
9
- --jolly-progress-easing: var(--jolly-easing, ease);
10
- --jolly-progress-track-shadow: none;
11
- --jolly-progress-shadow: none;
12
- --jolly-progress-shadow-active: var(--jolly-progress-shadow);
13
-
14
- display: block;
15
- width: 100%;
16
- }
17
-
18
- :host([hidden]) {
19
- display: none;
20
- }
21
-
22
- .track {
23
- position: relative;
24
- height: var(--jolly-progress-height);
25
- overflow: hidden;
26
- border-radius: calc(var(--jolly-progress-height) / 2);
27
- background: var(--jolly-progress-track);
28
- box-shadow: var(--jolly-progress-track-shadow);
29
- }
30
-
31
- .indicator {
32
- position: absolute;
33
- inset: 0;
34
- background: var(--jolly-progress-fill);
35
- box-shadow: var(--jolly-progress-shadow);
36
- transform: scaleX(var(--jolly-progress-ratio, 0));
37
- transform-origin: left center;
38
- transition:
39
- transform var(--jolly-progress-duration)
40
- var(--jolly-progress-easing);
41
- will-change: transform;
42
- }
43
-
44
- :host([animated]:not([completed])) .indicator {
45
- animation: progress-pulse 1.5s ease-in-out infinite;
46
- }
47
-
48
- :host([animated]:not([completed])) .indicator::before {
49
- content: "";
50
- position: absolute;
51
- inset: 0;
52
- background: linear-gradient(
53
- 90deg,
54
- transparent 0%,
55
- rgb(255 255 255 / 0.15) 30%,
56
- rgb(255 255 255 / 0.4) 50%,
57
- rgb(255 255 255 / 0.15) 70%,
58
- transparent 100%
59
- );
60
- animation: progress-shimmer 2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
61
- }
62
-
63
- :host([animated]:not([completed])) .indicator::after {
64
- content: "";
65
- position: absolute;
66
- inset: 0;
67
- background: linear-gradient(
68
- 180deg,
69
- rgb(255 255 255 / 0.2) 0%,
70
- transparent 50%,
71
- rgb(0 0 0 / 0.1) 100%
72
- );
73
- }
74
-
75
- :host([animated]:not([completed])) .indicator.speeding {
76
- animation: progress-speed 300ms ease;
77
- }
78
-
79
- .track.indeterminate .indicator {
80
- width: 45%;
81
- animation: progress-indeterminate 1.2s ease-in-out infinite;
82
- transform: translateX(-120%);
83
- }
84
-
85
- @keyframes progress-pulse {
86
- 0%, 100% {
87
- box-shadow: var(--jolly-progress-shadow);
88
- }
89
- 50% {
90
- box-shadow: var(--jolly-progress-shadow-active);
91
- }
92
- }
93
-
94
- @keyframes progress-shimmer {
95
- from {
96
- transform: translateX(-100%);
97
- }
98
- to {
99
- transform: translateX(100%);
100
- }
101
- }
102
-
103
- @keyframes progress-speed {
104
- 0%, 100% {
105
- filter: blur(0);
106
- }
107
- 50% {
108
- filter: blur(1px);
109
- }
110
- }
111
-
112
- @keyframes progress-indeterminate {
113
- 0% {
114
- transform: translateX(-120%);
115
- }
116
- 50% {
117
- transform: translateX(120%);
118
- }
119
- 100% {
120
- transform: translateX(280%);
121
- }
122
- }
123
-
124
- @media (prefers-reduced-motion: reduce) {
125
- .indicator,
126
- .indicator::before {
127
- animation: none !important;
128
- transition-duration: 0ms;
129
- }
130
-
131
- .track.indeterminate .indicator {
132
- width: 100%;
133
- opacity: 0.55;
134
- transform: none;
135
- }
136
- }
137
-
138
- @media (forced-colors: active) {
139
- .track {
140
- border: 1px solid CanvasText;
141
- background: Canvas;
142
- }
143
-
144
- .indicator {
145
- background: Highlight;
146
- forced-color-adjust: none;
147
- }
148
- }
3
+ export const progressStyles = css `
4
+ :host {
5
+ --jolly-progress-height: 4px;
6
+ --jolly-progress-track: var(--jolly-groove, rgb(0 0 0 / 0.2));
7
+ --jolly-progress-fill: var(--jolly-accent-fill, #4488ff);
8
+ --jolly-progress-duration: var(--jolly-duration-base, 160ms);
9
+ --jolly-progress-easing: var(--jolly-easing, ease);
10
+ --jolly-progress-track-shadow: none;
11
+ --jolly-progress-shadow: none;
12
+ --jolly-progress-shadow-active: var(--jolly-progress-shadow);
13
+
14
+ display: block;
15
+ width: 100%;
16
+ }
17
+
18
+ :host([hidden]) {
19
+ display: none;
20
+ }
21
+
22
+ .track {
23
+ position: relative;
24
+ height: var(--jolly-progress-height);
25
+ overflow: hidden;
26
+ border-radius: calc(var(--jolly-progress-height) / 2);
27
+ background: var(--jolly-progress-track);
28
+ box-shadow: var(--jolly-progress-track-shadow);
29
+ }
30
+
31
+ .indicator {
32
+ position: absolute;
33
+ inset: 0;
34
+ background: var(--jolly-progress-fill);
35
+ box-shadow: var(--jolly-progress-shadow);
36
+ transform: scaleX(var(--jolly-progress-ratio, 0));
37
+ transform-origin: left center;
38
+ transition:
39
+ transform var(--jolly-progress-duration)
40
+ var(--jolly-progress-easing);
41
+ will-change: transform;
42
+ }
43
+
44
+ :host([animated]:not([completed])) .indicator {
45
+ animation: progress-pulse 1.5s ease-in-out infinite;
46
+ }
47
+
48
+ :host([animated]:not([completed])) .indicator::before {
49
+ content: "";
50
+ position: absolute;
51
+ inset: 0;
52
+ background: linear-gradient(
53
+ 90deg,
54
+ transparent 0%,
55
+ rgb(255 255 255 / 0.15) 30%,
56
+ rgb(255 255 255 / 0.4) 50%,
57
+ rgb(255 255 255 / 0.15) 70%,
58
+ transparent 100%
59
+ );
60
+ animation: progress-shimmer 2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
61
+ }
62
+
63
+ :host([animated]:not([completed])) .indicator::after {
64
+ content: "";
65
+ position: absolute;
66
+ inset: 0;
67
+ background: linear-gradient(
68
+ 180deg,
69
+ rgb(255 255 255 / 0.2) 0%,
70
+ transparent 50%,
71
+ rgb(0 0 0 / 0.1) 100%
72
+ );
73
+ }
74
+
75
+ :host([animated]:not([completed])) .indicator.speeding {
76
+ animation: progress-speed 300ms ease;
77
+ }
78
+
79
+ .track.indeterminate .indicator {
80
+ width: 45%;
81
+ animation: progress-indeterminate 1.2s ease-in-out infinite;
82
+ transform: translateX(-120%);
83
+ }
84
+
85
+ @keyframes progress-pulse {
86
+ 0%, 100% {
87
+ box-shadow: var(--jolly-progress-shadow);
88
+ }
89
+ 50% {
90
+ box-shadow: var(--jolly-progress-shadow-active);
91
+ }
92
+ }
93
+
94
+ @keyframes progress-shimmer {
95
+ from {
96
+ transform: translateX(-100%);
97
+ }
98
+ to {
99
+ transform: translateX(100%);
100
+ }
101
+ }
102
+
103
+ @keyframes progress-speed {
104
+ 0%, 100% {
105
+ filter: blur(0);
106
+ }
107
+ 50% {
108
+ filter: blur(1px);
109
+ }
110
+ }
111
+
112
+ @keyframes progress-indeterminate {
113
+ 0% {
114
+ transform: translateX(-120%);
115
+ }
116
+ 50% {
117
+ transform: translateX(120%);
118
+ }
119
+ 100% {
120
+ transform: translateX(280%);
121
+ }
122
+ }
123
+
124
+ @media (prefers-reduced-motion: reduce) {
125
+ .indicator,
126
+ .indicator::before {
127
+ animation: none !important;
128
+ transition-duration: 0ms;
129
+ }
130
+
131
+ .track.indeterminate .indicator {
132
+ width: 100%;
133
+ opacity: 0.55;
134
+ transform: none;
135
+ }
136
+ }
137
+
138
+ @media (forced-colors: active) {
139
+ .track {
140
+ border: 1px solid CanvasText;
141
+ background: Canvas;
142
+ }
143
+
144
+ .indicator {
145
+ background: Highlight;
146
+ forced-color-adjust: none;
147
+ }
148
+ }
149
149
  `;
150
150
  //# sourceMappingURL=Progress.styles.js.map
@@ -170,22 +170,22 @@ export class JollyField extends LitElement {
170
170
  return this.#draft.error ?? this.error;
171
171
  }
172
172
  render() {
173
- return html `
174
- <div class="row">
175
- <div class="leading">
176
- ${this.#renderGutter()}
177
- ${this.label === "" ? nothing : html `<span class="label">${this.label}</span>`}
178
- </div>
179
- <div class="content">
180
- <div class="value">${this.renderValue()}</div>
181
- <div class="trailing">
182
- ${this.#renderRevert()}
183
- ${this.#renderPeers()}
184
- </div>
185
- </div>
186
- </div>
187
- ${this.#renderDescription()}
188
- ${this.#renderError()}
173
+ return html `
174
+ <div class="row">
175
+ <div class="leading">
176
+ ${this.#renderGutter()}
177
+ ${this.label === "" ? nothing : html `<span class="label">${this.label}</span>`}
178
+ </div>
179
+ <div class="content">
180
+ <div class="value">${this.renderValue()}</div>
181
+ <div class="trailing">
182
+ ${this.#renderRevert()}
183
+ ${this.#renderPeers()}
184
+ </div>
185
+ </div>
186
+ </div>
187
+ ${this.#renderDescription()}
188
+ ${this.#renderError()}
189
189
  `;
190
190
  }
191
191
  /**
@@ -207,14 +207,14 @@ export class JollyField extends LitElement {
207
207
  if (!this.modified || !this.editable) {
208
208
  return nothing;
209
209
  }
210
- return html `
211
- <button
212
- class="revert"
213
- type="button"
214
- title="Revert to default"
215
- aria-label="Revert to default"
216
- @click=${this.#onRevert}
217
- ><jolly-icon name="revert"></jolly-icon></button>
210
+ return html `
211
+ <button
212
+ class="revert"
213
+ type="button"
214
+ title="Revert to default"
215
+ aria-label="Revert to default"
216
+ @click=${this.#onRevert}
217
+ ><jolly-icon name="revert"></jolly-icon></button>
218
218
  `;
219
219
  }
220
220
  #onRevert() {
@@ -228,10 +228,10 @@ export class JollyField extends LitElement {
228
228
  */
229
229
  #renderLock(holder) {
230
230
  const label = `Held by ${holder.displayName}`;
231
- return html `
232
- <span class="gutter" data-tooltip=${label}>
233
- <jolly-icon name="lock" label=${label}></jolly-icon>
234
- </span>
231
+ return html `
232
+ <span class="gutter" data-tooltip=${label}>
233
+ <jolly-icon name="lock" label=${label}></jolly-icon>
234
+ </span>
235
235
  `;
236
236
  }
237
237
  #renderPeers() {
@@ -239,19 +239,19 @@ export class JollyField extends LitElement {
239
239
  return nothing;
240
240
  }
241
241
  const { shown, overflow } = splitPeerChips(this.peers, kMaxChips);
242
- return html `
243
- <span class="peers">
244
- ${shown.map((peer) => html `
245
- <span
246
- class="chip"
247
- role="img"
248
- aria-label=${peer.displayName}
249
- data-tooltip=${peer.displayName}
250
- style="background: ${peer.color}; --jolly-peer-color: ${peer.color}"
251
- ></span>
252
- `)}
253
- ${overflow === 0 ? nothing : html `<span class="overflow">+${overflow}</span>`}
254
- </span>
242
+ return html `
243
+ <span class="peers">
244
+ ${shown.map((peer) => html `
245
+ <span
246
+ class="chip"
247
+ role="img"
248
+ aria-label=${peer.displayName}
249
+ data-tooltip=${peer.displayName}
250
+ style="background: ${peer.color}; --jolly-peer-color: ${peer.color}"
251
+ ></span>
252
+ `)}
253
+ ${overflow === 0 ? nothing : html `<span class="overflow">+${overflow}</span>`}
254
+ </span>
255
255
  `;
256
256
  }
257
257
  /**
@@ -260,22 +260,22 @@ export class JollyField extends LitElement {
260
260
  #renderDescription() {
261
261
  return this.description === ""
262
262
  ? nothing
263
- : html `
264
- <p class="description">
265
- <jolly-icon name="info"></jolly-icon>
266
- <span>${this.description}</span>
267
- </p>
263
+ : html `
264
+ <p class="description">
265
+ <jolly-icon name="info"></jolly-icon>
266
+ <span>${this.description}</span>
267
+ </p>
268
268
  `;
269
269
  }
270
270
  #renderError() {
271
271
  const message = this.displayError;
272
272
  return message === null
273
273
  ? nothing
274
- : html `
275
- <p class="error" role="alert">
276
- <jolly-icon name="warning"></jolly-icon>
277
- <span>${message}</span>
278
- </p>
274
+ : html `
275
+ <p class="error" role="alert">
276
+ <jolly-icon name="warning"></jolly-icon>
277
+ <span>${message}</span>
278
+ </p>
279
279
  `;
280
280
  }
281
281
  /**