@dillingerstaffing/strand-vue 0.15.2 → 0.16.1
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/dist/components/Nav/Nav.vue.d.ts.map +1 -1
- package/dist/components/StarRating/StarRating.vue.d.ts +13 -0
- package/dist/components/StarRating/StarRating.vue.d.ts.map +1 -0
- package/dist/components/StarRating/index.d.ts +3 -0
- package/dist/components/StarRating/index.d.ts.map +1 -0
- package/dist/css/strand-ui.css +220 -16
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +554 -494
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/components/Nav/Nav.vue +13 -1
- package/src/components/StarRating/StarRating.test.ts +111 -0
- package/src/components/StarRating/StarRating.vue +97 -0
- package/src/components/StarRating/index.ts +2 -0
- package/src/index.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Nav.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Nav/Nav.vue"],"names":[],"mappings":"AAMA;
|
|
1
|
+
{"version":3,"file":"Nav.vue.d.ts","sourceRoot":"","sources":["../../../src/components/Nav/Nav.vue"],"names":[],"mappings":"AAMA;AA2HA,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,uBAAuB;IACvB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAA;IACjB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAkCD,iBAAS,cAAc;WAoFT,OAAO,IAA6B;;sBAXxB,GAAG;yBACA,GAAG;;;;EAe/B;AAYD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;WA3IX,OAAO,EAAE;WAET,OAAO;qFAiJf,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface StarRatingProps {
|
|
2
|
+
value: number;
|
|
3
|
+
onChange?: (v: number) => void;
|
|
4
|
+
size?: 'sm' | 'md' | 'lg';
|
|
5
|
+
readOnly?: boolean;
|
|
6
|
+
ariaLabel: string;
|
|
7
|
+
}
|
|
8
|
+
declare const _default: import('vue').DefineComponent<StarRatingProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<StarRatingProps> & Readonly<{}>, {
|
|
9
|
+
size: "sm" | "md" | "lg";
|
|
10
|
+
readOnly: boolean;
|
|
11
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
12
|
+
export default _default;
|
|
13
|
+
//# sourceMappingURL=StarRating.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StarRating.vue.d.ts","sourceRoot":"","sources":["../../../src/components/StarRating/StarRating.vue"],"names":[],"mappings":"AAOA;AAqGA,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CAClB;;UAHQ,IAAI,GAAG,IAAI,GAAG,IAAI;cACd,OAAO;;AA0HpB,wBAQG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/StarRating/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAA"}
|
package/dist/css/strand-ui.css
CHANGED
|
@@ -275,6 +275,12 @@ body:has(.strand-banner) .strand-instrument-viewport--full-bleed {
|
|
|
275
275
|
height: calc(100dvh - var(--strand-nav-height) - var(--strand-banner-height, 0px));
|
|
276
276
|
}
|
|
277
277
|
|
|
278
|
+
/* JS-managed fallback for browsers without :has() */
|
|
279
|
+
body.strand-banner-active .strand-instrument-viewport--full-bleed {
|
|
280
|
+
height: calc(100vh - var(--strand-nav-height) - var(--strand-banner-height, 0px));
|
|
281
|
+
height: calc(100dvh - var(--strand-nav-height) - var(--strand-banner-height, 0px));
|
|
282
|
+
}
|
|
283
|
+
|
|
278
284
|
/* ── Variants ── */
|
|
279
285
|
.strand-banner--info {
|
|
280
286
|
background: var(--strand-blue-glow);
|
|
@@ -514,10 +520,18 @@ body:has(.strand-banner) .strand-instrument-viewport--full-bleed {
|
|
|
514
520
|
background: var(--strand-blue-wash);
|
|
515
521
|
}
|
|
516
522
|
|
|
517
|
-
/* ── Ghost variant ──
|
|
523
|
+
/* ── Ghost variant ──
|
|
524
|
+
Uses blue-midnight rather than blue-primary because the ghost
|
|
525
|
+
variant has no solid surface underneath, so its text must
|
|
526
|
+
contrast against whatever page surface the button sits on.
|
|
527
|
+
blue-primary (#3b8ef6) only reaches ~2.8:1 against surface-primary
|
|
528
|
+
and blue-deep (#1d5ad8) still borderlines on glass-nav backdrops
|
|
529
|
+
(~4.27:1 when composited over section content). blue-midnight
|
|
530
|
+
(#1e3e5f) reaches ~7.5:1 against those same surfaces, clears
|
|
531
|
+
WCAG 2.2 AA 4.5:1 comfortably, and preserves the blue identity. */
|
|
518
532
|
.strand-btn--ghost {
|
|
519
533
|
background: transparent;
|
|
520
|
-
color: var(--strand-blue-
|
|
534
|
+
color: var(--strand-blue-midnight);
|
|
521
535
|
}
|
|
522
536
|
|
|
523
537
|
.strand-btn--ghost:hover:not(:disabled) {
|
|
@@ -722,12 +736,27 @@ body:has(.strand-banner) .strand-instrument-viewport--full-bleed {
|
|
|
722
736
|
}
|
|
723
737
|
|
|
724
738
|
/* ── Channel grid helpers ──
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
content
|
|
739
|
+
Equal-height card row with a natural top-to-bottom stack inside each
|
|
740
|
+
card and the final horizontal row (the CTA) anchored to the card's
|
|
741
|
+
bottom edge. Cards in the same row align to the tallest card's
|
|
742
|
+
height; an uneven content mix never produces the ragged-bottom look
|
|
743
|
+
where some cards end tall and others stop short. Useful for channel
|
|
744
|
+
listings, membership grids, and any layout where cards carry a
|
|
745
|
+
primary CTA that must read as the shared affordance across the row. */
|
|
729
746
|
.strand-channel-grid {
|
|
730
|
-
align-items:
|
|
747
|
+
align-items: stretch;
|
|
748
|
+
}
|
|
749
|
+
.strand-channel-grid > .strand-card {
|
|
750
|
+
display: flex;
|
|
751
|
+
flex-direction: column;
|
|
752
|
+
}
|
|
753
|
+
.strand-channel-grid > .strand-card > .strand-stack--vertical {
|
|
754
|
+
flex: 1;
|
|
755
|
+
display: flex;
|
|
756
|
+
flex-direction: column;
|
|
757
|
+
}
|
|
758
|
+
.strand-channel-grid > .strand-card > .strand-stack--vertical > .strand-stack--horizontal:last-child {
|
|
759
|
+
margin-top: auto;
|
|
731
760
|
}
|
|
732
761
|
|
|
733
762
|
.strand-channel-title {
|
|
@@ -1991,7 +2020,7 @@ body:has(.strand-banner) .strand-instrument-viewport--full-bleed {
|
|
|
1991
2020
|
box-shadow var(--strand-duration-normal) ease;
|
|
1992
2021
|
}
|
|
1993
2022
|
|
|
1994
|
-
.strand-search-bar__inner:
|
|
2023
|
+
.strand-search-bar__inner:focus-within {
|
|
1995
2024
|
border-color: var(--strand-instrument-border-strong);
|
|
1996
2025
|
box-shadow:
|
|
1997
2026
|
var(--strand-instrument-shadow-deep),
|
|
@@ -3220,15 +3249,20 @@ body:has(.strand-banner) .strand-instrument-viewport--full-bleed {
|
|
|
3220
3249
|
}
|
|
3221
3250
|
}
|
|
3222
3251
|
|
|
3223
|
-
/* ── Glassmorphic variant (DL 11.5: "white or glassmorphic") ──
|
|
3252
|
+
/* ── Glassmorphic variant (DL 11.5: "white or glassmorphic") ──
|
|
3253
|
+
The glass nav's rendered height is the token. Previous versions set
|
|
3254
|
+
`height: auto; padding: var(--strand-space-4) 0` which produced a
|
|
3255
|
+
~77px render (token is 64px), so `body:has(.strand-nav--glass) {
|
|
3256
|
+
padding-top: var(--strand-nav-height) }` left content behind the nav.
|
|
3257
|
+
Pinning height to the token keeps the body offset rule honest across
|
|
3258
|
+
every consumer. */
|
|
3224
3259
|
.strand-nav--glass {
|
|
3225
3260
|
position: fixed;
|
|
3226
3261
|
top: 0;
|
|
3227
3262
|
left: 0;
|
|
3228
3263
|
right: 0;
|
|
3229
3264
|
z-index: 100;
|
|
3230
|
-
height:
|
|
3231
|
-
padding: var(--strand-space-4) 0;
|
|
3265
|
+
height: var(--strand-nav-height);
|
|
3232
3266
|
background: var(--strand-glass-bg);
|
|
3233
3267
|
-webkit-backdrop-filter: blur(var(--strand-glass-blur));
|
|
3234
3268
|
backdrop-filter: blur(var(--strand-glass-blur));
|
|
@@ -3583,9 +3617,15 @@ body:has(.strand-banner) .strand-instrument-viewport--full-bleed {
|
|
|
3583
3617
|
border-top: 1px solid var(--strand-gray-200);
|
|
3584
3618
|
}
|
|
3585
3619
|
|
|
3586
|
-
/* ── Scroll target (anchored section with nav offset) ──
|
|
3620
|
+
/* ── Scroll target (anchored section with nav offset) ──
|
|
3621
|
+
Global scroll-padding-top on html already offsets anchor scrolls
|
|
3622
|
+
by the nav+banner stack height (see packages/tokens/css/base.css).
|
|
3623
|
+
This modifier is retained as an explicit per-section opt-in for
|
|
3624
|
+
consumers who want to reinforce the contract locally, and it
|
|
3625
|
+
tracks the same tokens so a nav-height change propagates without
|
|
3626
|
+
hunting. */
|
|
3587
3627
|
.strand-section--scroll-target {
|
|
3588
|
-
scroll-margin-top:
|
|
3628
|
+
scroll-margin-top: calc(var(--strand-nav-height) + var(--strand-banner-height, 0px));
|
|
3589
3629
|
}
|
|
3590
3630
|
|
|
3591
3631
|
|
|
@@ -4043,6 +4083,110 @@ body:has(.strand-banner) .strand-instrument-viewport--full-bleed {
|
|
|
4043
4083
|
.strand-stack--gap-8 { gap: var(--strand-space-8); }
|
|
4044
4084
|
|
|
4045
4085
|
|
|
4086
|
+
/* StarRating */
|
|
4087
|
+
/*! Strand UI | MIT License | dillingerstaffing.com */
|
|
4088
|
+
|
|
4089
|
+
/*! Strand UI | MIT License | dillingerstaffing.com */
|
|
4090
|
+
|
|
4091
|
+
/* ── Base ── */
|
|
4092
|
+
.strand-star-rating {
|
|
4093
|
+
display: inline-flex;
|
|
4094
|
+
align-items: center;
|
|
4095
|
+
gap: var(--strand-space-1);
|
|
4096
|
+
color: var(--strand-gray-900);
|
|
4097
|
+
line-height: 1;
|
|
4098
|
+
}
|
|
4099
|
+
|
|
4100
|
+
/* ── Star button ── */
|
|
4101
|
+
.strand-star-rating__star {
|
|
4102
|
+
display: inline-flex;
|
|
4103
|
+
align-items: center;
|
|
4104
|
+
justify-content: center;
|
|
4105
|
+
background: transparent;
|
|
4106
|
+
border: 0;
|
|
4107
|
+
padding: 0;
|
|
4108
|
+
margin: 0;
|
|
4109
|
+
cursor: pointer;
|
|
4110
|
+
color: var(--strand-gray-200);
|
|
4111
|
+
border-radius: var(--strand-radius-sm);
|
|
4112
|
+
transition:
|
|
4113
|
+
color var(--strand-duration-fast) var(--strand-ease-out-quart),
|
|
4114
|
+
transform var(--strand-duration-fast) var(--strand-ease-out-quart);
|
|
4115
|
+
min-width: var(--strand-touch-target);
|
|
4116
|
+
min-height: var(--strand-touch-target);
|
|
4117
|
+
font-family: inherit;
|
|
4118
|
+
}
|
|
4119
|
+
|
|
4120
|
+
.strand-star-rating__star:focus-visible {
|
|
4121
|
+
outline: none;
|
|
4122
|
+
box-shadow: var(--strand-focus-ring);
|
|
4123
|
+
}
|
|
4124
|
+
|
|
4125
|
+
.strand-star-rating__star--active {
|
|
4126
|
+
color: var(--strand-amber-caution);
|
|
4127
|
+
}
|
|
4128
|
+
|
|
4129
|
+
.strand-star-rating__star:not(:disabled):hover .strand-star-rating__glyph,
|
|
4130
|
+
.strand-star-rating__star:not(:disabled):focus-visible .strand-star-rating__glyph {
|
|
4131
|
+
transform: scale(1.08);
|
|
4132
|
+
}
|
|
4133
|
+
|
|
4134
|
+
/* ── Glyph ── */
|
|
4135
|
+
.strand-star-rating__glyph {
|
|
4136
|
+
display: inline-block;
|
|
4137
|
+
font-size: inherit;
|
|
4138
|
+
line-height: 1;
|
|
4139
|
+
transition: transform var(--strand-duration-fast) var(--strand-ease-out-quart);
|
|
4140
|
+
}
|
|
4141
|
+
|
|
4142
|
+
/* ── Sizes ── */
|
|
4143
|
+
.strand-star-rating--sm {
|
|
4144
|
+
font-size: 1rem;
|
|
4145
|
+
}
|
|
4146
|
+
|
|
4147
|
+
.strand-star-rating--sm .strand-star-rating__star {
|
|
4148
|
+
min-width: 32px;
|
|
4149
|
+
min-height: 32px;
|
|
4150
|
+
}
|
|
4151
|
+
|
|
4152
|
+
.strand-star-rating--md {
|
|
4153
|
+
font-size: 1.5rem;
|
|
4154
|
+
}
|
|
4155
|
+
|
|
4156
|
+
.strand-star-rating--md .strand-star-rating__star {
|
|
4157
|
+
min-width: var(--strand-touch-target);
|
|
4158
|
+
min-height: var(--strand-touch-target);
|
|
4159
|
+
}
|
|
4160
|
+
|
|
4161
|
+
.strand-star-rating--lg {
|
|
4162
|
+
font-size: 2.25rem;
|
|
4163
|
+
}
|
|
4164
|
+
|
|
4165
|
+
.strand-star-rating--lg .strand-star-rating__star {
|
|
4166
|
+
min-width: 56px;
|
|
4167
|
+
min-height: 56px;
|
|
4168
|
+
}
|
|
4169
|
+
|
|
4170
|
+
/* ── Read-only ── */
|
|
4171
|
+
.strand-star-rating--readonly .strand-star-rating__star {
|
|
4172
|
+
cursor: default;
|
|
4173
|
+
pointer-events: none;
|
|
4174
|
+
}
|
|
4175
|
+
|
|
4176
|
+
/* ── Reduced motion ── */
|
|
4177
|
+
@media (prefers-reduced-motion: reduce) {
|
|
4178
|
+
.strand-star-rating__star,
|
|
4179
|
+
.strand-star-rating__glyph {
|
|
4180
|
+
transition: none;
|
|
4181
|
+
}
|
|
4182
|
+
|
|
4183
|
+
.strand-star-rating__star:not(:disabled):hover .strand-star-rating__glyph,
|
|
4184
|
+
.strand-star-rating__star:not(:disabled):focus-visible .strand-star-rating__glyph {
|
|
4185
|
+
transform: none;
|
|
4186
|
+
}
|
|
4187
|
+
}
|
|
4188
|
+
|
|
4189
|
+
|
|
4046
4190
|
/* Switch */
|
|
4047
4191
|
/*! Strand UI | MIT License | dillingerstaffing.com */
|
|
4048
4192
|
|
|
@@ -4236,16 +4380,39 @@ body:has(.strand-banner) .strand-instrument-viewport--full-bleed {
|
|
|
4236
4380
|
|
|
4237
4381
|
/*! Strand UI | MIT License | dillingerstaffing.com */
|
|
4238
4382
|
|
|
4239
|
-
/* ── Tab list ──
|
|
4383
|
+
/* ── Tab list ──
|
|
4384
|
+
Horizontally scroll the tablist when the combined tab widths exceed
|
|
4385
|
+
the container. Without this, a tablist wider than the viewport
|
|
4386
|
+
pushes the document horizontally and every other section inherits
|
|
4387
|
+
the scrollbar. The tablist keeps its own overflow so the overflow
|
|
4388
|
+
stays local, keyboard users still focus every tab in order, and
|
|
4389
|
+
scroll-snap preserves the tactile feel of a control panel. */
|
|
4240
4390
|
.strand-tabs [role="tablist"] {
|
|
4241
4391
|
display: flex;
|
|
4242
4392
|
gap: var(--strand-space-1);
|
|
4243
4393
|
border-bottom: 1px solid var(--strand-gray-200);
|
|
4394
|
+
overflow-x: auto;
|
|
4395
|
+
scrollbar-width: none;
|
|
4396
|
+
-ms-overflow-style: none;
|
|
4397
|
+
scroll-snap-type: x proximity;
|
|
4398
|
+
/* Let flex children keep their intrinsic width so they don't shrink
|
|
4399
|
+
past their text before we allow scrolling. */
|
|
4400
|
+
flex-wrap: nowrap;
|
|
4244
4401
|
}
|
|
4245
4402
|
|
|
4246
|
-
|
|
4403
|
+
.strand-tabs [role="tablist"]::-webkit-scrollbar {
|
|
4404
|
+
display: none;
|
|
4405
|
+
}
|
|
4406
|
+
|
|
4407
|
+
/* ── Tab button ──
|
|
4408
|
+
flex-shrink: 0 keeps tabs at their intrinsic text width so the
|
|
4409
|
+
tablist scrolls instead of squeezing tab labels. scroll-snap-align
|
|
4410
|
+
pins each tab's start edge when the user flicks, preserving the
|
|
4411
|
+
control-panel tactile feel. */
|
|
4247
4412
|
.strand-tabs__tab {
|
|
4248
4413
|
position: relative;
|
|
4414
|
+
flex-shrink: 0;
|
|
4415
|
+
scroll-snap-align: start;
|
|
4249
4416
|
padding: var(--strand-space-2) var(--strand-space-4);
|
|
4250
4417
|
border: none;
|
|
4251
4418
|
border-bottom: 2px solid transparent;
|
|
@@ -4279,7 +4446,12 @@ body:has(.strand-banner) .strand-instrument-viewport--full-bleed {
|
|
|
4279
4446
|
the tab acts like a toggle on a control panel rather than a
|
|
4280
4447
|
content navigation. Pairs with strand-tabs__panel--reveal. */
|
|
4281
4448
|
.strand-tabs--instrument [role="tablist"] {
|
|
4282
|
-
|
|
4449
|
+
/* Use `safe center` so centering only applies when the content fits.
|
|
4450
|
+
When the tablist overflows, flex will clip the near edge, hiding
|
|
4451
|
+
the first tab from users who scrolled to the start. `safe center`
|
|
4452
|
+
degrades to `start` on overflow, which keeps every tab reachable
|
|
4453
|
+
via scroll. */
|
|
4454
|
+
justify-content: safe center;
|
|
4283
4455
|
gap: 0;
|
|
4284
4456
|
border-bottom: 1px solid var(--strand-surface-subtle);
|
|
4285
4457
|
}
|
|
@@ -4688,6 +4860,16 @@ body:has(.strand-banner) .strand-instrument-viewport--full-bleed {
|
|
|
4688
4860
|
.strand-tooltip__wrapper {
|
|
4689
4861
|
position: relative;
|
|
4690
4862
|
display: inline-flex;
|
|
4863
|
+
/* Scope tooltip popup layout to this wrapper so an absolutely
|
|
4864
|
+
positioned, nowrap tooltip cannot bloat an ancestor's scrollWidth
|
|
4865
|
+
on narrow viewports. Without this, a long tooltip next to a
|
|
4866
|
+
viewport-edge trigger overflows the trigger's containing card and
|
|
4867
|
+
fails overflow-budget tests like "card does not overflow 375px".
|
|
4868
|
+
See packages/strand-ui/src/components/Tooltip/Tooltip.tsx for the
|
|
4869
|
+
rendered DOM; the popup uses `position: absolute` + nowrap, which
|
|
4870
|
+
is enough to stop layout-flow contribution but NOT scroll-extent
|
|
4871
|
+
contribution without `contain: layout`. */
|
|
4872
|
+
contain: layout;
|
|
4691
4873
|
}
|
|
4692
4874
|
|
|
4693
4875
|
/* ── Tooltip ── */
|
|
@@ -4989,6 +5171,17 @@ body:has(.strand-banner) .strand-instrument-viewport--full-bleed {
|
|
|
4989
5171
|
font-size: var(--strand-text-xs);
|
|
4990
5172
|
}
|
|
4991
5173
|
|
|
5174
|
+
/* ── Font family utilities ──
|
|
5175
|
+
Pure typographic utilities for composing text styles when
|
|
5176
|
+
the full .strand-overline / .strand-kv / .strand-data-readout
|
|
5177
|
+
component semantics are too heavy. Use on inline meta rows,
|
|
5178
|
+
cadence lines, and data-adjacent body copy that should read
|
|
5179
|
+
as instrument output without inheriting the overline's letter
|
|
5180
|
+
spacing and weight. */
|
|
5181
|
+
.strand-font-mono {
|
|
5182
|
+
font-family: var(--strand-font-mono);
|
|
5183
|
+
}
|
|
5184
|
+
|
|
4992
5185
|
/* ══════════════════════════════════════════════════
|
|
4993
5186
|
COMPOSITION MOLECULES (DL Part XI-B Grammar)
|
|
4994
5187
|
Named derivations of DL composition primitives.
|
|
@@ -5276,6 +5469,17 @@ body:has(.strand-banner) .strand-instrument-viewport--full-bleed {
|
|
|
5276
5469
|
background: var(--strand-amber-tint);
|
|
5277
5470
|
}
|
|
5278
5471
|
|
|
5472
|
+
/* COMMITTED variant: post-RSVP confirmation on dark instrument
|
|
5473
|
+
viewports. Vital teal on translucent fill and 30% alpha border
|
|
5474
|
+
signals earned state (DL Principle 5: Earned Elevation) without
|
|
5475
|
+
stealing focus from the event title. The translucent composition
|
|
5476
|
+
lets the chip sit cleanly on both dark and light surfaces. */
|
|
5477
|
+
.strand-status-chip--committed {
|
|
5478
|
+
color: var(--strand-teal-vital);
|
|
5479
|
+
background: color-mix(in srgb, var(--strand-teal-vital) 16%, transparent);
|
|
5480
|
+
border: 1px solid color-mix(in srgb, var(--strand-teal-vital) 30%, transparent);
|
|
5481
|
+
}
|
|
5482
|
+
|
|
5279
5483
|
/* ── Viewport flex modifiers (component showcase layout) ── */
|
|
5280
5484
|
.strand-viewport--flex {
|
|
5281
5485
|
display: flex;
|
package/dist/index.d.ts
CHANGED
|
@@ -35,4 +35,5 @@ export { default as Tooltip } from './components/Tooltip/Tooltip.vue';
|
|
|
35
35
|
export { default as Progress } from './components/Progress/Progress.vue';
|
|
36
36
|
export { default as Spinner } from './components/Spinner/Spinner.vue';
|
|
37
37
|
export { default as Skeleton } from './components/Skeleton/Skeleton.vue';
|
|
38
|
+
export { default as StarRating } from './components/StarRating/StarRating.vue';
|
|
38
39
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAGvD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAG5E,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAG5E,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,wDAAwD,CAAC;AACvG,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAGrF,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAG1D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,oCAAoC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAGvD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAG5E,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAG5E,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,wDAAwD,CAAC;AACvG,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAGrF,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAG1D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,wCAAwC,CAAC"}
|