@tangible/ui 0.0.5 → 0.0.6

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.
@@ -97,6 +97,7 @@
97
97
  --tui-combobox-content-border
98
98
  --tui-combobox-content-shadow
99
99
  --tui-combobox-content-radius
100
+ --tui-combobox-option-radius
100
101
  --tui-combobox-option-bg-hover
101
102
  --tui-combobox-option-bg-selected
102
103
  */
@@ -132,6 +133,7 @@
132
133
  --tui-multiselect-content-border
133
134
  --tui-multiselect-content-shadow
134
135
  --tui-multiselect-content-radius
136
+ --tui-multiselect-option-radius
135
137
  --tui-multiselect-option-bg-hover
136
138
  --tui-multiselect-option-bg-selected
137
139
  --tui-multiselect-chip-bg
@@ -147,6 +149,7 @@
147
149
  --tui-select-content-border
148
150
  --tui-select-content-shadow
149
151
  --tui-select-content-radius
152
+ --tui-select-option-radius
150
153
  --tui-select-option-bg-hover
151
154
  --tui-select-option-bg-selected
152
155
  */
@@ -169,6 +172,11 @@
169
172
  /* @tui-tokens
170
173
  --tui-modal-z
171
174
  --tui-modal-max
175
+ --tui-modal-spacing
176
+ --tui-modal-offset-top
177
+ --tui-modal-offset-bottom
178
+ --tui-modal-offset-start
179
+ --tui-modal-offset-end
172
180
  --tui-modal-backdrop
173
181
  --tui-modal-bg
174
182
  --tui-modal-border
@@ -630,6 +638,8 @@
630
638
  --tui-radius-lg: 12px;
631
639
  --tui-font-size-base: 16px;
632
640
  --tui-line: 1.5;
641
+ --tui-typography-weight-normal: 400;
642
+ --tui-typography-weight-bold: 700;
633
643
  --tui-typography-size: var(--tui-font-size-base);
634
644
  --tui-typography-line-height: 1.4;
635
645
  --tui-typography-font-family: inherit;
@@ -671,6 +681,13 @@
671
681
  text-transform: none;
672
682
  letter-spacing: normal;
673
683
  }
684
+ .tui-interface input:focus, .tui-interface input:focus-visible,
685
+ .tui-interface textarea:focus,
686
+ .tui-interface textarea:focus-visible,
687
+ .tui-interface select:focus,
688
+ .tui-interface select:focus-visible {
689
+ box-shadow: none;
690
+ }
674
691
  }
675
692
  @layer components {
676
693
  :where(.tui-interface) .tui-accordion {
@@ -680,7 +697,7 @@
680
697
  }
681
698
  :where(.tui-interface) .tui-accordion__item {
682
699
  --_bg: var(--tui-accordion-bg, var(--tui-color-bg-surface));
683
- --_bg-open: var(--tui-accordion-bg-open, var(--_bg));
700
+ --_bg-open: var(--tui-accordion-bg-open, var(--tui-color-bg-surface));
684
701
  --_border: var(--tui-accordion-border, var(--tui-color-border));
685
702
  --_divider: var(--tui-accordion-divider, var(--_border));
686
703
  --_radius: var(--tui-accordion-radius, var(--tui-radius-md));
@@ -1791,7 +1808,7 @@
1791
1808
  align-items: center;
1792
1809
  }
1793
1810
  .tui-interface .tui-combobox__input {
1794
- --_bg: var(--tui-combobox-input-bg, var(--tui-select-trigger-bg, var(--tui-color-bg)));
1811
+ --_bg: var(--tui-combobox-input-bg, var(--tui-select-trigger-bg, var(--tui-color-bg-surface)));
1795
1812
  --_fg: var(--tui-combobox-input-fg, var(--tui-select-trigger-fg, var(--tui-color-fg)));
1796
1813
  --_border: var(--tui-combobox-input-border, var(--tui-select-trigger-border, var(--tui-color-border)));
1797
1814
  --_border-focus: var(--tui-combobox-input-border-focus, var(--tui-select-trigger-border-focus, var(--tui-theme-primary-base)));
@@ -1799,7 +1816,7 @@
1799
1816
  appearance: none;
1800
1817
  font: inherit;
1801
1818
  margin: 0;
1802
- --_fs: var(--tui-typography-size-md);
1819
+ --_fs: var(--tui-control-font-size-md, var(--tui-typography-size-md));
1803
1820
  --_py: var(--tui-spacing-xxs);
1804
1821
  --_height: calc(2em + 2 * var(--_py));
1805
1822
  font-size: var(--_fs);
@@ -1807,11 +1824,11 @@
1807
1824
  min-height: var(--tui-control-height-md, var(--_height));
1808
1825
  }
1809
1826
  .tui-interface .tui-combobox__input.is-size-sm {
1810
- --_fs: var(--tui-typography-size-sm);
1827
+ --_fs: var(--tui-control-font-size-sm, var(--tui-typography-size-sm));
1811
1828
  min-height: var(--tui-control-height-sm, var(--_height));
1812
1829
  }
1813
1830
  .tui-interface .tui-combobox__input.is-size-lg {
1814
- --_fs: var(--tui-typography-size-lg);
1831
+ --_fs: var(--tui-control-font-size-lg, var(--tui-typography-size-lg));
1815
1832
  min-height: var(--tui-control-height-lg, var(--_height));
1816
1833
  }
1817
1834
  .tui-interface .tui-combobox__input {
@@ -1914,6 +1931,7 @@
1914
1931
  animation: tui-fadeFromTransparent var(--tui-motion-duration) var(--tui-motion-timing);
1915
1932
  }
1916
1933
  :where(.tui-interface) .tui-combobox__option {
1934
+ --_option-radius: var(--tui-combobox-option-radius, var(--tui-select-option-radius, var(--tui-radius-sm)));
1917
1935
  --_bg-hover: var(--tui-combobox-option-bg-hover, var(--tui-select-option-bg-hover, var(--tui-theme-secondary-subtlest)));
1918
1936
  --_bg-selected: var(--tui-combobox-option-bg-selected, var(--tui-select-option-bg-selected, var(--tui-theme-primary-subtlest)));
1919
1937
  display: flex;
@@ -1921,7 +1939,7 @@
1921
1939
  justify-content: space-between;
1922
1940
  gap: var(--tui-spacing-xs);
1923
1941
  padding: var(--tui-spacing-xs) var(--tui-spacing-sm);
1924
- border-radius: var(--tui-radius-sm);
1942
+ border-radius: var(--_option-radius);
1925
1943
  cursor: pointer;
1926
1944
  font-size: var(--tui-typography-size-sm);
1927
1945
  line-height: 1.4;
@@ -2200,7 +2218,7 @@
2200
2218
  pointer-events: none;
2201
2219
  }
2202
2220
  .tui-interface .tui-multiselect__trigger {
2203
- --_bg: var(--tui-multiselect-trigger-bg, var(--tui-color-bg));
2221
+ --_bg: var(--tui-multiselect-trigger-bg, var(--tui-color-bg-surface));
2204
2222
  --_fg: var(--tui-multiselect-trigger-fg, var(--tui-color-fg));
2205
2223
  --_border: var(--tui-multiselect-trigger-border, var(--tui-color-border));
2206
2224
  --_border-focus: var(--tui-multiselect-trigger-border-focus, var(--tui-theme-primary-base));
@@ -2209,7 +2227,7 @@
2209
2227
  border: none;
2210
2228
  font: inherit;
2211
2229
  margin: 0;
2212
- --_fs: var(--tui-typography-size-md);
2230
+ --_fs: var(--tui-control-font-size-md, var(--tui-typography-size-md));
2213
2231
  --_py: var(--tui-spacing-xxs);
2214
2232
  --_height: calc(2em + 2 * var(--_py));
2215
2233
  font-size: var(--_fs);
@@ -2217,11 +2235,11 @@
2217
2235
  min-height: var(--tui-control-height-md, var(--_height));
2218
2236
  }
2219
2237
  .tui-interface .tui-multiselect__trigger.is-size-sm {
2220
- --_fs: var(--tui-typography-size-sm);
2238
+ --_fs: var(--tui-control-font-size-sm, var(--tui-typography-size-sm));
2221
2239
  min-height: var(--tui-control-height-sm, var(--_height));
2222
2240
  }
2223
2241
  .tui-interface .tui-multiselect__trigger.is-size-lg {
2224
- --_fs: var(--tui-typography-size-lg);
2242
+ --_fs: var(--tui-control-font-size-lg, var(--tui-typography-size-lg));
2225
2243
  min-height: var(--tui-control-height-lg, var(--_height));
2226
2244
  }
2227
2245
  .tui-interface .tui-multiselect__trigger {
@@ -2368,13 +2386,14 @@
2368
2386
  animation: tui-fadeFromTransparent var(--tui-motion-duration) var(--tui-motion-timing);
2369
2387
  }
2370
2388
  :where(.tui-interface) .tui-multiselect__option {
2389
+ --_option-radius: var(--tui-multiselect-option-radius, var(--tui-radius-sm));
2371
2390
  --_bg-hover: var(--tui-multiselect-option-bg-hover, var(--tui-theme-secondary-subtlest));
2372
2391
  --_bg-selected: var(--tui-multiselect-option-bg-selected, var(--tui-theme-primary-subtlest));
2373
2392
  display: flex;
2374
2393
  align-items: center;
2375
2394
  gap: var(--tui-spacing-xs);
2376
2395
  padding: var(--tui-spacing-xs) var(--tui-spacing-sm);
2377
- border-radius: var(--tui-radius-sm);
2396
+ border-radius: var(--_option-radius);
2378
2397
  cursor: pointer;
2379
2398
  font-size: var(--tui-typography-size-sm);
2380
2399
  line-height: 1.4;
@@ -2468,7 +2487,7 @@
2468
2487
  }
2469
2488
  }
2470
2489
  .tui-interface .tui-select__trigger {
2471
- --_bg: var(--tui-select-trigger-bg, var(--tui-color-bg));
2490
+ --_bg: var(--tui-select-trigger-bg, var(--tui-color-bg-surface));
2472
2491
  --_fg: var(--tui-select-trigger-fg, var(--tui-color-fg));
2473
2492
  --_border: var(--tui-select-trigger-border, var(--tui-color-border));
2474
2493
  --_border-focus: var(--tui-select-trigger-border-focus, var(--tui-theme-primary-base));
@@ -2477,7 +2496,7 @@
2477
2496
  border: none;
2478
2497
  font: inherit;
2479
2498
  margin: 0;
2480
- --_fs: var(--tui-typography-size-md);
2499
+ --_fs: var(--tui-control-font-size-md, var(--tui-typography-size-md));
2481
2500
  --_py: var(--tui-spacing-xxs);
2482
2501
  --_height: calc(2em + 2 * var(--_py));
2483
2502
  font-size: var(--_fs);
@@ -2485,11 +2504,11 @@
2485
2504
  min-height: var(--tui-control-height-md, var(--_height));
2486
2505
  }
2487
2506
  .tui-interface .tui-select__trigger.is-size-sm {
2488
- --_fs: var(--tui-typography-size-sm);
2507
+ --_fs: var(--tui-control-font-size-sm, var(--tui-typography-size-sm));
2489
2508
  min-height: var(--tui-control-height-sm, var(--_height));
2490
2509
  }
2491
2510
  .tui-interface .tui-select__trigger.is-size-lg {
2492
- --_fs: var(--tui-typography-size-lg);
2511
+ --_fs: var(--tui-control-font-size-lg, var(--tui-typography-size-lg));
2493
2512
  min-height: var(--tui-control-height-lg, var(--_height));
2494
2513
  }
2495
2514
  .tui-interface .tui-select__trigger {
@@ -2601,13 +2620,14 @@
2601
2620
  animation: tui-fadeFromTransparent var(--tui-motion-duration) var(--tui-motion-timing);
2602
2621
  }
2603
2622
  :where(.tui-interface) .tui-select__option {
2623
+ --_option-radius: var(--tui-select-option-radius, var(--tui-radius-sm));
2604
2624
  --_bg-hover: var(--tui-select-option-bg-hover, var(--tui-theme-secondary-subtlest));
2605
2625
  --_bg-selected: var(--tui-select-option-bg-selected, var(--tui-theme-primary-subtlest));
2606
2626
  display: flex;
2607
2627
  align-items: center;
2608
2628
  gap: var(--tui-spacing-xs);
2609
2629
  padding: var(--tui-spacing-xs) var(--tui-spacing-sm);
2610
- border-radius: var(--tui-radius-sm);
2630
+ border-radius: var(--_option-radius);
2611
2631
  cursor: pointer;
2612
2632
  font-size: var(--tui-typography-size-sm);
2613
2633
  line-height: 1.4;
@@ -2694,13 +2714,13 @@
2694
2714
  input[type=color],
2695
2715
  textarea,
2696
2716
  select) {
2697
- --_bg: var(--tui-input-bg, var(--tui-color-bg));
2717
+ --_bg: var(--tui-input-bg, var(--tui-color-bg-surface));
2698
2718
  --_fg: var(--tui-input-fg, var(--tui-color-fg-muted));
2699
2719
  --_border: var(--tui-input-border, var(--tui-color-border));
2700
2720
  --_border-focus: var(--tui-input-border-focus, var(--tui-theme-primary-base));
2701
2721
  --_border-invalid: var(--tui-input-border-invalid, var(--tui-theme-danger-base));
2702
2722
  --_radius: var(--tui-input-radius, var(--tui-radius-md));
2703
- --_fs: var(--tui-typography-size-md);
2723
+ --_fs: var(--tui-control-font-size-md, var(--tui-typography-size-md));
2704
2724
  --_py: var(--tui-spacing-xxs);
2705
2725
  --_height: calc(2em + 2 * var(--_py));
2706
2726
  font-size: var(--_fs);
@@ -2725,7 +2745,7 @@
2725
2745
  input[type=color],
2726
2746
  textarea,
2727
2747
  select).is-size-sm {
2728
- --_fs: var(--tui-typography-size-sm);
2748
+ --_fs: var(--tui-control-font-size-sm, var(--tui-typography-size-sm));
2729
2749
  min-height: var(--tui-control-height-sm, var(--_height));
2730
2750
  }
2731
2751
  :where(.tui-interface) :is(.tui-input,
@@ -2746,7 +2766,7 @@
2746
2766
  input[type=color],
2747
2767
  textarea,
2748
2768
  select).is-size-lg {
2749
- --_fs: var(--tui-typography-size-lg);
2769
+ --_fs: var(--tui-control-font-size-lg, var(--tui-typography-size-lg));
2750
2770
  min-height: var(--tui-control-height-lg, var(--_height));
2751
2771
  }
2752
2772
  :where(.tui-interface) :is(.tui-input,
@@ -2943,7 +2963,7 @@
2943
2963
  padding-inline-end: 0.25em;
2944
2964
  }
2945
2965
  :where(.tui-interface) input[type=file] {
2946
- --_bg: var(--tui-input-bg, var(--tui-color-bg));
2966
+ --_bg: var(--tui-input-bg, var(--tui-color-bg-surface));
2947
2967
  --_fg: var(--tui-input-fg, var(--tui-color-fg-muted));
2948
2968
  --_border: var(--tui-input-border, var(--tui-color-border));
2949
2969
  --_radius: var(--tui-input-radius, var(--tui-radius-md));
@@ -3017,7 +3037,7 @@
3017
3037
  transition-property: background-color, color, border-color;
3018
3038
  }
3019
3039
  .tui-interface .tui-icon-button .tui-icon {
3020
- font-size: calc(var(--_size) * 0.5);
3040
+ font-size: calc(var(--_size) * 0.75);
3021
3041
  }
3022
3042
  .tui-interface .tui-icon-button:hover {
3023
3043
  --_bg: var(--_bg-interact);
@@ -3159,6 +3179,11 @@
3159
3179
  .tui-modal {
3160
3180
  --_z: var(--tui-modal-z, var(--tui-layer-modal, 1000));
3161
3181
  --_backdrop: var(--tui-modal-backdrop, var(--tui-color-bg-overlay));
3182
+ --_spacing: var(--tui-modal-spacing, var(--tui-spacing-md));
3183
+ --_offset-top: var(--tui-modal-offset-top, env(safe-area-inset-top, 0px));
3184
+ --_offset-bottom: var(--tui-modal-offset-bottom, env(safe-area-inset-bottom, 0px));
3185
+ --_offset-start: var(--tui-modal-offset-start, env(safe-area-inset-left, 0px));
3186
+ --_offset-end: var(--tui-modal-offset-end, env(safe-area-inset-right, 0px));
3162
3187
  position: fixed;
3163
3188
  inset: 0;
3164
3189
  z-index: var(--_z);
@@ -3167,7 +3192,10 @@
3167
3192
  justify-content: center;
3168
3193
  align-items: flex-start;
3169
3194
  overflow: auto;
3170
- padding-block: 1rem;
3195
+ padding-block-start: calc(var(--_spacing) + var(--_offset-top));
3196
+ padding-block-end: calc(var(--_spacing) + var(--_offset-bottom));
3197
+ padding-inline-start: calc(var(--_spacing) + var(--_offset-start));
3198
+ padding-inline-end: calc(var(--_spacing) + var(--_offset-end));
3171
3199
  }
3172
3200
  .tui-modal__backdrop {
3173
3201
  position: fixed;
@@ -3194,8 +3222,8 @@
3194
3222
  --_shadow: var(--tui-modal-shadow, var(--tui-shadow-lg));
3195
3223
  position: relative;
3196
3224
  width: 100%;
3197
- max-inline-size: min(100vw - 2rem, var(--_max));
3198
- max-block-size: calc(100dvh - 2rem);
3225
+ max-inline-size: var(--_max);
3226
+ max-block-size: calc(100dvh - var(--_spacing) * 2 - var(--_offset-top) - var(--_offset-bottom));
3199
3227
  margin-block: auto;
3200
3228
  overflow: hidden;
3201
3229
  display: flex;
@@ -3264,6 +3292,9 @@
3264
3292
  align-items: flex-start;
3265
3293
  gap: var(--tui-spacing-sm);
3266
3294
  }
3295
+ .tui-modal__dialog .tui-modal__head :is(h1, h2, h3, h4, h5, h6) {
3296
+ margin-block: 0;
3297
+ }
3267
3298
  .tui-modal__dialog .tui-modal__head-icon {
3268
3299
  flex-shrink: 0;
3269
3300
  display: flex;
@@ -5048,7 +5079,7 @@
5048
5079
  }
5049
5080
  }
5050
5081
  :where(.tui-interface) .tui-textarea {
5051
- --_fs: var(--tui-typography-size-md);
5082
+ --_fs: var(--tui-control-font-size-md, var(--tui-typography-size-md));
5052
5083
  --_py: var(--tui-spacing-xxs);
5053
5084
  --_height: calc(2em + 2 * var(--_py));
5054
5085
  font-size: var(--_fs);
@@ -5056,11 +5087,11 @@
5056
5087
  min-height: var(--tui-control-height-md, var(--_height));
5057
5088
  }
5058
5089
  :where(.tui-interface) .tui-textarea.is-size-sm {
5059
- --_fs: var(--tui-typography-size-sm);
5090
+ --_fs: var(--tui-control-font-size-sm, var(--tui-typography-size-sm));
5060
5091
  min-height: var(--tui-control-height-sm, var(--_height));
5061
5092
  }
5062
5093
  :where(.tui-interface) .tui-textarea.is-size-lg {
5063
- --_fs: var(--tui-typography-size-lg);
5094
+ --_fs: var(--tui-control-font-size-lg, var(--tui-typography-size-lg));
5064
5095
  min-height: var(--tui-control-height-lg, var(--_height));
5065
5096
  }
5066
5097
  :where(.tui-interface) .tui-textarea {
@@ -5075,11 +5106,11 @@
5075
5106
  }
5076
5107
  :where(.tui-interface) .tui-input-group {
5077
5108
  --_gap: var(--tui-input-group-gap, var(--tui-spacing-xs));
5078
- --_bg: var(--tui-input-bg, var(--tui-color-bg));
5109
+ --_bg: var(--tui-input-bg, var(--tui-color-bg-surface));
5079
5110
  --_border: var(--tui-input-border, var(--tui-color-border));
5080
5111
  --_border-focus: var(--tui-input-border-focus, var(--tui-theme-primary-base));
5081
5112
  --_radius: var(--tui-input-radius, var(--tui-radius-md));
5082
- --_fs: var(--tui-typography-size-md);
5113
+ --_fs: var(--tui-control-font-size-md, var(--tui-typography-size-md));
5083
5114
  --_py: var(--tui-spacing-xxs);
5084
5115
  --_height: calc(2em + 2 * var(--_py));
5085
5116
  font-size: var(--_fs);
@@ -5087,11 +5118,11 @@
5087
5118
  min-height: var(--tui-control-height-md, var(--_height));
5088
5119
  }
5089
5120
  :where(.tui-interface) .tui-input-group.is-size-sm {
5090
- --_fs: var(--tui-typography-size-sm);
5121
+ --_fs: var(--tui-control-font-size-sm, var(--tui-typography-size-sm));
5091
5122
  min-height: var(--tui-control-height-sm, var(--_height));
5092
5123
  }
5093
5124
  :where(.tui-interface) .tui-input-group.is-size-lg {
5094
- --_fs: var(--tui-typography-size-lg);
5125
+ --_fs: var(--tui-control-font-size-lg, var(--tui-typography-size-lg));
5095
5126
  min-height: var(--tui-control-height-lg, var(--_height));
5096
5127
  }
5097
5128
  :where(.tui-interface) .tui-input-group {