@donotdev/components 0.0.11 → 0.0.12

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.
Files changed (45) hide show
  1. package/dist/atomic/Button/index.d.ts.map +1 -1
  2. package/dist/atomic/Button/index.js +5 -2
  3. package/dist/atomic/Calendar/index.js +1 -1
  4. package/dist/atomic/Collapsible/index.d.ts.map +1 -1
  5. package/dist/atomic/Collapsible/index.js +1 -5
  6. package/dist/atomic/Combobox/index.d.ts +9 -47
  7. package/dist/atomic/Combobox/index.d.ts.map +1 -1
  8. package/dist/atomic/Combobox/index.js +135 -87
  9. package/dist/atomic/Dialog/index.d.ts.map +1 -1
  10. package/dist/atomic/Dialog/index.js +1 -1
  11. package/dist/atomic/DropdownMenu/index.js +1 -1
  12. package/dist/atomic/Input/index.d.ts +1 -1
  13. package/dist/atomic/Input/index.d.ts.map +1 -1
  14. package/dist/atomic/Input/index.js +6 -22
  15. package/dist/atomic/Label/FloatingLabel.d.ts +31 -0
  16. package/dist/atomic/Label/FloatingLabel.d.ts.map +1 -0
  17. package/dist/atomic/Label/FloatingLabel.js +34 -0
  18. package/dist/atomic/Label/index.d.ts +5 -1
  19. package/dist/atomic/Label/index.d.ts.map +1 -1
  20. package/dist/atomic/Label/index.js +8 -2
  21. package/dist/atomic/PasswordInput/index.d.ts +9 -10
  22. package/dist/atomic/PasswordInput/index.d.ts.map +1 -1
  23. package/dist/atomic/PasswordInput/index.js +10 -30
  24. package/dist/atomic/Section/index.d.ts.map +1 -1
  25. package/dist/atomic/Section/index.js +3 -4
  26. package/dist/atomic/Select/index.d.ts +3 -1
  27. package/dist/atomic/Select/index.d.ts.map +1 -1
  28. package/dist/atomic/Select/index.js +13 -24
  29. package/dist/atomic/Skeleton/index.d.ts.map +1 -1
  30. package/dist/atomic/Skeleton/index.js +6 -3
  31. package/dist/atomic/Switch/index.d.ts +18 -4
  32. package/dist/atomic/Switch/index.d.ts.map +1 -1
  33. package/dist/atomic/Switch/index.js +25 -6
  34. package/dist/atomic/Table/index.d.ts +17 -7
  35. package/dist/atomic/Table/index.d.ts.map +1 -1
  36. package/dist/atomic/Table/index.js +13 -3
  37. package/dist/atomic/index.d.ts +2 -3
  38. package/dist/atomic/index.d.ts.map +1 -1
  39. package/dist/atomic/index.js +1 -2
  40. package/dist/index.js +4 -4
  41. package/dist/styles/index.css +335 -56
  42. package/package.json +1 -1
  43. package/dist/atomic/Combobox/ComboboxPrimitive.d.ts +0 -18
  44. package/dist/atomic/Combobox/ComboboxPrimitive.d.ts.map +0 -1
  45. package/dist/atomic/Combobox/ComboboxPrimitive.js +0 -14
@@ -145,7 +145,7 @@
145
145
  --font-headline: var(--font-sans);
146
146
 
147
147
  --font-mono:
148
- ui-monospace, 'SF Mono', 'Cascadia Code', 'Roboto Mono', Consolas, Monaco,
148
+ ui-monospace, 'SF Mono', 'Cascadia Code', Consolas, Monaco,
149
149
  'Liberation Mono', monospace;
150
150
 
151
151
  /* Typography Scale - Musical Scale System (STANDARD density defaults - Major Third 1.25×) */
