@dodlhuat/basix 1.0.0 → 1.1.0

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 (142) hide show
  1. package/README.md +1 -1
  2. package/css/accordion.scss +31 -22
  3. package/css/alert.scss +79 -27
  4. package/css/button.scss +151 -102
  5. package/css/card.scss +11 -12
  6. package/css/carousel.scss +123 -87
  7. package/css/chart.scss +9 -11
  8. package/css/chat-bubbles.scss +2 -2
  9. package/css/checkbox.scss +72 -55
  10. package/css/chips.scss +52 -52
  11. package/css/code-viewer.scss +73 -98
  12. package/css/datepicker.scss +20 -0
  13. package/css/dropdown.scss +151 -137
  14. package/css/editor.scss +9 -6
  15. package/css/file-uploader.scss +187 -195
  16. package/css/flyout-menu.scss +20 -13
  17. package/css/form.scss +168 -115
  18. package/css/gallery.scss +62 -63
  19. package/css/grid.scss +0 -1
  20. package/css/modal.scss +117 -72
  21. package/css/placeholder.scss +17 -12
  22. package/css/properties.scss +6 -0
  23. package/css/push-menu.scss +70 -23
  24. package/css/radiobutton.scss +86 -64
  25. package/css/range-slider.scss +136 -0
  26. package/css/scrollbar.scss +69 -69
  27. package/css/spinner.scss +41 -66
  28. package/css/style.css +4351 -3735
  29. package/css/style.css.map +1 -1
  30. package/css/style.scss +2 -1
  31. package/css/switch.scss +43 -42
  32. package/css/table.scss +61 -40
  33. package/css/tabs.scss +12 -7
  34. package/css/timeline.scss +72 -69
  35. package/css/timepicker.scss +151 -72
  36. package/css/toast.scss +49 -48
  37. package/css/tooltip.scss +112 -122
  38. package/css/tree.scss +135 -192
  39. package/css/typography.scss +70 -9
  40. package/css/virtual-dropdown.scss +201 -142
  41. package/js/carousel.js +45 -18
  42. package/js/carousel.ts +217 -173
  43. package/js/datepicker.js +505 -497
  44. package/js/datepicker.ts +9 -0
  45. package/js/editor.js +398 -415
  46. package/js/file-uploader.js +142 -128
  47. package/js/file-uploader.ts +364 -350
  48. package/js/gallery.js +22 -15
  49. package/js/gallery.ts +17 -12
  50. package/js/index.js +718 -720
  51. package/js/index.ts +7 -8
  52. package/js/push-menu.js +113 -101
  53. package/js/push-menu.ts +17 -2
  54. package/js/range-slider.js +26 -0
  55. package/js/range-slider.ts +33 -0
  56. package/js/timepicker.js +144 -98
  57. package/js/timepicker.ts +194 -131
  58. package/js/tree.js +56 -28
  59. package/js/tree.ts +239 -218
  60. package/package.json +1 -1
  61. package/css/accordion.css +0 -109
  62. package/css/accordion.css.map +0 -1
  63. package/css/alert.css +0 -57
  64. package/css/alert.css.map +0 -1
  65. package/css/button.css +0 -69
  66. package/css/button.css.map +0 -1
  67. package/css/card.css +0 -144
  68. package/css/card.css.map +0 -1
  69. package/css/carousel.css +0 -118
  70. package/css/carousel.css.map +0 -1
  71. package/css/chart.css +0 -159
  72. package/css/chart.css.map +0 -1
  73. package/css/chat-bubbles.css +0 -97
  74. package/css/chat-bubbles.css.map +0 -1
  75. package/css/checkbox.css +0 -77
  76. package/css/checkbox.css.map +0 -1
  77. package/css/chips.css +0 -72
  78. package/css/chips.css.map +0 -1
  79. package/css/code-viewer.css +0 -97
  80. package/css/code-viewer.css.map +0 -1
  81. package/css/colors.css +0 -63
  82. package/css/colors.css.map +0 -1
  83. package/css/datepicker.css +0 -264
  84. package/css/datepicker.css.map +0 -1
  85. package/css/defaults.css +0 -118
  86. package/css/defaults.css.map +0 -1
  87. package/css/dropdown.css +0 -146
  88. package/css/dropdown.css.map +0 -1
  89. package/css/editor.css +0 -413
  90. package/css/file-uploader.css +0 -194
  91. package/css/file-uploader.css.map +0 -1
  92. package/css/flyout-menu.css +0 -345
  93. package/css/flyout-menu.css.map +0 -1
  94. package/css/form-builder.css +0 -9
  95. package/css/form-builder.css.map +0 -1
  96. package/css/form-builder.scss +0 -11
  97. package/css/form.css +0 -130
  98. package/css/form.css.map +0 -1
  99. package/css/gallery.css +0 -91
  100. package/css/gallery.css.map +0 -1
  101. package/css/grid.css +0 -44
  102. package/css/grid.css.map +0 -1
  103. package/css/icons.css +0 -327
  104. package/css/icons.css.map +0 -1
  105. package/css/modal.css +0 -97
  106. package/css/modal.css.map +0 -1
  107. package/css/parameters.css +0 -1
  108. package/css/parameters.css.map +0 -1
  109. package/css/placeholder.css +0 -50
  110. package/css/placeholder.css.map +0 -1
  111. package/css/progress.css +0 -51
  112. package/css/progress.css.map +0 -1
  113. package/css/properties.css +0 -31
  114. package/css/properties.css.map +0 -1
  115. package/css/push-menu.css +0 -145
  116. package/css/push-menu.css.map +0 -1
  117. package/css/radiobutton.css +0 -91
  118. package/css/radiobutton.css.map +0 -1
  119. package/css/reset.css +0 -46
  120. package/css/reset.css.map +0 -1
  121. package/css/scrollbar.css +0 -91
  122. package/css/scrollbar.css.map +0 -1
  123. package/css/spinner.css +0 -118
  124. package/css/spinner.css.map +0 -1
  125. package/css/switch.css +0 -66
  126. package/css/switch.css.map +0 -1
  127. package/css/table.css +0 -201
  128. package/css/table.css.map +0 -1
  129. package/css/tabs.css +0 -135
  130. package/css/tabs.css.map +0 -1
  131. package/css/timeline.css +0 -69
  132. package/css/timeline.css.map +0 -1
  133. package/css/toast.css +0 -98
  134. package/css/toast.css.map +0 -1
  135. package/css/tooltip.css +0 -151
  136. package/css/tooltip.css.map +0 -1
  137. package/css/tree.css +0 -199
  138. package/css/tree.css.map +0 -1
  139. package/css/typography.css +0 -137
  140. package/css/typography.css.map +0 -1
  141. package/css/virtual-dropdown.css +0 -149
  142. package/css/virtual-dropdown.css.map +0 -1
