@sentropic/design-system-vue 0.22.0 → 0.24.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/dist/styles.css CHANGED
@@ -5529,6 +5529,128 @@
5529
5529
  background: var(--st-semantic-feedback-error);
5530
5530
  }
5531
5531
 
5532
+ .st-rangeSlider__header {
5533
+ align-items: baseline;
5534
+ display: flex;
5535
+ gap: 0.5rem;
5536
+ justify-content: space-between;
5537
+ }
5538
+
5539
+ .st-rangeSlider__value {
5540
+ color: var(--st-semantic-text-secondary);
5541
+ font-size: 0.875rem;
5542
+ font-variant-numeric: tabular-nums;
5543
+ }
5544
+
5545
+ .st-rangeSlider {
5546
+ align-items: center;
5547
+ display: flex;
5548
+ gap: 0.75rem;
5549
+ width: 100%;
5550
+ }
5551
+
5552
+ .st-rangeSlider__bounds {
5553
+ color: var(--st-semantic-text-muted);
5554
+ flex: 0 0 auto;
5555
+ font-size: 0.75rem;
5556
+ font-variant-numeric: tabular-nums;
5557
+ }
5558
+
5559
+ .st-rangeSlider__track {
5560
+ background: var(--st-component-control-border, var(--st-semantic-border-subtle));
5561
+ border-radius: 999px;
5562
+ flex: 1 1 auto;
5563
+ height: 0.25rem;
5564
+ position: relative;
5565
+ }
5566
+
5567
+ .st-rangeSlider--sm .st-rangeSlider__track {
5568
+ height: 0.1875rem;
5569
+ }
5570
+
5571
+ .st-rangeSlider--lg .st-rangeSlider__track {
5572
+ height: 0.375rem;
5573
+ }
5574
+
5575
+ .st-rangeSlider__fill {
5576
+ background: var(--st-semantic-action-primary);
5577
+ border-radius: 999px;
5578
+ display: block;
5579
+ height: 100%;
5580
+ position: absolute;
5581
+ top: 0;
5582
+ }
5583
+
5584
+ .st-rangeSlider__thumb {
5585
+ background: var(--st-semantic-action-primary);
5586
+ border-radius: 50%;
5587
+ box-sizing: border-box;
5588
+ cursor: pointer;
5589
+ height: 1rem;
5590
+ position: absolute;
5591
+ top: 50%;
5592
+ transform: translate(-50%, -50%);
5593
+ width: 1rem;
5594
+ }
5595
+
5596
+ .st-rangeSlider--sm .st-rangeSlider__thumb {
5597
+ height: 0.75rem;
5598
+ width: 0.75rem;
5599
+ }
5600
+
5601
+ .st-rangeSlider--lg .st-rangeSlider__thumb {
5602
+ height: 1.25rem;
5603
+ width: 1.25rem;
5604
+ }
5605
+
5606
+ .st-rangeSlider__thumb:focus-visible {
5607
+ outline: 2px solid var(--st-component-control-focusRing, var(--st-semantic-border-interactive));
5608
+ outline-offset: 4px;
5609
+ }
5610
+
5611
+ .st-rangeSlider__tooltip {
5612
+ background: var(--st-semantic-text-primary);
5613
+ border-radius: var(--st-component-control-radius, 0.375rem);
5614
+ bottom: calc(100% + 0.375rem);
5615
+ color: var(--st-semantic-surface-default);
5616
+ font-size: 0.6875rem;
5617
+ font-weight: 600;
5618
+ left: 50%;
5619
+ line-height: 1;
5620
+ opacity: 0;
5621
+ padding: 0.25rem 0.375rem;
5622
+ pointer-events: none;
5623
+ position: absolute;
5624
+ transform: translateX(-50%);
5625
+ transition: opacity var(--st-motion-fast, 120ms) var(--st-motion-easing, ease);
5626
+ white-space: nowrap;
5627
+ }
5628
+
5629
+ .st-rangeSlider__thumb:hover .st-rangeSlider__tooltip,
5630
+ .st-rangeSlider__thumb:focus-visible .st-rangeSlider__tooltip {
5631
+ opacity: 1;
5632
+ }
5633
+
5634
+ .st-rangeSlider--disabled .st-rangeSlider__thumb,
5635
+ .st-rangeSlider--disabled .st-rangeSlider__fill {
5636
+ background: var(--st-semantic-text-muted);
5637
+ }
5638
+
5639
+ .st-rangeSlider--disabled .st-rangeSlider__thumb {
5640
+ cursor: not-allowed;
5641
+ }
5642
+
5643
+ .st-rangeSlider__track[aria-invalid="true"] .st-rangeSlider__fill,
5644
+ .st-rangeSlider__track[aria-invalid="true"] .st-rangeSlider__thumb {
5645
+ background: var(--st-semantic-feedback-error);
5646
+ }
5647
+
5648
+ @media (prefers-reduced-motion: reduce) {
5649
+ .st-rangeSlider__tooltip {
5650
+ transition: none;
5651
+ }
5652
+ }
5653
+
5532
5654
  .st-sparkline {
5533
5655
  display: inline-flex;
5534
5656
  line-height: 0;
@@ -11085,3 +11207,158 @@
11085
11207
  }
