@dodlhuat/basix 1.3.1 → 1.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.
Files changed (118) hide show
  1. package/README.md +14 -8
  2. package/css/accordion.scss +0 -5
  3. package/css/badge.scss +1 -6
  4. package/css/bottom-sheet.scss +3 -8
  5. package/css/breadcrumb.scss +6 -15
  6. package/css/button.scss +2 -1
  7. package/css/calendar.scss +0 -67
  8. package/css/card.scss +0 -5
  9. package/css/carousel.scss +0 -3
  10. package/css/chart.scss +0 -25
  11. package/css/chat-bubbles.scss +0 -15
  12. package/css/checkbox.scss +3 -2
  13. package/css/chips.scss +3 -7
  14. package/css/code-viewer.scss +1 -5
  15. package/css/context-menu.scss +5 -21
  16. package/css/datepicker.scss +6 -9
  17. package/css/docs.scss +0 -4
  18. package/css/dropdown.scss +1 -1
  19. package/css/editor.scss +1 -23
  20. package/css/file-uploader.scss +2 -2
  21. package/css/flyout-menu.scss +65 -58
  22. package/css/form.scss +0 -28
  23. package/css/gallery.scss +2 -3
  24. package/css/group-picker.scss +5 -35
  25. package/css/icons.scss +0 -3
  26. package/css/lightbox.scss +2 -4
  27. package/css/mixins.scss +8 -0
  28. package/css/modal.scss +3 -3
  29. package/css/parameters.scss +6 -1
  30. package/css/popover.scss +3 -15
  31. package/css/progress.scss +0 -6
  32. package/css/push-menu.scss +3 -28
  33. package/css/radiobutton.scss +2 -1
  34. package/css/range-slider.scss +1 -7
  35. package/css/scrollbar.scss +9 -16
  36. package/css/sidebar-nav.scss +0 -12
  37. package/css/stepper.scss +0 -4
  38. package/css/style.css +108 -116
  39. package/css/style.css.map +1 -1
  40. package/css/style.min.css +1 -1
  41. package/css/style.min.css.map +1 -1
  42. package/css/style.scss +1 -1
  43. package/css/table.scss +0 -4
  44. package/css/tabs.scss +0 -2
  45. package/css/timeline.scss +1 -13
  46. package/css/timepicker.scss +55 -39
  47. package/css/toast.scss +1 -1
  48. package/css/tooltip.scss +1 -5
  49. package/css/tree.scss +1 -1
  50. package/css/typography.scss +3 -3
  51. package/css/virtual-dropdown.scss +3 -28
  52. package/js/bottom-sheet.d.ts +3 -1
  53. package/js/bottom-sheet.js +26 -27
  54. package/js/calendar.d.ts +7 -0
  55. package/js/calendar.js +14 -33
  56. package/js/carousel.d.ts +2 -0
  57. package/js/carousel.js +13 -5
  58. package/js/chart.d.ts +4 -0
  59. package/js/chart.js +13 -31
  60. package/js/code-viewer.d.ts +1 -0
  61. package/js/code-viewer.js +4 -0
  62. package/js/context-menu.d.ts +9 -2
  63. package/js/context-menu.js +17 -14
  64. package/js/datepicker.d.ts +4 -0
  65. package/js/datepicker.js +26 -11
  66. package/js/dropdown.d.ts +3 -3
  67. package/js/dropdown.js +6 -9
  68. package/js/editor.d.ts +1 -1
  69. package/js/editor.js +14 -20
  70. package/js/file-uploader.d.ts +4 -0
  71. package/js/file-uploader.js +52 -43
  72. package/js/flyout-menu.d.ts +5 -3
  73. package/js/flyout-menu.js +23 -46
  74. package/js/gallery.d.ts +4 -0
  75. package/js/gallery.js +39 -50
  76. package/js/group-picker.d.ts +5 -0
  77. package/js/group-picker.js +12 -17
  78. package/js/lightbox.d.ts +3 -0
  79. package/js/lightbox.js +12 -6
  80. package/js/modal.d.ts +3 -1
  81. package/js/modal.js +14 -11
  82. package/js/popover.d.ts +2 -0
  83. package/js/popover.js +26 -30
  84. package/js/position.d.ts +2 -0
  85. package/js/position.js +1 -5
  86. package/js/push-menu.d.ts +2 -1
  87. package/js/push-menu.js +25 -48
  88. package/js/range-slider.d.ts +1 -0
  89. package/js/range-slider.js +5 -3
  90. package/js/scroll.d.ts +2 -0
  91. package/js/scroll.js +1 -0
  92. package/js/scrollbar.d.ts +2 -0
  93. package/js/scrollbar.js +24 -36
  94. package/js/select.d.ts +1 -0
  95. package/js/select.js +5 -10
  96. package/js/sidebar-nav.d.ts +2 -0
  97. package/js/sidebar-nav.js +8 -0
  98. package/js/stepper.d.ts +2 -0
  99. package/js/stepper.js +7 -1
  100. package/js/table.d.ts +4 -0
  101. package/js/table.js +15 -22
  102. package/js/tabs.d.ts +2 -0
  103. package/js/tabs.js +6 -14
  104. package/js/theme.d.ts +1 -0
  105. package/js/theme.js +5 -13
  106. package/js/timepicker.d.ts +22 -5
  107. package/js/timepicker.js +160 -57
  108. package/js/toast.d.ts +3 -1
  109. package/js/toast.js +25 -22
  110. package/js/tooltip.d.ts +2 -0
  111. package/js/tooltip.js +21 -19
  112. package/js/tree.d.ts +3 -0
  113. package/js/tree.js +13 -0
  114. package/js/utils.d.ts +1 -3
  115. package/js/utils.js +0 -3
  116. package/js/virtual-dropdown.d.ts +3 -0
  117. package/js/virtual-dropdown.js +25 -0
  118. package/package.json +2 -2
