nuvox 0.1.3 → 0.1.5

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.
@@ -4297,6 +4297,8 @@
4297
4297
  position: relative;
4298
4298
  overflow: hidden;
4299
4299
  border-radius: var(--radius-lg, 12px);
4300
+ border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, transparent);
4301
+ box-shadow: var(--shadow-md, 0 4px 12px rgba(0, 0, 0, 0.08));
4300
4302
  grid-row: 1;
4301
4303
  grid-column: 1;
4302
4304
  }
@@ -4335,7 +4337,7 @@
4335
4337
  justify-content: center;
4336
4338
  inline-size: 36px;
4337
4339
  block-size: 36px;
4338
- border: 1px solid var(--color-neutral-200, #e5e5e5);
4340
+ border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e5e5);
4339
4341
  border-radius: var(--radius-full, 9999px);
4340
4342
  background: color-mix(in srgb, var(--color-neutral-0, #ffffff) 85%, transparent);
4341
4343
  color: var(--color-neutral-800, #262626);
@@ -4433,99 +4435,731 @@
4433
4435
  flex-direction: row-reverse;
4434
4436
  text-align: end;
4435
4437
  }
4436
- .nx-timeline--align-end.nx-timeline--vertical .nx-timeline__header {
4437
- flex-direction: row-reverse;
4438
+ .nx-timeline--align-end.nx-timeline--vertical .nx-timeline__header {
4439
+ flex-direction: row-reverse;
4440
+ }
4441
+ .nx-timeline--horizontal {
4442
+ flex-direction: row;
4443
+ overflow-x: auto;
4444
+ }
4445
+ .nx-timeline--horizontal .nx-timeline__item {
4446
+ display: flex;
4447
+ flex-direction: column;
4448
+ align-items: center;
4449
+ flex: 1 0 10rem;
4450
+ }
4451
+ .nx-timeline--horizontal .nx-timeline__marker {
4452
+ display: flex;
4453
+ align-items: center;
4454
+ inline-size: 100%;
4455
+ }
4456
+ .nx-timeline--horizontal .nx-timeline__connector {
4457
+ flex: 1 1 auto;
4458
+ block-size: 2px;
4459
+ margin-inline: 4px;
4460
+ background: var(--color-border, #e5e5e5);
4461
+ }
4462
+ .nx-timeline--horizontal .nx-timeline__item:last-child .nx-timeline__connector {
4463
+ display: none;
4464
+ }
4465
+ .nx-timeline--horizontal .nx-timeline__content {
4466
+ text-align: center;
4467
+ padding-block-start: 10px;
4468
+ }
4469
+ .nx-timeline__dot {
4470
+ display: inline-flex;
4471
+ align-items: center;
4472
+ justify-content: center;
4473
+ inline-size: 12px;
4474
+ block-size: 12px;
4475
+ border-radius: var(--radius-full, 9999px);
4476
+ background: var(--color-textMuted, #a3a3a3);
4477
+ border: 2px solid var(--color-background, #ffffff);
4478
+ box-shadow: 0 0 0 1px var(--color-border, #e5e5e5);
4479
+ flex: 0 0 auto;
4480
+ }
4481
+ .nx-timeline__dot--icon {
4482
+ inline-size: 22px;
4483
+ block-size: 22px;
4484
+ background: var(--color-surface, #ffffff);
4485
+ color: var(--color-text, #404040);
4486
+ font-family: var(--typography-fontSans, system-ui, sans-serif);
4487
+ font-size: 12px;
4488
+ line-height: 1;
4489
+ font-weight: var(--typography-weightMedium, 500);
4490
+ }
4491
+ .nx-timeline__dot--icon svg,
4492
+ .nx-timeline__dot--icon img {
4493
+ inline-size: 14px;
4494
+ block-size: 14px;
4495
+ display: block;
4496
+ }
4497
+ .nx-timeline__dot--success {
4498
+ background: var(--color-success-base, #16a34a);
4499
+ }
4500
+ .nx-timeline__dot--warning {
4501
+ background: var(--color-warning-base, #d97706);
4502
+ }
4503
+ .nx-timeline__dot--danger {
4504
+ background: var(--color-danger-base, #dc2626);
4505
+ }
4506
+ .nx-timeline__dot--info {
4507
+ background: var(--color-brand-500, #6366f1);
4508
+ }
4509
+ .nx-timeline__header {
4510
+ display: flex;
4511
+ align-items: baseline;
4512
+ gap: 8px;
4513
+ flex-wrap: wrap;
4514
+ }
4515
+ .nx-timeline__title {
4516
+ font-family: var(--typography-fontSans, system-ui, sans-serif);
4517
+ font-size: var(--typography-sizeMd, 16px);
4518
+ font-weight: var(--typography-weightSemibold, 600);
4519
+ color: var(--color-text, #171717);
4520
+ }
4521
+ .nx-timeline__timestamp {
4522
+ font-family: var(--typography-fontSans, system-ui, sans-serif);
4523
+ font-size: var(--typography-sizeXs, 12px);
4524
+ color: var(--color-textMuted, #737373);
4525
+ }
4526
+ .nx-timeline__description {
4527
+ margin-block-start: 4px;
4528
+ font-family: var(--typography-fontSans, system-ui, sans-serif);
4529
+ font-size: var(--typography-sizeSm, 14px);
4530
+ color: var(--color-textMuted, #525252);
4531
+ }
4532
+
4533
+ /* src/react/ChatBubble.css */
4534
+ .nx-chat-bubble {
4535
+ display: flex;
4536
+ align-items: flex-end;
4537
+ gap: var(--spacing-sm, 8px);
4538
+ font-family: var(--typography-fontSans, system-ui, sans-serif);
4539
+ max-inline-size: 100%;
4540
+ }
4541
+ .nx-chat-bubble--end {
4542
+ flex-direction: row-reverse;
4543
+ }
4544
+ .nx-chat-bubble__avatar {
4545
+ flex-shrink: 0;
4546
+ }
4547
+ .nx-chat-bubble--no-avatar {
4548
+ padding-inline-start: 0;
4549
+ }
4550
+ .nx-chat-bubble__content {
4551
+ display: flex;
4552
+ flex-direction: column;
4553
+ max-inline-size: min(480px, 75%);
4554
+ }
4555
+ .nx-chat-bubble--end .nx-chat-bubble__content {
4556
+ align-items: flex-end;
4557
+ }
4558
+ .nx-chat-bubble__name {
4559
+ font-size: var(--typography-sizeXs, 12px);
4560
+ font-weight: var(--typography-weightMedium, 500);
4561
+ color: var(--color-textMuted, #6b7280);
4562
+ margin-bottom: var(--spacing-xs, 4px);
4563
+ padding-inline: var(--spacing-sm, 8px);
4564
+ }
4565
+ .nx-chat-bubble__bubble {
4566
+ position: relative;
4567
+ padding: var(--spacing-sm, 8px) var(--spacing-md, 16px);
4568
+ border-radius: var(--radius-lg, 12px);
4569
+ line-height: var(--typography-lineHeightNormal, 1.5);
4570
+ font-size: var(--typography-sizeMd, 16px);
4571
+ word-break: break-word;
4572
+ white-space: pre-wrap;
4573
+ }
4574
+ .nx-chat-bubble__bubble--solid,
4575
+ .nx-chat-bubble__bubble--soft {
4576
+ border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, transparent);
4577
+ }
4578
+ .nx-chat-bubble__bubble--solid,
4579
+ .nx-chat-bubble__bubble--soft,
4580
+ .nx-chat-bubble__bubble--outline {
4581
+ box-shadow: var(--shadow-sm, none);
4582
+ }
4583
+ .nx-chat-bubble__bubble--solid {
4584
+ background: var(--color-brand-500, #6366f1);
4585
+ color: var(--color-brand-onAccent, #ffffff);
4586
+ }
4587
+ .nx-chat-bubble--start .nx-chat-bubble__bubble--solid {
4588
+ background: var(--color-surfaceRaised, #f3f4f6);
4589
+ color: var(--color-text, #111827);
4590
+ backdrop-filter: blur(var(--effects-backdropBlur, 0px));
4591
+ -webkit-backdrop-filter: blur(var(--effects-backdropBlur, 0px));
4592
+ }
4593
+ .nx-chat-bubble__bubble--soft {
4594
+ background: var(--color-brand-50, #f0f4ff);
4595
+ color: var(--color-brand-700, #4338ca);
4596
+ }
4597
+ .nx-chat-bubble--start .nx-chat-bubble__bubble--soft {
4598
+ background: var(--color-surfaceRaised, #f3f4f6);
4599
+ color: var(--color-text, #111827);
4600
+ backdrop-filter: blur(var(--effects-backdropBlur, 0px));
4601
+ -webkit-backdrop-filter: blur(var(--effects-backdropBlur, 0px));
4602
+ }
4603
+ .nx-chat-bubble__bubble--outline {
4604
+ background: transparent;
4605
+ border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);
4606
+ color: var(--color-text, #111827);
4607
+ }
4608
+ .nx-chat-bubble__bubble--ghost {
4609
+ background: transparent;
4610
+ color: var(--color-text, #111827);
4611
+ }
4612
+ .nx-chat-bubble__bubble--tail-end {
4613
+ border-end-end-radius: 4px;
4614
+ }
4615
+ .nx-chat-bubble__bubble--tail-start {
4616
+ border-end-start-radius: 4px;
4617
+ }
4618
+ .nx-chat-bubble__bubble--tail-start::before,
4619
+ .nx-chat-bubble__bubble--tail-end::before {
4620
+ content: "";
4621
+ position: absolute;
4622
+ bottom: 0;
4623
+ inline-size: 12px;
4624
+ block-size: 16px;
4625
+ background: inherit;
4626
+ }
4627
+ .nx-chat-bubble__bubble--tail-end::before {
4628
+ inset-inline-end: -8px;
4629
+ clip-path: polygon(0 0, 100% 55%, 65% 100%, 0 100%);
4630
+ }
4631
+ .nx-chat-bubble__bubble--tail-start::before {
4632
+ inset-inline-start: -8px;
4633
+ clip-path: polygon(100% 0, 0 55%, 35% 100%, 100% 100%);
4634
+ }
4635
+ .nx-chat-bubble__meta {
4636
+ display: flex;
4637
+ align-items: center;
4638
+ gap: var(--spacing-xs, 4px);
4639
+ margin-top: var(--spacing-xs, 4px);
4640
+ padding-inline: var(--spacing-sm, 8px);
4641
+ font-size: var(--typography-sizeXs, 12px);
4642
+ color: var(--color-textMuted, #6b7280);
4643
+ }
4644
+ .nx-chat-bubble__status {
4645
+ display: inline-flex;
4646
+ align-items: center;
4647
+ color: var(--color-textMuted, #6b7280);
4648
+ }
4649
+ .nx-chat-bubble__status[data-status=read] {
4650
+ color: var(--color-info-base, #3b82f6);
4651
+ }
4652
+ .nx-chat-bubble__reactions {
4653
+ display: flex;
4654
+ flex-wrap: wrap;
4655
+ align-items: center;
4656
+ gap: var(--spacing-xs, 4px);
4657
+ margin-top: var(--spacing-xs, 4px);
4658
+ padding-inline: var(--spacing-sm, 8px);
4659
+ }
4660
+ .nx-chat-bubble__reaction {
4661
+ appearance: none;
4662
+ cursor: pointer;
4663
+ display: inline-flex;
4664
+ align-items: center;
4665
+ gap: 4px;
4666
+ padding: 2px 8px;
4667
+ border-radius: var(--radius-full, 9999px);
4668
+ border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, transparent);
4669
+ background: var(--color-surfaceRaised, #f3f4f6);
4670
+ color: var(--color-text, #111827);
4671
+ font-size: var(--typography-sizeXs, 12px);
4672
+ line-height: 1;
4673
+ transition: background-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease), border-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);
4674
+ }
4675
+ .nx-chat-bubble__reaction:hover {
4676
+ background: var(--color-brand-50, #f0f4ff);
4677
+ }
4678
+ .nx-chat-bubble__reaction--active {
4679
+ background: var(--color-brand-50, #f0f4ff);
4680
+ border-color: var(--color-brand-500, #6366f1);
4681
+ color: var(--color-brand-700, #4338ca);
4682
+ }
4683
+ .nx-chat-bubble__reaction:focus-visible {
4684
+ outline: 2px solid var(--color-brand-500, #6366f1);
4685
+ outline-offset: 2px;
4686
+ }
4687
+ .nx-chat-bubble__add-reaction {
4688
+ appearance: none;
4689
+ cursor: pointer;
4690
+ display: inline-flex;
4691
+ align-items: center;
4692
+ justify-content: center;
4693
+ inline-size: 24px;
4694
+ block-size: 24px;
4695
+ border-radius: var(--radius-full, 9999px);
4696
+ border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, transparent);
4697
+ background: transparent;
4698
+ color: var(--color-textMuted, #6b7280);
4699
+ transition: background-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease), color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);
4700
+ }
4701
+ .nx-chat-bubble__add-reaction:hover {
4702
+ background: var(--color-surfaceRaised, #f3f4f6);
4703
+ color: var(--color-text, #111827);
4704
+ }
4705
+ .nx-chat-bubble__add-reaction:focus-visible {
4706
+ outline: 2px solid var(--color-brand-500, #6366f1);
4707
+ outline-offset: 2px;
4708
+ }
4709
+ .nx-chat-bubble__reaction-picker {
4710
+ display: grid;
4711
+ grid-template-columns: repeat(6, 1fr);
4712
+ gap: 4px;
4713
+ padding: 4px;
4714
+ }
4715
+ .nx-chat-bubble__reaction-option {
4716
+ appearance: none;
4717
+ cursor: pointer;
4718
+ border: none;
4719
+ background: transparent;
4720
+ border-radius: var(--radius-sm, 6px);
4721
+ font-size: var(--typography-sizeLg, 18px);
4722
+ line-height: 1;
4723
+ padding: 6px;
4724
+ transition: background-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);
4725
+ }
4726
+ .nx-chat-bubble__reaction-option:hover,
4727
+ .nx-chat-bubble__reaction-option:focus-visible {
4728
+ background: var(--color-surfaceRaised, #f3f4f6);
4729
+ outline: none;
4730
+ }
4731
+ @media (prefers-reduced-motion: reduce) {
4732
+ .nx-chat-bubble__reaction,
4733
+ .nx-chat-bubble__add-reaction,
4734
+ .nx-chat-bubble__reaction-option {
4735
+ transition: none;
4736
+ }
4737
+ }
4738
+
4739
+ /* src/react/ResizablePanel.css */
4740
+ .nx-resizable-group {
4741
+ display: flex;
4742
+ inline-size: 100%;
4743
+ block-size: 100%;
4744
+ overflow: hidden;
4745
+ color: var(--color-text, #111827);
4746
+ font-family: var(--typography-fontSans, system-ui, sans-serif);
4747
+ }
4748
+ .nx-resizable-group--horizontal {
4749
+ flex-direction: row;
4750
+ }
4751
+ .nx-resizable-group--vertical {
4752
+ flex-direction: column;
4753
+ }
4754
+ .nx-resizable-panel {
4755
+ min-inline-size: 0;
4756
+ min-block-size: 0;
4757
+ overflow: auto;
4758
+ }
4759
+ .nx-resizable-handle {
4760
+ position: relative;
4761
+ flex: 0 0 auto;
4762
+ background: var(--color-border, #e5e7eb);
4763
+ transition: background-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);
4764
+ }
4765
+ .nx-resizable-handle--horizontal {
4766
+ inline-size: var(--border-widthThin, 1px);
4767
+ cursor: col-resize;
4768
+ touch-action: none;
4769
+ }
4770
+ .nx-resizable-handle--vertical {
4771
+ block-size: var(--border-widthThin, 1px);
4772
+ cursor: row-resize;
4773
+ touch-action: none;
4774
+ }
4775
+ .nx-resizable-handle--horizontal::before {
4776
+ content: "";
4777
+ position: absolute;
4778
+ inset-block: 0;
4779
+ inset-inline-start: -4px;
4780
+ inset-inline-end: -4px;
4781
+ }
4782
+ .nx-resizable-handle--vertical::before {
4783
+ content: "";
4784
+ position: absolute;
4785
+ inset-inline: 0;
4786
+ inset-block-start: -4px;
4787
+ inset-block-end: -4px;
4788
+ }
4789
+ .nx-resizable-handle:hover:not(.nx-resizable-handle--disabled),
4790
+ .nx-resizable-handle--dragging {
4791
+ background: var(--color-brand-500, #6366f1);
4792
+ }
4793
+ .nx-resizable-handle:focus-visible {
4794
+ outline: 2px solid var(--color-brand-500, #6366f1);
4795
+ outline-offset: 2px;
4796
+ }
4797
+ .nx-resizable-handle--disabled {
4798
+ cursor: not-allowed;
4799
+ opacity: 0.5;
4800
+ }
4801
+ @media (prefers-reduced-motion: reduce) {
4802
+ .nx-resizable-handle {
4803
+ transition: none;
4804
+ }
4805
+ }
4806
+
4807
+ /* src/react/Sidebar.css */
4808
+ .nx-sidebar {
4809
+ display: flex;
4810
+ flex-direction: column;
4811
+ inline-size: 240px;
4812
+ block-size: 100%;
4813
+ background: var(--color-surface, #ffffff);
4814
+ border-inline-end: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);
4815
+ box-shadow: var(--shadow-sm, none);
4816
+ clip-path: inset(0 -32px 0 0);
4817
+ backdrop-filter: blur(var(--effects-backdropBlur, 0px));
4818
+ -webkit-backdrop-filter: blur(var(--effects-backdropBlur, 0px));
4819
+ font-family: var(--typography-fontSans, system-ui, sans-serif);
4820
+ color: var(--color-text, #111827);
4821
+ transition: inline-size var(--motion-durationNormal, 200ms) var(--motion-easeStandard, ease);
4822
+ box-sizing: border-box;
4823
+ overflow-x: hidden;
4824
+ }
4825
+ .nx-sidebar:dir(rtl) {
4826
+ clip-path: inset(0 0 0 -32px);
4827
+ }
4828
+ .nx-sidebar--sm {
4829
+ inline-size: 200px;
4830
+ }
4831
+ .nx-sidebar--sm .nx-sidebar__nav-item {
4832
+ font-size: var(--typography-sizeXs, 12px);
4833
+ padding: 6px 8px;
4834
+ }
4835
+ .nx-sidebar--sm .nx-sidebar__nav-item-icon {
4836
+ inline-size: 16px;
4837
+ block-size: 16px;
4838
+ }
4839
+ .nx-sidebar--lg {
4840
+ inline-size: 280px;
4841
+ }
4842
+ .nx-sidebar--lg .nx-sidebar__nav-item {
4843
+ font-size: var(--typography-sizeMd, 16px);
4844
+ padding: 10px 12px;
4845
+ }
4846
+ .nx-sidebar--lg .nx-sidebar__nav-item-icon {
4847
+ inline-size: 24px;
4848
+ block-size: 24px;
4849
+ }
4850
+ .nx-sidebar--collapsed {
4851
+ inline-size: 64px;
4852
+ }
4853
+ .nx-sidebar__header,
4854
+ .nx-sidebar__footer {
4855
+ display: flex;
4856
+ align-items: center;
4857
+ padding: var(--spacing-md, 16px);
4858
+ flex-shrink: 0;
4859
+ }
4860
+ .nx-sidebar__header {
4861
+ border-block-end: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);
4862
+ }
4863
+ .nx-sidebar__footer {
4864
+ border-block-start: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);
4865
+ margin-block-start: auto;
4866
+ }
4867
+ .nx-sidebar__toggle {
4868
+ appearance: none;
4869
+ background: transparent;
4870
+ border: none;
4871
+ cursor: pointer;
4872
+ display: inline-flex;
4873
+ align-items: center;
4874
+ justify-content: center;
4875
+ inline-size: 32px;
4876
+ block-size: 32px;
4877
+ border-radius: var(--radius-md, 8px);
4878
+ color: var(--color-textMuted, #6b7280);
4879
+ flex-shrink: 0;
4880
+ transition: background-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);
4881
+ }
4882
+ .nx-sidebar__toggle:hover {
4883
+ background: var(--color-surfaceRaised, #f3f4f6);
4884
+ color: var(--color-text, #111827);
4885
+ }
4886
+ .nx-sidebar__toggle:focus-visible {
4887
+ outline: 2px solid var(--color-brand-500, #6366f1);
4888
+ outline-offset: 2px;
4889
+ }
4890
+ .nx-sidebar__nav {
4891
+ display: flex;
4892
+ flex-direction: column;
4893
+ gap: var(--spacing-xs, 4px);
4894
+ padding: var(--spacing-sm, 8px);
4895
+ overflow-y: auto;
4896
+ flex: 1;
4897
+ }
4898
+ .nx-sidebar__section {
4899
+ display: flex;
4900
+ flex-direction: column;
4901
+ gap: var(--spacing-xs, 4px);
4902
+ }
4903
+ .nx-sidebar__section + .nx-sidebar__section {
4904
+ margin-block-start: var(--spacing-md, 16px);
4905
+ }
4906
+ .nx-sidebar__section-label {
4907
+ padding: var(--spacing-xs, 4px) var(--spacing-sm, 8px);
4908
+ font-size: var(--typography-sizeXs, 12px);
4909
+ font-weight: var(--typography-weightMedium, 500);
4910
+ color: var(--color-textMuted, #6b7280);
4911
+ text-transform: uppercase;
4912
+ letter-spacing: 0.04em;
4913
+ white-space: nowrap;
4914
+ }
4915
+ .nx-sidebar__section-label--hidden {
4916
+ position: absolute;
4917
+ inline-size: 1px;
4918
+ block-size: 1px;
4919
+ overflow: hidden;
4920
+ clip: rect(0, 0, 0, 0);
4921
+ white-space: nowrap;
4922
+ }
4923
+ .nx-sidebar__nav-item {
4924
+ appearance: none;
4925
+ background: transparent;
4926
+ border: none;
4927
+ margin: 0;
4928
+ cursor: pointer;
4929
+ text-decoration: none;
4930
+ font-family: inherit;
4931
+ font-size: var(--typography-sizeSm, 14px);
4932
+ font-weight: var(--typography-weightMedium, 500);
4933
+ line-height: var(--typography-lineHeightTight, 1.2);
4934
+ color: var(--color-textMuted, #6b7280);
4935
+ display: flex;
4936
+ align-items: center;
4937
+ gap: var(--spacing-sm, 8px);
4938
+ padding: 8px 10px;
4939
+ border-radius: var(--radius-md, 8px);
4940
+ white-space: nowrap;
4941
+ transition: background-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease), color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);
4942
+ }
4943
+ .nx-sidebar__nav-item:hover:not(.nx-sidebar__nav-item--disabled) {
4944
+ background: var(--color-surfaceRaised, #f3f4f6);
4945
+ color: var(--color-text, #111827);
4946
+ }
4947
+ .nx-sidebar__nav-item--selected {
4948
+ background: var(--color-brand-50, #f0f4ff);
4949
+ color: var(--color-brand-700, #4338ca);
4950
+ box-shadow: var(--shadow-sm, none);
4951
+ }
4952
+ .nx-sidebar__nav-item--selected:hover {
4953
+ background: var(--color-brand-50, #f0f4ff);
4954
+ }
4955
+ .nx-sidebar__nav-item:focus-visible {
4956
+ outline: 2px solid var(--color-brand-500, #6366f1);
4957
+ outline-offset: -2px;
4958
+ }
4959
+ .nx-sidebar__nav-item--disabled {
4960
+ opacity: 0.5;
4961
+ cursor: not-allowed;
4962
+ }
4963
+ .nx-sidebar__nav-item-icon {
4964
+ display: inline-flex;
4965
+ align-items: center;
4966
+ justify-content: center;
4967
+ flex-shrink: 0;
4968
+ inline-size: 20px;
4969
+ block-size: 20px;
4970
+ }
4971
+ .nx-sidebar__nav-item-label {
4972
+ overflow: hidden;
4973
+ text-overflow: ellipsis;
4974
+ }
4975
+ .nx-sidebar__nav-item--collapsed {
4976
+ justify-content: center;
4977
+ padding-inline: 0;
4978
+ }
4979
+ .nx-sidebar--collapsed .nx-sidebar__nav-item-label {
4980
+ position: absolute;
4981
+ inline-size: 1px;
4982
+ block-size: 1px;
4983
+ overflow: hidden;
4984
+ clip: rect(0, 0, 0, 0);
4985
+ white-space: nowrap;
4986
+ }
4987
+ @media (prefers-reduced-motion: reduce) {
4988
+ .nx-sidebar,
4989
+ .nx-sidebar__toggle,
4990
+ .nx-sidebar__nav-item {
4991
+ transition: none;
4992
+ }
4993
+ }
4994
+
4995
+ /* src/react/SpeedDial.css */
4996
+ .nx-speed-dial {
4997
+ display: inline-flex;
4998
+ }
4999
+ .nx-speed-dial__fab {
5000
+ appearance: none;
5001
+ cursor: pointer;
5002
+ display: inline-flex;
5003
+ align-items: center;
5004
+ justify-content: center;
5005
+ border-radius: var(--radius-full, 9999px);
5006
+ border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, transparent);
5007
+ background: var(--color-brand-500, #6366f1);
5008
+ color: var(--color-brand-onAccent, #ffffff);
5009
+ box-shadow: var(--shadow-lg, 0 10px 24px rgba(0, 0, 0, 0.18));
5010
+ transition:
5011
+ transform var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),
5012
+ background-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),
5013
+ box-shadow var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);
5014
+ }
5015
+ .nx-speed-dial__fab:hover {
5016
+ background: var(--color-brand-600, #4f46e5);
5017
+ }
5018
+ .nx-speed-dial__fab:active {
5019
+ box-shadow: var(--shadow-md, 0 4px 12px rgba(0, 0, 0, 0.12));
5020
+ }
5021
+ .nx-speed-dial__fab:focus-visible {
5022
+ outline: 2px solid var(--color-brand-700, #4338ca);
5023
+ outline-offset: 2px;
5024
+ }
5025
+ .nx-speed-dial__fab--open {
5026
+ transform: rotate(45deg);
5027
+ }
5028
+ .nx-speed-dial__fab--xs {
5029
+ inline-size: 32px;
5030
+ block-size: 32px;
5031
+ }
5032
+ .nx-speed-dial__fab--sm {
5033
+ inline-size: 40px;
5034
+ block-size: 40px;
5035
+ }
5036
+ .nx-speed-dial__fab--md {
5037
+ inline-size: 56px;
5038
+ block-size: 56px;
4438
5039
  }
4439
- .nx-timeline--horizontal {
4440
- flex-direction: row;
4441
- overflow-x: auto;
5040
+ .nx-speed-dial__fab--lg {
5041
+ inline-size: 68px;
5042
+ block-size: 68px;
4442
5043
  }
4443
- .nx-timeline--horizontal .nx-timeline__item {
5044
+ .nx-speed-dial__fab--xl {
5045
+ inline-size: 80px;
5046
+ block-size: 80px;
5047
+ }
5048
+ .nx-speed-dial__list {
5049
+ z-index: 1050;
4444
5050
  display: flex;
5051
+ gap: var(--spacing-md, 16px);
5052
+ padding: 0;
5053
+ margin: 0;
5054
+ animation: nx-speed-dial-in var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);
5055
+ }
5056
+ .nx-speed-dial__list--vertical {
4445
5057
  flex-direction: column;
4446
5058
  align-items: center;
4447
- flex: 1 0 10rem;
4448
5059
  }
4449
- .nx-timeline--horizontal .nx-timeline__marker {
4450
- display: flex;
5060
+ .nx-speed-dial__list--horizontal {
5061
+ flex-direction: row;
4451
5062
  align-items: center;
4452
- inline-size: 100%;
4453
5063
  }
4454
- .nx-timeline--horizontal .nx-timeline__connector {
4455
- flex: 1 1 auto;
4456
- block-size: 2px;
4457
- margin-inline: 4px;
4458
- background: var(--color-border, #e5e5e5);
5064
+ @keyframes nx-speed-dial-in {
5065
+ from {
5066
+ opacity: 0;
5067
+ transform: scale(0.9);
5068
+ }
5069
+ to {
5070
+ opacity: 1;
5071
+ transform: scale(1);
5072
+ }
4459
5073
  }
4460
- .nx-timeline--horizontal .nx-timeline__item:last-child .nx-timeline__connector {
4461
- display: none;
5074
+ .nx-speed-dial__action-wrapper {
5075
+ position: relative;
5076
+ display: flex;
5077
+ align-items: center;
4462
5078
  }
4463
- .nx-timeline--horizontal .nx-timeline__content {
4464
- text-align: center;
4465
- padding-block-start: 10px;
5079
+ .nx-speed-dial__list--vertical .nx-speed-dial__action-wrapper {
5080
+ flex-direction: row-reverse;
5081
+ justify-content: flex-end;
4466
5082
  }
4467
- .nx-timeline__dot {
5083
+ .nx-speed-dial__list--horizontal .nx-speed-dial__action-wrapper {
5084
+ flex-direction: column-reverse;
5085
+ }
5086
+ .nx-speed-dial__action {
5087
+ appearance: none;
5088
+ cursor: pointer;
4468
5089
  display: inline-flex;
4469
5090
  align-items: center;
4470
5091
  justify-content: center;
4471
- inline-size: 12px;
4472
- block-size: 12px;
4473
5092
  border-radius: var(--radius-full, 9999px);
4474
- background: var(--color-textMuted, #a3a3a3);
4475
- border: 2px solid var(--color-background, #ffffff);
4476
- box-shadow: 0 0 0 1px var(--color-border, #e5e5e5);
4477
- flex: 0 0 auto;
4478
- }
4479
- .nx-timeline__dot--icon {
4480
- inline-size: 22px;
4481
- block-size: 22px;
5093
+ border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, transparent);
4482
5094
  background: var(--color-surface, #ffffff);
4483
- color: var(--color-text, #404040);
4484
- font-family: var(--typography-fontSans, system-ui, sans-serif);
4485
- font-size: 12px;
4486
- line-height: 1;
4487
- font-weight: var(--typography-weightMedium, 500);
5095
+ color: var(--color-text, #111827);
5096
+ box-shadow: var(--shadow-md, 0 4px 12px rgba(0, 0, 0, 0.12));
5097
+ transition:
5098
+ background-color var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),
5099
+ box-shadow var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease),
5100
+ transform var(--motion-durationFast, 120ms) var(--motion-easeStandard, ease);
4488
5101
  }
4489
- .nx-timeline__dot--icon svg,
4490
- .nx-timeline__dot--icon img {
4491
- inline-size: 14px;
4492
- block-size: 14px;
4493
- display: block;
5102
+ .nx-speed-dial__action:hover:not(.nx-speed-dial__action--disabled),
5103
+ .nx-speed-dial__action:focus-visible {
5104
+ background: var(--color-brand-50, #f0f4ff);
5105
+ color: var(--color-brand-700, #4338ca);
4494
5106
  }
4495
- .nx-timeline__dot--success {
4496
- background: var(--color-success-base, #16a34a);
5107
+ .nx-speed-dial__action:active:not(.nx-speed-dial__action--disabled) {
5108
+ box-shadow: var(--shadow-xs, 0 1px 3px rgba(0, 0, 0, 0.1));
5109
+ transform: translate(1px, 1px);
4497
5110
  }
4498
- .nx-timeline__dot--warning {
4499
- background: var(--color-warning-base, #d97706);
5111
+ .nx-speed-dial__action:focus-visible {
5112
+ outline: 2px solid var(--color-brand-500, #6366f1);
5113
+ outline-offset: 2px;
4500
5114
  }
4501
- .nx-timeline__dot--danger {
4502
- background: var(--color-danger-base, #dc2626);
5115
+ .nx-speed-dial__action--disabled {
5116
+ opacity: 0.5;
5117
+ cursor: not-allowed;
4503
5118
  }
4504
- .nx-timeline__dot--info {
4505
- background: var(--color-brand-500, #6366f1);
5119
+ .nx-speed-dial__action--xs {
5120
+ inline-size: 26px;
5121
+ block-size: 26px;
4506
5122
  }
4507
- .nx-timeline__header {
4508
- display: flex;
4509
- align-items: baseline;
4510
- gap: 8px;
4511
- flex-wrap: wrap;
5123
+ .nx-speed-dial__action--sm {
5124
+ inline-size: 32px;
5125
+ block-size: 32px;
4512
5126
  }
4513
- .nx-timeline__title {
4514
- font-family: var(--typography-fontSans, system-ui, sans-serif);
4515
- font-size: var(--typography-sizeMd, 16px);
4516
- font-weight: var(--typography-weightSemibold, 600);
4517
- color: var(--color-text, #171717);
5127
+ .nx-speed-dial__action--md {
5128
+ inline-size: 40px;
5129
+ block-size: 40px;
4518
5130
  }
4519
- .nx-timeline__timestamp {
4520
- font-family: var(--typography-fontSans, system-ui, sans-serif);
4521
- font-size: var(--typography-sizeXs, 12px);
4522
- color: var(--color-textMuted, #737373);
5131
+ .nx-speed-dial__action--lg {
5132
+ inline-size: 48px;
5133
+ block-size: 48px;
4523
5134
  }
4524
- .nx-timeline__description {
4525
- margin-block-start: 4px;
5135
+ .nx-speed-dial__action--xl {
5136
+ inline-size: 56px;
5137
+ block-size: 56px;
5138
+ }
5139
+ .nx-speed-dial__action-label {
5140
+ white-space: nowrap;
5141
+ padding: 4px 10px;
5142
+ border-radius: var(--radius-sm, 6px);
5143
+ border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, transparent);
5144
+ background: var(--color-surfaceRaised, #f3f4f6);
5145
+ color: var(--color-text, #111827);
4526
5146
  font-family: var(--typography-fontSans, system-ui, sans-serif);
4527
5147
  font-size: var(--typography-sizeSm, 14px);
4528
- color: var(--color-textMuted, #525252);
5148
+ box-shadow: var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.1));
5149
+ }
5150
+ .nx-speed-dial__list--vertical .nx-speed-dial__action-label {
5151
+ margin-inline-end: var(--spacing-sm, 8px);
5152
+ }
5153
+ .nx-speed-dial__list--horizontal .nx-speed-dial__action-label {
5154
+ margin-block-end: var(--spacing-sm, 8px);
5155
+ }
5156
+ @media (prefers-reduced-motion: reduce) {
5157
+ .nx-speed-dial__fab,
5158
+ .nx-speed-dial__list,
5159
+ .nx-speed-dial__action {
5160
+ transition: none;
5161
+ animation-duration: 0.01ms;
5162
+ }
4529
5163
  }
4530
5164
 
4531
5165
  /* src/react/CommandPalette.css */
@@ -5696,4 +6330,317 @@
5696
6330
  color: var(--color-textMuted, #6b7280);
5697
6331
  font-weight: var(--typography-weightNormal, 400);
5698
6332
  }
6333
+
6334
+ /* src/react/CodeBlock.css */
6335
+ .nx-code-block {
6336
+ width: 100%;
6337
+ position: relative;
6338
+ border-radius: var(--radius-md);
6339
+ border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);
6340
+ box-shadow: var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.06));
6341
+ background: var(--color-surfaceRaised, var(--color-surface));
6342
+ color: var(--color-text);
6343
+ font-family: var(--typography-fontMono, ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace);
6344
+ font-size: var(--typography-sizeSm, 0.875rem);
6345
+ line-height: var(--typography-lineHeightNormal, 1.6);
6346
+ overflow: hidden;
6347
+ transition: border-color var(--motion-durationFast, 150ms) var(--motion-easeStandard, ease);
6348
+ }
6349
+ .nx-code-block--sm {
6350
+ font-size: var(--typography-sizeXs, 0.75rem);
6351
+ }
6352
+ .nx-code-block--lg {
6353
+ font-size: var(--typography-sizeMd, 1rem);
6354
+ }
6355
+ .nx-code-block__header {
6356
+ display: flex;
6357
+ align-items: center;
6358
+ justify-content: space-between;
6359
+ gap: var(--spacing-sm);
6360
+ padding: var(--spacing-xs) var(--spacing-md);
6361
+ border-bottom: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);
6362
+ background: var(--color-surface);
6363
+ }
6364
+ .nx-code-block__filename {
6365
+ font-size: var(--typography-sizeXs, 0.75rem);
6366
+ color: var(--color-textMuted, var(--color-text));
6367
+ overflow: hidden;
6368
+ text-overflow: ellipsis;
6369
+ white-space: nowrap;
6370
+ }
6371
+ .nx-code-block__copy-button {
6372
+ display: inline-flex;
6373
+ align-items: center;
6374
+ justify-content: center;
6375
+ width: 1.75rem;
6376
+ height: 1.75rem;
6377
+ border: none;
6378
+ border-radius: var(--radius-sm);
6379
+ background: transparent;
6380
+ color: var(--color-textMuted, var(--color-text));
6381
+ cursor: pointer;
6382
+ transition: background var(--motion-durationFast, 150ms) var(--motion-easeStandard, ease);
6383
+ }
6384
+ .nx-code-block__copy-button:hover {
6385
+ background: var(--color-surfaceRaised, #f3f4f6);
6386
+ }
6387
+ .nx-code-block__copy-button:focus-visible {
6388
+ outline: 2px solid var(--color-brand-500);
6389
+ outline-offset: 2px;
6390
+ }
6391
+ .nx-code-block__pre {
6392
+ margin: 0;
6393
+ padding: var(--spacing-md);
6394
+ overflow-x: auto;
6395
+ }
6396
+ .nx-code-block--wrap .nx-code-block__pre {
6397
+ white-space: pre-wrap;
6398
+ word-break: break-word;
6399
+ overflow-x: hidden;
6400
+ }
6401
+ .nx-code-block__code {
6402
+ display: block;
6403
+ }
6404
+ .nx-code-block__line {
6405
+ display: block;
6406
+ }
6407
+ .nx-code-block__line--highlighted {
6408
+ background: color-mix(in srgb, var(--color-brand-500) 12%, transparent);
6409
+ margin-inline: calc(var(--spacing-md) * -1);
6410
+ padding-inline: var(--spacing-md);
6411
+ }
6412
+ .nx-code-block__line-number {
6413
+ display: inline-block;
6414
+ inline-size: 2.25em;
6415
+ margin-inline-end: var(--spacing-sm);
6416
+ color: var(--color-textMuted, var(--color-text));
6417
+ opacity: 0.5;
6418
+ text-align: right;
6419
+ user-select: none;
6420
+ }
6421
+ .nx-code-token--keyword {
6422
+ color: var(--nx-code-keyword, #c678dd);
6423
+ }
6424
+ .nx-code-token--string {
6425
+ color: var(--nx-code-string, #98c379);
6426
+ }
6427
+ .nx-code-token--comment {
6428
+ color: var(--nx-code-comment, #7f848e);
6429
+ font-style: italic;
6430
+ }
6431
+ .nx-code-token--number {
6432
+ color: var(--nx-code-number, #d19a66);
6433
+ }
6434
+ .nx-code-token--function {
6435
+ color: var(--nx-code-function, #61afef);
6436
+ }
6437
+ .nx-code-token--builtin {
6438
+ color: var(--nx-code-builtin, #56b6c2);
6439
+ }
6440
+ .nx-code-token--tag {
6441
+ color: var(--nx-code-tag, #e06c75);
6442
+ }
6443
+ .nx-code-token--attrName {
6444
+ color: var(--nx-code-attr, #d19a66);
6445
+ }
6446
+ .nx-code-token--property {
6447
+ color: var(--nx-code-property, #e5c07b);
6448
+ }
6449
+ .nx-code-token--selector {
6450
+ color: var(--nx-code-selector, #e06c75);
6451
+ }
6452
+ .nx-code-token--atrule {
6453
+ color: var(--nx-code-atrule, #c678dd);
6454
+ }
6455
+ .nx-code-token--variable {
6456
+ color: var(--nx-code-variable, #e06c75);
6457
+ }
6458
+ .nx-code-token--boolean {
6459
+ color: var(--nx-code-boolean, #d19a66);
6460
+ }
6461
+ .nx-code-token--regex {
6462
+ color: var(--nx-code-regex, #56b6c2);
6463
+ }
6464
+ .nx-code-token--decorator {
6465
+ color: var(--nx-code-decorator, #e5c07b);
6466
+ }
6467
+ .nx-code-token--pseudo {
6468
+ color: var(--nx-code-pseudo, #56b6c2);
6469
+ }
6470
+ .nx-code-token--punctuation {
6471
+ color: var(--nx-code-punctuation, var(--color-textMuted, currentColor));
6472
+ }
6473
+ .nx-code-token--plain {
6474
+ color: inherit;
6475
+ }
6476
+
6477
+ /* src/react/RichTextEditor.css */
6478
+ .nx-rich-text {
6479
+ width: 100%;
6480
+ border-radius: var(--radius-md);
6481
+ border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);
6482
+ box-shadow: var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.06));
6483
+ background: var(--color-surface);
6484
+ color: var(--color-text);
6485
+ overflow: hidden;
6486
+ transition: border-color var(--motion-durationFast, 150ms) var(--motion-easeStandard, ease);
6487
+ }
6488
+ .nx-rich-text--sm {
6489
+ font-size: var(--typography-sizeSm, 0.875rem);
6490
+ }
6491
+ .nx-rich-text--lg {
6492
+ font-size: var(--typography-sizeLg, 1.125rem);
6493
+ }
6494
+ .nx-rich-text--disabled {
6495
+ opacity: 0.6;
6496
+ }
6497
+ .nx-rich-text--readonly {
6498
+ background: var(--color-surfaceRaised, var(--color-surface));
6499
+ }
6500
+ .nx-rich-text__toolbar {
6501
+ display: flex;
6502
+ flex-wrap: wrap;
6503
+ gap: var(--spacing-xs);
6504
+ padding: var(--spacing-xs) var(--spacing-sm);
6505
+ border-bottom: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);
6506
+ background: var(--color-surfaceRaised, var(--color-surface));
6507
+ }
6508
+ .nx-rich-text__toolbar-button {
6509
+ display: inline-flex;
6510
+ align-items: center;
6511
+ justify-content: center;
6512
+ width: 2rem;
6513
+ height: 2rem;
6514
+ border: none;
6515
+ border-radius: var(--radius-sm);
6516
+ background: transparent;
6517
+ color: var(--color-text);
6518
+ cursor: pointer;
6519
+ font-size: var(--typography-sizeSm, 0.875rem);
6520
+ transition: background var(--motion-durationFast, 150ms) var(--motion-easeStandard, ease);
6521
+ }
6522
+ .nx-rich-text__toolbar-button:hover:not(:disabled) {
6523
+ background: var(--color-brand-50, #f0f4ff);
6524
+ }
6525
+ .nx-rich-text__toolbar-button:focus-visible {
6526
+ outline: 2px solid var(--color-brand-500);
6527
+ outline-offset: 2px;
6528
+ }
6529
+ .nx-rich-text__toolbar-button[data-active=true] {
6530
+ background: color-mix(in srgb, var(--color-brand-500) 16%, transparent);
6531
+ color: var(--color-brand-500);
6532
+ }
6533
+ .nx-rich-text__toolbar-button:disabled {
6534
+ cursor: not-allowed;
6535
+ opacity: 0.4;
6536
+ }
6537
+ .nx-rich-text__glyph {
6538
+ display: inline-flex;
6539
+ font-size: 0.8em;
6540
+ line-height: 1;
6541
+ }
6542
+ .nx-rich-text__content {
6543
+ min-height: 8em;
6544
+ padding: var(--spacing-md);
6545
+ outline: none;
6546
+ line-height: var(--typography-lineHeightNormal, 1.6);
6547
+ }
6548
+ .nx-rich-text__content:empty::before {
6549
+ content: attr(data-placeholder);
6550
+ color: var(--color-textMuted, var(--color-text));
6551
+ opacity: 0.5;
6552
+ pointer-events: none;
6553
+ }
6554
+ .nx-rich-text__content h1,
6555
+ .nx-rich-text__content h2,
6556
+ .nx-rich-text__content h3 {
6557
+ margin: 0.6em 0 0.3em;
6558
+ line-height: 1.25;
6559
+ }
6560
+ .nx-rich-text__content p {
6561
+ margin: 0 0 0.6em;
6562
+ }
6563
+ .nx-rich-text__content p:last-child {
6564
+ margin-bottom: 0;
6565
+ }
6566
+ .nx-rich-text__content blockquote {
6567
+ margin: 0 0 0.6em;
6568
+ padding-inline-start: var(--spacing-md);
6569
+ border-inline-start: var(--border-widthThick, 3px) var(--border-style, solid) var(--color-border, #e5e7eb);
6570
+ color: var(--color-textMuted, var(--color-text));
6571
+ }
6572
+ .nx-rich-text__content ul,
6573
+ .nx-rich-text__content ol {
6574
+ margin: 0 0 0.6em;
6575
+ padding-inline-start: 1.5em;
6576
+ }
6577
+ .nx-rich-text__content code {
6578
+ font-family: var(--typography-fontMono, ui-monospace, monospace);
6579
+ background: var(--color-surfaceRaised, var(--color-surface));
6580
+ border-radius: var(--radius-sm);
6581
+ padding: 0.1em 0.35em;
6582
+ }
6583
+ .nx-rich-text__content a {
6584
+ color: var(--color-brand-500);
6585
+ text-decoration: underline;
6586
+ }
6587
+ .nx-rich-text__link-popover {
6588
+ padding: var(--spacing-sm);
6589
+ }
6590
+ .nx-rich-text__link-input {
6591
+ width: 16rem;
6592
+ max-width: 100%;
6593
+ padding: var(--spacing-xs) var(--spacing-sm);
6594
+ border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);
6595
+ border-radius: var(--radius-sm);
6596
+ background: var(--color-surface);
6597
+ color: var(--color-text);
6598
+ font-size: var(--typography-sizeSm, 0.875rem);
6599
+ }
6600
+ .nx-rich-text__link-input:focus-visible {
6601
+ outline: 2px solid var(--color-brand-500);
6602
+ outline-offset: 2px;
6603
+ }
6604
+ .nx-rich-text__color-popover {
6605
+ display: flex;
6606
+ align-items: center;
6607
+ gap: var(--spacing-sm);
6608
+ padding: var(--spacing-sm);
6609
+ }
6610
+ .nx-rich-text__color-input {
6611
+ width: 2.25rem;
6612
+ height: 2.25rem;
6613
+ padding: 0;
6614
+ border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);
6615
+ border-radius: var(--radius-sm);
6616
+ background: none;
6617
+ cursor: pointer;
6618
+ }
6619
+ .nx-rich-text__color-input::-webkit-color-swatch-wrapper {
6620
+ padding: 0;
6621
+ }
6622
+ .nx-rich-text__color-input::-webkit-color-swatch {
6623
+ border: none;
6624
+ border-radius: var(--radius-sm);
6625
+ }
6626
+ .nx-rich-text__color-input::-moz-color-swatch {
6627
+ border: none;
6628
+ border-radius: var(--radius-sm);
6629
+ }
6630
+ .nx-rich-text__color-clear {
6631
+ padding: var(--spacing-xs) var(--spacing-sm);
6632
+ border: var(--border-widthThin, 1px) var(--border-style, solid) var(--color-border, #e5e7eb);
6633
+ border-radius: var(--radius-sm);
6634
+ background: var(--color-surface);
6635
+ color: var(--color-text);
6636
+ font-size: var(--typography-sizeXs, 0.75rem);
6637
+ cursor: pointer;
6638
+ }
6639
+ .nx-rich-text__color-clear:hover {
6640
+ background: var(--color-surfaceRaised, #f3f4f6);
6641
+ }
6642
+ .nx-rich-text__color-clear:focus-visible {
6643
+ outline: 2px solid var(--color-brand-500);
6644
+ outline-offset: 2px;
6645
+ }
5699
6646
  /*# sourceMappingURL=index.css.map */