11086
11208
  }
11087
11209
 
11210
+
11211
+ /* ── ChordDiagram ── */
11212
+ .st-chordDiagram {
11213
+ color: var(--st-semantic-text-secondary);
11214
+ display: block;
11215
+ font-family: inherit;
11216
+ max-width: 100%;
11217
+ position: relative;
11218
+ width: 100%;
11219
+ }
11220
+
11221
+ .st-chordDiagram svg,
11222
+ .st-chordDiagram__visual {
11223
+ display: block;
11224
+ overflow: visible;
11225
+ }
11226
+
11227
+ .st-chordDiagram__ribbon {
11228
+ cursor: pointer;
11229
+ fill-opacity: 0.4;
11230
+ stroke-opacity: 0.55;
11231
+ transition: opacity 120ms ease;
11232
+ }
11233
+
11234
+ .st-chordDiagram__ribbon:hover {
11235
+ fill-opacity: 0.62;
11236
+ }
11237
+
11238
+ .st-chordDiagram__ribbon--dim {
11239
+ opacity: 0.18;
11240
+ }
11241
+
11242
+ @media (prefers-reduced-motion: reduce) {
11243
+ .st-chordDiagram__ribbon {
11244
+ transition: none;
11245
+ }
11246
+ }
11247
+
11248
+ .st-chordDiagram__arc {
11249
+ stroke: var(--st-semantic-surface-default, Canvas);
11250
+ stroke-width: 1;
11251
+ }
11252
+
11253
+ .st-chordDiagram__arc--category1,
11254
+ .st-chordDiagram__ribbon--category1 { fill: var(--st-semantic-data-category1); stroke: var(--st-semantic-data-category1); }
11255
+ .st-chordDiagram__arc--category2,
11256
+ .st-chordDiagram__ribbon--category2 { fill: var(--st-semantic-data-category2); stroke: var(--st-semantic-data-category2); }
11257
+ .st-chordDiagram__arc--category3,
11258
+ .st-chordDiagram__ribbon--category3 { fill: var(--st-semantic-data-category3); stroke: var(--st-semantic-data-category3); }
11259
+ .st-chordDiagram__arc--category4,
11260
+ .st-chordDiagram__ribbon--category4 { fill: var(--st-semantic-data-category4); stroke: var(--st-semantic-data-category4); }
11261
+ .st-chordDiagram__arc--category5,
11262
+ .st-chordDiagram__ribbon--category5 { fill: var(--st-semantic-data-category5); stroke: var(--st-semantic-data-category5); }
11263
+ .st-chordDiagram__arc--category6,
11264
+ .st-chordDiagram__ribbon--category6 { fill: var(--st-semantic-data-category6); stroke: var(--st-semantic-data-category6); }
11265
+ .st-chordDiagram__arc--category7,
11266
+ .st-chordDiagram__ribbon--category7 { fill: var(--st-semantic-data-category7); stroke: var(--st-semantic-data-category7); }
11267
+ .st-chordDiagram__arc--category8,
11268
+ .st-chordDiagram__ribbon--category8 { fill: var(--st-semantic-data-category8); stroke: var(--st-semantic-data-category8); }
11269
+
11270
+ .st-chordDiagram__arcLabel {
11271
+ /* fill calculé par contrastTextForTone() en inline */
11272
+ font-size: 0.7rem;
11273
+ font-weight: 600;
11274
+ pointer-events: none;
11275
+ }
11276
+
11277
+ .st-chordDiagram__tooltip {
11278
+ background: var(--st-semantic-surface-inverse);
11279
+ border-radius: var(--st-radius-sm, 0.25rem);
11280
+ color: var(--st-semantic-text-inverse);
11281
+ display: inline-flex;
11282
+ flex-direction: column;
11283
+ font-size: 0.75rem;
11284
+ gap: 0.125rem;
11285
+ line-height: 1.2;
11286
+ padding: 0.375rem 0.5rem;
11287
+ pointer-events: none;
11288
+ position: absolute;
11289
+ transform: translate(-50%, -115%);
11290
+ white-space: nowrap;
11291
+ z-index: 1;
11292
+ }
11293
+
11294
+ .st-chordDiagram__tooltipLabel { font-weight: 600; }
11295
+ .st-chordDiagram__tooltipValue { opacity: 0.85; }
11296
+
11297
+ /* ── PackedBubblesChart ── */
11298
+ .st-packedBubblesChart {
11299
+ color: var(--st-semantic-text-secondary);
11300
+ display: block;
11301
+ font-family: inherit;
11302
+ max-width: 100%;
11303
+ position: relative;
11304
+ width: 100%;
11305
+ }
11306
+
11307
+ .st-packedBubblesChart svg,
11308
+ .st-packedBubblesChart__visual {
11309
+ display: block;
11310
+ overflow: visible;
11311
+ }
11312
+
11313
+ .st-packedBubblesChart__circle {
11314
+ cursor: pointer;
11315
+ stroke: var(--st-semantic-surface-default, Canvas);
11316
+ stroke-width: 1.5;
11317
+ transition: opacity 120ms ease;
11318
+ }
11319
+
11320
+ .st-packedBubblesChart__circle--dim {
11321
+ opacity: 0.4;
11322
+ }
11323
+
11324
+ @media (prefers-reduced-motion: reduce) {
11325
+ .st-packedBubblesChart__circle {
11326
+ transition: none;
11327
+ }
11328
+ }
11329
+
11330
+ .st-packedBubblesChart__circle--category1 { fill: var(--st-semantic-data-category1); }
11331
+ .st-packedBubblesChart__circle--category2 { fill: var(--st-semantic-data-category2); }
11332
+ .st-packedBubblesChart__circle--category3 { fill: var(--st-semantic-data-category3); }
11333
+ .st-packedBubblesChart__circle--category4 { fill: var(--st-semantic-data-category4); }
11334
+ .st-packedBubblesChart__circle--category5 { fill: var(--st-semantic-data-category5); }
11335
+ .st-packedBubblesChart__circle--category6 { fill: var(--st-semantic-data-category6); }
11336
+ .st-packedBubblesChart__circle--category7 { fill: var(--st-semantic-data-category7); }
11337
+ .st-packedBubblesChart__circle--category8 { fill: var(--st-semantic-data-category8); }
11338
+
11339
+ .st-packedBubblesChart__label {
11340
+ /* fill calculé par contrastTextForTone() en inline */
11341
+ font-size: 0.7rem;
11342
+ font-weight: 600;
11343
+ pointer-events: none;
11344
+ }
11345
+
11346
+ .st-packedBubblesChart__tooltip {
11347
+ background: var(--st-semantic-surface-inverse);
11348
+ border-radius: var(--st-radius-sm, 0.25rem);
11349
+ color: var(--st-semantic-text-inverse);
11350
+ display: inline-flex;
11351
+ flex-direction: column;
11352
+ font-size: 0.75rem;
11353
+ gap: 0.125rem;
11354
+ line-height: 1.2;
11355
+ padding: 0.375rem 0.5rem;
11356
+ pointer-events: none;
11357
+ position: absolute;
11358
+ transform: translate(-50%, -115%);
11359
+ white-space: nowrap;
11360
+ z-index: 1;
11361
+ }
11362
+
11363
+ .st-packedBubblesChart__tooltipLabel { font-weight: 600; }
11364
+ .st-packedBubblesChart__tooltipValue { opacity: 0.85; }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentropic/design-system-vue",
3
- "version": "0.22.0",
3
+ "version": "0.24.0",
4
4
  "description": "Vue 3 components for the Sentropic design system.",
5
5
  "type": "module",
6
6
  "publishConfig": {