@usefidel/design-system 0.25.1 → 0.26.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/index.css CHANGED
@@ -1631,6 +1631,28 @@
1631
1631
  width: 14px;
1632
1632
  height: 14px;
1633
1633
  }
1634
+ .fds-tag__remove {
1635
+ display: inline-flex;
1636
+ margin-right: calc(var(--spacing-1, 4px) * -1);
1637
+ padding: 2px;
1638
+ border: 0;
1639
+ border-radius: var(--radius-sm, 4px);
1640
+ background: none;
1641
+ color: var(--color-text-tertiary, #737373);
1642
+ cursor: pointer;
1643
+ }
1644
+ .fds-tag__remove:hover {
1645
+ background: var(--color-surface-hover, #ececec);
1646
+ color: var(--color-text, #171717);
1647
+ }
1648
+ .fds-tag__remove:focus-visible {
1649
+ outline: 2px solid var(--color-accent, #ea580c);
1650
+ outline-offset: 1px;
1651
+ }
1652
+ .fds-tag__remove > svg {
1653
+ width: 12px;
1654
+ height: 12px;
1655
+ }
1634
1656
 
1635
1657
  /* src/components/MultiSelect/multi-select.css */
1636
1658
  .fds-multiselect {
@@ -4069,3 +4091,528 @@
4069
4091
  animation: none;
4070
4092
  }
4071
4093
  }
4094
+
4095
+ /* src/components/Stepper/stepper.css */
4096
+ .fds-stepper {
4097
+ display: flex;
4098
+ align-items: center;
4099
+ gap: var(--spacing-3, 12px);
4100
+ margin: 0;
4101
+ padding: 0;
4102
+ list-style: none;
4103
+ font-family: var(--font-body, "Rethink Sans", system-ui, sans-serif);
4104
+ font-size: var(--font-size-text-compact, 13px);
4105
+ line-height: var(--line-height-text-compact, 20px);
4106
+ }
4107
+ .fds-stepper__step {
4108
+ display: flex;
4109
+ align-items: center;
4110
+ gap: var(--spacing-2, 8px);
4111
+ flex: 1;
4112
+ min-width: 0;
4113
+ color: var(--color-text-tertiary, #737373);
4114
+ }
4115
+ .fds-stepper__step:last-child {
4116
+ flex: 0 0 auto;
4117
+ }
4118
+ .fds-stepper__step:not(:last-child)::after {
4119
+ content: "";
4120
+ flex: 1;
4121
+ height: 1px;
4122
+ margin-left: var(--spacing-2, 8px);
4123
+ background: var(--color-border, #e5e5e5);
4124
+ }
4125
+ .fds-stepper__marker {
4126
+ display: inline-flex;
4127
+ align-items: center;
4128
+ justify-content: center;
4129
+ flex-shrink: 0;
4130
+ width: 24px;
4131
+ height: 24px;
4132
+ border: 1px solid var(--color-border-strong, #d4d4d4);
4133
+ border-radius: var(--radius-full, 9999px);
4134
+ font-size: var(--font-size-text-xs, 12px);
4135
+ font-weight: var(--font-weight-medium, 500);
4136
+ transition: background-color var(--duration-quick, 150ms) ease, border-color var(--duration-quick, 150ms) ease;
4137
+ }
4138
+ .fds-stepper__marker > svg {
4139
+ width: 14px;
4140
+ height: 14px;
4141
+ }
4142
+ .fds-stepper__label {
4143
+ white-space: nowrap;
4144
+ }
4145
+ .fds-stepper__step--done .fds-stepper__marker {
4146
+ border-color: transparent;
4147
+ background: var(--color-surface, #f5f5f5);
4148
+ color: var(--color-text, #171717);
4149
+ }
4150
+ .fds-stepper__step--done {
4151
+ color: var(--color-text-secondary, #525252);
4152
+ }
4153
+ .fds-stepper__step--current {
4154
+ color: var(--color-text, #171717);
4155
+ font-weight: var(--font-weight-medium, 500);
4156
+ }
4157
+ .fds-stepper__step--current .fds-stepper__marker {
4158
+ border-color: var(--color-primary, #171717);
4159
+ background: var(--color-primary, #171717);
4160
+ color: var(--color-primary-text, #ffffff);
4161
+ }
4162
+
4163
+ /* src/components/NumberedSteps/numbered-steps.css */
4164
+ .fds-numbered-steps {
4165
+ display: flex;
4166
+ flex-direction: column;
4167
+ margin: 0;
4168
+ padding: 0;
4169
+ list-style: none;
4170
+ counter-reset: fds-numbered-step;
4171
+ }
4172
+ .fds-numbered-steps__item {
4173
+ position: relative;
4174
+ display: flex;
4175
+ gap: var(--spacing-4, 16px);
4176
+ padding-bottom: var(--spacing-6, 24px);
4177
+ counter-increment: fds-numbered-step;
4178
+ }
4179
+ .fds-numbered-steps__item:last-child {
4180
+ padding-bottom: 0;
4181
+ }
4182
+ .fds-numbered-steps__item:not(:last-child)::before {
4183
+ content: "";
4184
+ position: absolute;
4185
+ top: var(--spacing-6, 24px);
4186
+ bottom: 0;
4187
+ left: calc(var(--spacing-6, 24px) / 2);
4188
+ width: 1px;
4189
+ background: var(--color-border, #e5e5e5);
4190
+ }
4191
+ .fds-numbered-steps__marker {
4192
+ position: relative;
4193
+ display: inline-flex;
4194
+ align-items: center;
4195
+ justify-content: center;
4196
+ flex-shrink: 0;
4197
+ width: var(--spacing-6, 24px);
4198
+ height: var(--spacing-6, 24px);
4199
+ border-radius: var(--radius-full, 9999px);
4200
+ background: var(--color-primary, #171717);
4201
+ color: var(--color-primary-text, #ffffff);
4202
+ font-family: var(--font-body, "Rethink Sans", system-ui, sans-serif);
4203
+ font-size: var(--font-size-text-xs, 12px);
4204
+ font-weight: var(--font-weight-semibold, 600);
4205
+ }
4206
+ .fds-numbered-steps__marker::after {
4207
+ content: counter(fds-numbered-step);
4208
+ }
4209
+ .fds-numbered-steps__body {
4210
+ display: flex;
4211
+ flex-direction: column;
4212
+ gap: var(--spacing-3, 12px);
4213
+ flex: 1;
4214
+ min-width: 0;
4215
+ }
4216
+
4217
+ /* src/components/OptionList/option-list.css */
4218
+ .fds-option-list {
4219
+ display: flex;
4220
+ flex-direction: column;
4221
+ border: 1px solid var(--color-border, #e5e5e5);
4222
+ border-radius: var(--radius-lg, 8px);
4223
+ background: var(--color-surface-raised, #ffffff);
4224
+ overflow: hidden;
4225
+ }
4226
+ .fds-option-list__label {
4227
+ padding: var(--spacing-2, 8px) var(--spacing-3, 12px);
4228
+ background: var(--color-surface-subtle, #fafafa);
4229
+ border-bottom: 1px solid var(--color-border, #e5e5e5);
4230
+ font-family: var(--font-body, "Rethink Sans", system-ui, sans-serif);
4231
+ font-size: var(--font-size-text-2xs, 11px);
4232
+ line-height: var(--line-height-text-2xs, 16px);
4233
+ font-weight: var(--font-weight-medium, 500);
4234
+ letter-spacing: 0.04em;
4235
+ text-transform: uppercase;
4236
+ color: var(--color-text-tertiary, #737373);
4237
+ }
4238
+ .fds-option-row {
4239
+ display: flex;
4240
+ align-items: center;
4241
+ gap: var(--spacing-3, 12px);
4242
+ padding: var(--spacing-3, 12px);
4243
+ transition: background-color var(--duration-instant, 80ms) ease;
4244
+ }
4245
+ .fds-option-row + .fds-option-row {
4246
+ border-top: 1px solid var(--color-border, #e5e5e5);
4247
+ }
4248
+ .fds-option-row:hover:not([data-disabled]) {
4249
+ background: var(--color-surface-subtle, #fafafa);
4250
+ }
4251
+ .fds-option-row--checked {
4252
+ background: var(--color-surface-subtle, #fafafa);
4253
+ }
4254
+ .fds-option-row > :first-child {
4255
+ flex: 1;
4256
+ min-width: 0;
4257
+ }
4258
+ .fds-option-row > :first-child label {
4259
+ cursor: pointer;
4260
+ }
4261
+ .fds-option-row[data-disabled] > :first-child label {
4262
+ cursor: default;
4263
+ }
4264
+ .fds-option-row__meta {
4265
+ flex-shrink: 0;
4266
+ font-family: var(--font-body, "Rethink Sans", system-ui, sans-serif);
4267
+ font-size: var(--font-size-text-xs, 12px);
4268
+ line-height: var(--line-height-text-xs, 18px);
4269
+ color: var(--color-text-tertiary, #737373);
4270
+ }
4271
+
4272
+ /* src/components/Checklist/checklist.css */
4273
+ .fds-checklist {
4274
+ display: flex;
4275
+ flex-direction: column;
4276
+ gap: var(--spacing-3, 12px);
4277
+ padding: var(--spacing-4, 16px);
4278
+ border: 1px solid var(--color-border, #e5e5e5);
4279
+ border-radius: var(--radius-xl, 12px);
4280
+ background: var(--color-surface-raised, #ffffff);
4281
+ font-family: var(--font-body, "Rethink Sans", system-ui, sans-serif);
4282
+ }
4283
+ .fds-checklist__title {
4284
+ margin: 0;
4285
+ font-size: var(--font-size-text-sm, 14px);
4286
+ line-height: var(--line-height-text-compact, 20px);
4287
+ font-weight: var(--font-weight-semibold, 600);
4288
+ color: var(--color-text, #171717);
4289
+ }
4290
+ .fds-checklist__items {
4291
+ display: flex;
4292
+ flex-direction: column;
4293
+ gap: var(--spacing-3, 12px);
4294
+ margin: 0;
4295
+ padding: 0;
4296
+ list-style: none;
4297
+ }
4298
+ .fds-checklist__item {
4299
+ display: flex;
4300
+ gap: var(--spacing-2, 8px);
4301
+ }
4302
+ .fds-checklist__mark {
4303
+ display: inline-flex;
4304
+ align-items: center;
4305
+ justify-content: center;
4306
+ flex-shrink: 0;
4307
+ width: 16px;
4308
+ height: 16px;
4309
+ margin-top: 2px;
4310
+ border: 1px solid var(--color-border-strong, #d4d4d4);
4311
+ border-radius: var(--radius-full, 9999px);
4312
+ color: var(--color-text, #171717);
4313
+ }
4314
+ .fds-checklist__item--done .fds-checklist__mark {
4315
+ border-color: transparent;
4316
+ }
4317
+ .fds-checklist__mark > svg {
4318
+ width: 14px;
4319
+ height: 14px;
4320
+ }
4321
+ .fds-checklist__text {
4322
+ display: flex;
4323
+ flex-direction: column;
4324
+ min-width: 0;
4325
+ }
4326
+ .fds-checklist__label {
4327
+ font-size: var(--font-size-text-xs, 12px);
4328
+ line-height: var(--line-height-text-xs, 18px);
4329
+ color: var(--color-text-tertiary, #737373);
4330
+ }
4331
+ .fds-checklist__value {
4332
+ font-size: var(--font-size-text-compact, 13px);
4333
+ line-height: var(--line-height-text-compact, 20px);
4334
+ color: var(--color-text-tertiary, #737373);
4335
+ }
4336
+ .fds-checklist__item--done .fds-checklist__value {
4337
+ color: var(--color-text, #171717);
4338
+ font-weight: var(--font-weight-medium, 500);
4339
+ }
4340
+
4341
+ /* src/components/Drawer/drawer.css */
4342
+ .fds-drawer__scrim {
4343
+ position: fixed;
4344
+ inset: 0;
4345
+ z-index: 1000;
4346
+ display: flex;
4347
+ justify-content: flex-end;
4348
+ padding: var(--spacing-2, 8px);
4349
+ background: rgba(10, 10, 10, 0.42);
4350
+ animation: fds-drawer-scrim-in var(--duration-moderate, 280ms) var(--ease-out, ease) both;
4351
+ }
4352
+ .fds-drawer {
4353
+ box-sizing: border-box;
4354
+ display: flex;
4355
+ flex-direction: column;
4356
+ width: min(520px, 100%);
4357
+ height: 100%;
4358
+ overflow: hidden;
4359
+ background: var(--color-surface-raised, #ffffff);
4360
+ border: 1px solid var(--color-border, #e5e5e5);
4361
+ border-radius: var(--radius-xl, 12px);
4362
+ box-shadow: var(--shadow-lg);
4363
+ font-family: var(--font-body, "Rethink Sans", system-ui, sans-serif);
4364
+ animation: fds-drawer-in var(--duration-moderate, 280ms) var(--ease-out, ease) both;
4365
+ }
4366
+ .fds-drawer:focus {
4367
+ outline: none;
4368
+ }
4369
+ .fds-drawer__header {
4370
+ display: flex;
4371
+ align-items: flex-start;
4372
+ justify-content: space-between;
4373
+ gap: var(--spacing-3, 12px);
4374
+ padding: var(--spacing-6, 24px) var(--spacing-6, 24px) var(--spacing-4, 16px);
4375
+ }
4376
+ .fds-drawer__heading {
4377
+ display: flex;
4378
+ flex-direction: column;
4379
+ gap: var(--spacing-1, 4px);
4380
+ min-width: 0;
4381
+ }
4382
+ .fds-drawer__title {
4383
+ margin: 0;
4384
+ font-size: var(--font-size-text-lg, 18px);
4385
+ line-height: var(--line-height-text-lg, 28px);
4386
+ font-weight: var(--font-weight-semibold, 600);
4387
+ color: var(--color-text, #171717);
4388
+ }
4389
+ .fds-drawer__description {
4390
+ margin: 0;
4391
+ font-size: var(--font-size-text-compact, 13px);
4392
+ line-height: var(--line-height-text-compact, 20px);
4393
+ color: var(--color-text-tertiary, #737373);
4394
+ }
4395
+ .fds-drawer__close {
4396
+ display: inline-flex;
4397
+ padding: var(--spacing-1, 4px);
4398
+ border: 0;
4399
+ border-radius: var(--radius-md, 6px);
4400
+ background: none;
4401
+ color: var(--color-text-tertiary, #737373);
4402
+ cursor: pointer;
4403
+ }
4404
+ .fds-drawer__close:hover {
4405
+ background: var(--color-surface, #f5f5f5);
4406
+ color: var(--color-text, #171717);
4407
+ }
4408
+ .fds-drawer__close:focus-visible {
4409
+ outline: 2px solid var(--color-accent, #ea580c);
4410
+ outline-offset: 2px;
4411
+ }
4412
+ .fds-drawer__close > svg {
4413
+ width: 16px;
4414
+ height: 16px;
4415
+ }
4416
+ .fds-drawer__body {
4417
+ display: flex;
4418
+ flex-direction: column;
4419
+ gap: var(--spacing-4, 16px);
4420
+ flex: 1;
4421
+ min-height: 0;
4422
+ overflow-y: auto;
4423
+ padding: 0 var(--spacing-6, 24px) var(--spacing-6, 24px);
4424
+ }
4425
+ .fds-drawer__footer {
4426
+ display: flex;
4427
+ align-items: center;
4428
+ justify-content: flex-end;
4429
+ gap: var(--spacing-2, 8px);
4430
+ padding: var(--spacing-4, 16px) var(--spacing-6, 24px);
4431
+ border-top: 1px solid var(--color-border, #e5e5e5);
4432
+ font-size: var(--font-size-text-compact, 13px);
4433
+ color: var(--color-text-tertiary, #737373);
4434
+ }
4435
+ .fds-drawer__footer > :first-child:not(button) {
4436
+ margin-right: auto;
4437
+ }
4438
+ @keyframes fds-drawer-scrim-in {
4439
+ from {
4440
+ opacity: 0;
4441
+ }
4442
+ to {
4443
+ opacity: 1;
4444
+ }
4445
+ }
4446
+ @keyframes fds-drawer-in {
4447
+ from {
4448
+ transform: translateX(calc(100% + var(--spacing-2, 8px)));
4449
+ }
4450
+ to {
4451
+ transform: none;
4452
+ }
4453
+ }
4454
+ @media (prefers-reduced-motion: reduce) {
4455
+ .fds-drawer,
4456
+ .fds-drawer__scrim {
4457
+ animation: none;
4458
+ }
4459
+ }
4460
+
4461
+ /* src/components/ResourceCard/resource-card.css */
4462
+ .fds-resource-card {
4463
+ display: flex;
4464
+ align-items: center;
4465
+ gap: var(--spacing-6, 24px);
4466
+ padding: var(--spacing-4, 16px);
4467
+ border: 1px solid var(--color-border, #e5e5e5);
4468
+ border-radius: var(--radius-xl, 12px);
4469
+ background: var(--color-surface-raised, #ffffff);
4470
+ font-family: var(--font-body, "Rethink Sans", system-ui, sans-serif);
4471
+ }
4472
+ .fds-resource-card--add {
4473
+ border-style: dashed;
4474
+ background: var(--color-surface-subtle, #fafafa);
4475
+ }
4476
+ .fds-resource-card__main {
4477
+ display: flex;
4478
+ flex-direction: column;
4479
+ gap: var(--spacing-1, 4px);
4480
+ flex: 1;
4481
+ min-width: 0;
4482
+ }
4483
+ .fds-resource-card__title {
4484
+ display: flex;
4485
+ align-items: center;
4486
+ gap: var(--spacing-2, 8px);
4487
+ font-size: var(--font-size-text-sm, 14px);
4488
+ line-height: var(--line-height-text-compact, 20px);
4489
+ font-weight: var(--font-weight-semibold, 600);
4490
+ color: var(--color-text, #171717);
4491
+ }
4492
+ .fds-resource-card__icon {
4493
+ display: inline-flex;
4494
+ width: 16px;
4495
+ height: 16px;
4496
+ }
4497
+ .fds-resource-card__icon > svg {
4498
+ width: 100%;
4499
+ height: 100%;
4500
+ }
4501
+ .fds-resource-card__meta {
4502
+ display: flex;
4503
+ align-items: center;
4504
+ gap: var(--spacing-1, 4px);
4505
+ font-size: var(--font-size-text-xs, 12px);
4506
+ line-height: var(--line-height-text-xs, 18px);
4507
+ color: var(--color-text-tertiary, #737373);
4508
+ }
4509
+ .fds-resource-card__meta > svg {
4510
+ width: 12px;
4511
+ height: 12px;
4512
+ flex-shrink: 0;
4513
+ }
4514
+ .fds-resource-card__stats {
4515
+ display: flex;
4516
+ gap: var(--spacing-8, 32px);
4517
+ margin: 0;
4518
+ }
4519
+ .fds-resource-card__stat {
4520
+ display: flex;
4521
+ flex-direction: column;
4522
+ gap: var(--spacing-1, 4px);
4523
+ min-width: 96px;
4524
+ }
4525
+ .fds-resource-card__stat dt {
4526
+ font-size: var(--font-size-text-2xs, 11px);
4527
+ line-height: var(--line-height-text-2xs, 16px);
4528
+ font-weight: var(--font-weight-medium, 500);
4529
+ letter-spacing: 0.04em;
4530
+ text-transform: uppercase;
4531
+ color: var(--color-text-tertiary, #737373);
4532
+ }
4533
+ .fds-resource-card__stat dd {
4534
+ margin: 0;
4535
+ font-size: var(--font-size-text-sm, 14px);
4536
+ line-height: var(--line-height-text-compact, 20px);
4537
+ font-weight: var(--font-weight-medium, 500);
4538
+ color: var(--color-text, #171717);
4539
+ }
4540
+ .fds-resource-card__action {
4541
+ flex-shrink: 0;
4542
+ }
4543
+
4544
+ /* src/components/PageSkeleton/page-skeleton.css */
4545
+ .fds-page-skeleton {
4546
+ display: flex;
4547
+ flex-direction: column;
4548
+ gap: var(--spacing-6, 24px);
4549
+ }
4550
+ .fds-page-skeleton__tabs {
4551
+ display: flex;
4552
+ gap: var(--spacing-6, 24px);
4553
+ padding-bottom: var(--spacing-3, 12px);
4554
+ border-bottom: 1px solid var(--color-border, #e5e5e5);
4555
+ }
4556
+ .fds-page-skeleton__toolbar {
4557
+ display: flex;
4558
+ flex-wrap: wrap;
4559
+ gap: var(--spacing-2, 8px);
4560
+ }
4561
+ .fds-page-skeleton__table {
4562
+ border: 1px solid var(--color-border, #e5e5e5);
4563
+ border-radius: var(--radius-xl, 12px);
4564
+ overflow: hidden;
4565
+ }
4566
+ .fds-page-skeleton__row {
4567
+ display: grid;
4568
+ grid-template-columns: repeat(var(--fds-page-skeleton-columns, 5), minmax(0, 1fr));
4569
+ gap: var(--spacing-4, 16px);
4570
+ align-items: center;
4571
+ padding: var(--spacing-4, 16px) var(--spacing-5, 20px);
4572
+ }
4573
+ .fds-page-skeleton__row + .fds-page-skeleton__row {
4574
+ border-top: 1px solid var(--color-border, #e5e5e5);
4575
+ }
4576
+ .fds-page-skeleton__row--head {
4577
+ background: var(--color-surface-subtle, #fafafa);
4578
+ padding-top: var(--spacing-3, 12px);
4579
+ padding-bottom: var(--spacing-3, 12px);
4580
+ }
4581
+ .fds-page-skeleton__cards {
4582
+ display: grid;
4583
+ grid-template-columns: repeat(var(--fds-page-skeleton-columns, 3), minmax(0, 1fr));
4584
+ gap: var(--spacing-3, 12px);
4585
+ }
4586
+ .fds-page-skeleton__card {
4587
+ border-radius: var(--radius-xl, 12px);
4588
+ }
4589
+ .fds-page-skeleton__form {
4590
+ display: flex;
4591
+ flex-direction: column;
4592
+ gap: var(--spacing-5, 20px);
4593
+ }
4594
+ .fds-page-skeleton__field {
4595
+ display: flex;
4596
+ flex-direction: column;
4597
+ gap: var(--spacing-2, 8px);
4598
+ }
4599
+ .fds-page-skeleton__split {
4600
+ display: grid;
4601
+ grid-template-columns: minmax(0, 1fr) 360px;
4602
+ gap: var(--spacing-8, 32px);
4603
+ align-items: start;
4604
+ }
4605
+ .fds-page-skeleton__main,
4606
+ .fds-page-skeleton__aside {
4607
+ display: flex;
4608
+ flex-direction: column;
4609
+ gap: var(--spacing-4, 16px);
4610
+ }
4611
+ @media (max-width: 1100px) {
4612
+ .fds-page-skeleton__split {
4613
+ grid-template-columns: minmax(0, 1fr);
4614
+ }
4615
+ .fds-page-skeleton__cards {
4616
+ grid-template-columns: minmax(0, 1fr);
4617
+ }
4618
+ }