@@ -702,6 +702,16 @@ em {
702
702
 
703
703
  /* packages/components/src/styles/patterns.css */
704
704
 
705
+ /* Menu scroll area pattern - shared by DropdownMenu, Select, Combobox */
706
+
707
+ .dndev-menu-scroll-area {
708
+ max-height: 50dvh;
709
+ }
710
+
711
+ .dndev-menu-scroll-area .dndev-scroll-area-viewport {
712
+ max-height: 50dvh;
713
+ }
714
+
705
715
  /* ===========================
706
716
  FORM COMPONENTS (BASE)
707
717
  =========================== */
@@ -896,6 +906,9 @@ em {
896
906
  border-radius: var(--radius-surface);
897
907
  box-shadow: var(--shadow-md);
898
908
  padding: var(--gap-md); /* 1rem / 16px default */
909
+ padding-block-start: calc(
910
+ var(--gap-md) + var(--gap-sm)
911
+ ); /* Extra top padding for FloatingLabels */
899
912
  position: relative;
900
913
  overflow: hidden;
901
914
  contain: layout style;
@@ -1146,6 +1159,9 @@ em {
1146
1159
  border-radius: var(--radius-floating);
1147
1160
  box-shadow: var(--shadow-md);
1148
1161
  padding: var(--gap-md); /* 1rem / 16px default */
1162
+ padding-block-start: calc(
1163
+ var(--gap-md) + var(--gap-sm)
1164
+ ); /* Extra top padding for FloatingLabels */
1149
1165
  position: relative;
1150
1166
  overflow: hidden;
1151
1167
  contain: layout style;
@@ -2076,8 +2092,9 @@ em {
2076
2092
  display: flex;
2077
2093
  flex-direction: column;
2078
2094
  overflow-y: auto;
2079
- overflow-x: hidden;
2095
+ overflow-x: visible;
2080
2096
  min-height: 0;
2097
+ padding-block-start: var(--gap-sm);
2081
2098
  }
2082
2099
 
2083
2100
  .dndev-modal-title {
@@ -2136,6 +2153,60 @@ em {
2136
2153
  flex-direction: column;
2137
2154
  }
2138
2155
 
2156
+ /* ===========================
2157
+ AUTH FORM PATTERNS
2158
+ =========================== */
2159
+
2160
+ /* Auth form step indicator */
2161
+
2162
+ .dndev-auth-step {
2163
+ display: inline-flex;
2164
+ align-items: center;
2165
+ justify-content: center;
2166
+ min-width: 1.5em;
2167
+ padding: var(--gap-sm);
2168
+ border-radius: var(--radius-sm);
2169
+ font-weight: var(--font-weight-semibold);
2170
+ transition: all var(--dur-fast) var(--ease-in-out);
2171
+ }
2172
+
2173
+ .dndev-auth-step[data-state='active'] {
2174
+ background-color: var(--primary);
2175
+ color: var(--primary-foreground);
2176
+ }
2177
+
2178
+ .dndev-auth-step[data-state='pending'] {
2179
+ background-color: var(--muted);
2180
+ color: var(--muted-foreground);
2181
+ }
2182
+
2183
+ .dndev-auth-step[data-state='completed'] {
2184
+ background-color: var(--success);
2185
+ color: var(--success-foreground);
2186
+ }
2187
+
2188
+ /* Opacity data attribute */
2189
+
2190
+ [data-opacity='50'] {
2191
+ opacity: 0.5;
2192
+ }
2193
+
2194
+ [data-opacity='70'] {
2195
+ opacity: 0.7;
2196
+ }
2197
+
2198
+ /* Inset data attribute - indent content */
2199
+
2200
+ [data-inset='true'] {
2201
+ padding-inline-start: var(--gap-md);
2202
+ }
2203
+
2204
+ /* Password strength bar height override */
2205
+
2206
+ .dndev-password-strength-bar {
2207
+ height: 4px;
2208
+ }
2209
+
2139
2210
  /* 5. Individual Component Styles */
2140
2211
 
2141
2212
  /* packages/components/src/atomic/Accordion/Accordion.css */
@@ -3343,7 +3414,7 @@ em {
3343
3414
  .dndev-combobox-content {
3344
3415
  width: var(--radix-popover-trigger-width);
3345
3416
  min-width: var(--radix-popover-trigger-width);
3346
- max-height: 300px;
3417
+ max-width: var(--radix-popover-trigger-width);
3347
3418
  display: flex;
3348
3419
  flex-direction: column;
3349
3420
  padding: 0;
@@ -3358,14 +3429,6 @@ em {
3358
3429
  width: 100%;
3359
3430
  }
3360
3431
 
3361
- .dndev-combobox-list {
3362
- overflow-y: auto;
3363
- padding: var(--gap-tight);
3364
- display: flex;
3365
- flex-direction: column;
3366
- gap: var(--gap-none);
3367
- }
3368
-
3369
3432
  .dndev-combobox-option {
3370
3433
  all: unset;
3371
3434
  display: flex;
@@ -3422,6 +3485,30 @@ em {
3422
3485
  color: var(--muted-foreground);
3423
3486
  }
3424
3487
 
3488
+ /* Creatable option styling */
3489
+
3490
+ .dndev-combobox-option-create {
3491
+ color: var(--primary);
3492
+ font-style: italic;
3493
+ }
3494
+
3495
+ .dndev-combobox-option-create-icon {
3496
+ width: var(--icon-md);
3497
+ height: var(--icon-md);
3498
+ margin-inline-end: var(--gap-sm);
3499
+ flex-shrink: 0;
3500
+ }
3501
+
3502
+ .dndev-combobox-open .dndev-input-with-trailing-icon .dndev-input-icon svg,
3503
+ .dndev-combobox-open .dndev-input-with-trailing-icon .dndev-input-icon > * {
3504
+ transform: rotate(180deg);
3505
+ }
3506
+
3507
+ .dndev-input-with-trailing-icon .dndev-input-icon svg,
3508
+ .dndev-input-with-trailing-icon .dndev-input-icon > * {
3509
+ transition: transform var(--dur-fast) var(--ease-in-out);
3510
+ }
3511
+
3425
3512
  /* packages/components/src/atomic/DualCard/DualCard.css */
3426
3513
 
3427
3514
  .dndev-dual-card {
@@ -3608,13 +3695,15 @@ em {
3608
3695
  text-align: start;
3609
3696
  display: block;
3610
3697
  line-height: 1.5; /* Match line numbers */
3698
+ font-size: var(--font-size-sm); /* Explicit match with line numbers */
3611
3699
  }
3612
3700
 
3613
- /* Ensure shiki-generated code respects line-height */
3701
+ /* Ensure shiki-generated code respects line-height AND font-size */
3614
3702
 
3615
3703
  .dndev-code-code pre,
3616
3704
  .dndev-code-code code {
3617
3705
  line-height: inherit;
3706
+ font-size: inherit; /* Match parent font-size */
3618
3707
  }
3619
3708
 
3620
3709
  /* packages/components/src/atomic/Command/Command.css */
@@ -3992,16 +4081,6 @@ em {
3992
4081
  padding: var(--gap-sm);
3993
4082
  }
3994
4083
 
3995
- /* Dropdown scroll area - constrain height to 50dvh */
3996
-
3997
- .dndev-dropdown-scroll-area {
3998
- max-height: 50dvh;
3999
- }
4000
-
4001
- .dndev-dropdown-scroll-area .dndev-scroll-area-viewport {
4002
- max-height: 50dvh;
4003
- }
4004
-
4005
4084
  /* Checked state styling */
4006
4085
 
4007
4086
  .dndev-interactive[data-role='menu-item'][data-state='checked'] {
@@ -4525,6 +4604,49 @@ em {
4525
4604
  margin-inline-start: var(--gap-sm);
4526
4605
  }
4527
4606
 
4607
+ /* Floating Label - positioned absolutely at top of input fields */
4608
+
4609
+ .dndev-floating-label {
4610
+ position: absolute;
4611
+ inset-inline-start: var(--gap-md);
4612
+ top: calc(-1 * var(--font-size-xs) / 2 - 1px);
4613
+ font-size: var(--font-size-xs);
4614
+ font-weight: 500;
4615
+ pointer-events: none;
4616
+ z-index: 1;
4617
+ background-color: var(--background);
4618
+ padding: 0 var(--gap-sm);
4619
+ line-height: 1;
4620
+ color: var(--foreground);
4621
+ }
4622
+
4623
+ /* Inherit background when inside floating containers (dropdowns, menus, popovers) */
4624
+
4625
+ .dndev-floating .dndev-floating-label,
4626
+ .dndev-menu-content .dndev-floating-label,
4627
+ [class*='dndev-dropdown'] .dndev-floating-label,
4628
+ [class*='dndev-navigation'] .dndev-floating-label {
4629
+ background-color: var(--popover);
4630
+ color: var(--popover-foreground);
4631
+ }
4632
+
4633
+ /* When floating container has blank glow, use solid popover background */
4634
+
4635
+ .dndev-floating[data-glow='blank'] .dndev-floating-label {
4636
+ background-color: var(--popover);
4637
+ }
4638
+
4639
+ .dndev-floating-label[data-disabled='true'] {
4640
+ color: var(--muted-foreground);
4641
+ }
4642
+
4643
+ .dndev-floating-label[data-truncate='true'] {
4644
+ max-width: calc(100% - var(--gap-md) * 2);
4645
+ overflow: hidden;
4646
+ text-overflow: ellipsis;
4647
+ white-space: nowrap;
4648
+ }
4649
+
4528
4650
  /* packages/components/src/atomic/List/List.css */
4529
4651
 
4530
4652
  .dndev-list {
@@ -4833,20 +4955,41 @@ em {
4833
4955
  /* packages/components/src/atomic/PasswordInput/PasswordInput.css */
4834
4956
 
4835
4957
  .dndev-password-input-with-toggle {
4836
- padding-inline-end: var(--gap-lg);
4958
+ padding-inline-end: calc(var(--gap-xl) + var(--gap-md)) !important;
4837
4959
  }
4838
4960
 
4961
+ /* Eye icon toggle - ALWAYS at end, cannot be overridden */
4962
+
4839
4963
  .dndev-password-toggle-button {
4840
- position: absolute;
4841
- inset-inline-end: 0;
4842
- top: 0;
4843
- height: 100%;
4844
- padding-inline-start: var(--gap-md);
4845
- padding-inline-end: var(--gap-md);
4964
+ position: absolute !important;
4965
+ top: 50% !important;
4966
+ transform: translateY(-50%) !important;
4967
+ inset-inline-end: var(--gap-sm) !important;
4968
+ inset-inline-start: unset !important;
4969
+ background: none !important;
4970
+ border: none !important;
4971
+ cursor: pointer !important;
4972
+ padding: var(--gap-tight) !important;
4973
+ display: flex !important;
4974
+ align-items: center !important;
4975
+ opacity: var(--opacity-muted) !important;
4976
+ transition: opacity var(--dur-fast) var(--ease-in-out) !important;
4977
+ -webkit-user-select: none !important;
4978
+ -moz-user-select: none !important;
4979
+ user-select: none !important;
4980
+ z-index: 1 !important;
4981
+ }
4982
+
4983
+ .dndev-password-toggle-button:hover,
4984
+ .dndev-password-toggle-button:focus {
4985
+ opacity: 1 !important;
4986
+ outline: none !important;
4846
4987
  }
4847
4988
 
4848
4989
  .dndev-password-toggle-icon {
4849
4990
  color: var(--muted-foreground);
4991
+ width: var(--icon-sm);
4992
+ height: var(--icon-sm);
4850
4993
  }
4851
4994
 
4852
4995
  /* packages/components/src/atomic/Pagination/Pagination.css */
@@ -4938,9 +5081,32 @@ em {
4938
5081
  height: 100%;
4939
5082
  width: 100%;
4940
5083
  flex: 1;
5084
+ background-color: var(--primary);
4941
5085
  transition: transform var(--dur-normal) var(--ease-in-out);
5086
+
5087
+ /* Variant colors */
4942
5088
  }
4943
5089
 
5090
+ [data-variant='default']:is(.dndev-progress [data-radix-progress-indicator]) {
5091
+ background-color: var(--primary);
5092
+ }
5093
+
5094
+ [data-variant='accent']:is(.dndev-progress [data-radix-progress-indicator]) {
5095
+ background-color: var(--accent);
5096
+ }
5097
+
5098
+ [data-variant='success']:is(.dndev-progress [data-radix-progress-indicator]) {
5099
+ background-color: var(--success);
5100
+ }
5101
+
5102
+ [data-variant='warning']:is(.dndev-progress [data-radix-progress-indicator]) {
5103
+ background-color: var(--warning);
5104
+ }
5105
+
5106
+ [data-variant='destructive']:is(.dndev-progress [data-radix-progress-indicator]) {
5107
+ background-color: var(--destructive);
5108
+ }
5109
+
4944
5110
  /* packages/components/src/atomic/RadioGroup/RadioGroup.css */
4945
5111
 
4946
5112
  /* Uses shared .dndev-control-group pattern from patterns.css */
@@ -5146,7 +5312,6 @@ em {
5146
5312
  display: flex;
5147
5313
  flex-direction: column;
5148
5314
  padding: 0;
5149
- overflow-y: auto;
5150
5315
  }
5151
5316
 
5152
5317
  .dndev-interactive[data-radix-select-item] {
@@ -5268,6 +5433,7 @@ em {
5268
5433
  letter-spacing: 0.2em;
5269
5434
  color: var(--accent) !important;
5270
5435
  margin-block-end: var(--gap-md);
5436
+ text-align: center; /* DEFAULT - works without attribute selector */
5271
5437
  }
5272
5438
 
5273
5439
  .dndev-section-full-width[data-text-align='start'] .dndev-section-title {
@@ -5313,11 +5479,13 @@ em {
5313
5479
  transition: transform var(--dur-normal) var(--ease-in-out);
5314
5480
  }
5315
5481
 
5316
- .dndev-section-full-width[data-text-align='start'] .dndev-section-title-trigger {
5482
+ .dndev-section-full-width[data-text-align='start']
5483
+ .dndev-section-title-trigger {
5317
5484
  justify-content: flex-start;
5318
5485
  }
5319
5486
 
5320
- .dndev-section-full-width[data-text-align='center'] .dndev-section-title-trigger {
5487
+ .dndev-section-full-width[data-text-align='center']
5488
+ .dndev-section-title-trigger {
5321
5489
  justify-content: center;
5322
5490
  }
5323
5491
 
@@ -6187,6 +6355,64 @@ em {
6187
6355
  transform: translateX(calc(2.75rem - 1.25rem - 0.125rem));
6188
6356
  }
6189
6357
 
6358
+ /* Switch with labels container */
6359
+
6360
+ .dndev-switch-with-labels {
6361
+ display: inline-flex;
6362
+ align-items: center;
6363
+ gap: var(--gap-sm);
6364
+ flex-wrap: wrap;
6365
+ }
6366
+
6367
+ /* Labels - keep switch and its labels on one line when possible */
6368
+
6369
+ .dndev-switch-with-labels > .dndev-switch {
6370
+ flex-shrink: 0;
6371
+ }
6372
+
6373
+ .dndev-switch-label {
6374
+ font-size: var(--font-size-sm);
6375
+ transition: color var(--dur-normal) var(--ease-in-out),
6376
+ font-weight var(--dur-normal) var(--ease-in-out);
6377
+ white-space: nowrap;
6378
+ }
6379
+
6380
+ /* Unchecked label - active when switch is unchecked */
6381
+
6382
+ .dndev-switch-with-labels:not(:has(.dndev-switch[data-state='checked']))
6383
+ .dndev-switch-label-unchecked,
6384
+ .dndev-switch-with-labels[data-checked='false']
6385
+ .dndev-switch-label-unchecked {
6386
+ color: var(--foreground);
6387
+ font-weight: var(--font-weight-medium);
6388
+ }
6389
+
6390
+ .dndev-switch-with-labels:has(.dndev-switch[data-state='checked'])
6391
+ .dndev-switch-label-unchecked,
6392
+ .dndev-switch-with-labels[data-checked='true']
6393
+ .dndev-switch-label-unchecked {
6394
+ color: var(--muted-foreground);
6395
+ font-weight: var(--font-weight-normal);
6396
+ }
6397
+
6398
+ /* Checked label - active when switch is checked */
6399
+
6400
+ .dndev-switch-with-labels:has(.dndev-switch[data-state='checked'])
6401
+ .dndev-switch-label-checked,
6402
+ .dndev-switch-with-labels[data-checked='true']
6403
+ .dndev-switch-label-checked {
6404
+ color: var(--foreground);
6405
+ font-weight: var(--font-weight-medium);
6406
+ }
6407
+
6408
+ .dndev-switch-with-labels:not(:has(.dndev-switch[data-state='checked']))
6409
+ .dndev-switch-label-checked,
6410
+ .dndev-switch-with-labels[data-checked='false']
6411
+ .dndev-switch-label-checked {
6412
+ color: var(--muted-foreground);
6413
+ font-weight: var(--font-weight-normal);
6414
+ }
6415
+
6190
6416
  /* packages/components/src/atomic/Table/Table.css */
6191
6417
 
6192
6418
  .dndev-table-wrapper {
@@ -6252,7 +6478,7 @@ em {
6252
6478
  /* Table head (th) styles */
6253
6479
 
6254
6480
  .dndev-table-head {
6255
- text-align: left;
6481
+ text-align: start;
6256
6482
  vertical-align: middle;
6257
6483
  font-weight: 500;
6258
6484
  color: var(--muted-foreground);
@@ -6269,12 +6495,12 @@ em {
6269
6495
  text-align: center;
6270
6496
  }
6271
6497
 
6272
- .dndev-table-head[data-align='right'] {
6273
- text-align: right;
6498
+ .dndev-table-head[data-align='end'] {
6499
+ text-align: end;
6274
6500
  }
6275
6501
 
6276
- .dndev-table-head[data-align='left'] {
6277
- text-align: left;
6502
+ .dndev-table-head[data-align='start'] {
6503
+ text-align: start;
6278
6504
  }
6279
6505
 
6280
6506
  /* Table cell (td) styles */
@@ -6290,14 +6516,48 @@ em {
6290
6516
  text-align: center;
6291
6517
  }
6292
6518
 
6293
- .dndev-table-cell[data-align='right'] {
6294
- text-align: right;
6519
+ .dndev-table-cell[data-align='end'] {
6520
+ text-align: end;
6295
6521
  }
6296
6522
 
6297
- .dndev-table-cell[data-align='left'] {
6298
- text-align: left;
6523
+ .dndev-table-cell[data-align='start'] {
6524
+ text-align: start;
6299
6525
  }
6300
6526
 
6527
+ /* Excel-like grid lines variant */
6528
+
6529
+ .dndev-table-grid .dndev-table-head,
6530
+ .dndev-table-grid .dndev-table-cell {
6531
+ border: 1px solid var(--border);
6532
+ padding: 0;
6533
+ }
6534
+
6535
+ .dndev-table-grid .dndev-table-row {
6536
+ border-bottom: 1px solid var(--border);
6537
+ }
6538
+
6539
+ .dndev-table-grid .dndev-table-row:last-child {
6540
+ border-bottom: 1px solid var(--border);
6541
+ }
6542
+
6543
+ /* Input components inside grid cells should be borderless and fit snugly */
6544
+
6545
+ .dndev-table-grid .dndev-table-cell .dndev-input,
6546
+ .dndev-table-grid .dndev-table-cell input[type="text"],
6547
+ .dndev-table-grid .dndev-table-cell input[type="number"] {
6548
+ border: none;
6549
+ background: transparent;
6550
+ width: 100%;
6551
+ height: 100%;
6552
+ box-shadow: none;
6553
+ }
6554
+
6555
+ .dndev-table-grid .dndev-table-cell .dndev-input:focus,
6556
+ .dndev-table-grid .dndev-table-cell input:focus {
6557
+ outline: 2px solid var(--primary);
6558
+ outline-offset: -2px;
6559
+ }
6560
+
6301
6561
  /* Table caption styles */
6302
6562
 
6303
6563
  .dndev-table-caption {
@@ -6314,7 +6574,7 @@ em {
6314
6574
 
6315
6575
  .dndev-table-search-icon {
6316
6576
  position: absolute;
6317
- left: var(--gap-md);
6577
+ inset-inline-start: var(--gap-md);
6318
6578
  top: 50%;
6319
6579
  transform: translateY(-50%);
6320
6580
  width: var(--icon-md);
@@ -6481,7 +6741,7 @@ em {
6481
6741
  .dndev-tag {
6482
6742
  display: inline-flex;
6483
6743
  align-items: center;
6484
- gap: var(--gap-xs);
6744
+ gap: var(--gap-sm);
6485
6745
  border-radius: var(--radius-full);
6486
6746
  border: 1px solid transparent;
6487
6747
  font-size: var(--font-size-sm);
@@ -6611,8 +6871,18 @@ em {
6611
6871
  font-weight: var(--font-weight-medium);
6612
6872
  line-height: var(--line-height);
6613
6873
  background-color: transparent; /* Text never has background, only color changes */
6874
+
6875
+ /* Respect semantic HTML elements */
6614
6876
  }
6615
6877
 
6878
+ .dndev-text-base:is(strong) {
6879
+ font-weight: var(--font-weight-semibold);
6880
+ }
6881
+
6882
+ .dndev-text-base:is(em) {
6883
+ font-style: italic;
6884
+ }
6885
+
6616
6886
  .dndev-text-base[data-variant='default'] {
6617
6887
  color: inherit;
6618
6888
  }
@@ -7560,7 +7830,7 @@ em {
7560
7830
  align-items: stretch;
7561
7831
  }
7562
7832
 
7563
- @media (width <= 699px) {
7833
+ @media (width <=699px) {
7564
7834
 
7565
7835
  [data-cols='2'] {
7566
7836
  grid-template-columns: repeat(1, minmax(350px, 1fr));
@@ -7572,14 +7842,14 @@ em {
7572
7842
  align-items: stretch;
7573
7843
  }
7574
7844
 
7575
- @media (width <= 1049px) {
7845
+ @media (width <=1049px) {
7576
7846
 
7577
7847
  [data-cols='3'] {
7578
7848
  grid-template-columns: repeat(2, minmax(350px, 1fr));
7579
7849
  }
7580
7850
  }
7581
7851
 
7582
- @media (width <= 699px) {
7852
+ @media (width <=699px) {
7583
7853
 
7584
7854
  [data-cols='3'] {
7585
7855
  grid-template-columns: repeat(1, minmax(350px, 1fr));
@@ -7593,21 +7863,21 @@ em {
7593
7863
  /* Responsive: reduce columns when container is narrow */
7594
7864
  }
7595
7865
 
7596
- @media (width <= 1399px) {
7866
+ @media (width <=1399px) {
7597
7867
 
7598
7868
  [data-cols='4'] {
7599
7869
  grid-template-columns: repeat(3, minmax(0, 1fr));
7600
7870
  }
7601
7871
  }
7602
7872
 
7603
- @media (width <= 1049px) {
7873
+ @media (width <=1049px) {
7604
7874
 
7605
7875
  [data-cols='4'] {
7606
7876
  grid-template-columns: repeat(2, minmax(0, 1fr));
7607
7877
  }
7608
7878
  }
7609
7879
 
7610
- @media (width <= 699px) {
7880
+ @media (width <=699px) {
7611
7881
 
7612
7882
  [data-cols='4'] {
7613
7883
  grid-template-columns: repeat(1, minmax(0, 1fr));
@@ -7674,18 +7944,22 @@ em {
7674
7944
 
7675
7945
  code {
7676
7946
  font-family: var(--font-mono);
7677
- font-size: inherit; /* Inherit parent size */
7678
- font-weight: inherit; /* Inherit parent weight */
7947
+ font-size: inherit;
7948
+ /* Inherit parent size */
7949
+ font-weight: inherit;
7950
+ /* Inherit parent weight */
7679
7951
  line-height: inherit;
7680
7952
  color: inherit;
7681
- background: transparent; /* No background by default */
7953
+ background: transparent;
7954
+ /* No background by default */
7682
7955
  }
7683
7956
 
7684
7957
  /* Code variant - visual styling (background, padding, can apply to any element) */
7685
7958
 
7686
7959
  [data-variant='code'] {
7687
7960
  font-family: var(--font-mono);
7688
- font-size: var(--font-size-sm); /* Default small size */
7961
+ font-size: var(--font-size-sm);
7962
+ /* Default small size */
7689
7963
  background: var(--muted);
7690
7964
  color: var(--muted-foreground);
7691
7965
  padding: var(--gap-sm) var(--gap-md);
@@ -7780,7 +8054,8 @@ h4[data-variant='code'] {
7780
8054
 
7781
8055
  .dndev-relative {
7782
8056
  position: relative;
7783
- min-width: 0; /* Allow flex items to shrink below content size */
8057
+ min-width: 0;
8058
+ /* Allow flex items to shrink below content size */
7784
8059
  }
7785
8060
 
7786
8061
  .dndev-absolute {
@@ -7885,7 +8160,7 @@ h4[data-variant='code'] {
7885
8160
  RESPONSIVE DISPLAY
7886
8161
  =========================== */
7887
8162
 
7888
- @media (width >= 768px) {
8163
+ @media (width >=768px) {
7889
8164
  .dndev-md\:block {
7890
8165
  display: block;
7891
8166
  }
@@ -7911,7 +8186,7 @@ h4[data-variant='code'] {
7911
8186
  }
7912
8187
  }
7913
8188
 
7914
- @media (width >= 1024px) {
8189
+ @media (width >=1024px) {
7915
8190
  .dndev-lg\:block {
7916
8191
  display: block;
7917
8192
  }
@@ -7971,6 +8246,10 @@ h4[data-variant='code'] {
7971
8246
  Components are unaffected - they own their own spacing
7972
8247
  =========================== */
7973
8248
 
8249
+ .prose {
8250
+ text-align: start;
8251
+ }
8252
+
7974
8253
  .prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6 {
7975
8254
  margin-block: var(--gap-md);
7976
8255
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@donotdev/components",
3
- "version": "0.0.11",
3
+ "version": "0.0.12",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "description": "Styled UI components for DoNotDev",
@@ -1,18 +0,0 @@
1
- /**
2
- * @fileoverview Combobox Primitives
3
- * @description Low-level primitives for building combobox components
4
- *
5
- * @version 0.0.1
6
- * @since 0.0.1
7
- * @author AMBROISE PARK Consulting
8
- */
9
- import * as PopoverPrimitive from '@radix-ui/react-popover';
10
- export declare const ComboboxRootPrimitive: import("react").FC<PopoverPrimitive.PopoverProps>;
11
- export declare const ComboboxTriggerPrimitive: import("react").ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
12
- export declare const ComboboxContentPrimitive: import("react").ForwardRefExoticComponent<PopoverPrimitive.PopoverContentProps & import("react").RefAttributes<HTMLDivElement>>;
13
- export declare const ComboboxAnchorPrimitive: import("react").ForwardRefExoticComponent<PopoverPrimitive.PopoverAnchorProps & import("react").RefAttributes<HTMLDivElement>>;
14
- export type ComboboxRootProps = PopoverPrimitive.PopoverProps;
15
- export type ComboboxTriggerProps = PopoverPrimitive.PopoverTriggerProps;
16
- export type ComboboxContentProps = PopoverPrimitive.PopoverContentProps;
17
- export type ComboboxAnchorProps = PopoverPrimitive.PopoverAnchorProps;
18
- //# sourceMappingURL=ComboboxPrimitive.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ComboboxPrimitive.d.ts","sourceRoot":"","sources":["../../../src/atomic/Combobox/ComboboxPrimitive.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAE5D,eAAO,MAAM,qBAAqB,mDAAwB,CAAC;AAC3D,eAAO,MAAM,wBAAwB,oIAA2B,CAAC;AACjE,eAAO,MAAM,wBAAwB,iIAA2B,CAAC;AACjE,eAAO,MAAM,uBAAuB,gIAA0B,CAAC;AAE/D,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,YAAY,CAAC;AAC9D,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,mBAAmB,CAAC;AACxE,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,mBAAmB,CAAC;AACxE,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,kBAAkB,CAAC"}
@@ -1,14 +0,0 @@
1
- // packages/components/src/atomic/Combobox/ComboboxPrimitive.tsx
2
- /**
3
- * @fileoverview Combobox Primitives
4
- * @description Low-level primitives for building combobox components
5
- *
6
- * @version 0.0.1
7
- * @since 0.0.1
8
- * @author AMBROISE PARK Consulting
9
- */
10
- import * as PopoverPrimitive from '@radix-ui/react-popover';
11
- export const ComboboxRootPrimitive = PopoverPrimitive.Root;
12
- export const ComboboxTriggerPrimitive = PopoverPrimitive.Trigger;
13
- export const ComboboxContentPrimitive = PopoverPrimitive.Content;
14
- export const ComboboxAnchorPrimitive = PopoverPrimitive.Anchor;