@ng-solid/mcp 22.3.2 → 22.3.3

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.
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "version": "22.4.2",
3
+ "version": "22.5.0",
4
4
  "generatedAt": "snapshot",
5
5
  "framework": {
6
6
  "name": "angular",
7
7
  "version": "^21.0.0"
8
8
  },
9
9
  "packages": {
10
- "designSystem": "22.4.2",
10
+ "designSystem": "22.5.0",
11
11
  "icons": "22.1.1",
12
12
  "core": "22.0.8"
13
13
  },
@@ -295,6 +295,13 @@
295
295
  "ns-progress-bar"
296
296
  ]
297
297
  },
298
+ {
299
+ "family": "quantity",
300
+ "group": "form",
301
+ "components": [
302
+ "ns-quantity"
303
+ ]
304
+ },
298
305
  {
299
306
  "family": "radio",
300
307
  "group": "form",
@@ -3360,7 +3367,6 @@
3360
3367
  "--ns-component-chip-choice-font-weight",
3361
3368
  "--ns-component-chip-choice-min-height",
3362
3369
  "--ns-component-chip-choice-padding-inline",
3363
- "--ns-component-chip-choice-radius",
3364
3370
  "--ns-component-chip-color",
3365
3371
  "--ns-component-chip-danger-background",
3366
3372
  "--ns-component-chip-danger-color",
@@ -3377,7 +3383,6 @@
3377
3383
  "--ns-component-chip-pill-font-weight",
3378
3384
  "--ns-component-chip-pill-padding-block",
3379
3385
  "--ns-component-chip-pill-padding-inline",
3380
- "--ns-component-chip-pill-radius",
3381
3386
  "--ns-component-chip-primary-background",
3382
3387
  "--ns-component-chip-primary-color",
3383
3388
  "--ns-component-chip-radius",
@@ -13241,45 +13246,51 @@
13241
13246
  ]
13242
13247
  },