package/css/chart.scss CHANGED
@@ -1,9 +1,6 @@
1
1
  @use "properties";
2
2
  @use "parameters" as *;
3
3
 
4
- // ─── Chart color palette ────────────────────────────────────────────────────
5
- // Readable via JS: getComputedStyle(el).getPropertyValue('--chart-color-1')
6
-
7
4
  .chart {
8
5
  --chart-color-1: var(--accent-color);
9
6
  --chart-color-2: var(--success);
@@ -15,8 +12,6 @@
15
12
  --chart-color-8: #EC4899;
16
13
  }
17
14
 
18
- // ─── Wrapper ────────────────────────────────────────────────────────────────
19
-
20
15
  .chart {
21
16
  position: relative;
22
17
  width: 100%;
@@ -24,8 +19,6 @@
24
19
  color: var(--primary-text);
25
20
  font-size: 0.875rem;
26
21
 
27
- // ─── Header ───────────────────────────────────────────────────────────────
28
-
29
22
  &-header {
30
23
  margin-bottom: calc($spacing * 0.75);
31
24
  }
@@ -43,8 +36,6 @@
43
36
  margin-top: calc($spacing * 0.2);
44
37
  }
45
38
 
46
- // ─── Canvas ───────────────────────────────────────────────────────────────
47
-
48
39
  &-canvas {
49
40
  width: 100%;
50
41
  position: relative;
@@ -57,8 +48,6 @@
57
48
  overflow: visible;
58
49
  }
59
50
 
60
- // ─── Axes & grid ──────────────────────────────────────────────────────────
61
-
62
51
  .chart-axis-line {
63
52
  stroke: var(--divider);
64
53
  stroke-width: 1;
@@ -77,8 +66,6 @@
77
66
  font-family: inherit;
78
67
  }
79
68
 