package/css/tree.scss CHANGED
@@ -1,192 +1,135 @@
1
- @use "properties";
2
- @use "parameters" as *;
3
-
4
- @keyframes fadeInUp {
5
- from {
6
- opacity: 0;
7
- transform: translateY(20px);
8
- }
9
-
10
- to {
11
- opacity: 1;
12
- transform: translateY(0);
13
- }
14
- }
15
-
16
- @keyframes slideIn {
17
- from {
18
- opacity: 0;
19
- transform: translateX(-10px);
20
- }
21
-
22
- to {
23
- opacity: 1;
24
- transform: translateX(0);
25
- }
26
- }
27
-
28
- ul.tree {
29
- list-style: none;
30
-
31
- li {
32
- list-style: none;
33
- }
34
- }
35
-
36
- .tree-node {
37
- position: relative;
38
- margin: 4px 0;
39
- }
40
-
41
- .tree-item {
42
- position: relative;
43
- display: flex;
44
- align-items: center;
45
- min-height: 52px;
46
- padding: 14px 16px;
47
-
48
- cursor: pointer;
49
- user-select: none;
50
- overflow: hidden;
51
-
52
- border: 1px solid transparent;
53
- border-radius: 10px;
54
-
55
- transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
56
- -webkit-tap-highlight-color: transparent;
57
-
58
- &::before {
59
- content: "";
60
- position: absolute;
61
- inset: 0;
62
- background: var(--accent-color-lighten);
63
- opacity: 0;
64
- transition: opacity 0.3s ease;
65
- }
66
-
67
- &:hover::before {
68
- opacity: 1;
69
- }
70
-
71
- &.selected {
72
- background: var(--accent-color);
73
- }
74
-
75
- &.expanded > .tree-icon svg.chevron {
76
- transform: rotate(90deg);
77
- }
78
-
79
- &.file {
80
- .tree-label {
81
- color: var(--secondary-text);
82
- font-weight: 400;
83
- }
84
-
85
- &.selected .tree-label {
86
- color: var(--accent-color-text);
87
- }
88
- }
89
-
90
- &.folder > .tree-icon svg {
91
- fill: none;
92
- }
93
- }
94
-
95
- .tree-icon {
96
- position: relative;
97
- z-index: 1;
98
-
99
- width: 24px;
100
- height: 24px;
101
- margin-right: 12px;
102
-
103
- display: flex;
104
- align-items: center;
105
- justify-content: center;
106
- flex-shrink: 0;
107
-
108
- svg {
109
- width: 100%;
110
- height: 100%;
111
-
112
- stroke: var(--primary-text);
113
- stroke-width: 2;
114
- fill: none;
115
-
116
- transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
117
- }
118
- }
119
-
120
- .tree-label {
121
- position: relative;
122
- z-index: 1;
123
- flex: 1;
124
-
125
- font-family: "JetBrains Mono", monospace;
126
- font-size: 15px;
127
- font-weight: 500;
128
- letter-spacing: -0.3px;
129
- color: var(--primary-text);
130
- }
131
-
132
- .tree-children {
133
- list-style: none;
134
-
135
- margin-left: 24px;
136
- padding-left: 16px;
137
- border-left: 2px solid var(--primary-text);
138
-
139
- max-height: 0;
140
- overflow: hidden;
141
- opacity: 0;
142
-
143
- transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
144
-
145
- &.expanded {
146
- max-height: 2000px;
147
- opacity: 1;
148
- margin: 8px 0;
149
- }
150
-
151
- .tree-node {
152
- animation: slideIn 0.3s cubic-bezier(0.16, 1, 0.3, 1) backwards;
153
-
154
- @for $i from 1 through 5 {
155
- &:nth-child(#{$i}) {
156
- animation-delay: $i * 0.05s;
157
- }
158
- }
159
- }
160
- }
161
-
162
- @media (max-width: 768px) {
163
- .tree-item {
164
- min-height: 56px;
165
- padding: 16px;
166
- }
167
-
168
- .tree-icon {
169
- width: 28px;
170
- height: 28px;
171
- }
172
-
173
- .tree-label {
174
- font-size: 16px;
175
- }
176
-
177
- .tree-children {
178
- margin-left: 20px;
179
- padding-left: 12px;
180
- }
181
- }
182
-
183
- @media (max-width: 480px) {
184
- .tree-item {
185
- min-height: 60px;
186
- padding: 18px 14px;
187
- }
188
-
189
- .tree-label {
190
- font-size: 15px;
191
- }
192
- }
1
+ @use "properties";
2
+ @use "parameters" as *;
3
+
4
+ ul.tree {
5
+ list-style: none;
6
+
7
+ li {
8
+ list-style: none;
9
+ }
10
+ }
11
+
12
+ .tree-node {
13
+ position: relative;
14
+ margin: calc($spacing * 0.25) 0;
15
+ }
16
+
17
+ .tree-item {
18
+ position: relative;
19
+ display: flex;
20
+ align-items: center;
21
+ min-height: calc($spacing * 3);
22
+ padding: calc($spacing * 0.875) $spacing;
23
+ cursor: pointer;
24
+ user-select: none;
25
+ overflow: hidden;
26
+ border: 1px solid transparent;
27
+ border-radius: calc($border-radius * 2);
28
+ transition: background 0.2s ease, border-color 0.2s ease;
29
+ -webkit-tap-highlight-color: transparent;
30
+
31
+ &::before {
32
+ content: "";
33
+ position: absolute;
34
+ inset: 0;
35
+ background: var(--secondary-background);
36
+ opacity: 0;
37
+ transition: opacity 0.2s ease;
38
+ }
39
+
40
+ &:hover:not(.selected)::before {
41
+ opacity: 1;
42
+ }
43
+
44
+ &.selected {
45
+ background: var(--accent-color);
46
+ border-color: var(--accent-color);
47
+
48
+ .tree-label {
49
+ color: var(--accent-color-text);
50
+ }
51
+
52
+ .tree-icon svg {
53
+ stroke: var(--accent-color-text);
54
+ }
55
+ }
56
+
57
+ &.expanded > .tree-icon svg.chevron {
58
+ transform: rotate(90deg);
59
+ }
60
+
61
+ &.file .tree-label {
62
+ color: var(--secondary-text);
63
+ font-weight: 400;
64
+ }
65
+ }
66
+
67
+ .tree-icon {
68
+ position: relative;
69
+ z-index: 1;
70
+ width: 24px;
71
+ height: 24px;
72
+ margin-right: calc($spacing * 0.75);
73
+ display: flex;
74
+ align-items: center;
75
+ justify-content: center;
76
+ flex-shrink: 0;
77
+
78
+ svg {
79
+ width: 100%;
80
+ height: 100%;
81
+ stroke: var(--primary-text);
82
+ stroke-width: 2;
83
+ fill: none;
84
+ transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
85
+ }
86
+ }
87
+
88
+ .tree-label {
89
+ position: relative;
90
+ z-index: 1;
91
+ flex: 1;
92
+ font-family: "JetBrains Mono", ui-monospace, "Cascadia Code", "Fira Code", monospace;
93
+ font-size: 0.9375rem;
94
+ font-weight: 500;
95
+ letter-spacing: -0.3px;
96
+ color: var(--primary-text);
97
+ }
98
+
99
+ .tree-children {
100
+ list-style: none;
101
+ margin-left: $spacing;
102
+ padding-left: $spacing;
103
+ border-left: 2px solid var(--divider);
104
+ height: 0;
105
+ overflow: hidden;
106
+ opacity: 0;
107
+ transition: height 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s ease;
108
+
109
+ &.expanded {
110
+ opacity: 1;
111
+ margin-top: calc($spacing * 0.25);
112
+ margin-bottom: calc($spacing * 0.25);
113
+ }
114
+ }
115
+
116
+ @media (max-width: 768px) {
117
+ .tree-item {
118
+ min-height: calc($spacing * 3.5);
119
+ padding: $spacing;
120
+ }
121
+
122
+ .tree-icon {
123
+ width: 28px;
124
+ height: 28px;
125
+ }
126
+
127
+ .tree-label {
128
+ font-size: $spacing;
129
+ }
130
+
131
+ .tree-children {
132
+ margin-left: calc($spacing * 0.75);
133
+ padding-left: calc($spacing * 0.75);
134
+ }
135
+ }
@@ -12,11 +12,14 @@ $spacing-1-5x: calc($spacing * 1.5);
12
12
 
