@visitwonders/assembly 0.1.0 → 0.2.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.
- package/declarations/action/button-group.d.ts +89 -0
- package/declarations/action/button-group.d.ts.map +1 -0
- package/declarations/action/button.d.ts +4 -0
- package/declarations/action/button.d.ts.map +1 -1
- package/declarations/action/index.d.ts +1 -0
- package/declarations/action/index.d.ts.map +1 -1
- package/declarations/components/form/checkbox.d.ts +0 -65
- package/declarations/components/form/control.d.ts +0 -36
- package/declarations/components/form/error-message.d.ts +0 -22
- package/declarations/components/form/field.d.ts +0 -21
- package/declarations/components/form/form.d.ts +0 -14
- package/declarations/components/form/help-text.d.ts +0 -14
- package/declarations/components/form/index.d.ts +0 -15
- package/declarations/components/form/input.d.ts +0 -80
- package/declarations/components/form/label.d.ts +0 -34
- package/declarations/components/form/radio-group.d.ts +0 -43
- package/declarations/components/form/radio.d.ts +0 -54
- package/declarations/components/form/search-input.d.ts +0 -35
- package/declarations/components/form/select.d.ts +0 -36
- package/declarations/components/form/test.d.ts +0 -11
- package/declarations/components/form/textarea.d.ts +0 -79
- package/declarations/components/form/toggle.d.ts +0 -23
- package/declarations/components/primitives/grid-item.d.ts +0 -21
- package/declarations/components/primitives/grid.d.ts +0 -49
- package/declarations/components/primitives/h-stack.d.ts +0 -17
- package/declarations/components/primitives/heading.d.ts +0 -52
- package/declarations/components/primitives/image.d.ts +0 -24
- package/declarations/components/primitives/index.d.ts +0 -8
- package/declarations/components/primitives/link.d.ts +0 -16
- package/declarations/components/primitives/stack.d.ts +0 -23
- package/declarations/components/primitives/text.d.ts +0 -50
- package/declarations/components/primitives/v-stack.d.ts +0 -16
- package/declarations/components/ui/badge.d.ts +0 -14
- package/declarations/components/ui/button.d.ts +0 -32
- package/declarations/components/ui/card.d.ts +0 -27
- package/declarations/components/ui/description-list.d.ts +0 -22
- package/declarations/components/ui/drawer.d.ts +0 -14
- package/declarations/components/ui/icon-button.d.ts +0 -21
- package/declarations/components/ui/icon.d.ts +0 -21
- package/declarations/components/ui/index.d.ts +0 -17
- package/declarations/components/ui/modal.d.ts +0 -14
- package/declarations/components/ui/page-header.d.ts +0 -16
- package/declarations/components/ui/skeleton-card.d.ts +0 -17
- package/declarations/components/ui/skeleton-text.d.ts +0 -16
- package/declarations/components/ui/skeleton.d.ts +0 -20
- package/declarations/components/ui/spinner.d.ts +0 -11
- package/declarations/components/ui/tab-nav/index.d.ts +0 -36
- package/declarations/components/ui/table/body.d.ts +0 -11
- package/declarations/components/ui/table/caption.d.ts +0 -18
- package/declarations/components/ui/table/cell.d.ts +0 -31
- package/declarations/components/ui/table/footer.d.ts +0 -11
- package/declarations/components/ui/table/header-cell.d.ts +0 -35
- package/declarations/components/ui/table/header.d.ts +0 -11
- package/declarations/components/ui/table/row.d.ts +0 -21
- package/declarations/components/ui/table_old.d.ts +0 -29
- package/declarations/data/table.d.ts +0 -1
- package/declarations/data/table.d.ts.map +1 -1
- package/declarations/form/calendar.d.ts +0 -1
- package/declarations/form/calendar.d.ts.map +1 -1
- package/declarations/form/control.d.ts +5 -1
- package/declarations/form/control.d.ts.map +1 -1
- package/declarations/form/country-select-field.d.ts +6 -0
- package/declarations/form/country-select-field.d.ts.map +1 -1
- package/declarations/form/country-select.d.ts +0 -1
- package/declarations/form/country-select.d.ts.map +1 -1
- package/declarations/form/date-picker-field.d.ts +6 -0
- package/declarations/form/date-picker-field.d.ts.map +1 -1
- package/declarations/form/date-picker.d.ts +0 -1
- package/declarations/form/date-picker.d.ts.map +1 -1
- package/declarations/form/date-range-picker-field.d.ts +6 -0
- package/declarations/form/date-range-picker-field.d.ts.map +1 -1
- package/declarations/form/date-range-picker.d.ts +0 -1
- package/declarations/form/date-range-picker.d.ts.map +1 -1
- package/declarations/form/fieldset.d.ts +22 -0
- package/declarations/form/fieldset.d.ts.map +1 -0
- package/declarations/form/form.d.ts +0 -1
- package/declarations/form/form.d.ts.map +1 -1
- package/declarations/form/index.d.ts +1 -0
- package/declarations/form/index.d.ts.map +1 -1
- package/declarations/form/label.d.ts +4 -0
- package/declarations/form/label.d.ts.map +1 -1
- package/declarations/form/listbox.d.ts +0 -1
- package/declarations/form/listbox.d.ts.map +1 -1
- package/declarations/form/money-field.d.ts +6 -1
- package/declarations/form/money-field.d.ts.map +1 -1
- package/declarations/form/multi-select.d.ts +0 -1
- package/declarations/form/multi-select.d.ts.map +1 -1
- package/declarations/form/number-field.d.ts +9 -1
- package/declarations/form/number-field.d.ts.map +1 -1
- package/declarations/form/select-field.d.ts +4 -1
- package/declarations/form/select-field.d.ts.map +1 -1
- package/declarations/form/test.d.ts +0 -11
- package/declarations/form/text-field.d.ts +9 -0
- package/declarations/form/text-field.d.ts.map +1 -1
- package/declarations/form/time-picker-field.d.ts +6 -0
- package/declarations/form/time-picker-field.d.ts.map +1 -1
- package/declarations/form/time-picker.d.ts +0 -1
- package/declarations/form/time-picker.d.ts.map +1 -1
- package/declarations/form/toggle.d.ts +4 -0
- package/declarations/form/toggle.d.ts.map +1 -1
- package/declarations/layout/index.d.ts +1 -0
- package/declarations/layout/index.d.ts.map +1 -1
- package/declarations/layout/panel.d.ts +34 -0
- package/declarations/layout/panel.d.ts.map +1 -0
- package/declarations/media/icon.d.ts +0 -1
- package/declarations/media/icon.d.ts.map +1 -1
- package/declarations/media/image.d.ts +1 -1
- package/declarations/overlay/blanket.d.ts +0 -1
- package/declarations/overlay/blanket.d.ts.map +1 -1
- package/declarations/overlay/drawer.d.ts +4 -1
- package/declarations/overlay/drawer.d.ts.map +1 -1
- package/declarations/overlay/modal.d.ts +0 -1
- package/declarations/overlay/modal.d.ts.map +1 -1
- package/declarations/overlay/popover.d.ts +0 -1
- package/declarations/overlay/popover.d.ts.map +1 -1
- package/declarations/overlay/toast.d.ts +0 -1
- package/declarations/overlay/toast.d.ts.map +1 -1
- package/declarations/overlay/tooltip.d.ts +0 -1
- package/declarations/overlay/tooltip.d.ts.map +1 -1
- package/declarations/primitives/grid-item.d.ts +0 -21
- package/declarations/primitives/grid.d.ts +0 -49
- package/declarations/primitives/h-stack.d.ts +0 -17
- package/declarations/primitives/heading.d.ts +0 -52
- package/declarations/primitives/image.d.ts +0 -24
- package/declarations/primitives/index.d.ts +0 -4
- package/declarations/primitives/link.d.ts +0 -16
- package/declarations/primitives/stack.d.ts +0 -23
- package/declarations/primitives/text.d.ts +0 -50
- package/declarations/primitives/v-stack.d.ts +0 -16
- package/declarations/status/badge.d.ts +0 -1
- package/declarations/status/badge.d.ts.map +1 -1
- package/declarations/status/skeleton-avatar.d.ts +1 -1
- package/declarations/status/skeleton-avatar.d.ts.map +1 -1
- package/declarations/status/skeleton-button.d.ts +1 -1
- package/declarations/status/skeleton-button.d.ts.map +1 -1
- package/declarations/status/skeleton-image.d.ts +1 -1
- package/declarations/status/skeleton-image.d.ts.map +1 -1
- package/declarations/status/skeleton-text.d.ts +1 -1
- package/declarations/status/skeleton-text.d.ts.map +1 -1
- package/declarations/status/skeleton.d.ts +1 -1
- package/declarations/status/skeleton.d.ts.map +1 -1
- package/declarations/status/tag.d.ts +0 -1
- package/declarations/status/tag.d.ts.map +1 -1
- package/declarations/typography/link.d.ts +0 -16
- package/declarations/ui/button.d.ts +0 -50
- package/declarations/ui/icon.d.ts +0 -21
- package/dist/_app_/action/button-group.js +1 -0
- package/dist/_app_/form/fieldset.js +1 -0
- package/dist/_app_/layout/panel.js +1 -0
- package/dist/action/button-group.css +18 -0
- package/dist/action/button-group.js +130 -0
- package/dist/action/button-group.js.map +1 -0
- package/dist/action/button.css +152 -0
- package/dist/action/button.js +1 -1
- package/dist/action/index.js +1 -0
- package/dist/action/index.js.map +1 -1
- package/dist/data/table.css +48 -47
- package/dist/data/table.js +1 -1
- package/dist/form/checkbox.css +3 -3
- package/dist/form/control-css-02e93d930aecac651d5c69dc10a83504.css +36 -0
- package/dist/form/control.js +2 -2
- package/dist/form/country-select-field.js +1 -1
- package/dist/form/country-select-field.js.map +1 -1
- package/dist/form/country-select.css +1 -1
- package/dist/form/date-picker-field.js +1 -1
- package/dist/form/date-picker-field.js.map +1 -1
- package/dist/form/date-range-picker-field.js +1 -1
- package/dist/form/date-range-picker-field.js.map +1 -1
- package/dist/form/field.css +3 -3
- package/dist/form/fieldset.css +65 -0
- package/dist/form/fieldset.js +20 -0
- package/dist/form/fieldset.js.map +1 -0
- package/dist/form/help-text.css +1 -1
- package/dist/form/index.js +1 -0
- package/dist/form/index.js.map +1 -1
- package/dist/form/input.css +1 -0
- package/dist/form/label.css +15 -1
- package/dist/form/label.js +10 -4
- package/dist/form/money-field.js +1 -1
- package/dist/form/multi-select.css +1 -1
- package/dist/form/number-field.css +1 -0
- package/dist/form/number-field.js +1 -1
- package/dist/form/radio.css +3 -3
- package/dist/form/select-field.js +1 -1
- package/dist/form/select-field.js.map +1 -1
- package/dist/form/select.css +1 -1
- package/dist/form/{text-field-css-f60360f3f8aaf4da664eaccd1bcc9f8f.css → text-field-css-754feeb82dbd9fc9afdc1f00dceb13ad.css} +22 -1
- package/dist/form/text-field.js +2 -2
- package/dist/form/textarea.css +2 -1
- package/dist/form/time-picker-field.js +1 -1
- package/dist/form/time-picker-field.js.map +1 -1
- package/dist/form/toggle.css +27 -1
- package/dist/form/toggle.js +4 -1
- package/dist/layout/{divider-css-1ba104b9c606cbd1f542b45640fb5f2b.css → divider-css-7e0cc7d350e31172582851c6cb2cf586.css} +2 -2
- package/dist/layout/divider.js +1 -1
- package/dist/layout/{grid-css-086976eb41686e3714554f56c098d3d5.css → grid-css-c8259b34d7062f44e78f0a2cc139cb44.css} +13 -13
- package/dist/layout/grid.js +1 -1
- package/dist/layout/index.js +1 -0
- package/dist/layout/index.js.map +1 -1
- package/dist/layout/panel.css +229 -0
- package/dist/layout/panel.js +32 -0
- package/dist/layout/panel.js.map +1 -0
- package/dist/overlay/blanket.css +12 -11
- package/dist/overlay/blanket.js +1 -1
- package/dist/overlay/drawer.css +99 -62
- package/dist/overlay/drawer.js +7 -4
- package/dist/overlay/modal.css +22 -21
- package/dist/overlay/modal.js +4 -4
- package/dist/overlay/popover.css +30 -29
- package/dist/overlay/popover.js +4 -4
- package/dist/overlay/toast.css +49 -48
- package/dist/overlay/toast.js +2 -2
- package/dist/overlay/tooltip.css +38 -37
- package/dist/overlay/tooltip.js +2 -2
- package/dist/skeleton-shared-BTA5oAjw.js +3 -0
- package/dist/skeleton-shared-BTA5oAjw.js.map +1 -0
- package/dist/status/badge.css +30 -29
- package/dist/status/badge.js +1 -1
- package/dist/status/skeleton-avatar.js +1 -1
- package/dist/status/skeleton-avatar.js.map +1 -1
- package/dist/status/skeleton-button.js +1 -1
- package/dist/status/skeleton-button.js.map +1 -1
- package/dist/status/skeleton-image.js +1 -1
- package/dist/status/skeleton-image.js.map +1 -1
- package/dist/status/skeleton-text.js +1 -1
- package/dist/status/skeleton-text.js.map +1 -1
- package/dist/status/skeleton.js +1 -1
- package/dist/status/skeleton.js.map +1 -1
- package/dist/status/tag.css +50 -51
- package/dist/status/tag.js +1 -1
- package/dist/styles/base/typography.css +1 -1
- package/dist/styles/primitive/typography.css +10 -7
- package/dist/styles/semantic/typography.css +4 -4
- package/dist/styles.css +15 -12
- package/dist/typography/{heading-css-8850735eabc2efb34f15240b852c99e7.css → heading-css-726c4c3109f2b741657733e1ba103c67.css} +9 -9
- package/dist/typography/heading.js +1 -1
- package/package.json +22 -18
- package/dist/form/control-css-6c81caf37fd813b36033091d5340bc70.css +0 -20
- package/dist/skeleton-CL5Pcwrk.js +0 -3
- package/dist/skeleton-CL5Pcwrk.js.map +0 -1
- /package/dist/status/{skeleton.css → skeleton-shared.css} +0 -0
package/dist/overlay/tooltip.css
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
+
/* src/overlay/tooltip.css */
|
|
1
2
|
/* ===================================
|
|
2
3
|
* Tooltip Component
|
|
3
4
|
* =================================== */
|
|
4
5
|
|
|
5
|
-
.
|
|
6
|
+
.tooltip_e1d3ad271 {
|
|
6
7
|
display: inline-flex;
|
|
7
8
|
}
|
|
8
9
|
|
|
9
|
-
.tooltip-
|
|
10
|
+
.tooltip-provider_e1d3ad271 {
|
|
10
11
|
display: contents;
|
|
11
12
|
}
|
|
12
13
|
|
|
@@ -14,7 +15,7 @@
|
|
|
14
15
|
* Trigger
|
|
15
16
|
* =================================== */
|
|
16
17
|
|
|
17
|
-
.tooltip-
|
|
18
|
+
.tooltip-trigger_e1d3ad271 {
|
|
18
19
|
display: inline-flex;
|
|
19
20
|
align-items: center;
|
|
20
21
|
justify-content: center;
|
|
@@ -24,7 +25,7 @@
|
|
|
24
25
|
* Content - Dark variant (default)
|
|
25
26
|
* =================================== */
|
|
26
27
|
|
|
27
|
-
.tooltip-
|
|
28
|
+
.tooltip-content_e1d3ad271 {
|
|
28
29
|
/* Positioning */
|
|
29
30
|
position: absolute;
|
|
30
31
|
z-index: var(--z-tooltip, 9999);
|
|
@@ -42,14 +43,14 @@
|
|
|
42
43
|
/* Typography */
|
|
43
44
|
font-size: var(--font-size-sm, 14px);
|
|
44
45
|
font-weight: var(--font-weight-medium, 500);
|
|
45
|
-
line-height: var(--line-height-tight
|
|
46
|
+
line-height: var(--line-height-tight);
|
|
46
47
|
|
|
47
48
|
/* Sizing */
|
|
48
49
|
max-width: 240px;
|
|
49
50
|
padding: 6px 10px;
|
|
50
51
|
|
|
51
52
|
/* Animation */
|
|
52
|
-
animation: tooltip-fade-
|
|
53
|
+
animation: tooltip-fade-in__e1d3ad271 var(--duration-150, 150ms)
|
|
53
54
|
var(--easing-out, ease-out);
|
|
54
55
|
|
|
55
56
|
/* Prevent text selection */
|
|
@@ -58,26 +59,26 @@
|
|
|
58
59
|
}
|
|
59
60
|
|
|
60
61
|
/* Light variant */
|
|
61
|
-
.tooltip-
|
|
62
|
+
.tooltip-content_e1d3ad271[data-variant="light"] {
|
|
62
63
|
background: var(--white, #fff);
|
|
63
64
|
color: var(--gray-900, #161a2e);
|
|
64
65
|
border: 1px solid var(--gray-200, #d8dcea);
|
|
65
66
|
}
|
|
66
67
|
|
|
67
68
|
/* Transform origin based on side */
|
|
68
|
-
.tooltip-
|
|
69
|
+
.tooltip-content_e1d3ad271[data-side="top"] {
|
|
69
70
|
--transform-origin: bottom center;
|
|
70
71
|
}
|
|
71
72
|
|
|
72
|
-
.tooltip-
|
|
73
|
+
.tooltip-content_e1d3ad271[data-side="bottom"] {
|
|
73
74
|
--transform-origin: top center;
|
|
74
75
|
}
|
|
75
76
|
|
|
76
|
-
.tooltip-
|
|
77
|
+
.tooltip-content_e1d3ad271[data-side="left"] {
|
|
77
78
|
--transform-origin: right center;
|
|
78
79
|
}
|
|
79
80
|
|
|
80
|
-
.tooltip-
|
|
81
|
+
.tooltip-content_e1d3ad271[data-side="right"] {
|
|
81
82
|
--transform-origin: left center;
|
|
82
83
|
}
|
|
83
84
|
|
|
@@ -85,7 +86,7 @@
|
|
|
85
86
|
* Animation
|
|
86
87
|
* =================================== */
|
|
87
88
|
|
|
88
|
-
@keyframes tooltip-fade-
|
|
89
|
+
@keyframes tooltip-fade-in__e1d3ad271 {
|
|
89
90
|
from {
|
|
90
91
|
opacity: 0;
|
|
91
92
|
transform: scale(0.96);
|
|
@@ -100,7 +101,7 @@
|
|
|
100
101
|
* Arrow (Caret)
|
|
101
102
|
* =================================== */
|
|
102
103
|
|
|
103
|
-
.tooltip-
|
|
104
|
+
.tooltip-arrow_e1d3ad271 {
|
|
104
105
|
position: absolute;
|
|
105
106
|
width: 0;
|
|
106
107
|
height: 0;
|
|
@@ -108,37 +109,37 @@
|
|
|
108
109
|
}
|
|
109
110
|
|
|
110
111
|
/* Arrow pointing down (tooltip on top) */
|
|
111
|
-
.tooltip-
|
|
112
|
+
.tooltip-arrow_e1d3ad271[data-side="top"] {
|
|
112
113
|
border-width: 6px 6px 0 6px;
|
|
113
114
|
border-color: var(--gray-900, #161a2e) transparent transparent transparent;
|
|
114
115
|
}
|
|
115
116
|
|
|
116
117
|
/* Arrow pointing up (tooltip on bottom) */
|
|
117
|
-
.tooltip-
|
|
118
|
+
.tooltip-arrow_e1d3ad271[data-side="bottom"] {
|
|
118
119
|
border-width: 0 6px 6px 6px;
|
|
119
120
|
border-color: transparent transparent var(--gray-900, #161a2e) transparent;
|
|
120
121
|
}
|
|
121
122
|
|
|
122
123
|
/* Arrow pointing right (tooltip on left) */
|
|
123
|
-
.tooltip-
|
|
124
|
+
.tooltip-arrow_e1d3ad271[data-side="left"] {
|
|
124
125
|
border-width: 6px 0 6px 6px;
|
|
125
126
|
border-color: transparent transparent transparent var(--gray-900, #161a2e);
|
|
126
127
|
}
|
|
127
128
|
|
|
128
129
|
/* Arrow pointing left (tooltip on right) */
|
|
129
|
-
.tooltip-
|
|
130
|
+
.tooltip-arrow_e1d3ad271[data-side="right"] {
|
|
130
131
|
border-width: 6px 6px 6px 0;
|
|
131
132
|
border-color: transparent var(--gray-900, #161a2e) transparent transparent;
|
|
132
133
|
}
|
|
133
134
|
|
|
134
135
|
/* Light variant arrow - uses pseudo-element for border effect */
|
|
135
|
-
.tooltip-
|
|
136
|
+
.tooltip-content_e1d3ad271[data-variant="light"] .tooltip-arrow_e1d3ad271 {
|
|
136
137
|
/* Hide the default arrow, we'll use pseudo-elements instead */
|
|
137
138
|
border-color: transparent;
|
|
138
139
|
}
|
|
139
140
|
|
|
140
|
-
.tooltip-
|
|
141
|
-
.tooltip-
|
|
141
|
+
.tooltip-content_e1d3ad271[data-variant="light"] .tooltip-arrow_e1d3ad271::before,
|
|
142
|
+
.tooltip-content_e1d3ad271[data-variant="light"] .tooltip-arrow_e1d3ad271::after {
|
|
142
143
|
content: "";
|
|
143
144
|
position: absolute;
|
|
144
145
|
width: 0;
|
|
@@ -147,24 +148,24 @@
|
|
|
147
148
|
}
|
|
148
149
|
|
|
149
150
|
/* Border layer (behind) */
|
|
150
|
-
.tooltip-
|
|
151
|
+
.tooltip-content_e1d3ad271[data-variant="light"] .tooltip-arrow_e1d3ad271::before {
|
|
151
152
|
z-index: 0;
|
|
152
153
|
}
|
|
153
154
|
|
|
154
155
|
/* Fill layer (in front) */
|
|
155
|
-
.tooltip-
|
|
156
|
+
.tooltip-content_e1d3ad271[data-variant="light"] .tooltip-arrow_e1d3ad271::after {
|
|
156
157
|
z-index: 1;
|
|
157
158
|
}
|
|
158
159
|
|
|
159
160
|
/* Top arrow (pointing down) - light variant */
|
|
160
|
-
.tooltip-
|
|
161
|
+
.tooltip-content_e1d3ad271[data-variant="light"] .tooltip-arrow_e1d3ad271[data-side="top"]::before {
|
|
161
162
|
border-width: 7px 7px 0 7px;
|
|
162
163
|
border-color: var(--gray-200, #d8dcea) transparent transparent transparent;
|
|
163
164
|
top: 0;
|
|
164
165
|
left: -1px;
|
|
165
166
|
}
|
|
166
167
|
|
|
167
|
-
.tooltip-
|
|
168
|
+
.tooltip-content_e1d3ad271[data-variant="light"] .tooltip-arrow_e1d3ad271[data-side="top"]::after {
|
|
168
169
|
border-width: 6px 6px 0 6px;
|
|
169
170
|
border-color: var(--white, #fff) transparent transparent transparent;
|
|
170
171
|
top: 0;
|
|
@@ -172,16 +173,16 @@
|
|
|
172
173
|
}
|
|
173
174
|
|
|
174
175
|
/* Bottom arrow (pointing up) - light variant */
|
|
175
|
-
.tooltip-
|
|
176
|
-
.tooltip-
|
|
176
|
+
.tooltip-content_e1d3ad271[data-variant="light"]
|
|
177
|
+
.tooltip-arrow_e1d3ad271[data-side="bottom"]::before {
|
|
177
178
|
border-width: 0 7px 7px 7px;
|
|
178
179
|
border-color: transparent transparent var(--gray-200, #d8dcea) transparent;
|
|
179
180
|
bottom: 0;
|
|
180
181
|
left: -1px;
|
|
181
182
|
}
|
|
182
183
|
|
|
183
|
-
.tooltip-
|
|
184
|
-
.tooltip-
|
|
184
|
+
.tooltip-content_e1d3ad271[data-variant="light"]
|
|
185
|
+
.tooltip-arrow_e1d3ad271[data-side="bottom"]::after {
|
|
185
186
|
border-width: 0 6px 6px 6px;
|
|
186
187
|
border-color: transparent transparent var(--white, #fff) transparent;
|
|
187
188
|
bottom: 0;
|
|
@@ -189,15 +190,15 @@
|
|
|
189
190
|
}
|
|
190
191
|
|
|
191
192
|
/* Left arrow (pointing right) - light variant */
|
|
192
|
-
.tooltip-
|
|
193
|
-
.tooltip-
|
|
193
|
+
.tooltip-content_e1d3ad271[data-variant="light"]
|
|
194
|
+
.tooltip-arrow_e1d3ad271[data-side="left"]::before {
|
|
194
195
|
border-width: 7px 0 7px 7px;
|
|
195
196
|
border-color: transparent transparent transparent var(--gray-200, #d8dcea);
|
|
196
197
|
top: -1px;
|
|
197
198
|
left: 0;
|
|
198
199
|
}
|
|
199
200
|
|
|
200
|
-
.tooltip-
|
|
201
|
+
.tooltip-content_e1d3ad271[data-variant="light"] .tooltip-arrow_e1d3ad271[data-side="left"]::after {
|
|
201
202
|
border-width: 6px 0 6px 6px;
|
|
202
203
|
border-color: transparent transparent transparent var(--white, #fff);
|
|
203
204
|
top: 0;
|
|
@@ -205,16 +206,16 @@
|
|
|
205
206
|
}
|
|
206
207
|
|
|
207
208
|
/* Right arrow (pointing left) - light variant */
|
|
208
|
-
.tooltip-
|
|
209
|
-
.tooltip-
|
|
209
|
+
.tooltip-content_e1d3ad271[data-variant="light"]
|
|
210
|
+
.tooltip-arrow_e1d3ad271[data-side="right"]::before {
|
|
210
211
|
border-width: 7px 7px 7px 0;
|
|
211
212
|
border-color: transparent var(--gray-200, #d8dcea) transparent transparent;
|
|
212
213
|
top: -1px;
|
|
213
214
|
right: 0;
|
|
214
215
|
}
|
|
215
216
|
|
|
216
|
-
.tooltip-
|
|
217
|
-
.tooltip-
|
|
217
|
+
.tooltip-content_e1d3ad271[data-variant="light"]
|
|
218
|
+
.tooltip-arrow_e1d3ad271[data-side="right"]::after {
|
|
218
219
|
border-width: 6px 6px 6px 0;
|
|
219
220
|
border-color: transparent var(--white, #fff) transparent transparent;
|
|
220
221
|
top: 0;
|
|
@@ -225,7 +226,7 @@
|
|
|
225
226
|
* Keyboard Shortcut Badge
|
|
226
227
|
* =================================== */
|
|
227
228
|
|
|
228
|
-
.tooltip-
|
|
229
|
+
.tooltip-kbd_e1d3ad271 {
|
|
229
230
|
display: inline-flex;
|
|
230
231
|
align-items: center;
|
|
231
232
|
justify-content: center;
|
|
@@ -241,6 +242,6 @@
|
|
|
241
242
|
color: var(--gray-300, #c2c7d9);
|
|
242
243
|
}
|
|
243
244
|
|
|
244
|
-
.tooltip-
|
|
245
|
+
.tooltip-kbd_e1d3ad271 + .tooltip-kbd_e1d3ad271 {
|
|
245
246
|
margin-left: var(--spacing-1, 4px);
|
|
246
247
|
}
|
package/dist/overlay/tooltip.js
CHANGED
|
@@ -48,7 +48,7 @@ class TooltipProvider extends Component {
|
|
|
48
48
|
};
|
|
49
49
|
});
|
|
50
50
|
static {
|
|
51
|
-
setComponentTemplate(precompileTemplate("<div class=\"tooltip-
|
|
51
|
+
setComponentTemplate(precompileTemplate("<div class=\"tooltip-provider_e1d3ad271\" {{this.setupProvider}} ...attributes>\n {{yield}}\n</div>", {
|
|
52
52
|
strictMode: true
|
|
53
53
|
}), this);
|
|
54
54
|
}
|
|
@@ -355,7 +355,7 @@ class Tooltip extends Component {
|
|
|
355
355
|
return this.isOpen ? this.contentId : undefined;
|
|
356
356
|
}
|
|
357
357
|
static {
|
|
358
|
-
setComponentTemplate(precompileTemplate("<span class=\"
|
|
358
|
+
setComponentTemplate(precompileTemplate("<span class=\"tooltip_e1d3ad271\" {{this.setupEventListeners}} data-test-tooltip ...attributes>\n <span class=\"tooltip-trigger_e1d3ad271\" aria-describedby={{this.ariaDescribedBy}} {{on \"mouseenter\" this.handleMouseEnter}} {{on \"mouseleave\" this.handleMouseLeave}} {{on \"focusin\" this.handleFocusIn}} {{on \"focusout\" this.handleFocusOut}} {{this.registerTrigger}} data-test-tooltip-trigger>\n {{yield}}\n </span>\n\n {{#if this.isOpen}}\n {{#in-element this.destinationElement insertBefore=null}}\n <div id={{this.contentId}} class=\"tooltip-content_e1d3ad271\" role=\"tooltip\" aria-label={{@aria-label}} data-side={{this.actualSide}} data-variant={{this.variant}} {{on \"mouseenter\" this.handleContentMouseEnter}} {{on \"mouseleave\" this.handleContentMouseLeave}} {{this.applyPositioning trigger=this.triggerElement placement=this.placement offsetOptions=this.offsetOptions flipOptions=this.flipOptions shiftOptions=this.shiftOptions}} data-test-tooltip-content>\n {{#if (has-block \"content\")}}\n {{yield to=\"content\"}}\n {{else}}\n {{@content}}\n {{/if}}\n {{#if this.showArrow}}\n <div class=\"tooltip-arrow_e1d3ad271\" data-test-tooltip-arrow></div>\n {{/if}}\n </div>\n {{/in-element}}\n {{/if}}\n</span>", {
|
|
359
359
|
strictMode: true,
|
|
360
360
|
scope: () => ({
|
|
361
361
|
on
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skeleton-shared-BTA5oAjw.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/status/badge.css
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
/* src/status/badge.css */
|
|
1
2
|
/* ===================================
|
|
2
3
|
* Badge Component
|
|
3
4
|
* =================================== */
|
|
4
5
|
|
|
5
|
-
.
|
|
6
|
+
.badge_e706d9725 {
|
|
6
7
|
/* Layout */
|
|
7
8
|
display: inline-flex;
|
|
8
9
|
align-items: center;
|
|
@@ -28,30 +29,30 @@
|
|
|
28
29
|
* Sizes
|
|
29
30
|
* =================================== */
|
|
30
31
|
|
|
31
|
-
.
|
|
32
|
+
.badge_e706d9725[data-size="sm"] {
|
|
32
33
|
height: 20px;
|
|
33
34
|
padding: 0 var(--spacing-2);
|
|
34
35
|
font-size: var(--font-size-xs);
|
|
35
36
|
}
|
|
36
37
|
|
|
37
|
-
.
|
|
38
|
+
.badge_e706d9725[data-size="md"] {
|
|
38
39
|
height: 24px;
|
|
39
40
|
padding: 0 var(--spacing-2-5);
|
|
40
41
|
font-size: var(--font-size-sm);
|
|
41
42
|
}
|
|
42
43
|
|
|
43
44
|
/* Count mode - pill shape */
|
|
44
|
-
.
|
|
45
|
+
.badge_e706d9725[data-count="true"] {
|
|
45
46
|
border-radius: var(--radius-full);
|
|
46
47
|
min-width: 20px;
|
|
47
48
|
}
|
|
48
49
|
|
|
49
|
-
.
|
|
50
|
+
.badge_e706d9725[data-count="true"][data-size="sm"] {
|
|
50
51
|
min-width: 18px;
|
|
51
52
|
padding: 0 var(--spacing-1-5);
|
|
52
53
|
}
|
|
53
54
|
|
|
54
|
-
.
|
|
55
|
+
.badge_e706d9725[data-count="true"][data-size="md"] {
|
|
55
56
|
min-width: 22px;
|
|
56
57
|
padding: 0 var(--spacing-2);
|
|
57
58
|
}
|
|
@@ -60,7 +61,7 @@
|
|
|
60
61
|
* Dot Indicator
|
|
61
62
|
* =================================== */
|
|
62
63
|
|
|
63
|
-
.
|
|
64
|
+
.badge_e706d9725[data-dot="true"]::before {
|
|
64
65
|
content: "";
|
|
65
66
|
display: block;
|
|
66
67
|
width: 6px;
|
|
@@ -70,7 +71,7 @@
|
|
|
70
71
|
flex-shrink: 0;
|
|
71
72
|
}
|
|
72
73
|
|
|
73
|
-
.
|
|
74
|
+
.badge_e706d9725[data-dot="true"][data-size="sm"]::before {
|
|
74
75
|
width: 5px;
|
|
75
76
|
height: 5px;
|
|
76
77
|
}
|
|
@@ -80,37 +81,37 @@
|
|
|
80
81
|
* =================================== */
|
|
81
82
|
|
|
82
83
|
/* Neutral */
|
|
83
|
-
.
|
|
84
|
+
.badge_e706d9725[data-variant="default"][data-tone="neutral"] {
|
|
84
85
|
background: var(--color-bg-fill-neutral);
|
|
85
86
|
color: var(--color-text-on-neutral);
|
|
86
87
|
}
|
|
87
88
|
|
|
88
89
|
/* Primary */
|
|
89
|
-
.
|
|
90
|
+
.badge_e706d9725[data-variant="default"][data-tone="primary"] {
|
|
90
91
|
background: var(--color-bg-fill-primary);
|
|
91
92
|
color: var(--color-text-on-primary);
|
|
92
93
|
}
|
|
93
94
|
|
|
94
95
|
/* Success */
|
|
95
|
-
.
|
|
96
|
+
.badge_e706d9725[data-variant="default"][data-tone="success"] {
|
|
96
97
|
background: var(--color-bg-fill-success);
|
|
97
98
|
color: var(--color-text-on-success);
|
|
98
99
|
}
|
|
99
100
|
|
|
100
101
|
/* Warning */
|
|
101
|
-
.
|
|
102
|
+
.badge_e706d9725[data-variant="default"][data-tone="warning"] {
|
|
102
103
|
background: var(--color-bg-fill-warning);
|
|
103
104
|
color: var(--color-text-on-warning);
|
|
104
105
|
}
|
|
105
106
|
|
|
106
107
|
/* Critical */
|
|
107
|
-
.
|
|
108
|
+
.badge_e706d9725[data-variant="default"][data-tone="critical"] {
|
|
108
109
|
background: var(--color-bg-fill-critical);
|
|
109
110
|
color: var(--color-text-on-critical);
|
|
110
111
|
}
|
|
111
112
|
|
|
112
113
|
/* Info */
|
|
113
|
-
.
|
|
114
|
+
.badge_e706d9725[data-variant="default"][data-tone="info"] {
|
|
114
115
|
background: var(--color-bg-fill-info);
|
|
115
116
|
color: var(--color-text-on-info);
|
|
116
117
|
}
|
|
@@ -120,37 +121,37 @@
|
|
|
120
121
|
* =================================== */
|
|
121
122
|
|
|
122
123
|
/* Neutral */
|
|
123
|
-
.
|
|
124
|
+
.badge_e706d9725[data-variant="subtle"][data-tone="neutral"] {
|
|
124
125
|
background: var(--color-bg-neutral-subtle);
|
|
125
126
|
color: var(--color-text);
|
|
126
127
|
}
|
|
127
128
|
|
|
128
129
|
/* Primary */
|
|
129
|
-
.
|
|
130
|
+
.badge_e706d9725[data-variant="subtle"][data-tone="primary"] {
|
|
130
131
|
background: var(--color-bg-primary-subtle);
|
|
131
132
|
color: var(--color-text-primary);
|
|
132
133
|
}
|
|
133
134
|
|
|
134
135
|
/* Success */
|
|
135
|
-
.
|
|
136
|
+
.badge_e706d9725[data-variant="subtle"][data-tone="success"] {
|
|
136
137
|
background: var(--color-bg-success-subtle);
|
|
137
138
|
color: var(--color-text-success);
|
|
138
139
|
}
|
|
139
140
|
|
|
140
141
|
/* Warning */
|
|
141
|
-
.
|
|
142
|
+
.badge_e706d9725[data-variant="subtle"][data-tone="warning"] {
|
|
142
143
|
background: var(--color-bg-warning-subtle);
|
|
143
144
|
color: var(--color-text-warning);
|
|
144
145
|
}
|
|
145
146
|
|
|
146
147
|
/* Critical */
|
|
147
|
-
.
|
|
148
|
+
.badge_e706d9725[data-variant="subtle"][data-tone="critical"] {
|
|
148
149
|
background: var(--color-bg-critical-subtle);
|
|
149
150
|
color: var(--color-text-critical);
|
|
150
151
|
}
|
|
151
152
|
|
|
152
153
|
/* Info */
|
|
153
|
-
.
|
|
154
|
+
.badge_e706d9725[data-variant="subtle"][data-tone="info"] {
|
|
154
155
|
background: var(--color-bg-info-subtle);
|
|
155
156
|
color: var(--color-text-info);
|
|
156
157
|
}
|
|
@@ -160,42 +161,42 @@
|
|
|
160
161
|
* =================================== */
|
|
161
162
|
|
|
162
163
|
/* Neutral */
|
|
163
|
-
.
|
|
164
|
+
.badge_e706d9725[data-variant="outline"][data-tone="neutral"] {
|
|
164
165
|
background: transparent;
|
|
165
166
|
border: 1px solid var(--color-border-neutral);
|
|
166
167
|
color: var(--color-text);
|
|
167
168
|
}
|
|
168
169
|
|
|
169
170
|
/* Primary */
|
|
170
|
-
.
|
|
171
|
+
.badge_e706d9725[data-variant="outline"][data-tone="primary"] {
|
|
171
172
|
background: transparent;
|
|
172
173
|
border: 1px solid var(--color-border-primary);
|
|
173
174
|
color: var(--color-text-primary);
|
|
174
175
|
}
|
|
175
176
|
|
|
176
177
|
/* Success */
|
|
177
|
-
.
|
|
178
|
+
.badge_e706d9725[data-variant="outline"][data-tone="success"] {
|
|
178
179
|
background: transparent;
|
|
179
180
|
border: 1px solid var(--color-border-success);
|
|
180
181
|
color: var(--color-text-success);
|
|
181
182
|
}
|
|
182
183
|
|
|
183
184
|
/* Warning */
|
|
184
|
-
.
|
|
185
|
+
.badge_e706d9725[data-variant="outline"][data-tone="warning"] {
|
|
185
186
|
background: transparent;
|
|
186
187
|
border: 1px solid var(--color-border-warning);
|
|
187
188
|
color: var(--color-text-warning);
|
|
188
189
|
}
|
|
189
190
|
|
|
190
191
|
/* Critical */
|
|
191
|
-
.
|
|
192
|
+
.badge_e706d9725[data-variant="outline"][data-tone="critical"] {
|
|
192
193
|
background: transparent;
|
|
193
194
|
border: 1px solid var(--color-border-critical);
|
|
194
195
|
color: var(--color-text-critical);
|
|
195
196
|
}
|
|
196
197
|
|
|
197
198
|
/* Info */
|
|
198
|
-
.
|
|
199
|
+
.badge_e706d9725[data-variant="outline"][data-tone="info"] {
|
|
199
200
|
background: transparent;
|
|
200
201
|
border: 1px solid var(--color-border-info);
|
|
201
202
|
color: var(--color-text-info);
|
|
@@ -205,14 +206,14 @@
|
|
|
205
206
|
* Inner Elements
|
|
206
207
|
* =================================== */
|
|
207
208
|
|
|
208
|
-
.badge-
|
|
209
|
-
.badge-
|
|
209
|
+
.badge-prefix_e706d9725,
|
|
210
|
+
.badge-suffix_e706d9725 {
|
|
210
211
|
display: flex;
|
|
211
212
|
align-items: center;
|
|
212
213
|
flex-shrink: 0;
|
|
213
214
|
}
|
|
214
215
|
|
|
215
|
-
.badge-
|
|
216
|
+
.badge-content_e706d9725 {
|
|
216
217
|
flex: 1 1 auto;
|
|
217
218
|
text-align: center;
|
|
218
219
|
}
|
package/dist/status/badge.js
CHANGED
|
@@ -28,7 +28,7 @@ class Badge extends Component {
|
|
|
28
28
|
return String(count);
|
|
29
29
|
}
|
|
30
30
|
static {
|
|
31
|
-
setComponentTemplate(precompileTemplate("<span class=\"
|
|
31
|
+
setComponentTemplate(precompileTemplate("<span class=\"badge_e706d9725\" aria-label={{@aria-label}} data-tone={{this.tone}} data-variant={{this.variant}} data-size={{this.size}} data-dot={{if @dot \"true\"}} data-count={{if this.isCountMode \"true\"}} data-test-badge ...attributes>\n {{#if (has-block \"prefix\")}}\n <span class=\"badge-prefix_e706d9725\" data-test-badge-prefix>\n {{yield to=\"prefix\"}}\n </span>\n {{/if}}\n <span class=\"badge-content_e706d9725\">\n {{#if this.isCountMode}}\n {{this.displayCount}}\n {{else}}\n {{yield}}\n {{/if}}\n </span>\n {{#if (has-block \"suffix\")}}\n <span class=\"badge-suffix_e706d9725\" data-test-badge-suffix>\n {{yield to=\"suffix\"}}\n </span>\n {{/if}}\n</span>", {
|
|
32
32
|
strictMode: true
|
|
33
33
|
}), this);
|
|
34
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skeleton-avatar.js","sources":["../../src/status/skeleton-avatar.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport type { SkeletonAnimation } from './skeleton.gts';\nimport './skeleton.css';\n\nexport type SkeletonAvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\nexport interface SkeletonAvatarSignature {\n Element: HTMLDivElement;\n Args: {\n /** Avatar size */\n size?: SkeletonAvatarSize;\n\n /** Custom size in pixels (overrides size prop) */\n customSize?: number;\n\n /** Animation style */\n animation?: SkeletonAnimation;\n };\n}\n\nexport default class SkeletonAvatar extends Component<SkeletonAvatarSignature> {\n get size(): SkeletonAvatarSize {\n return this.args.size ?? 'md';\n }\n\n get animation(): SkeletonAnimation {\n return this.args.animation ?? 'wave';\n }\n\n get hasCustomSize(): boolean {\n return this.args.customSize !== undefined;\n }\n\n get style(): string | undefined {\n if (!this.hasCustomSize) return undefined;\n const size = `${this.args.customSize}px`;\n return `width: ${size}; height: ${size}`;\n }\n\n <template>\n <div\n class=\"skeleton skeleton-avatar\"\n role=\"presentation\"\n aria-hidden=\"true\"\n data-variant=\"circular\"\n data-animation={{this.animation}}\n data-size={{unless this.hasCustomSize this.size}}\n style={{this.style}}\n data-test-skeleton-avatar\n ...attributes\n ></div>\n </template>\n}\n"],"names":["SkeletonAvatar","Component","size","args","animation","hasCustomSize","customSize","undefined","style","setComponentTemplate","precompileTemplate","strictMode"],"mappings":";;;;;AAoBe,MAAMA,uBAAuBC,SAAA,CAAU;EACpD,IAAIC,OAA2B;AAC7B,IAAA,OAAO,IAAI,CAACC,IAAI,CAACD,IAAI,IAAI,IAAA;AAC3B,EAAA;EAEA,IAAIE,YAA+B;AACjC,IAAA,OAAO,IAAI,CAACD,IAAI,CAACC,SAAS,IAAI,MAAA;AAChC,EAAA;EAEA,IAAIC,aAAAA,GAAyB;AAC3B,IAAA,OAAO,IAAI,CAACF,IAAI,CAACG,UAAU,KAAKC,SAAA;AAClC,EAAA;EAEA,IAAIC,KAAAA,GAA4B;AAC9B,IAAA,IAAI,CAAC,IAAI,CAACH,aAAa,EAAE,OAAOE,SAAA;IAChC,MAAML,IAAA,GAAO,CAAA,EAAG,IAAI,CAACC,IAAI,CAACG,UAAU,CAAA,EAAA,CAAI;AACxC,IAAA,OAAO,CAAA,OAAA,EAAUJ,iBAAiBA,MAAM;AAC1C,EAAA;AAEA,EAAA;IAAAO,oBAAA,CAAAC,kBAAA,CAAA,sQAAA,EAYA;MAAAC,UAAA,EAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
|
|
1
|
+
{"version":3,"file":"skeleton-avatar.js","sources":["../../src/status/skeleton-avatar.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport type { SkeletonAnimation } from './skeleton.gts';\nimport './skeleton-shared.css';\n\nexport type SkeletonAvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\nexport interface SkeletonAvatarSignature {\n Element: HTMLDivElement;\n Args: {\n /** Avatar size */\n size?: SkeletonAvatarSize;\n\n /** Custom size in pixels (overrides size prop) */\n customSize?: number;\n\n /** Animation style */\n animation?: SkeletonAnimation;\n };\n}\n\nexport default class SkeletonAvatar extends Component<SkeletonAvatarSignature> {\n get size(): SkeletonAvatarSize {\n return this.args.size ?? 'md';\n }\n\n get animation(): SkeletonAnimation {\n return this.args.animation ?? 'wave';\n }\n\n get hasCustomSize(): boolean {\n return this.args.customSize !== undefined;\n }\n\n get style(): string | undefined {\n if (!this.hasCustomSize) return undefined;\n const size = `${this.args.customSize}px`;\n return `width: ${size}; height: ${size}`;\n }\n\n <template>\n <div\n class=\"skeleton skeleton-avatar\"\n role=\"presentation\"\n aria-hidden=\"true\"\n data-variant=\"circular\"\n data-animation={{this.animation}}\n data-size={{unless this.hasCustomSize this.size}}\n style={{this.style}}\n data-test-skeleton-avatar\n ...attributes\n ></div>\n </template>\n}\n"],"names":["SkeletonAvatar","Component","size","args","animation","hasCustomSize","customSize","undefined","style","setComponentTemplate","precompileTemplate","strictMode"],"mappings":";;;;;AAoBe,MAAMA,uBAAuBC,SAAA,CAAU;EACpD,IAAIC,OAA2B;AAC7B,IAAA,OAAO,IAAI,CAACC,IAAI,CAACD,IAAI,IAAI,IAAA;AAC3B,EAAA;EAEA,IAAIE,YAA+B;AACjC,IAAA,OAAO,IAAI,CAACD,IAAI,CAACC,SAAS,IAAI,MAAA;AAChC,EAAA;EAEA,IAAIC,aAAAA,GAAyB;AAC3B,IAAA,OAAO,IAAI,CAACF,IAAI,CAACG,UAAU,KAAKC,SAAA;AAClC,EAAA;EAEA,IAAIC,KAAAA,GAA4B;AAC9B,IAAA,IAAI,CAAC,IAAI,CAACH,aAAa,EAAE,OAAOE,SAAA;IAChC,MAAML,IAAA,GAAO,CAAA,EAAG,IAAI,CAACC,IAAI,CAACG,UAAU,CAAA,EAAA,CAAI;AACxC,IAAA,OAAO,CAAA,OAAA,EAAUJ,iBAAiBA,MAAM;AAC1C,EAAA;AAEA,EAAA;IAAAO,oBAAA,CAAAC,kBAAA,CAAA,sQAAA,EAYA;MAAAC,UAAA,EAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skeleton-button.js","sources":["../../src/status/skeleton-button.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport type { SkeletonAnimation } from './skeleton.gts';\nimport './skeleton.css';\n\nexport type SkeletonButtonSize = 'sm' | 'md' | 'lg';\n\nexport interface SkeletonButtonSignature {\n Element: HTMLDivElement;\n Args: {\n /** Button size (matches Button component sizes) */\n size?: SkeletonButtonSize;\n\n /** Custom width (CSS value) */\n width?: string;\n\n /** Animation style */\n animation?: SkeletonAnimation;\n };\n}\n\nexport default class SkeletonButton extends Component<SkeletonButtonSignature> {\n get size(): SkeletonButtonSize {\n return this.args.size ?? 'md';\n }\n\n get animation(): SkeletonAnimation {\n return this.args.animation ?? 'wave';\n }\n\n get style(): string | undefined {\n if (!this.args.width) return undefined;\n return `width: ${this.args.width}`;\n }\n\n <template>\n <div\n class=\"skeleton skeleton-button\"\n role=\"presentation\"\n aria-hidden=\"true\"\n data-variant=\"rectangular\"\n data-animation={{this.animation}}\n data-size={{this.size}}\n style={{this.style}}\n data-test-skeleton-button\n ...attributes\n ></div>\n </template>\n}\n"],"names":["SkeletonButton","Component","size","args","animation","style","width","undefined","setComponentTemplate","precompileTemplate","strictMode"],"mappings":";;;;;AAoBe,MAAMA,uBAAuBC,SAAA,CAAU;EACpD,IAAIC,OAA2B;AAC7B,IAAA,OAAO,IAAI,CAACC,IAAI,CAACD,IAAI,IAAI,IAAA;AAC3B,EAAA;EAEA,IAAIE,YAA+B;AACjC,IAAA,OAAO,IAAI,CAACD,IAAI,CAACC,SAAS,IAAI,MAAA;AAChC,EAAA;EAEA,IAAIC,KAAAA,GAA4B;IAC9B,IAAI,CAAC,IAAI,CAACF,IAAI,CAACG,KAAK,EAAE,OAAOC,SAAA;AAC7B,IAAA,OAAO,UAAU,IAAI,CAACJ,IAAI,CAACG,KAAK,CAAA,CAAE;AACpC,EAAA;AAEA,EAAA;IAAAE,oBAAA,CAAAC,kBAAA,CAAA,+OAAA,EAYA;MAAAC,UAAA,EAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
|
|
1
|
+
{"version":3,"file":"skeleton-button.js","sources":["../../src/status/skeleton-button.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport type { SkeletonAnimation } from './skeleton.gts';\nimport './skeleton-shared.css';\n\nexport type SkeletonButtonSize = 'sm' | 'md' | 'lg';\n\nexport interface SkeletonButtonSignature {\n Element: HTMLDivElement;\n Args: {\n /** Button size (matches Button component sizes) */\n size?: SkeletonButtonSize;\n\n /** Custom width (CSS value) */\n width?: string;\n\n /** Animation style */\n animation?: SkeletonAnimation;\n };\n}\n\nexport default class SkeletonButton extends Component<SkeletonButtonSignature> {\n get size(): SkeletonButtonSize {\n return this.args.size ?? 'md';\n }\n\n get animation(): SkeletonAnimation {\n return this.args.animation ?? 'wave';\n }\n\n get style(): string | undefined {\n if (!this.args.width) return undefined;\n return `width: ${this.args.width}`;\n }\n\n <template>\n <div\n class=\"skeleton skeleton-button\"\n role=\"presentation\"\n aria-hidden=\"true\"\n data-variant=\"rectangular\"\n data-animation={{this.animation}}\n data-size={{this.size}}\n style={{this.style}}\n data-test-skeleton-button\n ...attributes\n ></div>\n </template>\n}\n"],"names":["SkeletonButton","Component","size","args","animation","style","width","undefined","setComponentTemplate","precompileTemplate","strictMode"],"mappings":";;;;;AAoBe,MAAMA,uBAAuBC,SAAA,CAAU;EACpD,IAAIC,OAA2B;AAC7B,IAAA,OAAO,IAAI,CAACC,IAAI,CAACD,IAAI,IAAI,IAAA;AAC3B,EAAA;EAEA,IAAIE,YAA+B;AACjC,IAAA,OAAO,IAAI,CAACD,IAAI,CAACC,SAAS,IAAI,MAAA;AAChC,EAAA;EAEA,IAAIC,KAAAA,GAA4B;IAC9B,IAAI,CAAC,IAAI,CAACF,IAAI,CAACG,KAAK,EAAE,OAAOC,SAAA;AAC7B,IAAA,OAAO,UAAU,IAAI,CAACJ,IAAI,CAACG,KAAK,CAAA,CAAE;AACpC,EAAA;AAEA,EAAA;IAAAE,oBAAA,CAAAC,kBAAA,CAAA,+OAAA,EAYA;MAAAC,UAAA,EAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skeleton-image.js","sources":["../../src/status/skeleton-image.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport type { SkeletonAnimation } from './skeleton.gts';\nimport './skeleton.css';\n\nexport interface SkeletonImageSignature {\n Element: HTMLDivElement;\n Args: {\n /** Width of the image skeleton (CSS value) */\n width?: string;\n\n /** Height of the image skeleton (CSS value) */\n height?: string;\n\n /** Aspect ratio (e.g., \"16/9\", \"4/3\", \"1/1\") */\n aspectRatio?: string;\n\n /** Animation style */\n animation?: SkeletonAnimation;\n };\n}\n\nexport default class SkeletonImage extends Component<SkeletonImageSignature> {\n get animation(): SkeletonAnimation {\n return this.args.animation ?? 'wave';\n }\n\n get style(): string {\n const styles: string[] = [];\n\n if (this.args.width) {\n styles.push(`width: ${this.args.width}`);\n }\n\n if (this.args.height) {\n styles.push(`height: ${this.args.height}`);\n }\n\n if (this.args.aspectRatio) {\n styles.push(`aspect-ratio: ${this.args.aspectRatio}`);\n }\n\n return styles.join('; ');\n }\n\n <template>\n <div\n class=\"skeleton skeleton-image\"\n role=\"presentation\"\n aria-hidden=\"true\"\n data-variant=\"rectangular\"\n data-animation={{this.animation}}\n style={{this.style}}\n data-test-skeleton-image\n ...attributes\n ></div>\n </template>\n}\n"],"names":["SkeletonImage","Component","animation","args","style","styles","width","push","height","aspectRatio","join","setComponentTemplate","precompileTemplate","strictMode"],"mappings":";;;;;AAqBe,MAAMA,sBAAsBC,SAAA,CAAU;EACnD,IAAIC,YAA+B;AACjC,IAAA,OAAO,IAAI,CAACC,IAAI,CAACD,SAAS,IAAI,MAAA;AAChC,EAAA;EAEA,IAAIE,KAAAA,GAAgB;IAClB,MAAMC,MAAc,GAAK,EAAE;AAE3B,IAAA,IAAI,IAAI,CAACF,IAAI,CAACG,KAAK,EAAE;MACnBD,MAAA,CAAOE,IAAI,CAAC,CAAA,OAAA,EAAU,IAAI,CAACJ,IAAI,CAACG,KAAK,CAAA,CAAE,CAAA;AACzC,IAAA;AAEA,IAAA,IAAI,IAAI,CAACH,IAAI,CAACK,MAAM,EAAE;MACpBH,MAAA,CAAOE,IAAI,CAAC,CAAA,QAAA,EAAW,IAAI,CAACJ,IAAI,CAACK,MAAM,CAAA,CAAE,CAAA;AAC3C,IAAA;AAEA,IAAA,IAAI,IAAI,CAACL,IAAI,CAACM,WAAW,EAAE;MACzBJ,MAAA,CAAOE,IAAI,CAAC,CAAA,cAAA,EAAiB,IAAI,CAACJ,IAAI,CAACM,WAAW,CAAA,CAAE,CAAA;AACtD,IAAA;AAEA,IAAA,OAAOJ,MAAA,CAAOK,IAAI,CAAC,IAAA,CAAA;AACrB,EAAA;AAEA,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,qNAAA,EAWA;MAAAC,UAAA,EAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
|
|
1
|
+
{"version":3,"file":"skeleton-image.js","sources":["../../src/status/skeleton-image.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport type { SkeletonAnimation } from './skeleton.gts';\nimport './skeleton-shared.css';\n\nexport interface SkeletonImageSignature {\n Element: HTMLDivElement;\n Args: {\n /** Width of the image skeleton (CSS value) */\n width?: string;\n\n /** Height of the image skeleton (CSS value) */\n height?: string;\n\n /** Aspect ratio (e.g., \"16/9\", \"4/3\", \"1/1\") */\n aspectRatio?: string;\n\n /** Animation style */\n animation?: SkeletonAnimation;\n };\n}\n\nexport default class SkeletonImage extends Component<SkeletonImageSignature> {\n get animation(): SkeletonAnimation {\n return this.args.animation ?? 'wave';\n }\n\n get style(): string {\n const styles: string[] = [];\n\n if (this.args.width) {\n styles.push(`width: ${this.args.width}`);\n }\n\n if (this.args.height) {\n styles.push(`height: ${this.args.height}`);\n }\n\n if (this.args.aspectRatio) {\n styles.push(`aspect-ratio: ${this.args.aspectRatio}`);\n }\n\n return styles.join('; ');\n }\n\n <template>\n <div\n class=\"skeleton skeleton-image\"\n role=\"presentation\"\n aria-hidden=\"true\"\n data-variant=\"rectangular\"\n data-animation={{this.animation}}\n style={{this.style}}\n data-test-skeleton-image\n ...attributes\n ></div>\n </template>\n}\n"],"names":["SkeletonImage","Component","animation","args","style","styles","width","push","height","aspectRatio","join","setComponentTemplate","precompileTemplate","strictMode"],"mappings":";;;;;AAqBe,MAAMA,sBAAsBC,SAAA,CAAU;EACnD,IAAIC,YAA+B;AACjC,IAAA,OAAO,IAAI,CAACC,IAAI,CAACD,SAAS,IAAI,MAAA;AAChC,EAAA;EAEA,IAAIE,KAAAA,GAAgB;IAClB,MAAMC,MAAc,GAAK,EAAE;AAE3B,IAAA,IAAI,IAAI,CAACF,IAAI,CAACG,KAAK,EAAE;MACnBD,MAAA,CAAOE,IAAI,CAAC,CAAA,OAAA,EAAU,IAAI,CAACJ,IAAI,CAACG,KAAK,CAAA,CAAE,CAAA;AACzC,IAAA;AAEA,IAAA,IAAI,IAAI,CAACH,IAAI,CAACK,MAAM,EAAE;MACpBH,MAAA,CAAOE,IAAI,CAAC,CAAA,QAAA,EAAW,IAAI,CAACJ,IAAI,CAACK,MAAM,CAAA,CAAE,CAAA;AAC3C,IAAA;AAEA,IAAA,IAAI,IAAI,CAACL,IAAI,CAACM,WAAW,EAAE;MACzBJ,MAAA,CAAOE,IAAI,CAAC,CAAA,cAAA,EAAiB,IAAI,CAACJ,IAAI,CAACM,WAAW,CAAA,CAAE,CAAA;AACtD,IAAA;AAEA,IAAA,OAAOJ,MAAA,CAAOK,IAAI,CAAC,IAAA,CAAA;AACrB,EAAA;AAEA,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,qNAAA,EAWA;MAAAC,UAAA,EAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Component from '@glimmer/component';
|
|
2
2
|
import Skeleton from './skeleton.js';
|
|
3
|
-
import '../skeleton-
|
|
3
|
+
import '../skeleton-shared-BTA5oAjw.js';
|
|
4
4
|
import { precompileTemplate } from '@ember/template-compilation';
|
|
5
5
|
import { setComponentTemplate } from '@ember/component';
|
|
6
6
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skeleton-text.js","sources":["../../src/status/skeleton-text.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport Skeleton from './skeleton.gts';\nimport type { SkeletonAnimation } from './skeleton.gts';\nimport './skeleton.css';\n\nexport interface SkeletonTextSignature {\n Element: HTMLDivElement;\n Args: {\n /** Number of text lines to render */\n lines?: number;\n\n /** Gap between lines (CSS value) */\n gap?: string;\n\n /** Width of the last line (CSS value or percentage) */\n lastLineWidth?: string;\n\n /** Animation style */\n animation?: SkeletonAnimation;\n };\n}\n\nexport default class SkeletonText extends Component<SkeletonTextSignature> {\n get lines(): number {\n return this.args.lines ?? 3;\n }\n\n get gap(): string {\n return this.args.gap ?? 'var(--spacing-2)';\n }\n\n get animation(): SkeletonAnimation {\n return this.args.animation ?? 'wave';\n }\n\n get lineNumbers(): number[] {\n return Array.from({ length: this.lines }, (_, i) => i);\n }\n\n get style(): string {\n const styles: string[] = [];\n\n styles.push(`gap: ${this.gap}`);\n\n if (this.args.lastLineWidth) {\n styles.push(`--skeleton-text-last-width: ${this.args.lastLineWidth}`);\n }\n\n return styles.join('; ');\n }\n\n <template>\n <div\n class=\"skeleton-text\"\n role=\"presentation\"\n aria-hidden=\"true\"\n style={{this.style}}\n data-test-skeleton-text\n ...attributes\n >\n {{#each this.lineNumbers as |index|}}\n <Skeleton\n @variant=\"text\"\n @animation={{this.animation}}\n data-line={{index}}\n />\n {{/each}}\n </div>\n </template>\n}\n"],"names":["SkeletonText","Component","lines","args","gap","animation","lineNumbers","Array","from","length","_","i","style","styles","push","lastLineWidth","join","setComponentTemplate","precompileTemplate","strictMode","scope","Skeleton"],"mappings":";;;;;;AAsBe,MAAMA,qBAAqBC,SAAA,CAAU;EAClD,IAAIC,KAAAA,GAAgB;AAClB,IAAA,OAAO,IAAI,CAACC,IAAI,CAACD,KAAK,IAAI,CAAA;AAC5B,EAAA;EAEA,IAAIE,GAAAA,GAAc;AAChB,IAAA,OAAO,IAAI,CAACD,IAAI,CAACC,GAAG,IAAI,kBAAA;AAC1B,EAAA;EAEA,IAAIC,YAA+B;AACjC,IAAA,OAAO,IAAI,CAACF,IAAI,CAACE,SAAS,IAAI,MAAA;AAChC,EAAA;EAEA,IAAIC,WAAAA,GAAwB;IAC1B,OAAOC,KAAA,CAAMC,IAAI,CAAC;MAAEC,MAAA,EAAQ,IAAI,CAACP;AAAM,KAAA,EAAG,CAACQ,GAAGC,CAAA,KAAMA,CAAA,CAAA;AACtD,EAAA;EAEA,IAAIC,KAAAA,GAAgB;IAClB,MAAMC,MAAc,GAAK,EAAE;IAE3BA,MAAA,CAAOC,IAAI,CAAC,CAAA,KAAA,EAAQ,IAAI,CAACV,GAAG,EAAE,CAAA;AAE9B,IAAA,IAAI,IAAI,CAACD,IAAI,CAACY,aAAa,EAAE;MAC3BF,MAAA,CAAOC,IAAI,CAAC,CAAA,4BAAA,EAA+B,IAAI,CAACX,IAAI,CAACY,aAAa,CAAA,CAAE,CAAA;AACtE,IAAA;AAEA,IAAA,OAAOF,MAAA,CAAOG,IAAI,CAAC,IAAA,CAAA;AACrB,EAAA;AAEA,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,yRAAA,EAiBA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
|
|
1
|
+
{"version":3,"file":"skeleton-text.js","sources":["../../src/status/skeleton-text.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport Skeleton from './skeleton.gts';\nimport type { SkeletonAnimation } from './skeleton.gts';\nimport './skeleton-shared.css';\n\nexport interface SkeletonTextSignature {\n Element: HTMLDivElement;\n Args: {\n /** Number of text lines to render */\n lines?: number;\n\n /** Gap between lines (CSS value) */\n gap?: string;\n\n /** Width of the last line (CSS value or percentage) */\n lastLineWidth?: string;\n\n /** Animation style */\n animation?: SkeletonAnimation;\n };\n}\n\nexport default class SkeletonText extends Component<SkeletonTextSignature> {\n get lines(): number {\n return this.args.lines ?? 3;\n }\n\n get gap(): string {\n return this.args.gap ?? 'var(--spacing-2)';\n }\n\n get animation(): SkeletonAnimation {\n return this.args.animation ?? 'wave';\n }\n\n get lineNumbers(): number[] {\n return Array.from({ length: this.lines }, (_, i) => i);\n }\n\n get style(): string {\n const styles: string[] = [];\n\n styles.push(`gap: ${this.gap}`);\n\n if (this.args.lastLineWidth) {\n styles.push(`--skeleton-text-last-width: ${this.args.lastLineWidth}`);\n }\n\n return styles.join('; ');\n }\n\n <template>\n <div\n class=\"skeleton-text\"\n role=\"presentation\"\n aria-hidden=\"true\"\n style={{this.style}}\n data-test-skeleton-text\n ...attributes\n >\n {{#each this.lineNumbers as |index|}}\n <Skeleton\n @variant=\"text\"\n @animation={{this.animation}}\n data-line={{index}}\n />\n {{/each}}\n </div>\n </template>\n}\n"],"names":["SkeletonText","Component","lines","args","gap","animation","lineNumbers","Array","from","length","_","i","style","styles","push","lastLineWidth","join","setComponentTemplate","precompileTemplate","strictMode","scope","Skeleton"],"mappings":";;;;;;AAsBe,MAAMA,qBAAqBC,SAAA,CAAU;EAClD,IAAIC,KAAAA,GAAgB;AAClB,IAAA,OAAO,IAAI,CAACC,IAAI,CAACD,KAAK,IAAI,CAAA;AAC5B,EAAA;EAEA,IAAIE,GAAAA,GAAc;AAChB,IAAA,OAAO,IAAI,CAACD,IAAI,CAACC,GAAG,IAAI,kBAAA;AAC1B,EAAA;EAEA,IAAIC,YAA+B;AACjC,IAAA,OAAO,IAAI,CAACF,IAAI,CAACE,SAAS,IAAI,MAAA;AAChC,EAAA;EAEA,IAAIC,WAAAA,GAAwB;IAC1B,OAAOC,KAAA,CAAMC,IAAI,CAAC;MAAEC,MAAA,EAAQ,IAAI,CAACP;AAAM,KAAA,EAAG,CAACQ,GAAGC,CAAA,KAAMA,CAAA,CAAA;AACtD,EAAA;EAEA,IAAIC,KAAAA,GAAgB;IAClB,MAAMC,MAAc,GAAK,EAAE;IAE3BA,MAAA,CAAOC,IAAI,CAAC,CAAA,KAAA,EAAQ,IAAI,CAACV,GAAG,EAAE,CAAA;AAE9B,IAAA,IAAI,IAAI,CAACD,IAAI,CAACY,aAAa,EAAE;MAC3BF,MAAA,CAAOC,IAAI,CAAC,CAAA,4BAAA,EAA+B,IAAI,CAACX,IAAI,CAACY,aAAa,CAAA,CAAE,CAAA;AACtE,IAAA;AAEA,IAAA,OAAOF,MAAA,CAAOG,IAAI,CAAC,IAAA,CAAA;AACrB,EAAA;AAEA,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,yRAAA,EAiBA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
|
package/dist/status/skeleton.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skeleton.js","sources":["../../src/status/skeleton.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport './skeleton.css';\n\nexport type SkeletonVariant = 'text' | 'rectangular' | 'circular';\nexport type SkeletonRadius = 'none' | 'sm' | 'md' | 'lg' | 'full';\nexport type SkeletonAnimation = 'pulse' | 'wave' | 'none';\n\nexport interface SkeletonSignature {\n Element: HTMLDivElement;\n Args: {\n /** Width of the skeleton (CSS value or number for pixels) */\n width?: string | number;\n\n /** Height of the skeleton (CSS value or number for pixels) */\n height?: string | number;\n\n /** Shape variant */\n variant?: SkeletonVariant;\n\n /** Border radius override */\n radius?: SkeletonRadius;\n\n /** Animation style */\n animation?: SkeletonAnimation;\n\n /** When false, renders children instead of skeleton */\n loading?: boolean;\n };\n Blocks: {\n default: [];\n };\n}\n\nfunction formatDimension(\n value: string | number | undefined,\n): string | undefined {\n if (value === undefined) return undefined;\n if (typeof value === 'number') return `${value}px`;\n return value;\n}\n\nexport default class Skeleton extends Component<SkeletonSignature> {\n get variant(): SkeletonVariant {\n return this.args.variant ?? 'text';\n }\n\n get animation(): SkeletonAnimation {\n return this.args.animation ?? 'wave';\n }\n\n get radius(): SkeletonRadius | undefined {\n return this.args.radius;\n }\n\n get isLoading(): boolean {\n return this.args.loading !== false;\n }\n\n get style(): string {\n const styles: string[] = [];\n\n const width = formatDimension(this.args.width);\n const height = formatDimension(this.args.height);\n\n if (width) {\n styles.push(`width: ${width}`);\n }\n if (height) {\n styles.push(`height: ${height}`);\n }\n\n return styles.join('; ');\n }\n\n <template>\n {{#if this.isLoading}}\n <div\n class=\"skeleton\"\n role=\"presentation\"\n aria-hidden=\"true\"\n data-variant={{this.variant}}\n data-animation={{this.animation}}\n data-radius={{this.radius}}\n style={{this.style}}\n data-test-skeleton\n ...attributes\n ></div>\n {{else}}\n {{yield}}\n {{/if}}\n </template>\n}\n"],"names":["formatDimension","value","undefined","Skeleton","Component","variant","args","animation","radius","isLoading","loading","style","styles","width","height","push","join","setComponentTemplate","precompileTemplate","strictMode"],"mappings":";;;;;AAiCA,SAASA,eAAAA,CACPC,KAAkC,EACf;AACnB,EAAA,IAAIA,KAAA,KAAUC,WAAW,OAAOA,SAAA;EAChC,IAAI,OAAOD,UAAU,QAAA,EAAU,OAAO,CAAA,EAAGA,KAAA,CAAA,EAAA,CAAS;AAClD,EAAA,OAAOA,KAAA;AACT;AAEe,MAAME,iBAAiBC,SAAA,CAAU;EAC9C,IAAIC,UAA2B;AAC7B,IAAA,OAAO,IAAI,CAACC,IAAI,CAACD,OAAO,IAAI,MAAA;AAC9B,EAAA;EAEA,IAAIE,YAA+B;AACjC,IAAA,OAAO,IAAI,CAACD,IAAI,CAACC,SAAS,IAAI,MAAA;AAChC,EAAA;EAEA,IAAIC,MAAAA,GAAqC;AACvC,IAAA,OAAO,IAAI,CAACF,IAAI,CAACE,MAAM;AACzB,EAAA;EAEA,IAAIC,SAAAA,GAAqB;AACvB,IAAA,OAAO,IAAI,CAACH,IAAI,CAACI,OAAO,KAAK,KAAA;AAC/B,EAAA;EAEA,IAAIC,KAAAA,GAAgB;IAClB,MAAMC,MAAc,GAAK,EAAE;IAE3B,MAAMC,QAAQb,eAAA,CAAgB,IAAI,CAACM,IAAI,CAACO,KAAK,CAAA;IAC7C,MAAMC,SAASd,eAAA,CAAgB,IAAI,CAACM,IAAI,CAACQ,MAAM,CAAA;AAE/C,IAAA,IAAID,KAAA,EAAO;AACTD,MAAAA,MAAA,CAAOG,IAAI,CAAC,CAAA,OAAA,EAAUF,OAAO,CAAA;AAC/B,IAAA;AACA,IAAA,IAAIC,MAAA,EAAQ;AACVF,MAAAA,MAAA,CAAOG,IAAI,CAAC,CAAA,QAAA,EAAWD,QAAQ,CAAA;AACjC,IAAA;AAEA,IAAA,OAAOF,MAAA,CAAOI,IAAI,CAAC,IAAA,CAAA;AACrB,EAAA;AAEA,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,uRAAA,EAgBA;MAAAC,UAAA,EAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
|
|
1
|
+
{"version":3,"file":"skeleton.js","sources":["../../src/status/skeleton.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport './skeleton-shared.css';\n\nexport type SkeletonVariant = 'text' | 'rectangular' | 'circular';\nexport type SkeletonRadius = 'none' | 'sm' | 'md' | 'lg' | 'full';\nexport type SkeletonAnimation = 'pulse' | 'wave' | 'none';\n\nexport interface SkeletonSignature {\n Element: HTMLDivElement;\n Args: {\n /** Width of the skeleton (CSS value or number for pixels) */\n width?: string | number;\n\n /** Height of the skeleton (CSS value or number for pixels) */\n height?: string | number;\n\n /** Shape variant */\n variant?: SkeletonVariant;\n\n /** Border radius override */\n radius?: SkeletonRadius;\n\n /** Animation style */\n animation?: SkeletonAnimation;\n\n /** When false, renders children instead of skeleton */\n loading?: boolean;\n };\n Blocks: {\n default: [];\n };\n}\n\nfunction formatDimension(\n value: string | number | undefined,\n): string | undefined {\n if (value === undefined) return undefined;\n if (typeof value === 'number') return `${value}px`;\n return value;\n}\n\nexport default class Skeleton extends Component<SkeletonSignature> {\n get variant(): SkeletonVariant {\n return this.args.variant ?? 'text';\n }\n\n get animation(): SkeletonAnimation {\n return this.args.animation ?? 'wave';\n }\n\n get radius(): SkeletonRadius | undefined {\n return this.args.radius;\n }\n\n get isLoading(): boolean {\n return this.args.loading !== false;\n }\n\n get style(): string {\n const styles: string[] = [];\n\n const width = formatDimension(this.args.width);\n const height = formatDimension(this.args.height);\n\n if (width) {\n styles.push(`width: ${width}`);\n }\n if (height) {\n styles.push(`height: ${height}`);\n }\n\n return styles.join('; ');\n }\n\n <template>\n {{#if this.isLoading}}\n <div\n class=\"skeleton\"\n role=\"presentation\"\n aria-hidden=\"true\"\n data-variant={{this.variant}}\n data-animation={{this.animation}}\n data-radius={{this.radius}}\n style={{this.style}}\n data-test-skeleton\n ...attributes\n ></div>\n {{else}}\n {{yield}}\n {{/if}}\n </template>\n}\n"],"names":["formatDimension","value","undefined","Skeleton","Component","variant","args","animation","radius","isLoading","loading","style","styles","width","height","push","join","setComponentTemplate","precompileTemplate","strictMode"],"mappings":";;;;;AAiCA,SAASA,eAAAA,CACPC,KAAkC,EACf;AACnB,EAAA,IAAIA,KAAA,KAAUC,WAAW,OAAOA,SAAA;EAChC,IAAI,OAAOD,UAAU,QAAA,EAAU,OAAO,CAAA,EAAGA,KAAA,CAAA,EAAA,CAAS;AAClD,EAAA,OAAOA,KAAA;AACT;AAEe,MAAME,iBAAiBC,SAAA,CAAU;EAC9C,IAAIC,UAA2B;AAC7B,IAAA,OAAO,IAAI,CAACC,IAAI,CAACD,OAAO,IAAI,MAAA;AAC9B,EAAA;EAEA,IAAIE,YAA+B;AACjC,IAAA,OAAO,IAAI,CAACD,IAAI,CAACC,SAAS,IAAI,MAAA;AAChC,EAAA;EAEA,IAAIC,MAAAA,GAAqC;AACvC,IAAA,OAAO,IAAI,CAACF,IAAI,CAACE,MAAM;AACzB,EAAA;EAEA,IAAIC,SAAAA,GAAqB;AACvB,IAAA,OAAO,IAAI,CAACH,IAAI,CAACI,OAAO,KAAK,KAAA;AAC/B,EAAA;EAEA,IAAIC,KAAAA,GAAgB;IAClB,MAAMC,MAAc,GAAK,EAAE;IAE3B,MAAMC,QAAQb,eAAA,CAAgB,IAAI,CAACM,IAAI,CAACO,KAAK,CAAA;IAC7C,MAAMC,SAASd,eAAA,CAAgB,IAAI,CAACM,IAAI,CAACQ,MAAM,CAAA;AAE/C,IAAA,IAAID,KAAA,EAAO;AACTD,MAAAA,MAAA,CAAOG,IAAI,CAAC,CAAA,OAAA,EAAUF,OAAO,CAAA;AAC/B,IAAA;AACA,IAAA,IAAIC,MAAA,EAAQ;AACVF,MAAAA,MAAA,CAAOG,IAAI,CAAC,CAAA,QAAA,EAAWD,QAAQ,CAAA;AACjC,IAAA;AAEA,IAAA,OAAOF,MAAA,CAAOI,IAAI,CAAC,IAAA,CAAA;AACrB,EAAA;AAEA,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CAAA,uRAAA,EAgBA;MAAAC,UAAA,EAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
|