80
- // ─── Line & area ──────────────────────────────────────────────────────────
81
-
82
69
  .chart-line {
83
70
  fill: none;
84
71
  stroke-linecap: round;
@@ -92,7 +79,6 @@
92
79
  animation: chart-fade-in 0.8s ease forwards;
93
80
  }
94
81
 
95
- // Dots visible by default (small), expand on hover via group
96
82
  .chart-point-dot {
97
83
  transition: r 0.15s ease;
98
84
  }
@@ -114,8 +100,6 @@
114
100
  }
115
101
  }
116
102
 
117
- // ─── Column & bar ─────────────────────────────────────────────────────────
118
-
119
103
  .chart-bar {
120
104
  transition: opacity 0.15s ease, filter 0.15s ease;
121
105
  cursor: pointer;
@@ -139,8 +123,6 @@
139
123
  }
140
124
  }
141
125
 
142
- // ─── Pie ──────────────────────────────────────────────────────────────────
143
-
144
126
  .chart-slice {
145
127
  cursor: pointer;
146
128
  transform-box: fill-box;
@@ -155,8 +137,6 @@
155
137
  }
156
138
  }
157
139
 
158
- // ─── Legend ───────────────────────────────────────────────────────────────
159
-
160
140
  &-legend {
161
141
  display: flex;
162
142
  flex-wrap: wrap;
@@ -180,7 +160,6 @@
180
160
  flex-shrink: 0;
181
161
  }
182
162
 
183
- // Pie legend variant — bigger swatches, stacked nicely
184
163
  &-pie-legend {
185
164
  display: flex;
186
165
  flex-wrap: wrap;
@@ -210,8 +189,6 @@
210
189
  margin-left: calc($spacing * 0.15);
211
190
  }
212
191
 
213
- // ─── Tooltip ──────────────────────────────────────────────────────────────
214
-
215
192
  &-tooltip {
216
193
  position: fixed;
217
194
  background: var(--primary-dark);
@@ -242,8 +219,6 @@
242
219
  }
243
220
  }
244
221
 
245
- // ─── Animations ─────────────────────────────────────────────────────────────
246
-
247
222
  @keyframes chart-draw {
248
223
  from { stroke-dashoffset: var(--path-length, 9999); }
249
224
  to { stroke-dashoffset: 0; }
@@ -5,8 +5,6 @@
5
5
  --bubble-radius: 18px;
6
6
  }
7
7
 
8
- // ── Container ─────────────────────────────────────────────────────────────────
9
-
10
8
  .chat {
11
9
  display: flex;
12
10
  flex-direction: column;
@@ -15,14 +13,11 @@
15
13
  width: 100%;
16
14
  }
17
15
 
18
- // Extra breathing room between direction changes
19
16
  .chat-message.incoming + .chat-message.outgoing,
20
17
  .chat-message.outgoing + .chat-message.incoming {
21
18
  margin-top: calc($spacing * 0.5);
22
19
  }
23
20
 
24
- // ── Message row ───────────────────────────────────────────────────────────────
25
-
26
21
  .chat-message {
27
22
  display: flex;
28
23
  align-items: flex-end;
@@ -37,7 +32,6 @@
37
32
  border-bottom-right-radius: 0;
38
33
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.15));
39
34
 
40
- // Tail: right-angle at bubble's bottom-right corner, extends right
41
35
  &::after {
42
36
  content: '';
43
37
  position: absolute;
@@ -60,7 +54,6 @@
60
54
  border-bottom-left-radius: 0;
61
55
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.08));
62
56
 
63
- // Tail: right-angle at bubble's bottom-left corner, extends left
64
57
  &::after {
65
58
  content: '';
66
59
  position: absolute;
@@ -75,8 +68,6 @@
75
68
  }
76
69
  }
77
70
 
78
- // ── Avatar ────────────────────────────────────────────────────────────────────
79
-
80
71
  .chat-avatar {
81
72
  flex-shrink: 0;
82
73
  width: 2rem;
@@ -98,8 +89,6 @@
98
89
  }