13
13
  body {
14
14
  font-family: "Outfit", helvetica, arial, sans-serif;
15
+ -webkit-font-smoothing: antialiased;
16
+ -moz-osx-font-smoothing: grayscale;
17
+ text-rendering: optimizeLegibility;
15
18
  }
16
19
 
17
20
  p, li, td, th, div {
18
21
  font-size: $spacing;
19
- line-height: 1.5;
22
+ line-height: 1.6;
20
23
  color: var(--primary-text);
21
24
  }
22
25
 
@@ -26,10 +29,22 @@ p {
26
29
 
27
30
  code {
28
31
  font-family: "Courier New", Courier, monospace;
32
+ font-size: 0.875em;
33
+ background: var(--secondary-background);
34
+ padding: 0.15em 0.4em;
35
+ border-radius: calc($border-radius / 2);
36
+ }
37
+
38
+ pre code {
39
+ display: block;
40
+ padding: $spacing;
41
+ overflow-x: auto;
42
+ border-radius: $border-radius;
43
+ line-height: 1.5;
29
44
  }
30
45
 
31
46
  strong {
32
- font-weight: bold;
47
+ font-weight: 700;
33
48
  }
34
49
 
35
50
  em {
@@ -42,15 +57,55 @@ h3, .h3,
42
57
  h4, .h4,
43
58
  h5 {
44
59
  margin: $spacing-half 0 $spacing-two-thirds 0;
45
- line-height: 1.2;
46
- font-weight: bold;
60
+ line-height: 1.15;
61
+ font-weight: 700;
47
62
  color: var(--primary-text);
63
+ letter-spacing: -0.02em;
64
+ }
65
+
66
+ h1, .h1 {
67
+ font-size: 2rem;
68
+ font-weight: 800;
69
+ letter-spacing: -0.03em;
48
70
  }
49
71
 
50
- h1, .h1 { font-size: 2.5rem; }
51
- h2, .h2 { font-size: 2rem; }
52
- h3, .h3 { font-size: 1.75rem; }
53
- h4, .h4 { font-size: 1.5rem; }
72
+ h2, .h2 {
73
+ font-size: 1.625rem;
74
+ font-weight: 750;
75
+ }
76
+
77
+ h3, .h3 {
78
+ font-size: 1.375rem;
79
+ }
80
+
81
+ h4, .h4 {
82
+ font-size: 1.125rem;
83
+ letter-spacing: -0.01em;
84
+ }
85
+
86
+ small, .text-small {
87
+ font-size: 0.8125rem;
88
+ line-height: 1.4;
89
+ }
90
+
91
+ .text-secondary {
92
+ color: var(--secondary-text);
93
+ }
94
+
95
+ .text-caption {
96
+ font-size: 0.75rem;
97
+ line-height: 1.4;
98
+ color: var(--secondary-text);
99
+ letter-spacing: 0.01em;
100
+ }
101
+
102
+ .text-overline {
103
+ font-size: 0.6875rem;
104
+ font-weight: 600;
105
+ letter-spacing: 0.08em;
106
+ text-transform: uppercase;
107
+ color: var(--secondary-text);
108
+ }
54
109
 
55
110
  ul, ol {
56
111
  list-style-position: inside;
@@ -69,8 +124,14 @@ ol li {
69
124
  li { list-style-type: lower-latin; }
70
125
  }
71
126
 
127
+ li + li {
128
+ margin-top: 0.25em;
129
+ }
130
+
72
131
  hr {
73
- border: 1px solid var(--divider);
132
+ border: none;
133
+ height: 1px;
134
+ background: var(--divider);
74
135
  margin-block: $spacing-1-5x;
75
136
  }
76
137