13243
13248
  {
13244
- "selector": "ns-radio",
13245
- "slug": "radio",
13249
+ "selector": "ns-quantity",
13250
+ "slug": "quantity",
13246
13251
  "selectorType": "element",
13247
- "className": "NsRadioComponent",
13248
- "exportedAs": "NsRadioComponent",
13252
+ "className": "NsQuantityComponent",
13253
+ "exportedAs": "NsQuantityComponent",
13249
13254
  "visibility": "public",
13250
13255
  "importFrom": "@ng-solid/design-system",
13251
- "family": "radio",
13256
+ "family": "quantity",
13252
13257
  "group": "form",
13253
13258
  "standalone": true,
13254
13259
  "templateExportAs": null,
13255
- "filePath": "packages/design-system/src/lib/form/components/radio/radio.component.ts",
13256
- "imports": [],
13257
- "providers": "[]",
13258
- "formControl": null,
13260
+ "filePath": "packages/design-system/src/lib/form/components/quantity/quantity.component.ts",
13261
+ "imports": [
13262
+ "NsIconsComponent"
13263
+ ],
13264
+ "providers": "[\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NsQuantityComponent),\n multi: true\n }\n ]",
13265
+ "formControl": {
13266
+ "isValueAccessor": true,
13267
+ "valueType": "number | null",
13268
+ "baseClass": "NsValueAccessor"
13269
+ },
13259
13270
  "inputs": [
13260
13271
  {
13261
- "name": "disabled",
13272
+ "name": "ariaDescribedBy",
13262
13273
  "kind": "input",
13263
13274
  "required": false,
13264
13275
  "alias": null,
13265
- "bindingName": "disabled",
13266
- "type": "boolean",
13276
+ "bindingName": "ariaDescribedBy",
13277
+ "type": "string | undefined",
13267
13278
  "values": null,
13268
- "default": "false",
13279
+ "default": "undefined",
13269
13280
  "defaultKind": "literal",
13270
13281
  "transform": null,
13271
13282
  "transformKind": null,
13272
13283
  "acceptsAttribute": false,
13273
13284
  "docs": "",
13274
- "inheritedFrom": null,
13275
- "binding": "[disabled]=\"disabled\""
13285
+ "inheritedFrom": "NsValueAccessor",
13286
+ "binding": "[ariaDescribedBy]=\"ariaDescribedBy\""
13276
13287
  },
13277
13288
  {
13278
- "name": "label",
13289
+ "name": "ariaLabel",
13279
13290
  "kind": "input",
13280
13291
  "required": false,
13281
13292
  "alias": null,
13282
- "bindingName": "label",
13293
+ "bindingName": "ariaLabel",
13283
13294
  "type": "string | undefined",
13284
13295
  "values": null,
13285
13296
  "default": "undefined",
@@ -13288,118 +13299,55 @@
13288
13299
  "transformKind": null,
13289
13300
  "acceptsAttribute": false,
13290
13301
  "docs": "",
13291
- "inheritedFrom": null,
13292
- "binding": "[label]=\"label\""
13302
+ "inheritedFrom": "NsValueAccessor",
13303
+ "binding": "[ariaLabel]=\"ariaLabel\""
13293
13304
  },
13294
13305
  {
13295
- "name": "name",
13306
+ "name": "color",
13296
13307
  "kind": "input",
13297
13308
  "required": false,
13298
13309
  "alias": null,
13299
- "bindingName": "name",
13300
- "type": "string | undefined",
13301
- "values": null,
13302
- "default": "undefined",
13310
+ "bindingName": "color",
13311
+ "type": "'neutral' | 'primary' | 'success' | 'warning' | 'danger'",
13312
+ "values": [
13313
+ "warning",
13314
+ "danger",
13315
+ "success",
13316
+ "primary",
13317
+ "neutral"
13318
+ ],
13319
+ "default": "'neutral'",
13303
13320
  "defaultKind": "literal",
13304
13321
  "transform": null,
13305
13322
  "transformKind": null,
13306
13323
  "acceptsAttribute": false,
13307
13324
  "docs": "",
13308
- "inheritedFrom": null,
13309
- "binding": "[name]=\"name\""
13325
+ "inheritedFrom": "NsValueAccessor",
13326
+ "binding": "[color]=\"color\""
13310
13327
  },
13311
13328
  {
13312
- "name": "value",
13329
+ "name": "decrementAriaLabel",
13313
13330
  "kind": "input",
13314
- "required": true,
13331
+ "required": false,
13315
13332
  "alias": null,
13316
- "bindingName": "value",
13333
+ "bindingName": "decrementAriaLabel",
13317
13334
  "type": "string",
13318
13335
  "values": null,
13319
- "default": null,
13320
- "defaultKind": null,
13336
+ "default": "'Disminuir'",
13337
+ "defaultKind": "literal",
13321
13338
  "transform": null,
13322
13339
  "transformKind": null,
13323
13340
  "acceptsAttribute": false,
13324
13341
  "docs": "",
13325
13342
  "inheritedFrom": null,
13326
- "binding": "[value]=\"value\""
13327
- }
13328
- ],
13329
- "outputs": [],
13330
- "models": [],
13331
- "composition": {
13332
- "parent": null,
13333
- "children": []
13334
- },
13335
- "bem": {
13336
- "block": "ns-radio",
13337
- "staticClasses": [],
13338
- "elements": [
13339
- "ns-radio__input",
13340
- "ns-radio__label"
13341
- ],
13342
- "modifiers": [],
13343
- "modifierMap": {},
13344
- "attrs": [],
13345
- "listeners": [],
13346
- "styleVars": [],
13347
- "other": []
13348
- },
13349
- "slots": [],
13350
- "a11y": {
13351
- "roles": [],
13352
- "ariaAttributes": [],
13353
- "focusTrap": false,
13354
- "focusable": false
13355
- },
13356
- "tokens": [
13357
- "--ns-component-radio-background",
13358
- "--ns-component-radio-border-color",
13359
- "--ns-component-radio-checked-background",
13360
- "--ns-component-radio-description-color",
13361
- "--ns-component-radio-disabled-color",
13362
- "--ns-component-radio-error-color",
13363
- "--ns-component-radio-focus-shadow",
13364
- "--ns-component-radio-inset",
13365
- "--ns-component-radio-label-color"
13366
- ],
13367
- "docs": "",
13368
- "category": "Formularios",
13369
- "summary": "Define una opción dentro de un RadioGroup.",
13370
- "snippet": "<ns-radio value=\"monthly\" label=\"Mensual\" />",
13371
- "variants": [
13372
- "label",
13373
- "disabled"
13374
- ]
13375
- },
13376
- {
13377
- "selector": "ns-radio-group",
13378
- "slug": "radio-group",
13379
- "selectorType": "element",
13380
- "className": "NsRadioGroupComponent",
13381
- "exportedAs": "NsRadioGroupComponent",
13382
- "visibility": "public",
13383
- "importFrom": "@ng-solid/design-system",
13384
- "family": "radio",
13385
- "group": "form",
13386
- "standalone": true,
13387
- "templateExportAs": null,
13388
- "filePath": "packages/design-system/src/lib/form/components/radio/radio-group.component.ts",
13389
- "imports": [],
13390
- "providers": "[\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NsRadioGroupComponent),\n multi: true\n },\n NsRadioGroupContext\n ]",
13391
- "formControl": {
13392
- "isValueAccessor": true,
13393
- "valueType": "string | null",
13394
- "baseClass": "NsValueAccessor"
13395
- },
13396
- "inputs": [
13343
+ "binding": "decrementAriaLabel=\"Disminuir\""
13344
+ },
13397
13345
  {
13398
- "name": "ariaDescribedBy",
13346
+ "name": "description",
13399
13347
  "kind": "input",
13400
13348
  "required": false,
13401
13349
  "alias": null,
13402
- "bindingName": "ariaDescribedBy",
13350
+ "bindingName": "description",
13403
13351
  "type": "string | undefined",
13404
13352
  "values": null,
13405
13353
  "default": "undefined",
@@ -13409,14 +13357,14 @@
13409
13357
  "acceptsAttribute": false,
13410
13358
  "docs": "",
13411
13359
  "inheritedFrom": "NsValueAccessor",
13412
- "binding": "[ariaDescribedBy]=\"ariaDescribedBy\""
13360
+ "binding": "[description]=\"description\""
13413
13361
  },
13414
13362
  {
13415
- "name": "ariaLabel",
13363
+ "name": "errorMessage",
13416
13364
  "kind": "input",
13417
13365
  "required": false,
13418
13366
  "alias": null,
13419
- "bindingName": "ariaLabel",
13367
+ "bindingName": "errorMessage",
13420
13368
  "type": "string | undefined",
13421
13369
  "values": null,
13422
13370
  "default": "undefined",
@@ -13426,64 +13374,760 @@
13426
13374
  "acceptsAttribute": false,
13427
13375
  "docs": "",
13428
13376
  "inheritedFrom": "NsValueAccessor",
13429
- "binding": "[ariaLabel]=\"ariaLabel\""
13377
+ "binding": "[errorMessage]=\"errorMessage\""
13430
13378
  },
13431
13379
  {
13432
- "name": "color",
13380
+ "name": "formatOptions",
13433
13381
  "kind": "input",
13434
13382
  "required": false,
13435
13383
  "alias": null,
13436
- "bindingName": "color",
13437
- "type": "'neutral' | 'primary' | 'success' | 'warning' | 'danger'",
13438
- "values": [
13439
- "warning",
13440
- "danger",
13441
- "success",
13442
- "primary",
13443
- "neutral"
13444
- ],
13445
- "default": "'neutral'",
13384
+ "bindingName": "formatOptions",
13385
+ "type": "Intl.NumberFormatOptions",
13386
+ "values": null,
13387
+ "default": "{}",
13446
13388
  "defaultKind": "literal",
13447
13389
  "transform": null,
13448
13390
  "transformKind": null,
13449
13391
  "acceptsAttribute": false,
13450
- "docs": "",
13451
- "inheritedFrom": "NsValueAccessor",
13452
- "binding": "[color]=\"color\""
13392
+ "docs": "`Intl.NumberFormat` options used for the blurred display and `aria-valuetext`.",
13393
+ "inheritedFrom": null,
13394
+ "binding": "[formatOptions]=\"formatOptions\""
13453
13395
  },
13454
13396
  {
13455
- "name": "description",
13397
+ "name": "fullWidth",
13456
13398
  "kind": "input",
13457
13399
  "required": false,
13458
13400
  "alias": null,
13459
- "bindingName": "description",
13460
- "type": "string | undefined",
13401
+ "bindingName": "fullWidth",
13402
+ "type": "boolean",
13461
13403
  "values": null,
13462
- "default": "undefined",
13404
+ "default": "false",
13463
13405
  "defaultKind": "literal",
13464
- "transform": null,
13465
- "transformKind": null,
13466
- "acceptsAttribute": false,
13406
+ "transform": "booleanAttribute",
13407
+ "transformKind": "angular",
13408
+ "acceptsAttribute": true,
13467
13409
  "docs": "",
13468
- "inheritedFrom": "NsValueAccessor",
13469
- "binding": "[description]=\"description\""
13410
+ "inheritedFrom": null,
13411
+ "binding": "fullWidth",
13412
+ "bindingAlt": [
13413
+ "[fullWidth]=\"expr\""
13414
+ ]
13470
13415
  },
13471
13416
  {
13472
- "name": "errorMessage",
13417
+ "name": "incrementAriaLabel",
13473
13418
  "kind": "input",
13474
13419
  "required": false,
13475
13420
  "alias": null,
13476
- "bindingName": "errorMessage",
13477
- "type": "string | undefined",
13421
+ "bindingName": "incrementAriaLabel",
13422
+ "type": "string",
13478
13423
  "values": null,
13479
- "default": "undefined",
13424
+ "default": "'Aumentar'",
13480
13425
  "defaultKind": "literal",
13481
13426
  "transform": null,
13482
13427
  "transformKind": null,
13483
13428
  "acceptsAttribute": false,
13484
13429
  "docs": "",
13485
- "inheritedFrom": "NsValueAccessor",
13486
- "binding": "[errorMessage]=\"errorMessage\""
13430
+ "inheritedFrom": null,
13431
+ "binding": "incrementAriaLabel=\"Aumentar\""
13432
+ },
13433
+ {
13434
+ "name": "invalid",
13435
+ "kind": "input",
13436
+ "required": false,
13437
+ "alias": null,
13438
+ "bindingName": "invalid",
13439
+ "type": "boolean",
13440
+ "values": null,
13441
+ "default": "false",
13442
+ "defaultKind": "literal",
13443
+ "transform": null,
13444
+ "transformKind": null,
13445
+ "acceptsAttribute": false,
13446
+ "docs": "",
13447
+ "inheritedFrom": "NsValueAccessor",
13448
+ "binding": "[invalid]=\"invalid\""
13449
+ },
13450
+ {
13451
+ "name": "label",
13452
+ "kind": "input",
13453
+ "required": false,
13454
+ "alias": null,
13455
+ "bindingName": "label",
13456
+ "type": "string | undefined",
13457
+ "values": null,
13458
+ "default": "undefined",
13459
+ "defaultKind": "literal",
13460
+ "transform": null,
13461
+ "transformKind": null,
13462
+ "acceptsAttribute": false,
13463
+ "docs": "",
13464
+ "inheritedFrom": "NsValueAccessor",
13465
+ "binding": "[label]=\"label\""
13466
+ },
13467
+ {
13468
+ "name": "locale",
13469
+ "kind": "input",
13470
+ "required": false,
13471
+ "alias": null,
13472
+ "bindingName": "locale",
13473
+ "type": "string",
13474
+ "values": null,
13475
+ "default": "inject(LOCALE_ID)",
13476
+ "defaultKind": "expression",
13477
+ "transform": null,
13478
+ "transformKind": null,
13479
+ "acceptsAttribute": false,
13480
+ "docs": "",
13481
+ "inheritedFrom": null,
13482
+ "binding": "locale=\"value\""
13483
+ },
13484
+ {
13485
+ "name": "max",
13486
+ "kind": "input",
13487
+ "required": false,
13488
+ "alias": null,
13489
+ "bindingName": "max",
13490
+ "type": "number | undefined",
13491
+ "values": null,
13492
+ "default": "undefined",
13493
+ "defaultKind": "literal",
13494
+ "transform": "optionalNumber",
13495
+ "transformKind": "custom",
13496
+ "acceptsAttribute": false,
13497
+ "docs": "",
13498
+ "inheritedFrom": null,
13499
+ "binding": "[max]=\"max\""
13500
+ },
13501
+ {
13502
+ "name": "min",
13503
+ "kind": "input",
13504
+ "required": false,
13505
+ "alias": null,
13506
+ "bindingName": "min",
13507
+ "type": "number | undefined",
13508
+ "values": null,
13509
+ "default": "undefined",
13510
+ "defaultKind": "literal",
13511
+ "transform": "optionalNumber",
13512
+ "transformKind": "custom",
13513
+ "acceptsAttribute": false,
13514
+ "docs": "",
13515
+ "inheritedFrom": null,
13516
+ "binding": "[min]=\"min\""
13517
+ },
13518
+ {
13519
+ "name": "name",
13520
+ "kind": "input",
13521
+ "required": false,
13522
+ "alias": null,
13523
+ "bindingName": "name",
13524
+ "type": "string | undefined",
13525
+ "values": null,
13526
+ "default": "undefined",
13527
+ "defaultKind": "literal",
13528
+ "transform": null,
13529
+ "transformKind": null,
13530
+ "acceptsAttribute": false,
13531
+ "docs": "",
13532
+ "inheritedFrom": "NsValueAccessor",
13533
+ "binding": "[name]=\"name\""
13534
+ },
13535
+ {
13536
+ "name": "placeholder",
13537
+ "kind": "input",
13538
+ "required": false,
13539
+ "alias": null,
13540
+ "bindingName": "placeholder",
13541
+ "type": "string",
13542
+ "values": null,
13543
+ "default": "''",
13544
+ "defaultKind": "literal",
13545
+ "transform": null,
13546
+ "transformKind": null,
13547
+ "acceptsAttribute": false,
13548
+ "docs": "",
13549
+ "inheritedFrom": "NsValueAccessor",
13550
+ "binding": "placeholder=\"value\""
13551
+ },
13552
+ {
13553
+ "name": "readonly",
13554
+ "kind": "input",
13555
+ "required": false,
13556
+ "alias": null,
13557
+ "bindingName": "readonly",
13558
+ "type": "boolean",
13559
+ "values": null,
13560
+ "default": "false",
13561
+ "defaultKind": "literal",
13562
+ "transform": null,
13563
+ "transformKind": null,
13564
+ "acceptsAttribute": false,
13565
+ "docs": "",
13566
+ "inheritedFrom": "NsValueAccessor",
13567
+ "binding": "[readonly]=\"readonly\""
13568
+ },
13569
+ {
13570
+ "name": "required",
13571
+ "kind": "input",
13572
+ "required": false,
13573
+ "alias": null,
13574
+ "bindingName": "required",
13575
+ "type": "boolean",
13576
+ "values": null,
13577
+ "default": "false",
13578
+ "defaultKind": "literal",
13579
+ "transform": null,
13580
+ "transformKind": null,
13581
+ "acceptsAttribute": false,
13582
+ "docs": "",
13583
+ "inheritedFrom": "NsValueAccessor",
13584
+ "binding": "[required]=\"required\""
13585
+ },
13586
+ {
13587
+ "name": "size",
13588
+ "kind": "input",
13589
+ "required": false,
13590
+ "alias": null,
13591
+ "bindingName": "size",
13592
+ "type": "'sm' | 'md' | 'lg'",
13593
+ "values": [
13594
+ "sm",
13595
+ "md",
13596
+ "lg"
13597
+ ],
13598
+ "default": "'md'",
13599
+ "defaultKind": "literal",
13600
+ "transform": null,
13601
+ "transformKind": null,
13602
+ "acceptsAttribute": false,
13603
+ "docs": "",
13604
+ "inheritedFrom": "NsValueAccessor",
13605
+ "binding": "[size]=\"size\""
13606
+ },
13607
+ {
13608
+ "name": "step",
13609
+ "kind": "input",
13610
+ "required": false,
13611
+ "alias": null,
13612
+ "bindingName": "step",
13613
+ "type": "number",
13614
+ "values": null,
13615
+ "default": "1",
13616
+ "defaultKind": "literal",
13617
+ "transform": "positiveStep",
13618
+ "transformKind": "custom",
13619
+ "acceptsAttribute": false,
13620
+ "docs": "",
13621
+ "inheritedFrom": null,
13622
+ "binding": "[step]=\"step\""
13623
+ },
13624
+ {
13625
+ "name": "type",
13626
+ "kind": "input",
13627
+ "required": false,
13628
+ "alias": null,
13629
+ "bindingName": "type",
13630
+ "type": "string",
13631
+ "values": null,
13632
+ "default": "'text'",
13633
+ "defaultKind": "literal",
13634
+ "transform": null,
13635
+ "transformKind": null,
13636
+ "acceptsAttribute": false,
13637
+ "docs": "",
13638
+ "inheritedFrom": "NsValueAccessor",
13639
+ "binding": "type=\"text\""
13640
+ },
13641
+ {
13642
+ "name": "variant",
13643
+ "kind": "input",
13644
+ "required": false,
13645
+ "alias": null,
13646
+ "bindingName": "variant",
13647
+ "type": "'solid' | 'soft' | 'outline' | 'ghost'",
13648
+ "values": [
13649
+ "solid",
13650
+ "soft",
13651
+ "outline",
13652
+ "ghost"
13653
+ ],
13654
+ "default": "'outline'",
13655
+ "defaultKind": "literal",
13656
+ "transform": null,
13657
+ "transformKind": null,
13658
+ "acceptsAttribute": false,
13659
+ "docs": "",
13660
+ "inheritedFrom": "NsValueAccessor",
13661
+ "binding": "[variant]=\"variant\""
13662
+ },
13663
+ {
13664
+ "name": "wheelDisabled",
13665
+ "kind": "input",
13666
+ "required": false,
13667
+ "alias": null,
13668
+ "bindingName": "wheelDisabled",
13669
+ "type": "boolean",
13670
+ "values": null,
13671
+ "default": "false",
13672
+ "defaultKind": "literal",
13673
+ "transform": "booleanAttribute",
13674
+ "transformKind": "angular",
13675
+ "acceptsAttribute": true,
13676
+ "docs": "",
13677
+ "inheritedFrom": null,
13678
+ "binding": "wheelDisabled",
13679
+ "bindingAlt": [
13680
+ "[wheelDisabled]=\"expr\""
13681
+ ]
13682
+ }
13683
+ ],
13684
+ "outputs": [],
13685
+ "models": [
13686
+ {
13687
+ "name": "disabled",
13688
+ "kind": "model",
13689
+ "required": false,
13690
+ "alias": null,
13691
+ "bindingName": "disabled",
13692
+ "type": "boolean",
13693
+ "values": null,
13694
+ "default": "false",
13695
+ "defaultKind": "literal",
13696
+ "transform": null,
13697
+ "transformKind": null,
13698
+ "acceptsAttribute": false,
13699
+ "docs": "",
13700
+ "inheritedFrom": "NsValueAccessor",
13701
+ "binding": "[(disabled)]=\"disabled\"",
13702
+ "outputName": "disabledChange"
13703
+ },
13704
+ {
13705
+ "name": "value",
13706
+ "kind": "model",
13707
+ "required": false,
13708
+ "alias": null,
13709
+ "bindingName": "value",
13710
+ "type": "T",
13711
+ "values": null,
13712
+ "default": "undefined as T",
13713
+ "defaultKind": "expression",
13714
+ "transform": null,
13715
+ "transformKind": null,
13716
+ "acceptsAttribute": false,
13717
+ "docs": "",
13718
+ "inheritedFrom": "NsValueAccessor",
13719
+ "binding": "[(value)]=\"value\"",
13720
+ "outputName": "valueChange"
13721
+ }
13722
+ ],
13723
+ "composition": {
13724
+ "parent": null,
13725
+ "children": []
13726
+ },
13727
+ "bem": {
13728
+ "block": "ns-quantity",
13729
+ "staticClasses": [],
13730
+ "elements": [
13731
+ "ns-quantity__button",
13732
+ "ns-quantity__button--decrement",
13733
+ "ns-quantity__button--increment",
13734
+ "ns-quantity__description",
13735
+ "ns-quantity__error",
13736
+ "ns-quantity__group",
13737
+ "ns-quantity__input",
13738
+ "ns-quantity__label",
13739
+ "ns-quantity__required"
13740
+ ],
13741
+ "modifiers": [
13742
+ {
13743
+ "input": "disabled",
13744
+ "value": true,
13745
+ "kind": "boolean",
13746
+ "className": "ns-quantity--disabled"
13747
+ },
13748
+ {
13749
+ "input": "fullWidth",
13750
+ "value": true,
13751
+ "kind": "boolean",
13752
+ "className": "ns-quantity--full-width"
13753
+ },
13754
+ {
13755
+ "input": "invalid",
13756
+ "value": true,
13757
+ "kind": "boolean",
13758
+ "className": "ns-quantity--invalid"
13759
+ },
13760
+ {
13761
+ "input": "size",
13762
+ "value": "lg",
13763
+ "kind": "enum",
13764
+ "className": "ns-quantity--lg"
13765
+ },
13766
+ {
13767
+ "input": null,
13768
+ "value": null,
13769
+ "kind": "expression",
13770
+ "className": "ns-quantity--outline",
13771
+ "expression": "variant() !== 'soft'"
13772
+ },
13773
+ {
13774
+ "input": "readonly",
13775
+ "value": true,
13776
+ "kind": "boolean",
13777
+ "className": "ns-quantity--readonly"
13778
+ },
13779
+ {
13780
+ "input": "size",
13781
+ "value": "sm",
13782
+ "kind": "enum",
13783
+ "className": "ns-quantity--sm"
13784
+ },
13785
+ {
13786
+ "input": "variant",
13787
+ "value": "soft",
13788
+ "kind": "enum",
13789
+ "className": "ns-quantity--soft"
13790
+ }
13791
+ ],
13792
+ "modifierMap": {
13793
+ "variant": {
13794
+ "soft": "ns-quantity--soft"
13795
+ },
13796
+ "size": {
13797
+ "sm": "ns-quantity--sm",
13798
+ "lg": "ns-quantity--lg"
13799
+ },
13800
+ "disabled": {
13801
+ "true": "ns-quantity--disabled"
13802
+ },
13803
+ "invalid": {
13804
+ "true": "ns-quantity--invalid"
13805
+ },
13806
+ "readonly": {
13807
+ "true": "ns-quantity--readonly"
13808
+ },
13809
+ "fullWidth": {
13810
+ "true": "ns-quantity--full-width"
13811
+ }
13812
+ },
13813
+ "attrs": [],
13814
+ "listeners": [],
13815
+ "styleVars": [],
13816
+ "other": []
13817
+ },
13818
+ "slots": [],
13819
+ "a11y": {
13820
+ "roles": [
13821
+ "alert",
13822
+ "spinbutton"
13823
+ ],
13824
+ "ariaAttributes": [
13825
+ "aria-controls",
13826
+ "aria-describedby",
13827
+ "aria-hidden",
13828
+ "aria-invalid",
13829
+ "aria-label",
13830
+ "aria-readonly",
13831
+ "aria-required",
13832
+ "aria-valuemax",
13833
+ "aria-valuemin",
13834
+ "aria-valuenow",
13835
+ "aria-valuetext"
13836
+ ],
13837
+ "focusTrap": false,
13838
+ "focusable": true
13839
+ },
13840
+ "tokens": [
13841
+ "--ns-component-quantity-background",
13842
+ "--ns-component-quantity-border-color",
13843
+ "--ns-component-quantity-border-focus-color",
13844
+ "--ns-component-quantity-border-hover-color",
13845
+ "--ns-component-quantity-border-width",
13846
+ "--ns-component-quantity-button-active-background",
13847
+ "--ns-component-quantity-button-disabled-color",
13848
+ "--ns-component-quantity-button-hover-background",
13849
+ "--ns-component-quantity-button-soft-hover-background",
13850
+ "--ns-component-quantity-color",
13851
+ "--ns-component-quantity-description-color",
13852
+ "--ns-component-quantity-disabled-background",
13853
+ "--ns-component-quantity-disabled-color",
13854
+ "--ns-component-quantity-divider-color",
13855
+ "--ns-component-quantity-error-color",
13856
+ "--ns-component-quantity-focus-shadow",
13857
+ "--ns-component-quantity-icon-color",
13858
+ "--ns-component-quantity-icon-size",
13859
+ "--ns-component-quantity-invalid-border-color",
13860
+ "--ns-component-quantity-label-color",
13861
+ "--ns-component-quantity-label-size",
13862
+ "--ns-component-quantity-label-weight",
13863
+ "--ns-component-quantity-min-height",
13864
+ "--ns-component-quantity-min-height-lg",
13865
+ "--ns-component-quantity-min-height-sm",
13866
+ "--ns-component-quantity-padding-inline",
13867
+ "--ns-component-quantity-placeholder",
13868
+ "--ns-component-quantity-radius",
13869
+ "--ns-component-quantity-required-color",
13870
+ "--ns-component-quantity-shadow",
13871
+ "--ns-component-quantity-soft-background",
13872
+ "--ns-component-quantity-transition-duration"
13873
+ ],
13874
+ "docs": "Numeric stepper `[–] | input | [+]` (WAI-ARIA spinbutton).\n\nThe model is `number | null`. While focused the field shows an editable raw\nnumber; on blur / Enter / stepping the text is parsed with the active\n`locale`, clamped to `min`/`max` and snapped to `step` (counted from `min`\nwhen set). When blurred it shows `formatOptions` applied through\n`Intl.NumberFormat`.\n\n`formatOptions.style === 'percent'` follows the `Intl` convention: the model\nis a fraction (`0.5` shows \"50 %\"), so `min`/`max`/`step` are fractions too.",
13875
+ "category": "Formularios",
13876
+ "summary": "Selector numérico con botones de incremento y decremento.",
13877
+ "snippet": "<ns-quantity label=\"Cantidad\" [min]=\"0\" [max]=\"2048\" [(ngModel)]=\"quantity\" />",
13878
+ "variants": [
13879
+ "outline",
13880
+ "soft",
13881
+ "min / max",
13882
+ "step",
13883
+ "percent",
13884
+ "disabled"
13885
+ ]
13886
+ },
13887
+ {
13888
+ "selector": "ns-radio",
13889
+ "slug": "radio",
13890
+ "selectorType": "element",
13891
+ "className": "NsRadioComponent",
13892
+ "exportedAs": "NsRadioComponent",
13893
+ "visibility": "public",
13894
+ "importFrom": "@ng-solid/design-system",
13895
+ "family": "radio",
13896
+ "group": "form",
13897
+ "standalone": true,
13898
+ "templateExportAs": null,
13899
+ "filePath": "packages/design-system/src/lib/form/components/radio/radio.component.ts",
13900
+ "imports": [],
13901
+ "providers": "[]",
13902
+ "formControl": null,
13903
+ "inputs": [
13904
+ {
13905
+ "name": "disabled",
13906
+ "kind": "input",
13907
+ "required": false,
13908
+ "alias": null,
13909
+ "bindingName": "disabled",
13910
+ "type": "boolean",
13911
+ "values": null,
13912
+ "default": "false",
13913
+ "defaultKind": "literal",
13914
+ "transform": null,
13915
+ "transformKind": null,
13916
+ "acceptsAttribute": false,
13917
+ "docs": "",
13918
+ "inheritedFrom": null,
13919
+ "binding": "[disabled]=\"disabled\""
13920
+ },
13921
+ {
13922
+ "name": "label",
13923
+ "kind": "input",
13924
+ "required": false,
13925
+ "alias": null,
13926
+ "bindingName": "label",
13927
+ "type": "string | undefined",
13928
+ "values": null,
13929
+ "default": "undefined",
13930
+ "defaultKind": "literal",
13931
+ "transform": null,
13932
+ "transformKind": null,
13933
+ "acceptsAttribute": false,
13934
+ "docs": "",
13935
+ "inheritedFrom": null,
13936
+ "binding": "[label]=\"label\""
13937
+ },
13938
+ {
13939
+ "name": "name",
13940
+ "kind": "input",
13941
+ "required": false,
13942
+ "alias": null,
13943
+ "bindingName": "name",
13944
+ "type": "string | undefined",
13945
+ "values": null,
13946
+ "default": "undefined",
13947
+ "defaultKind": "literal",
13948
+ "transform": null,
13949
+ "transformKind": null,
13950
+ "acceptsAttribute": false,
13951
+ "docs": "",
13952
+ "inheritedFrom": null,
13953
+ "binding": "[name]=\"name\""
13954
+ },
13955
+ {
13956
+ "name": "value",
13957
+ "kind": "input",
13958
+ "required": true,
13959
+ "alias": null,
13960
+ "bindingName": "value",
13961
+ "type": "string",
13962
+ "values": null,
13963
+ "default": null,
13964
+ "defaultKind": null,
13965
+ "transform": null,
13966
+ "transformKind": null,
13967
+ "acceptsAttribute": false,
13968
+ "docs": "",
13969
+ "inheritedFrom": null,
13970
+ "binding": "[value]=\"value\""
13971
+ }
13972
+ ],
13973
+ "outputs": [],
13974
+ "models": [],
13975
+ "composition": {
13976
+ "parent": null,
13977
+ "children": []
13978
+ },
13979
+ "bem": {
13980
+ "block": "ns-radio",
13981
+ "staticClasses": [],
13982
+ "elements": [
13983
+ "ns-radio__input",
13984
+ "ns-radio__label"
13985
+ ],
13986
+ "modifiers": [],
13987
+ "modifierMap": {},
13988
+ "attrs": [],
13989
+ "listeners": [],
13990
+ "styleVars": [],
13991
+ "other": []
13992
+ },
13993
+ "slots": [],
13994
+ "a11y": {
13995
+ "roles": [],
13996
+ "ariaAttributes": [],
13997
+ "focusTrap": false,
13998
+ "focusable": false
13999
+ },
14000
+ "tokens": [
14001
+ "--ns-component-radio-background",
14002
+ "--ns-component-radio-border-color",
14003
+ "--ns-component-radio-checked-background",
14004
+ "--ns-component-radio-description-color",
14005
+ "--ns-component-radio-disabled-color",
14006
+ "--ns-component-radio-error-color",
14007
+ "--ns-component-radio-focus-shadow",
14008
+ "--ns-component-radio-inset",
14009
+ "--ns-component-radio-label-color"
14010
+ ],
14011
+ "docs": "",
14012
+ "category": "Formularios",
14013
+ "summary": "Define una opción dentro de un RadioGroup.",
14014
+ "snippet": "<ns-radio value=\"monthly\" label=\"Mensual\" />",
14015
+ "variants": [
14016
+ "label",
14017
+ "disabled"
14018
+ ]
14019
+ },
14020
+ {
14021
+ "selector": "ns-radio-group",
14022
+ "slug": "radio-group",
14023
+ "selectorType": "element",
14024
+ "className": "NsRadioGroupComponent",
14025
+ "exportedAs": "NsRadioGroupComponent",
14026
+ "visibility": "public",
14027
+ "importFrom": "@ng-solid/design-system",
14028
+ "family": "radio",
14029
+ "group": "form",
14030
+ "standalone": true,
14031
+ "templateExportAs": null,
14032
+ "filePath": "packages/design-system/src/lib/form/components/radio/radio-group.component.ts",
14033
+ "imports": [],
14034
+ "providers": "[\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NsRadioGroupComponent),\n multi: true\n },\n NsRadioGroupContext\n ]",
14035
+ "formControl": {
14036
+ "isValueAccessor": true,
14037
+ "valueType": "string | null",
14038
+ "baseClass": "NsValueAccessor"
14039
+ },
14040
+ "inputs": [
14041
+ {
14042
+ "name": "ariaDescribedBy",
14043
+ "kind": "input",
14044
+ "required": false,
14045
+ "alias": null,
14046
+ "bindingName": "ariaDescribedBy",
14047
+ "type": "string | undefined",
14048
+ "values": null,
14049
+ "default": "undefined",
14050
+ "defaultKind": "literal",
14051
+ "transform": null,
14052
+ "transformKind": null,
14053
+ "acceptsAttribute": false,
14054
+ "docs": "",
14055
+ "inheritedFrom": "NsValueAccessor",
14056
+ "binding": "[ariaDescribedBy]=\"ariaDescribedBy\""
14057
+ },
14058
+ {
14059
+ "name": "ariaLabel",
14060
+ "kind": "input",
14061
+ "required": false,
14062
+ "alias": null,
14063
+ "bindingName": "ariaLabel",
14064
+ "type": "string | undefined",
14065
+ "values": null,
14066
+ "default": "undefined",
14067
+ "defaultKind": "literal",
14068
+ "transform": null,
14069
+ "transformKind": null,
14070
+ "acceptsAttribute": false,
14071
+ "docs": "",
14072
+ "inheritedFrom": "NsValueAccessor",
14073
+ "binding": "[ariaLabel]=\"ariaLabel\""
14074
+ },
14075
+ {
14076
+ "name": "color",
14077
+ "kind": "input",
14078
+ "required": false,
14079
+ "alias": null,
14080
+ "bindingName": "color",
14081
+ "type": "'neutral' | 'primary' | 'success' | 'warning' | 'danger'",
14082
+ "values": [
14083
+ "warning",
14084
+ "danger",
14085
+ "success",
14086
+ "primary",
14087
+ "neutral"
14088
+ ],
14089
+ "default": "'neutral'",
14090
+ "defaultKind": "literal",
14091
+ "transform": null,
14092
+ "transformKind": null,
14093
+ "acceptsAttribute": false,
14094
+ "docs": "",
14095
+ "inheritedFrom": "NsValueAccessor",
14096
+ "binding": "[color]=\"color\""
14097
+ },
14098
+ {
14099
+ "name": "description",
14100
+ "kind": "input",
14101
+ "required": false,
14102
+ "alias": null,
14103
+ "bindingName": "description",
14104
+ "type": "string | undefined",
14105
+ "values": null,
14106
+ "default": "undefined",
14107
+ "defaultKind": "literal",
14108
+ "transform": null,
14109
+ "transformKind": null,
14110
+ "acceptsAttribute": false,
14111
+ "docs": "",
14112
+ "inheritedFrom": "NsValueAccessor",
14113
+ "binding": "[description]=\"description\""
14114
+ },
14115
+ {
14116
+ "name": "errorMessage",
14117
+ "kind": "input",
14118
+ "required": false,
14119
+ "alias": null,
14120
+ "bindingName": "errorMessage",
14121
+ "type": "string | undefined",
14122
+ "values": null,
14123
+ "default": "undefined",
14124
+ "defaultKind": "literal",
14125
+ "transform": null,
14126
+ "transformKind": null,
14127
+ "acceptsAttribute": false,
14128
+ "docs": "",
14129
+ "inheritedFrom": "NsValueAccessor",
14130
+ "binding": "[errorMessage]=\"errorMessage\""
13487
14131
  },
13488
14132
  {
13489
14133
  "name": "invalid",
@@ -18885,7 +19529,7 @@
18885
19529
  {
18886
19530
  "id": "tabla-generada",
18887
19531
  "title": "Tabla generada",
18888
- "content": "| Selector | Clase | Familia | Categoría |\n| --- | --- | --- | --- |\n| `ns-accordion` | `NsAccordionComponent` | accordion | Contenido |\n| `ns-accordion-item` | `NsAccordionItemComponent` | accordion | — |\n| `ns-alert` | `NsAlertComponent` | alert | Feedback |\n| `ns-avatar` | `NsAvatarComponent` | avatar | Contenido |\n| `ns-avatar-group` | `NsAvatarGroupComponent` | avatar | Contenido |\n| `ns-badge` | `NsBadgeComponent` | badge | Feedback |\n| `ns-breadcrumb-item` | `NsBreadcrumbItemComponent` | breadcrumbs | — |\n| `ns-breadcrumbs` | `NsBreadcrumbsComponent` | breadcrumbs | Navegación |\n| `ns-button` | `NsButtonComponent` | button | Acciones |\n| `ns-button-group` | `NsButtonGroupComponent` | button-group | Acciones |\n| `ns-card` | `NsCardComponent` | card | Superficies |\n| `ns-card-body` | `NsCardBodyComponent` | card | — |\n| `ns-card-footer` | `NsCardFooterComponent` | card | — |\n| `ns-card-header` | `NsCardHeaderComponent` | card | — |\n| `ns-checkbox` | `NsCheckboxComponent` | form/checkbox | Formularios |\n| `ns-chip` | `NsChipComponent` | chip | Feedback |\n| `ns-command-palette` | `NsCommandPaletteComponent` | command-palette | Overlays |\n| `ns-comment` | `NsCommentComponent` | comment | Formularios |\n| `ns-content-editable` | `NsContentEditableComponent` | form/directives | Formularios |\n| `ns-date-picker` | `NsDatePickerComponent` | form/date-picker | Formularios |\n| `ns-date-range-picker` | `NsDateRangePickerComponent` | form/date-picker | Formularios |\n| `ns-description` | `NsDescriptionComponent` | description | Accesibilidad |\n| `ns-divider` | `NsDividerComponent` | divider | Contenido |\n| `ns-drawer` | `NsDrawerComponent` | drawer | Overlays |\n| `ns-dropdown` | `NsDropdownComponent` | form/dropdown | Formularios |\n| `ns-dropdown-item` | `NsDropdownItemDirective` | form/dropdown | — |\n| `ns-editor` | `NsEditorComponent` | editor | Formularios |\n| `ns-editor-color-picker` | `NsEditorColorPickerComponent` | editor | — |\n| `ns-editor-image` | `NsEditorImageComponent` | editor | — |\n| `ns-editor-link` | `NsEditorLinkComponent` | editor | — |\n| `ns-editor-list` | `NsEditorListComponent` | editor | — |\n| `ns-editor-paragraph` | `NsEditorParagraphComponent` | editor | — |\n| `ns-editor-toggle` | `NsEditorToggleCommandComponent` | editor | — |\n| `ns-empty-state` | `NsEmptyStateComponent` | empty-state | Feedback |\n| `[nsField]` | `NsFieldDirective` | a11y | — |\n| `ns-image-upload` | `NsImageUploadComponent` | image-upload | Formularios |\n| `ns-input` | `NsInputComponent` | form/input | Formularios |\n| `ns-input-code` | `NsInputCodeComponent` | form/input-code | Formularios |\n| `ns-input-group` | `NsInputGroupComponent` | form/input-group | Formularios |\n| `ns-input-group-addon` | `NsInputGroupAddonComponent` | form/input-group | — |\n| `ns-input-number` | `NsInputNumberComponent` | form/input-number | Formularios |\n| `ns-input-search` | `NsInputSearchComponent` | form/input-search | Formularios |\n| `ns-link` | `NsLinkComponent` | link | Navegación |\n| `ns-load-more` | `NsLoadMoreComponent` | pagination | Navegación |\n| `ns-menu` | `NsMenuComponent` | menu | Overlays |\n| `ns-menu-divider, hr[ns-menu-divider]` | `NsMenuDividerComponent` | menu | — |\n| `ns-menu-item` | `NsMenuItemComponent` | menu | — |\n| `ns-menu-section` | `NsMenuSectionComponent` | menu | — |\n| `ns-meter` | `NsMeterComponent` | meter | Datos |\n| `ns-modal` | `NsModalComponent` | modal | Overlays |\n| `ns-option-card` | `NsOptionCardComponent` | form/option-card | Formularios |\n| `ns-pagination` | `NsPaginationComponent` | pagination | Navegación |\n| `ns-password` | `NsPasswordComponent` | form/password | Formularios |\n| `ns-popover` | `NsPopoverComponent` | popover | Overlays |\n| `ns-progress-bar` | `NsProgressBarComponent` | progress-bar | Feedback |\n| `ns-radio` | `NsRadioComponent` | form/radio | Formularios |\n| `ns-radio-group` | `NsRadioGroupComponent` | form/radio | Formularios |\n| `ns-schedule` | `NsScheduleComponent` | schedule | Datos |\n| `ns-schema` | `NsSchemaMarkupComponent` | schema | — |\n| `ns-side-nav` | `NsSideNavComponent` | side-nav | Navegación |\n| `ns-side-nav-item` | `NsSideNavItemComponent` | side-nav | — |\n| `ns-side-nav-section` | `NsSideNavSectionComponent` | side-nav | — |\n| `ns-skeleton` | `NsSkeletonComponent` | skeleton | Feedback |\n| `ns-slider` | `NsSliderComponent` | form/slider | Formularios |\n| `ns-stat-card` | `NsStatCardComponent` | stat-card | Datos |\n| `ns-surface` | `NsSurfaceComponent` | surface | Superficies |\n| `ns-switch` | `NsSwitchComponent` | form/switch | Formularios |\n| `ns-tab` | `NsTabComponent` | tabs | — |\n| `ns-tabs` | `NsTabsComponent` | tabs | Navegación |\n| `ns-tag` | `NsTagComponent` | tag-group | — |\n| `ns-tag-group` | `NsTagGroupComponent` | tag-group | Formularios |\n| `[nsTemplate]` | `TemplateDirective` | template | — |\n| `ns-textarea` | `NsTextAreaComponent` | form/text-area | Formularios |\n| `ns-timeline` | `NsTimelineComponent` | timeline | Datos |\n| `ns-timeline-item` | `NsTimelineItemComponent` | timeline | — |\n| `ns-toast` | `NsToastComponent` | toast | Feedback |\n| `ns-tooltip` | `NsTooltipComponent` | tooltip | — |\n| `[nsTooltip]` | `NsTooltipDirective` | tooltip | Overlays |\n\nTodos se importan desde `@ng-solid/design-system` (entry point único —\nver la skill `ns-solid-install`) y son standalone: deben declararse en\n`imports: [...]` de quien los usa."
19532
+ "content": "| Selector | Clase | Familia | Categoría |\n| --- | --- | --- | --- |\n| `ns-accordion` | `NsAccordionComponent` | accordion | Contenido |\n| `ns-accordion-item` | `NsAccordionItemComponent` | accordion | — |\n| `ns-alert` | `NsAlertComponent` | alert | Feedback |\n| `ns-avatar` | `NsAvatarComponent` | avatar | Contenido |\n| `ns-avatar-group` | `NsAvatarGroupComponent` | avatar | Contenido |\n| `ns-badge` | `NsBadgeComponent` | badge | Feedback |\n| `ns-breadcrumb-item` | `NsBreadcrumbItemComponent` | breadcrumbs | — |\n| `ns-breadcrumbs` | `NsBreadcrumbsComponent` | breadcrumbs | Navegación |\n| `ns-button` | `NsButtonComponent` | button | Acciones |\n| `ns-button-group` | `NsButtonGroupComponent` | button-group | Acciones |\n| `ns-card` | `NsCardComponent` | card | Superficies |\n| `ns-card-body` | `NsCardBodyComponent` | card | — |\n| `ns-card-footer` | `NsCardFooterComponent` | card | — |\n| `ns-card-header` | `NsCardHeaderComponent` | card | — |\n| `ns-checkbox` | `NsCheckboxComponent` | form/checkbox | Formularios |\n| `ns-chip` | `NsChipComponent` | chip | Feedback |\n| `ns-command-palette` | `NsCommandPaletteComponent` | command-palette | Overlays |\n| `ns-comment` | `NsCommentComponent` | comment | Formularios |\n| `ns-content-editable` | `NsContentEditableComponent` | form/directives | Formularios |\n| `ns-date-picker` | `NsDatePickerComponent` | form/date-picker | Formularios |\n| `ns-date-range-picker` | `NsDateRangePickerComponent` | form/date-picker | Formularios |\n| `ns-description` | `NsDescriptionComponent` | description | Accesibilidad |\n| `ns-divider` | `NsDividerComponent` | divider | Contenido |\n| `ns-drawer` | `NsDrawerComponent` | drawer | Overlays |\n| `ns-dropdown` | `NsDropdownComponent` | form/dropdown | Formularios |\n| `ns-dropdown-item` | `NsDropdownItemDirective` | form/dropdown | — |\n| `ns-editor` | `NsEditorComponent` | editor | Formularios |\n| `ns-editor-color-picker` | `NsEditorColorPickerComponent` | editor | — |\n| `ns-editor-image` | `NsEditorImageComponent` | editor | — |\n| `ns-editor-link` | `NsEditorLinkComponent` | editor | — |\n| `ns-editor-list` | `NsEditorListComponent` | editor | — |\n| `ns-editor-paragraph` | `NsEditorParagraphComponent` | editor | — |\n| `ns-editor-toggle` | `NsEditorToggleCommandComponent` | editor | — |\n| `ns-empty-state` | `NsEmptyStateComponent` | empty-state | Feedback |\n| `[nsField]` | `NsFieldDirective` | a11y | — |\n| `ns-image-upload` | `NsImageUploadComponent` | image-upload | Formularios |\n| `ns-input` | `NsInputComponent` | form/input | Formularios |\n| `ns-input-code` | `NsInputCodeComponent` | form/input-code | Formularios |\n| `ns-input-group` | `NsInputGroupComponent` | form/input-group | Formularios |\n| `ns-input-group-addon` | `NsInputGroupAddonComponent` | form/input-group | — |\n| `ns-input-number` | `NsInputNumberComponent` | form/input-number | Formularios |\n| `ns-input-search` | `NsInputSearchComponent` | form/input-search | Formularios |\n| `ns-link` | `NsLinkComponent` | link | Navegación |\n| `ns-load-more` | `NsLoadMoreComponent` | pagination | Navegación |\n| `ns-menu` | `NsMenuComponent` | menu | Overlays |\n| `ns-menu-divider, hr[ns-menu-divider]` | `NsMenuDividerComponent` | menu | — |\n| `ns-menu-item` | `NsMenuItemComponent` | menu | — |\n| `ns-menu-section` | `NsMenuSectionComponent` | menu | — |\n| `ns-meter` | `NsMeterComponent` | meter | Datos |\n| `ns-modal` | `NsModalComponent` | modal | Overlays |\n| `ns-option-card` | `NsOptionCardComponent` | form/option-card | Formularios |\n| `ns-pagination` | `NsPaginationComponent` | pagination | Navegación |\n| `ns-password` | `NsPasswordComponent` | form/password | Formularios |\n| `ns-popover` | `NsPopoverComponent` | popover | Overlays |\n| `ns-progress-bar` | `NsProgressBarComponent` | progress-bar | Feedback |\n| `ns-quantity` | `NsQuantityComponent` | form/quantity | Formularios |\n| `ns-radio` | `NsRadioComponent` | form/radio | Formularios |\n| `ns-radio-group` | `NsRadioGroupComponent` | form/radio | Formularios |\n| `ns-schedule` | `NsScheduleComponent` | schedule | Datos |\n| `ns-schema` | `NsSchemaMarkupComponent` | schema | — |\n| `ns-side-nav` | `NsSideNavComponent` | side-nav | Navegación |\n| `ns-side-nav-item` | `NsSideNavItemComponent` | side-nav | — |\n| `ns-side-nav-section` | `NsSideNavSectionComponent` | side-nav | — |\n| `ns-skeleton` | `NsSkeletonComponent` | skeleton | Feedback |\n| `ns-slider` | `NsSliderComponent` | form/slider | Formularios |\n| `ns-stat-card` | `NsStatCardComponent` | stat-card | Datos |\n| `ns-surface` | `NsSurfaceComponent` | surface | Superficies |\n| `ns-switch` | `NsSwitchComponent` | form/switch | Formularios |\n| `ns-tab` | `NsTabComponent` | tabs | — |\n| `ns-tabs` | `NsTabsComponent` | tabs | Navegación |\n| `ns-tag` | `NsTagComponent` | tag-group | — |\n| `ns-tag-group` | `NsTagGroupComponent` | tag-group | Formularios |\n| `[nsTemplate]` | `TemplateDirective` | template | — |\n| `ns-textarea` | `NsTextAreaComponent` | form/text-area | Formularios |\n| `ns-timeline` | `NsTimelineComponent` | timeline | Datos |\n| `ns-timeline-item` | `NsTimelineItemComponent` | timeline | — |\n| `ns-toast` | `NsToastComponent` | toast | Feedback |\n| `ns-tooltip` | `NsTooltipComponent` | tooltip | — |\n| `[nsTooltip]` | `NsTooltipDirective` | tooltip | Overlays |\n\nTodos se importan desde `@ng-solid/design-system` (entry point único —\nver la skill `ns-solid-install`) y son standalone: deben declararse en\n`imports: [...]` de quien los usa."
18889
19533
  },
18890
19534
  {
18891
19535
  "id": "reglas-de-composicion-padre-hijo",
@@ -18919,7 +19563,7 @@
18919
19563
  {
18920
19564
  "id": "controles-cva-y-sus-inputs-heredados",
18921
19565
  "title": "Controles CVA y sus inputs heredados",
18922
- "content": "| Selector | Clase | Inputs propios (además de los 14 heredados) |\n| --- | --- | --- |\n| `ns-checkbox` | `NsCheckboxComponent` | — |\n| `ns-content-editable` | `NsContentEditableComponent` | `maxLength` |\n| `ns-date-picker` | `NsDatePickerComponent` | `firstDayOfWeek`, `maxDate`, `minDate`, `unavailableDates` |\n| `ns-date-range-picker` | `NsDateRangePickerComponent` | `firstDayOfWeek`, `maxDate`, `minDate`, `unavailableDates` |\n| `ns-dropdown` | `NsDropdownComponent` | `collection`, `emptyText`, `loading`, `placement`, `searchable`, `searchPlaceholder`, `selectionMode` |\n| `ns-input` | `NsInputComponent` | `icon` |\n| `ns-input-code` | `NsInputCodeComponent` | `length` |\n| `ns-input-number` | `NsInputNumberComponent` | `currency`, `format`, `max`, `min`, `step` |\n| `ns-input-search` | `NsInputSearchComponent` | — |\n| `ns-password` | `NsPasswordComponent` | `forgotLink`, `forgotLinkLabel` |\n| `ns-radio-group` | `NsRadioGroupComponent` | — |\n| `ns-slider` | `NsSliderComponent` | `max`, `min`, `range`, `step` |\n| `ns-switch` | `NsSwitchComponent` | `layout`, `size` |\n| `ns-textarea` | `NsTextAreaComponent` | `rows` |\n\nTodos heredan de `NsValueAccessor`: 14 `input()` (`type`, `placeholder`, `label`, `description`, `errorMessage`, `required`, `invalid`, `readonly`, `name`, `ariaLabel`, `ariaDescribedBy`, `size`, `color`, `variant`) más `disabled` y `value` como `model()`.\n\nTodos implementan `ControlValueAccessor` extendiendo la clase base abstracta\n`NsValueAccessor<T>`\n(`packages/design-system/src/lib/form/models/value-accessor.ts`). Muchos\ncomponentes (`NsInputComponent`, `NsSwitchComponent`, `NsCheckboxComponent`…)\ntienen cuerpo de clase vacío — **toda** su API pública viene por herencia. Si\nconsultas la API de un control y ves 0 inputs propios, no significa que el\ncomponente no acepte nada: revisa `inheritedFrom: 'NsValueAccessor'`.\n\n`NsValueAccessor` expone, en todos los controles por igual:\n\n- `type`, `placeholder`, `label`, `description`, `errorMessage`, `required`,\n `invalid`, `readonly`, `name`, `ariaLabel`, `ariaDescribedBy` — `input()`.\n- `size: 'sm' | 'md' | 'lg'` (default `'md'`), `color: 'neutral' | 'primary'\n| 'success' | 'warning' | 'danger'` (default `'neutral'`), `variant:\n'solid' | 'soft' | 'outline' | 'ghost'` (default `'outline'`) — `input()`.\n- `disabled` — **`model()`**, no `input()`. Por eso `formControl.disable()` /\n `.enable()` funciona de forma transparente: `setDisabledState` (parte del\n contrato `ControlValueAccessor`) llama a `this.disabled.set(isDisabled)`\n por debajo.\n- `value` — también `model()`, escrito por Angular Forms vía `writeValue` y\n leído/emitido por el propio control con `setValue()`."
19566
+ "content": "| Selector | Clase | Inputs propios (además de los 14 heredados) |\n| --- | --- | --- |\n| `ns-checkbox` | `NsCheckboxComponent` | — |\n| `ns-content-editable` | `NsContentEditableComponent` | `maxLength` |\n| `ns-date-picker` | `NsDatePickerComponent` | `firstDayOfWeek`, `maxDate`, `minDate`, `unavailableDates` |\n| `ns-date-range-picker` | `NsDateRangePickerComponent` | `firstDayOfWeek`, `maxDate`, `minDate`, `unavailableDates` |\n| `ns-dropdown` | `NsDropdownComponent` | `collection`, `emptyText`, `loading`, `placement`, `searchable`, `searchPlaceholder`, `selectionMode` |\n| `ns-input` | `NsInputComponent` | `icon` |\n| `ns-input-code` | `NsInputCodeComponent` | `length` |\n| `ns-input-number` | `NsInputNumberComponent` | `currency`, `format`, `max`, `min`, `step` |\n| `ns-input-search` | `NsInputSearchComponent` | — |\n| `ns-password` | `NsPasswordComponent` | `forgotLink`, `forgotLinkLabel` |\n| `ns-quantity` | `NsQuantityComponent` | `decrementAriaLabel`, `formatOptions`, `fullWidth`, `incrementAriaLabel`, `locale`, `max`, `min`, `step`, `wheelDisabled` |\n| `ns-radio-group` | `NsRadioGroupComponent` | — |\n| `ns-slider` | `NsSliderComponent` | `max`, `min`, `range`, `step` |\n| `ns-switch` | `NsSwitchComponent` | `layout`, `size` |\n| `ns-textarea` | `NsTextAreaComponent` | `rows` |\n\nTodos heredan de `NsValueAccessor`: 14 `input()` (`type`, `placeholder`, `label`, `description`, `errorMessage`, `required`, `invalid`, `readonly`, `name`, `ariaLabel`, `ariaDescribedBy`, `size`, `color`, `variant`) más `disabled` y `value` como `model()`.\n\nTodos implementan `ControlValueAccessor` extendiendo la clase base abstracta\n`NsValueAccessor<T>`\n(`packages/design-system/src/lib/form/models/value-accessor.ts`). Muchos\ncomponentes (`NsInputComponent`, `NsSwitchComponent`, `NsCheckboxComponent`…)\ntienen cuerpo de clase vacío — **toda** su API pública viene por herencia. Si\nconsultas la API de un control y ves 0 inputs propios, no significa que el\ncomponente no acepte nada: revisa `inheritedFrom: 'NsValueAccessor'`.\n\n`NsValueAccessor` expone, en todos los controles por igual:\n\n- `type`, `placeholder`, `label`, `description`, `errorMessage`, `required`,\n `invalid`, `readonly`, `name`, `ariaLabel`, `ariaDescribedBy` — `input()`.\n- `size: 'sm' | 'md' | 'lg'` (default `'md'`), `color: 'neutral' | 'primary'\n| 'success' | 'warning' | 'danger'` (default `'neutral'`), `variant:\n'solid' | 'soft' | 'outline' | 'ghost'` (default `'outline'`) — `input()`.\n- `disabled` — **`model()`**, no `input()`. Por eso `formControl.disable()` /\n `.enable()` funciona de forma transparente: `setDisabledState` (parte del\n contrato `ControlValueAccessor`) llama a `this.disabled.set(isDisabled)`\n por debajo.\n- `value` — también `model()`, escrito por Angular Forms vía `writeValue` y\n leído/emitido por el propio control con `setValue()`."
18923
19567
  },
18924
19568
  {
18925
19569
  "id": "bindings-los-tres-equivalentes",
@@ -18987,7 +19631,7 @@
18987
19631
  {
18988
19632
  "id": "paquetes-y-peer-dependencies",
18989
19633
  "title": "Paquetes y peer dependencies",
18990
- "content": "```bash\npnpm add @ng-solid/design-system @ng-solid/icons\n```\n\n`@ng-solid/design-system` declara estos peer dependencies (ver\n`packages/design-system/package.json`):\n\n- `@angular/core`, `@angular/common`, `@angular/forms`,\n `@angular/platform-browser`, `@angular/router` en `^21.0.0`.\n- `@ng-solid/icons` en `^22.0.5`.\n- `tailwindcss` en `^4.0.0`, marcado **opcional** (`peerDependenciesMeta`) —\n sólo hace falta si la app consume el puente de utilidades semánticas.\n\nVersiones publicadas actualmente:\n\n- `@ng-solid/design-system@22.4.2` (peer `@angular/*@^21.0.0`)\n- `@ng-solid/icons@22.1.1`\n\nSi tu app usa Tailwind, añade también el plugin de PostCSS:\n\n```bash\npnpm add -D tailwindcss @tailwindcss/postcss\n```"
19634
+ "content": "```bash\npnpm add @ng-solid/design-system @ng-solid/icons\n```\n\n`@ng-solid/design-system` declara estos peer dependencies (ver\n`packages/design-system/package.json`):\n\n- `@angular/core`, `@angular/common`, `@angular/forms`,\n `@angular/platform-browser`, `@angular/router` en `^21.0.0`.\n- `@ng-solid/icons` en `^22.0.5`.\n- `tailwindcss` en `^4.0.0`, marcado **opcional** (`peerDependenciesMeta`) —\n sólo hace falta si la app consume el puente de utilidades semánticas.\n\nVersiones publicadas actualmente:\n\n- `@ng-solid/design-system@22.5.0` (peer `@angular/*@^21.0.0`)\n- `@ng-solid/icons@22.1.1`\n\nSi tu app usa Tailwind, añade también el plugin de PostCSS:\n\n```bash\npnpm add -D tailwindcss @tailwindcss/postcss\n```"
18991
19635
  },
18992
19636
  {
18993
19637
  "id": "entrypoint-unico-nada-de-subpaths",
@@ -19070,7 +19714,7 @@
19070
19714
  {
19071
19715
  "id": "los-tres-niveles-de-tokens",
19072
19716
  "title": "Los tres niveles de tokens",
19073
- "content": "`packages/design-system/src/lib/theme/presets/arvisfy.preset.ts` define el\npreset en tres tiers, cada uno sólo puede referenciar al tier anterior:\n\n1. **`primitive`** — únicos valores crudos permitidos (hex, `rem`, pesos de\n fuente, escalas numéricas). Ejemplo real: `primitive.color.klein.500 =\n'#3665F3'`.\n2. **`semantic`** — referencia primitivos con la sintaxis `{primitive.…}`, y\n se divide en `common` (independiente de esquema) y\n `colorScheme.light` / `colorScheme.dark` (un valor distinto por esquema).\n3. **`components`** — referencia semánticos con `{semantic.…}`. Es el único\n tier que las hojas de estilo de componente pueden consumir, y sólo a\n través de la variable CSS resultante.\n\nConteo actual del preset Arvisfy:\n\n282 primitivos, 441 semánticos, 1107 de componente en 53 grupos."
19717
+ "content": "`packages/design-system/src/lib/theme/presets/arvisfy.preset.ts` define el\npreset en tres tiers, cada uno sólo puede referenciar al tier anterior:\n\n1. **`primitive`** — únicos valores crudos permitidos (hex, `rem`, pesos de\n fuente, escalas numéricas). Ejemplo real: `primitive.color.klein.500 =\n'#3665F3'`.\n2. **`semantic`** — referencia primitivos con la sintaxis `{primitive.…}`, y\n se divide en `common` (independiente de esquema) y\n `colorScheme.light` / `colorScheme.dark` (un valor distinto por esquema).\n3. **`components`** — referencia semánticos con `{semantic.…}`. Es el único\n tier que las hojas de estilo de componente pueden consumir, y sólo a\n través de la variable CSS resultante.\n\nConteo actual del preset Arvisfy:\n\n282 primitivos, 441 semánticos, 1137 de componente en 54 grupos."
19074
19718
  },
19075
19719
  {
19076
19720
  "id": "regla-de-oro-del-scss-de-componente",
@@ -24728,15 +25372,6 @@
24728
25372
  "dark": "13px"
24729
25373
  }
24730
25374
  },
24731
- {
24732
- "path": "chip.choiceRadius",
24733
- "cssVariable": "--ns-component-chip-choice-radius",
24734
- "reference": "{semantic.radius.field}",
24735
- "resolved": {
24736
- "light": "0.625rem",
24737
- "dark": "0.625rem"
24738
- }
24739
- },
24740
25375
  {
24741
25376
  "path": "chip.color",
24742
25377
  "cssVariable": "--ns-component-chip-color",
@@ -24881,15 +25516,6 @@
24881
25516
  "dark": "10px"
24882
25517
  }
24883
25518
  },
24884
- {
24885
- "path": "chip.pillRadius",
24886
- "cssVariable": "--ns-component-chip-pill-radius",
24887
- "reference": "{semantic.radius.pill}",
24888
- "resolved": {
24889
- "light": "0.5rem",
24890
- "dark": "0.5rem"
24891
- }
24892
- },
24893
25519
  {
24894
25520
  "path": "chip.primaryBackground",
24895
25521
  "cssVariable": "--ns-component-chip-primary-background",
@@ -30398,6 +31024,294 @@
30398
31024
  "dark": "#C08A1E"
30399
31025
  }
30400
31026
  },
31027
+ {
31028
+ "path": "quantity.background",
31029
+ "cssVariable": "--ns-component-quantity-background",
31030
+ "reference": "{semantic.color.surface}",
31031
+ "resolved": {
31032
+ "light": "#FFFFFF",
31033
+ "dark": "#151C2B"
31034
+ }
31035
+ },
31036
+ {
31037
+ "path": "quantity.borderColor",
31038
+ "cssVariable": "--ns-component-quantity-border-color",
31039
+ "reference": "{semantic.color.border}",
31040
+ "resolved": {
31041
+ "light": "#E4E4E2",
31042
+ "dark": "#2B3447"
31043
+ }
31044
+ },
31045
+ {
31046
+ "path": "quantity.borderFocusColor",
31047
+ "cssVariable": "--ns-component-quantity-border-focus-color",
31048
+ "reference": "{semantic.color.focus}",
31049
+ "resolved": {
31050
+ "light": "#3665F3",
31051
+ "dark": "#6F92FF"
31052
+ }
31053
+ },
31054
+ {
31055
+ "path": "quantity.borderHoverColor",
31056
+ "cssVariable": "--ns-component-quantity-border-hover-color",
31057
+ "reference": "{semantic.color.borderStrong}",
31058
+ "resolved": {
31059
+ "light": "#A9AAAF",
31060
+ "dark": "#6E7078"
31061
+ }
31062
+ },
31063
+ {
31064
+ "path": "quantity.borderWidth",
31065
+ "cssVariable": "--ns-component-quantity-border-width",
31066
+ "reference": "{semantic.border.thin}",
31067
+ "resolved": {
31068
+ "light": "1px",
31069
+ "dark": "1px"
31070
+ }
31071
+ },
31072
+ {
31073
+ "path": "quantity.buttonActiveBackground",
31074
+ "cssVariable": "--ns-component-quantity-button-active-background",
31075
+ "reference": "{semantic.color.surfaceEmphasis}",
31076
+ "resolved": {
31077
+ "light": "#E8E8E6",
31078
+ "dark": "#202A3B"
31079
+ }
31080
+ },
31081
+ {
31082
+ "path": "quantity.buttonDisabledColor",
31083
+ "cssVariable": "--ns-component-quantity-button-disabled-color",
31084
+ "reference": "{semantic.color.textMuted}",
31085
+ "resolved": {
31086
+ "light": "#8A8C93",
31087
+ "dark": "#A7B0C0"
31088
+ }
31089
+ },
31090
+ {
31091
+ "path": "quantity.buttonHoverBackground",
31092
+ "cssVariable": "--ns-component-quantity-button-hover-background",
31093
+ "reference": "{semantic.color.surfaceMuted}",
31094
+ "resolved": {
31095
+ "light": "#F5F5F4",
31096
+ "dark": "#1C2536"
31097
+ }
31098
+ },
31099
+ {
31100
+ "path": "quantity.buttonSoftHoverBackground",
31101
+ "cssVariable": "--ns-component-quantity-button-soft-hover-background",
31102
+ "reference": "{semantic.color.surfaceEmphasis}",
31103
+ "resolved": {
31104
+ "light": "#E8E8E6",
31105
+ "dark": "#202A3B"
31106
+ }
31107
+ },
31108
+ {
31109
+ "path": "quantity.color",
31110
+ "cssVariable": "--ns-component-quantity-color",
31111
+ "reference": "{semantic.color.textSecondary}",
31112
+ "resolved": {
31113
+ "light": "#4A4F58",
31114
+ "dark": "#F5F7FB"
31115
+ }
31116
+ },
31117
+ {
31118
+ "path": "quantity.descriptionColor",
31119
+ "cssVariable": "--ns-component-quantity-description-color",
31120
+ "reference": "{semantic.color.textMuted}",
31121
+ "resolved": {
31122
+ "light": "#8A8C93",
31123
+ "dark": "#A7B0C0"
31124
+ }
31125
+ },
31126
+ {
31127
+ "path": "quantity.disabledBackground",
31128
+ "cssVariable": "--ns-component-quantity-disabled-background",
31129
+ "reference": "{semantic.color.surfaceMuted}",
31130
+ "resolved": {
31131
+ "light": "#F5F5F4",
31132
+ "dark": "#1C2536"
31133
+ }
31134
+ },
31135
+ {
31136
+ "path": "quantity.disabledColor",
31137
+ "cssVariable": "--ns-component-quantity-disabled-color",
31138
+ "reference": "{semantic.color.textMuted}",
31139
+ "resolved": {
31140
+ "light": "#8A8C93",
31141
+ "dark": "#A7B0C0"
31142
+ }
31143
+ },
31144
+ {
31145
+ "path": "quantity.dividerColor",
31146
+ "cssVariable": "--ns-component-quantity-divider-color",
31147
+ "reference": "{semantic.color.border}",
31148
+ "resolved": {
31149
+ "light": "#E4E4E2",
31150
+ "dark": "#2B3447"
31151
+ }
31152
+ },
31153
+ {
31154
+ "path": "quantity.errorColor",
31155
+ "cssVariable": "--ns-component-quantity-error-color",
31156
+ "reference": "{semantic.status.danger}",
31157
+ "resolved": {
31158
+ "light": "#E5514A",
31159
+ "dark": "#E5514A"
31160
+ }
31161
+ },
31162
+ {
31163
+ "path": "quantity.focusShadow",
31164
+ "cssVariable": "--ns-component-quantity-focus-shadow",
31165
+ "reference": "{semantic.shadow.focus}",
31166
+ "resolved": {
31167
+ "light": "0 0 0 3px rgb(54 101 243 / 28%)",
31168
+ "dark": "0 0 0 3px rgb(111 146 255 / 36%)"
31169
+ }
31170
+ },
31171
+ {
31172
+ "path": "quantity.iconColor",
31173
+ "cssVariable": "--ns-component-quantity-icon-color",
31174
+ "reference": "{semantic.color.textSecondary}",
31175
+ "resolved": {
31176
+ "light": "#4A4F58",
31177
+ "dark": "#F5F7FB"
31178
+ }
31179
+ },
31180
+ {
31181
+ "path": "quantity.iconSize",
31182
+ "cssVariable": "--ns-component-quantity-icon-size",
31183
+ "reference": "{semantic.size.fieldIconSize}",
31184
+ "resolved": {
31185
+ "light": "1rem",
31186
+ "dark": "1rem"
31187
+ }
31188
+ },
31189
+ {
31190
+ "path": "quantity.invalidBorderColor",
31191
+ "cssVariable": "--ns-component-quantity-invalid-border-color",
31192
+ "reference": "{semantic.status.danger}",
31193
+ "resolved": {
31194
+ "light": "#E5514A",
31195
+ "dark": "#E5514A"
31196
+ }
31197
+ },
31198
+ {
31199
+ "path": "quantity.labelColor",
31200
+ "cssVariable": "--ns-component-quantity-label-color",
31201
+ "reference": "{semantic.color.text}",
31202
+ "resolved": {
31203
+ "light": "#12182B",
31204
+ "dark": "#F5F7FB"
31205
+ }
31206
+ },
31207
+ {
31208
+ "path": "quantity.labelSize",
31209
+ "cssVariable": "--ns-component-quantity-label-size",
31210
+ "reference": "{semantic.text.label}",
31211
+ "resolved": {
31212
+ "light": "0.78125rem",
31213
+ "dark": "0.78125rem"
31214
+ }
31215
+ },
31216
+ {
31217
+ "path": "quantity.labelWeight",
31218
+ "cssVariable": "--ns-component-quantity-label-weight",
31219
+ "reference": "{semantic.fontWeight.bold}",
31220
+ "resolved": {
31221
+ "light": 700,
31222
+ "dark": 700
31223
+ }
31224
+ },
31225
+ {
31226
+ "path": "quantity.minHeight",
31227
+ "cssVariable": "--ns-component-quantity-min-height",
31228
+ "reference": "{semantic.size.inputMinHeight}",
31229
+ "resolved": {
31230
+ "light": "2.625rem",
31231
+ "dark": "2.625rem"
31232
+ }
31233
+ },
31234
+ {
31235
+ "path": "quantity.minHeightLg",
31236
+ "cssVariable": "--ns-component-quantity-min-height-lg",
31237
+ "reference": "{semantic.size.controlLg}",
31238
+ "resolved": {
31239
+ "light": "3rem",
31240
+ "dark": "3rem"
31241
+ }
31242
+ },
31243
+ {
31244
+ "path": "quantity.minHeightSm",
31245
+ "cssVariable": "--ns-component-quantity-min-height-sm",
31246
+ "reference": "{semantic.size.controlSm}",
31247
+ "resolved": {
31248
+ "light": "2.375rem",
31249
+ "dark": "2.375rem"
31250
+ }
31251
+ },
31252
+ {
31253
+ "path": "quantity.paddingInline",
31254
+ "cssVariable": "--ns-component-quantity-padding-inline",
31255
+ "reference": "{semantic.space.md}",
31256
+ "resolved": {
31257
+ "light": "0.75rem",
31258
+ "dark": "0.75rem"
31259
+ }
31260
+ },
31261
+ {
31262
+ "path": "quantity.placeholder",
31263
+ "cssVariable": "--ns-component-quantity-placeholder",
31264
+ "reference": "{semantic.color.textMuted}",
31265
+ "resolved": {
31266
+ "light": "#8A8C93",
31267
+ "dark": "#A7B0C0"
31268
+ }
31269
+ },
31270
+ {
31271
+ "path": "quantity.radius",
31272
+ "cssVariable": "--ns-component-quantity-radius",
31273
+ "reference": "{semantic.radius.field}",
31274
+ "resolved": {
31275
+ "light": "0.625rem",
31276
+ "dark": "0.625rem"
31277
+ }
31278
+ },
31279
+ {
31280
+ "path": "quantity.requiredColor",
31281
+ "cssVariable": "--ns-component-quantity-required-color",
31282
+ "reference": "{semantic.status.danger}",
31283
+ "resolved": {
31284
+ "light": "#E5514A",
31285
+ "dark": "#E5514A"
31286
+ }
31287
+ },
31288
+ {
31289
+ "path": "quantity.shadow",
31290
+ "cssVariable": "--ns-component-quantity-shadow",
31291
+ "reference": "{semantic.shadow.subtle}",
31292
+ "resolved": {
31293
+ "light": "0 1px 2px rgb(18 24 43 / 5%), 0 8px 24px rgb(18 24 43 / 6%)",
31294
+ "dark": "0 1px 2px rgb(0 0 0 / 24%), 0 8px 24px rgb(0 0 0 / 22%)"
31295
+ }
31296
+ },
31297
+ {
31298
+ "path": "quantity.softBackground",
31299
+ "cssVariable": "--ns-component-quantity-soft-background",
31300
+ "reference": "{semantic.color.surfaceMuted}",
31301
+ "resolved": {
31302
+ "light": "#F5F5F4",
31303
+ "dark": "#1C2536"
31304
+ }
31305
+ },
31306
+ {
31307
+ "path": "quantity.transitionDuration",
31308
+ "cssVariable": "--ns-component-quantity-transition-duration",
31309
+ "reference": "{semantic.motion.fast}",
31310
+ "resolved": {
31311
+ "light": "150ms",
31312
+ "dark": "150ms"
31313
+ }
31314
+ },
30401
31315
  {
30402
31316
  "path": "radio.background",
30403
31317
  "cssVariable": "--ns-component-radio-background",
@@ -33175,6 +34089,7 @@
33175
34089
  "password",
33176
34090
  "popover",
33177
34091
  "progressBar",
34092
+ "quantity",
33178
34093
  "radio",
33179
34094
  "schedule",
33180
34095
  "scheduleEvent",
@@ -33295,7 +34210,7 @@
33295
34210
  ]
33296
34211
  },
33297
34212
  "stats": {
33298
- "componentsPublic": 78,
34213
+ "componentsPublic": 79,
33299
34214
  "componentsInternal": 7,
33300
34215
  "services": 6,
33301
34216
  "providers": 3,
@@ -33303,6 +34218,6 @@
33303
34218
  "icons": 1790,
33304
34219
  "tokensPrimitive": 282,
33305
34220
  "tokensSemantic": 441,
33306
- "tokensComponent": 1107
34221
+ "tokensComponent": 1137
33307
34222
  }
33308
34223
  }