99
90
  }
100
91
 
101
- // ── Bubble ────────────────────────────────────────────────────────────────────
102
-
103
92
  .chat-bubble {
104
93
  position: relative;
105
94
  max-width: 72%;
@@ -114,8 +103,6 @@
114
103
  }
115
104
  }
116
105
 
117
- // ── Timestamp ─────────────────────────────────────────────────────────────────
118
-
119
106
  .chat-time {
120
107
  display: block;
121
108
  font-size: 0.68rem;
@@ -126,8 +113,6 @@
126
113
  color: inherit;
127
114
  }
128
115
 
129
- // ── Dark mode shadow ──────────────────────────────────────────────────────────
130
-
131
116
  [data-theme="dark"] {
132
117
  .chat-message.incoming .chat-bubble { filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.35)); }
133
118
  .chat-message.outgoing .chat-bubble { filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.4)); }
package/css/checkbox.scss CHANGED
@@ -1,5 +1,6 @@
1
1
  @use "properties";
2
2
  @use "parameters" as *;
3
+ @use "mixins" as *;
3
4
 
4
5
  .styled-checkbox {
5
6
  position: absolute;
@@ -22,7 +23,7 @@
22
23
  width: $spacing;
23
24
  height: $spacing;
24
25
  border: 2px solid var(--divider);
25
- border-radius: calc($border-radius / 2);
26
+ border-radius: $radius-sm;
26
27
  background-color: var(--background);
27
28
  margin-top: 2px;
28
29
  transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
@@ -33,7 +34,7 @@
33
34
  }
34
35
 
35
36
  &:focus-visible + label::before {
36
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent-color) 15%, transparent);
37
+ @include focus-glow(15%);
37
38
  border-color: var(--accent-color);
38
39
  }
39
40
 
package/css/chips.scss CHANGED
@@ -1,5 +1,6 @@
1
1
  @use "properties";
2
2
  @use "parameters" as *;
3
+ @use "mixins" as *;
3
4
 
4
5
  .chips {
5
6
  display: flex;
@@ -13,7 +14,7 @@
13
14
  background: var(--secondary-background);
14
15
  color: var(--primary-text);
15
16
  padding: calc($spacing * 0.3) calc($spacing * 0.75);
16
- border-radius: calc($border-radius * 4);
17
+ border-radius: $radius-xl;
17
18
  font-size: 0.8125rem;
18
19
  font-weight: 500;
19
20
  line-height: 1.4;
@@ -36,7 +37,7 @@
36
37
 
37
38
  &:focus-visible {
38
39
  outline: none;
39
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent-color) 35%, transparent);
40
+ @include focus-glow();
40
41
  }
41
42
  }
42
43
 
@@ -79,7 +80,6 @@
79
80
  }
80
81
  }
81
82
 
82
- // Accent variant
83
83
  &-accent {
84
84
  background: color-mix(in srgb, var(--accent-color) 12%, var(--background));
85
85
  color: var(--accent-color);
@@ -91,7 +91,6 @@
91
91
  }
92
92
  }
93
93
 
94
- // Success variant
95
94
  &-success {
96
95
  background: color-mix(in srgb, var(--success) 12%, var(--background));
97
96
  color: var(--success);
@@ -103,7 +102,6 @@
103
102
  }
104
103
  }
105
104
 
106
- // Warning variant
107
105
  &-warning {
108
106
  background: color-mix(in srgb, var(--warning) 12%, var(--background));
109
107
  color: var(--warning);
@@ -115,7 +113,6 @@
115
113
  }
116
114
  }
117
115
 
118
- // Error variant
119
116
  &-error {
120
117
  background: color-mix(in srgb, var(--error) 12%, var(--background));
121
118
  color: var(--error);
@@ -127,7 +124,6 @@
127
124
  }
128
125
  }
129
126
 
130
- // Outline variant
131
127
  &-outline {
132
128
  background: transparent;
133
129
  border-color: var(--divider);
@@ -1,9 +1,6 @@
1
1
  @use "properties";
2
2
  @use "parameters" as *;
3
3
 
4
- // Structural chrome uses design tokens.
5
- // Syntax highlight colors are intentional VS Code palette — left as-is.
6
-
7
4
  .code-display {
8
5
  background: #1e1e1e;
9
6
  border-radius: $border-radius;
@@ -33,7 +30,7 @@
33
30
  color: #fff;
34
31
  border: none;
35
32
  padding: calc($spacing * 0.375) calc($spacing * 0.75);
36
- border-radius: calc($border-radius / 2);
33
+ border-radius: $radius-sm;
37
34
  cursor: pointer;
38
35
  font-size: 0.75rem;
39
36
  transition: background 0.2s;
@@ -60,7 +57,6 @@
60
57
  color: #d4d4d4;
61
58
  }
62
59
 
63
- /* Syntax Highlighting — VS Code Dark+ palette */
64
60
  .keyword { color: #569cd6; }
65
61
  .string { color: #ce9178; }
66
62
  .comment { color: #6a9955; font-style: italic; }
@@ -1,5 +1,5 @@
1
- @use "parameters" as *;
2
1
  @use "properties";
2
+ @use "parameters" as *;
3
3
 
4
4
  .context-menu {
5
5
  position: fixed;
@@ -8,7 +8,7 @@
8
8
  padding: calc($spacing * 0.375) 0;
9
9
  background: var(--background);
10
10
  border: 1px solid var(--divider);
11
- border-radius: calc($border-radius * 2.5);
11
+ border-radius: $radius-panel;
12
12
  box-shadow:
13
13
  0 8px 32px rgba(0, 0, 0, 0.12),
14
14
  0 2px 8px rgba(0, 0, 0, 0.08),
@@ -41,7 +41,6 @@
41
41
  transition: background 0.1s ease, color 0.1s ease;
42
42
  position: relative;
43
43
 
44
- // Icon slot — always present to keep label column aligned
45
44
  .context-menu-icon {
46
45
  flex-shrink: 0;
47
46
  width: 1rem;
@@ -52,9 +51,10 @@
52
51
  color: var(--secondary-text);
53
52
  transition: color 0.1s ease;
54
53
 
55
- .icon-svg {
54
+ svg {
56
55
  width: 1rem;
57
56
  height: 1rem;
57
+ fill: currentColor;
58
58
  }
59
59
  }
60
60
 
@@ -83,23 +83,8 @@
83
83
  color: var(--secondary-text);
84
84
  }
85
85
 
86
- // Hover + keyboard focus — same treatment as dropdown
87
86
  &:hover,
88
- &.is-focused {
89
- background: var(--secondary-background);
90
- color: var(--accent-color);
91
-
92
- .context-menu-icon {
93
- color: var(--accent-color);
94
- }
95
-
96
- .context-menu-chevron {
97
- color: var(--accent-color);
98
- opacity: 0.8;
99
- }
100
- }
101
-
102
- // Submenu-parent active (submenu is open) — keep it highlighted
87
+ &.is-focused,
103
88
  &.is-active {
104
89
  background: var(--secondary-background);
105
90
  color: var(--accent-color);
@@ -138,7 +123,6 @@
138
123
  pointer-events: none;
139
124
  }
140
125
 
141
- // Submenu
142
126
  &.has-submenu {
143
127
  > .context-menu {
144
128
  position: absolute;
@@ -1,5 +1,6 @@
1
- @use "parameters" as *;
2
1
  @use "properties";
2
+ @use "parameters" as *;
3
+ @use "mixins" as *;
3
4
 
4
5
  .container {
5
6
  max-width: 800px;
@@ -15,7 +16,7 @@
15
16
  user-select: none;
16
17
  box-shadow: $shadow;
17
18
  display: none;
18
- position: absolute;
19
+ position: fixed;
19
20
  z-index: 1000;
20
21
  box-sizing: border-box;
21
22
  }
@@ -86,7 +87,7 @@
86
87
  font-size: $spacing;
87
88
  cursor: pointer;
88
89
  border-radius: $border-radius;
89
- transition: all 0.2s;
90
+ transition: background-color 0.2s, color 0.2s;
90
91
  }
91
92
 
92
93
  .datepicker-day:hover:not(.disabled) {
@@ -146,7 +147,7 @@
146
147
  font-size: 0.9rem;
147
148
  cursor: pointer;
148
149
  border-radius: $border-radius;
149
- transition: all 0.2s;
150
+ transition: background-color 0.2s, color 0.2s;
150
151
  }
151
152
 
152
153
  .datepicker-month:hover,
@@ -188,7 +189,6 @@
188
189
  background-color: var(--accent-color-lighten);
189
190
  }
190
191
 
191
- /* Time Picker */
192
192
  .datepicker-time {
193
193
  display: flex;
194
194
  align-items: center;
@@ -261,12 +261,10 @@
261
261
  }
262
262
 
263
263
  &:focus {
264
- outline: 2px solid var(--accent-color);
265
- outline-offset: -1px;
264
+ @include focus-ring(-1px);
266
265
  }
267
266
  }
268
267
 
269
- /* Set Button */
270
268
  .datepicker-set-btn {
271
269
  width: 100%;
272
270
  padding: calc($spacing / 2) $spacing;
@@ -286,7 +284,6 @@
286
284
  }
287
285
  }
288
286
 
289
- /* Mobile Responsiveness */
290
287
  @media (max-width: 640px) {
291
288
  .datepicker-backdrop {
292
289
  position: fixed;
package/css/docs.scss CHANGED
@@ -1,7 +1,5 @@
1
1
  @use "parameters" as *;
2
2
 
3
- // ── Sidebar content (logo + search) ──────────────────────────────────────────
4
-
5
3
  .sidebar-nav {
6
4
 
7
5
  .docs-sidebar-logo {
@@ -256,8 +254,6 @@
256
254
  }
257
255
  }
258
256
 
259
- // ── Landing page ─────────────────────────────────────────────────────────────
260
-
261
257
  .landing-hero {
262
258
  padding: 5rem 2rem 4rem;
263
259
  text-align: center;
package/css/dropdown.scss CHANGED
@@ -1,5 +1,5 @@
1
- @use "parameters" as *;
2
1
  @use "properties";
2
+ @use "parameters" as *;
3
3
 
4
4
  .dropdown-container {
5
5
  position: relative;
package/css/editor.scss CHANGED
@@ -1,8 +1,6 @@
1
1
  @use "properties";
2
2
  @use "parameters" as *;
3
3
 
4
- /* ── Editor Component ───────────────────────────────────────────────── */
5
-
6
4
  .editor {
7
5
  background: var(--secondary-background);
8
6
  border: 1px solid var(--divider);
@@ -13,8 +11,6 @@
13
11
  overflow: hidden;
14
12
  }
15
13
 
16
- /* ── Toolbar ───────────────────────────────────────────────────────── */
17
-
18
14
  .editor-toolbar {
19
15
  display: flex;
20
16
  align-items: center;
@@ -31,7 +27,6 @@
31
27
  }
32
28
  }
33
29
 
34
- /* SVG icon sizing */
35
30
  .editor-toolbar .icon-svg {
36
31
  fill: currentColor;
37
32
  display: block;
@@ -41,7 +36,6 @@
41
36
  flex-shrink: 0;
42
37
  }
43
38
 
44
- /* Button base */
45
39
  .editor-toolbar button {
46
40
  display: inline-flex;
47
41
  align-items: center;
@@ -74,7 +68,6 @@
74
68
  background: color-mix(in srgb, var(--accent-color) 12%, transparent);
75
69
  color: var(--accent-color);
76
70
 
77
- // Subtle dot indicator beneath active button
78
71
  &::after {
79
72
  content: "";
80
73
  position: absolute;
@@ -89,7 +82,6 @@
89
82
  }
90
83
  }
91
84
 
92
- /* Button clusters — pill-shaped groups */
93
85
  .toolbar-group {
94
86
  display: flex;
95
87
  align-items: center;
@@ -104,7 +96,6 @@
104
96
  }
105
97
  }
106
98
 
107
- /* Block-format select — reset all global form overrides */
108
99
  .editor-block-select {
109
100
  width: auto;
110
101
  flex-shrink: 0;
@@ -140,13 +131,11 @@
140
131
  }
141
132
  }
142
133
 
143
- /* Separators: invisible spacers — visual grouping comes from .toolbar-group */
144
134
  .toolbar-separator {
145
135
  width: 0.35rem;
146
136
  flex-shrink: 0;
147
137
  }
148
138
 
149
- /* Right-pinned actions */
150
139
  .toolbar-end {
151
140
  display: flex;
152
141
  align-items: center;
@@ -160,7 +149,6 @@
160
149
  }
161
150
  }
162
151
 
163
- /* Variant button states — scoped to avoid !important */
164
152
  .editor-toolbar button.toolbar-btn-accent {
165
153
  background: color-mix(in srgb, var(--accent-color) 10%, transparent);
166
154
  color: var(--accent-color);
@@ -177,8 +165,6 @@
177
165
  }
178
166
  }
179
167
 
180
- /* ── Editor Body ───────────────────────────────────────────────────── */
181
-
182
168
  .editor-body {
183
169
  display: flex;
184
170
  flex: 1;
@@ -278,8 +264,6 @@
278
264
  strong { font-weight: 700; }
279
265
  }
280
266
 
281
- /* ── Side Panel ────────────────────────────────────────────────────── */
282
-
283
267
  .editor-side {
284
268
  width: 320px;
285
269
  min-width: 240px;
@@ -435,8 +419,6 @@
435
419
  }
436
420
  }
437
421
 
438
- /* ── Footer ────────────────────────────────────────────────────────── */
439
-
440
422
  .editor-footer {
441
423
  display: flex;
442
424
  align-items: center;
@@ -482,8 +464,6 @@
482
464
  }
483
465
  }
484
466
 
485
- /* ── Responsive ────────────────────────────────────────────────────── */
486
-
487
467
  @media screen and (max-width: 768px) {
488
468
  .editor-body {
489
469
  flex-direction: column;
@@ -510,7 +490,7 @@
510
490
  .editor-toolbar {
511
491
  padding: 0.3rem 0.375rem;
512
492
  gap: 0.2rem;
513
- // Fade hint for horizontal scroll
493
+
514
494
  mask-image: linear-gradient(to right, black 85%, transparent 100%);
515
495
 
516
496
  button {
@@ -538,8 +518,6 @@
538
518
  }
539
519
  }
540
520
 
541
- /* ── Link Popover ──────────────────────────────────────────────────── */
542
-
543
521
  .editor-link-popover {
544
522
  display: flex;
545
523
  flex-direction: column;
@@ -136,7 +136,7 @@
136
136
  color: var(--secondary-text);
137
137
  cursor: pointer;
138
138
  padding: 0.25rem;
139
- border-radius: calc($border-radius / 2);
139
+ border-radius: $radius-sm;
140
140
  transition: color 0.15s ease, background-color 0.15s ease;
141
141
  display: flex;
142
142
  align-items: center;
@@ -152,7 +152,7 @@
152
152
  width: 100%;
153
153
  height: 4px;
154
154
  background-color: var(--divider);
155
- border-radius: calc($border-radius / 2);
155
+ border-radius: $radius-sm;
156
156
  overflow: hidden;
157
157
  display: none;
158
158
  }