@kjun-ui/native 0.3.2 → 0.4.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 (2) hide show
  1. package/dist/styles.css +285 -309
  2. package/package.json +3 -3
package/dist/styles.css CHANGED
@@ -698,7 +698,6 @@
698
698
  --_kjun-motion-distance-modal-exit: 8px;
699
699
  --_kjun-motion-distance-popup: 4px;
700
700
  --_kjun-motion-distance-toast: 8px;
701
- font-family: var(--kjun-font); color: var(--kjun-text);
702
701
  }
703
702
 
704
703
  .kjun-scope {
@@ -946,50 +945,103 @@
946
945
  --_kjun-card-border: var(--_kjun-color-glass-border);
947
946
  }
948
947
 
949
- /* Scoped baseline required by the component utilities. No app-wide reset. */
950
- .kjun-scope,
951
- .kjun-scope *,
952
- .kjun-scope::before,
953
- .kjun-scope::after,
954
- .kjun-scope *::before,
955
- .kjun-scope *::after {
948
+ /* Baseline for kjun-owned markup only. Component roots carry a kjun- class (Vue adds kjun-root, the Vue layer host is kjun-layers);
949
+ portal roots pair kjun-scope with a kjun- class. The bare Provider root (kjun-scope) is excluded, so app markup inside the Provider keeps its own styles.
950
+ Slot content placed inside a kjun component follows this baseline; style it with classes. */
951
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]),
952
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) *,
953
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"])::before,
954
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"])::after,
955
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) *::before,
956
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) *::after {
956
957
  box-sizing: border-box;
957
958
  border-width: 0;
958
959
  border-style: solid;
959
960
  border-color: var(--_kjun-color-border);
960
961
  }
961
- .kjun-scope :where(h1, h2, h3, h4, h5, h6, p, blockquote, dl, dd, figure, pre) {
962
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) :where(h1, h2, h3, h4, h5, h6, p, blockquote, dl, dd, figure, pre),
963
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]):where(h1, h2, h3, h4, h5, h6, p, blockquote, dl, dd, figure, pre) {
962
964
  margin: 0;
963
965
  }
964
- .kjun-scope :where(h1, h2, h3, h4, h5, h6) {
966
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) :where(h1, h2, h3, h4, h5, h6),
967
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]):where(h1, h2, h3, h4, h5, h6) {
965
968
  font-size: inherit;
966
969
  font-weight: inherit;
967
970
  }
968
- .kjun-scope :where(button, input, optgroup, select, textarea) {
971
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) :where(button, input, optgroup, select, textarea),
972
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]):where(button, input, optgroup, select, textarea) {
969
973
  font: inherit;
970
974
  letter-spacing: inherit;
971
975
  color: inherit;
972
976
  margin: 0;
973
977
  padding: 0;
974
978
  }
975
- .kjun-scope :where(button, select) { text-transform: none; }
976
- .kjun-scope :where(button, [type="button"], [type="reset"], [type="submit"]) {
979
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) :where(button, select),
980
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]):where(button, select) { text-transform: none; }
981
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) :where(button, [type="button"], [type="reset"], [type="submit"]),
982
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]):where(button, [type="button"], [type="reset"], [type="submit"]) {
977
983
  -webkit-appearance: button;
978
984
  background-color: transparent;
979
985
  background-image: none;
980
986
  }
981
- .kjun-scope :where(button, [role="button"]) { cursor: pointer; }
982
- .kjun-scope :where(:disabled) { cursor: default; }
983
- .kjun-scope :where(a) { color: inherit; text-decoration: inherit; }
984
- .kjun-scope :where(ol, ul, menu) { list-style: none; margin: 0; padding: 0; }
985
- .kjun-scope :where(table) { text-indent: 0; border-color: inherit; border-collapse: collapse; }
986
- .kjun-scope :where(fieldset, legend) { margin: 0; padding: 0; }
987
- .kjun-scope :where(textarea) { resize: vertical; }
988
- .kjun-scope :where(input, textarea)::placeholder { opacity: 1; }
989
- .kjun-scope :where(img, video) { max-width: 100%; height: auto; }
990
- .kjun-scope :where([hidden]:not([hidden="until-found"])) { display: none; }
991
-
992
- .kjun-scope, .kjun-scope *, .kjun-scope::before, .kjun-scope::after, .kjun-scope *::before, .kjun-scope *::after {
987
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) :where(button, [role="button"]),
988
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]):where(button, [role="button"]) { cursor: pointer; }
989
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) :where(:disabled),
990
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]):where(:disabled) { cursor: default; }
991
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) :where(a),
992
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]):where(a) { color: inherit; text-decoration: inherit; }
993
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) :where(ol, ul, menu),
994
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]):where(ol, ul, menu) { list-style: none; margin: 0; padding: 0; }
995
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) :where(table),
996
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]):where(table) { text-indent: 0; border-color: inherit; border-collapse: collapse; }
997
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) :where(fieldset, legend),
998
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]):where(fieldset, legend) { margin: 0; padding: 0; }
999
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) :where(textarea),
1000
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]):where(textarea) { resize: vertical; }
1001
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) :where(input, textarea)::placeholder,
1002
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]):where(input, textarea)::placeholder { opacity: 1; }
1003
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) :where(img, video),
1004
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]):where(img, video) { max-width: 100%; height: auto; }
1005
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) :where([hidden]:not([hidden="until-found"])),
1006
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]):where([hidden]:not([hidden="until-found"])) { display: none; }
1007
+ /* Last so it wins over the element resets above (e.g. font: inherit on a root <button>).
1008
+ The outermost kjun element takes the scope's text style; nested kjun elements inherit it.
1009
+ Icons (svg) are excluded: they follow the surrounding text's colour and size (currentColor, 1em). */
1010
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]):where(:not(svg)):not(:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) *) {
1011
+ font-family: var(--kjun-font);
1012
+ color: var(--kjun-text);
1013
+ font-size: var(--_kjun-type-body-size);
1014
+ line-height: var(--_kjun-type-body-line);
1015
+ font-weight: var(--_kjun-type-body-weight);
1016
+ letter-spacing: var(--_kjun-type-body-tracking);
1017
+ }
1018
+ /* A Provider nested inside kjun markup (e.g. in a modal) re-reads its own font and color variables;
1019
+ otherwise its content would inherit the outer kjun element's resolved values. */
1020
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .kjun-scope {
1021
+ font-family: var(--kjun-font);
1022
+ color: var(--kjun-text);
1023
+ }
1024
+ /* A React overlay used without any Provider portals straight to document.body, so it has no .kjun-scope
1025
+ ancestor: its root (kjun-scope plus a kjun- class) is the outermost kjun element. Zero specificity. */
1026
+ :where(.kjun-scope[class*=" kjun-"]):not(:where(.kjun-scope *)),
1027
+ :where(.kjun-scope[class*=" kjun-"]):not(:where(.kjun-scope *)) *,
1028
+ :where(.kjun-scope[class*=" kjun-"]):not(:where(.kjun-scope *))::before,
1029
+ :where(.kjun-scope[class*=" kjun-"]):not(:where(.kjun-scope *))::after {
1030
+ box-sizing: border-box;
1031
+ border-width: 0;
1032
+ border-style: solid;
1033
+ border-color: var(--_kjun-color-border);
1034
+ }
1035
+ :where(.kjun-scope[class*=" kjun-"]):not(:where(.kjun-scope *)) {
1036
+ font-family: var(--kjun-font);
1037
+ color: var(--kjun-text);
1038
+ font-size: var(--_kjun-type-body-size);
1039
+ line-height: var(--_kjun-type-body-line);
1040
+ font-weight: var(--_kjun-type-body-weight);
1041
+ letter-spacing: var(--_kjun-type-body-tracking);
1042
+ }
1043
+
1044
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]), .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) *, .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"])::before, .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"])::after, .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) *::before, .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) *::after, :where(.kjun-scope[class*=" kjun-"]):not(:where(.kjun-scope *)), :where(.kjun-scope[class*=" kjun-"]):not(:where(.kjun-scope *)) *, :where(.kjun-scope[class*=" kjun-"]):not(:where(.kjun-scope *))::before, :where(.kjun-scope[class*=" kjun-"]):not(:where(.kjun-scope *))::after, :where(.kjun-scope[class*=" kjun-"]):not(:where(.kjun-scope *)) *::before, :where(.kjun-scope[class*=" kjun-"]):not(:where(.kjun-scope *)) *::after {
993
1045
  --tw-border-spacing-x: 0;
994
1046
  --tw-border-spacing-y: 0;
995
1047
  --tw-translate-x: 0;
@@ -1042,7 +1094,7 @@
1042
1094
  --tw-contain-paint: ;
1043
1095
  --tw-contain-style:
1044
1096
  }
1045
- .kjun-scope::backdrop, .kjun-scope *::backdrop {
1097
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"])::backdrop, .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) *::backdrop, :where(.kjun-scope[class*=" kjun-"]):not(:where(.kjun-scope *))::backdrop, :where(.kjun-scope[class*=" kjun-"]):not(:where(.kjun-scope *)) *::backdrop {
1046
1098
  --tw-border-spacing-x: 0;
1047
1099
  --tw-border-spacing-y: 0;
1048
1100
  --tw-translate-x: 0;
@@ -1095,7 +1147,7 @@
1095
1147
  --tw-contain-paint: ;
1096
1148
  --tw-contain-style:
1097
1149
  }
1098
- .kjun-scope .sr-only {
1150
+ .kjun-scope .kj-sr-only {
1099
1151
  position: absolute;
1100
1152
  width: 1px;
1101
1153
  height: 1px;
@@ -1106,245 +1158,221 @@
1106
1158
  white-space: nowrap;
1107
1159
  border-width: 0
1108
1160
  }
1109
- .kjun-scope .pointer-events-none {
1161
+ .kjun-scope .kj-pointer-events-none {
1110
1162
  pointer-events: none
1111
1163
  }
1112
- .kjun-scope .visible {
1113
- visibility: visible
1114
- }
1115
- .kjun-scope .invisible {
1164
+ .kjun-scope .kj-invisible {
1116
1165
  visibility: hidden
1117
1166
  }
1118
- .kjun-scope .collapse {
1119
- visibility: collapse
1120
- }
1121
- .kjun-scope .fixed {
1167
+ .kjun-scope .kj-fixed {
1122
1168
  position: fixed
1123
1169
  }
1124
- .kjun-scope .absolute {
1170
+ .kjun-scope .kj-absolute {
1125
1171
  position: absolute
1126
1172
  }
1127
- .kjun-scope .relative {
1173
+ .kjun-scope .kj-relative {
1128
1174
  position: relative
1129
1175
  }
1130
- .kjun-scope .sticky {
1176
+ .kjun-scope .kj-sticky {
1131
1177
  position: sticky
1132
1178
  }
1133
- .kjun-scope .inset-y-0 {
1179
+ .kjun-scope .kj-inset-y-0 {
1134
1180
  top: 0px;
1135
1181
  bottom: 0px
1136
1182
  }
1137
- .kjun-scope .top-0 {
1183
+ .kjun-scope .kj-top-0 {
1138
1184
  top: 0px
1139
1185
  }
1140
- .kjun-scope .isolate {
1141
- isolation: isolate
1142
- }
1143
- .kjun-scope .z-10 {
1186
+ .kjun-scope .kj-z-10 {
1144
1187
  z-index: 10
1145
1188
  }
1146
- .kjun-scope .z-50 {
1189
+ .kjun-scope .kj-z-50 {
1147
1190
  z-index: 50
1148
1191
  }
1149
- .kjun-scope .mx-2 {
1192
+ .kjun-scope .kj-mx-2 {
1150
1193
  margin-left: 8px;
1151
1194
  margin-right: 8px
1152
1195
  }
1153
- .kjun-scope .mb-3 {
1196
+ .kjun-scope .kj-mb-3 {
1154
1197
  margin-bottom: 12px
1155
1198
  }
1156
- .kjun-scope .ml-0\.5 {
1199
+ .kjun-scope .kj-ml-0\.5 {
1157
1200
  margin-left: 2px
1158
1201
  }
1159
- .kjun-scope .ml-1 {
1202
+ .kjun-scope .kj-ml-1 {
1160
1203
  margin-left: 4px
1161
1204
  }
1162
- .kjun-scope .ml-2 {
1205
+ .kjun-scope .kj-ml-2 {
1163
1206
  margin-left: 8px
1164
1207
  }
1165
- .kjun-scope .ml-3 {
1208
+ .kjun-scope .kj-ml-3 {
1166
1209
  margin-left: 12px
1167
1210
  }
1168
- .kjun-scope .ml-financial-affix-gap {
1211
+ .kjun-scope .kj-ml-financial-affix-gap {
1169
1212
  margin-left: 4px
1170
1213
  }
1171
- .kjun-scope .mr-1 {
1214
+ .kjun-scope .kj-mr-1 {
1172
1215
  margin-right: 4px
1173
1216
  }
1174
- .kjun-scope .mr-1\.5 {
1217
+ .kjun-scope .kj-mr-1\.5 {
1175
1218
  margin-right: 6px
1176
1219
  }
1177
- .kjun-scope .mr-2 {
1220
+ .kjun-scope .kj-mr-2 {
1178
1221
  margin-right: 8px
1179
1222
  }
1180
- .kjun-scope .mt-0\.5 {
1223
+ .kjun-scope .kj-mt-0\.5 {
1181
1224
  margin-top: 2px
1182
1225
  }
1183
- .kjun-scope .mt-1 {
1226
+ .kjun-scope .kj-mt-1 {
1184
1227
  margin-top: 4px
1185
1228
  }
1186
- .kjun-scope .mt-4 {
1229
+ .kjun-scope .kj-mt-4 {
1187
1230
  margin-top: 16px
1188
1231
  }
1189
- .kjun-scope .mt-form-label-gap {
1232
+ .kjun-scope .kj-mt-form-label-gap {
1190
1233
  margin-top: 8px
1191
1234
  }
1192
- .kjun-scope .block {
1235
+ .kjun-scope .kj-block {
1193
1236
  display: block
1194
1237
  }
1195
- .kjun-scope .inline-block {
1238
+ .kjun-scope .kj-inline-block {
1196
1239
  display: inline-block
1197
1240
  }
1198
- .kjun-scope .\!inline {
1199
- display: inline !important
1200
- }
1201
- .kjun-scope .inline {
1202
- display: inline
1203
- }
1204
- .kjun-scope .flex {
1241
+ .kjun-scope .kj-flex {
1205
1242
  display: flex
1206
1243
  }
1207
- .kjun-scope .inline-flex {
1244
+ .kjun-scope .kj-inline-flex {
1208
1245
  display: inline-flex
1209
1246
  }
1210
- .kjun-scope .table {
1211
- display: table
1212
- }
1213
- .kjun-scope .grid {
1247
+ .kjun-scope .kj-grid {
1214
1248
  display: grid
1215
1249
  }
1216
- .kjun-scope .hidden {
1250
+ .kjun-scope .kj-hidden {
1217
1251
  display: none
1218
1252
  }
1219
- .kjun-scope .h-button-heights-lg {
1253
+ .kjun-scope .kj-h-button-heights-lg {
1220
1254
  height: 48px
1221
1255
  }
1222
- .kjun-scope .h-button-heights-md {
1256
+ .kjun-scope .kj-h-button-heights-md {
1223
1257
  height: 40px
1224
1258
  }
1225
- .kjun-scope .h-button-heights-sm {
1259
+ .kjun-scope .kj-h-button-heights-sm {
1226
1260
  height: 32px
1227
1261
  }
1228
- .kjun-scope .h-button-heights-xl {
1262
+ .kjun-scope .kj-h-button-heights-xl {
1229
1263
  height: 56px
1230
1264
  }
1231
- .kjun-scope .h-button-heights-xs {
1265
+ .kjun-scope .kj-h-button-heights-xs {
1232
1266
  height: 24px
1233
1267
  }
1234
- .kjun-scope .h-full {
1268
+ .kjun-scope .kj-h-full {
1235
1269
  height: 100%
1236
1270
  }
1237
- .kjun-scope .h-menu-icon-size {
1271
+ .kjun-scope .kj-h-menu-icon-size {
1238
1272
  height: 16px
1239
1273
  }
1240
- .kjun-scope .h-progress-heights-lg {
1274
+ .kjun-scope .kj-h-progress-heights-lg {
1241
1275
  height: 12px
1242
1276
  }
1243
- .kjun-scope .h-progress-heights-md {
1277
+ .kjun-scope .kj-h-progress-heights-md {
1244
1278
  height: 8px
1245
1279
  }
1246
- .kjun-scope .h-progress-heights-sm {
1280
+ .kjun-scope .kj-h-progress-heights-sm {
1247
1281
  height: 4px
1248
1282
  }
1249
- .kjun-scope .h-selection-dot-size {
1283
+ .kjun-scope .kj-h-selection-dot-size {
1250
1284
  height: 8px
1251
1285
  }
1252
- .kjun-scope .h-spinner-sizes-lg {
1286
+ .kjun-scope .kj-h-spinner-sizes-lg {
1253
1287
  height: 32px
1254
1288
  }
1255
- .kjun-scope .h-spinner-sizes-md {
1289
+ .kjun-scope .kj-h-spinner-sizes-md {
1256
1290
  height: 24px
1257
1291
  }
1258
- .kjun-scope .h-spinner-sizes-sm {
1292
+ .kjun-scope .kj-h-spinner-sizes-sm {
1259
1293
  height: 16px
1260
1294
  }
1261
- .kjun-scope .h-spinner-sizes-xl {
1295
+ .kjun-scope .kj-h-spinner-sizes-xl {
1262
1296
  height: 48px
1263
1297
  }
1264
- .kjun-scope .h-spinner-sizes-xs {
1298
+ .kjun-scope .kj-h-spinner-sizes-xs {
1265
1299
  height: 12px
1266
1300
  }
1267
- .kjun-scope .h-tooltip-arrow-size {
1301
+ .kjun-scope .kj-h-tooltip-arrow-size {
1268
1302
  height: 8px
1269
1303
  }
1270
- .kjun-scope .max-h-menu-list-max-height {
1304
+ .kjun-scope .kj-max-h-menu-list-max-height {
1271
1305
  max-height: 240px
1272
1306
  }
1273
- .kjun-scope .min-h-0 {
1307
+ .kjun-scope .kj-min-h-0 {
1274
1308
  min-height: 0px
1275
1309
  }
1276
- .kjun-scope .w-fit {
1310
+ .kjun-scope .kj-w-fit {
1277
1311
  width: fit-content
1278
1312
  }
1279
- .kjun-scope .w-full {
1313
+ .kjun-scope .kj-w-full {
1280
1314
  width: 100%
1281
1315
  }
1282
- .kjun-scope .w-menu-icon-size {
1316
+ .kjun-scope .kj-w-menu-icon-size {
1283
1317
  width: 16px
1284
1318
  }
1285
- .kjun-scope .w-selection-dot-size {
1319
+ .kjun-scope .kj-w-selection-dot-size {
1286
1320
  width: 8px
1287
1321
  }
1288
- .kjun-scope .w-spinner-sizes-lg {
1322
+ .kjun-scope .kj-w-spinner-sizes-lg {
1289
1323
  width: 32px
1290
1324
  }
1291
- .kjun-scope .w-spinner-sizes-md {
1325
+ .kjun-scope .kj-w-spinner-sizes-md {
1292
1326
  width: 24px
1293
1327
  }
1294
- .kjun-scope .w-spinner-sizes-sm {
1328
+ .kjun-scope .kj-w-spinner-sizes-sm {
1295
1329
  width: 16px
1296
1330
  }
1297
- .kjun-scope .w-spinner-sizes-xl {
1331
+ .kjun-scope .kj-w-spinner-sizes-xl {
1298
1332
  width: 48px
1299
1333
  }
1300
- .kjun-scope .w-spinner-sizes-xs {
1334
+ .kjun-scope .kj-w-spinner-sizes-xs {
1301
1335
  width: 12px
1302
1336
  }
1303
- .kjun-scope .w-table-search-width {
1337
+ .kjun-scope .kj-w-table-search-width {
1304
1338
  width: 200px
1305
1339
  }
1306
- .kjun-scope .w-tooltip-arrow-size {
1340
+ .kjun-scope .kj-w-tooltip-arrow-size {
1307
1341
  width: 8px
1308
1342
  }
1309
- .kjun-scope .min-w-0 {
1343
+ .kjun-scope .kj-min-w-0 {
1310
1344
  min-width: 0px
1311
1345
  }
1312
- .kjun-scope .min-w-menu-minimum-width {
1346
+ .kjun-scope .kj-min-w-menu-minimum-width {
1313
1347
  min-width: 160px
1314
1348
  }
1315
- .kjun-scope .max-w-\[calc\(100vw-2\*var\(--extension-floating-viewport-inset\)\)\] {
1349
+ .kjun-scope .kj-max-w-\[calc\(100vw-2\*var\(--extension-floating-viewport-inset\)\)\] {
1316
1350
  max-width: calc(100vw - 2 * var(--extension-floating-viewport-inset))
1317
1351
  }
1318
- .kjun-scope .max-w-full {
1352
+ .kjun-scope .kj-max-w-full {
1319
1353
  max-width: 100%
1320
1354
  }
1321
- .kjun-scope .max-w-tooltip-max-width {
1355
+ .kjun-scope .kj-max-w-tooltip-max-width {
1322
1356
  max-width: 256px
1323
1357
  }
1324
- .kjun-scope .flex-1 {
1358
+ .kjun-scope .kj-flex-1 {
1325
1359
  flex: 1 1 0%
1326
1360
  }
1327
- .kjun-scope .flex-shrink {
1328
- flex-shrink: 1
1329
- }
1330
- .kjun-scope .flex-shrink-0 {
1361
+ .kjun-scope .kj-flex-shrink-0 {
1331
1362
  flex-shrink: 0
1332
1363
  }
1333
- .kjun-scope .shrink-0 {
1364
+ .kjun-scope .kj-shrink-0 {
1334
1365
  flex-shrink: 0
1335
1366
  }
1336
- .kjun-scope .rotate-180 {
1367
+ .kjun-scope .kj-rotate-180 {
1337
1368
  --tw-rotate: 180deg;
1338
1369
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
1339
1370
  }
1340
- .kjun-scope .rotate-45 {
1371
+ .kjun-scope .kj-rotate-45 {
1341
1372
  --tw-rotate: 45deg;
1342
1373
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
1343
1374
  }
1344
- .kjun-scope .transform {
1345
- transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
1346
- }
1347
- @keyframes spin {
1375
+ @keyframes kj-spin {
1348
1376
  to {
1349
1377
  transform: rotate(360deg)
1350
1378
  }
@@ -1355,479 +1383,445 @@
1355
1383
  transform: rotate(360deg)
1356
1384
  }
1357
1385
  }
1358
- .kjun-scope .animate-spin {
1359
- animation: spin 1s linear infinite
1386
+ .kjun-scope .kj-animate-spin {
1387
+ animation: kj-spin 1s linear infinite
1360
1388
  }
1361
- .kjun-scope .cursor-not-allowed {
1389
+ .kjun-scope .kj-cursor-not-allowed {
1362
1390
  cursor: not-allowed
1363
1391
  }
1364
- .kjun-scope .cursor-pointer {
1392
+ .kjun-scope .kj-cursor-pointer {
1365
1393
  cursor: pointer
1366
1394
  }
1367
- .kjun-scope .select-none {
1395
+ .kjun-scope .kj-select-none {
1368
1396
  user-select: none
1369
1397
  }
1370
- .kjun-scope .resize-none {
1398
+ .kjun-scope .kj-resize-none {
1371
1399
  resize: none
1372
1400
  }
1373
- .kjun-scope .resize-y {
1401
+ .kjun-scope .kj-resize-y {
1374
1402
  resize: vertical
1375
1403
  }
1376
- .kjun-scope .resize-x {
1404
+ .kjun-scope .kj-resize-x {
1377
1405
  resize: horizontal
1378
1406
  }
1379
- .kjun-scope .resize {
1407
+ .kjun-scope .kj-resize {
1380
1408
  resize: both
1381
1409
  }
1382
- .kjun-scope .grid-cols-1 {
1410
+ .kjun-scope .kj-grid-cols-1 {
1383
1411
  grid-template-columns: repeat(1, minmax(0, 1fr))
1384
1412
  }
1385
- .kjun-scope .flex-col {
1413
+ .kjun-scope .kj-flex-col {
1386
1414
  flex-direction: column
1387
1415
  }
1388
- .kjun-scope .flex-wrap {
1416
+ .kjun-scope .kj-flex-wrap {
1389
1417
  flex-wrap: wrap
1390
1418
  }
1391
- .kjun-scope .flex-nowrap {
1419
+ .kjun-scope .kj-flex-nowrap {
1392
1420
  flex-wrap: nowrap
1393
1421
  }
1394
- .kjun-scope .items-center {
1422
+ .kjun-scope .kj-items-center {
1395
1423
  align-items: center
1396
1424
  }
1397
- .kjun-scope .justify-end {
1425
+ .kjun-scope .kj-justify-end {
1398
1426
  justify-content: flex-end
1399
1427
  }
1400
- .kjun-scope .justify-center {
1428
+ .kjun-scope .kj-justify-center {
1401
1429
  justify-content: center
1402
1430
  }
1403
- .kjun-scope .justify-between {
1431
+ .kjun-scope .kj-justify-between {
1404
1432
  justify-content: space-between
1405
1433
  }
1406
- .kjun-scope .gap-1 {
1434
+ .kjun-scope .kj-gap-1 {
1407
1435
  gap: 4px
1408
1436
  }
1409
- .kjun-scope .gap-1\.5 {
1437
+ .kjun-scope .kj-gap-1\.5 {
1410
1438
  gap: 6px
1411
1439
  }
1412
- .kjun-scope .gap-2 {
1440
+ .kjun-scope .kj-gap-2 {
1413
1441
  gap: 8px
1414
1442
  }
1415
- .kjun-scope .gap-2\.5 {
1443
+ .kjun-scope .kj-gap-2\.5 {
1416
1444
  gap: 10px
1417
1445
  }
1418
- .kjun-scope .gap-4 {
1446
+ .kjun-scope .kj-gap-4 {
1419
1447
  gap: 16px
1420
1448
  }
1421
- .kjun-scope .gap-pagination-gap {
1449
+ .kjun-scope .kj-gap-pagination-gap {
1422
1450
  gap: 12px
1423
1451
  }
1424
- .kjun-scope .gap-pagination-item-gap {
1452
+ .kjun-scope .kj-gap-pagination-item-gap {
1425
1453
  gap: 4px
1426
1454
  }
1427
- .kjun-scope :is(.space-y-3 > :not([hidden]) ~ :not([hidden])) {
1455
+ .kjun-scope :is(.kj-space-y-3 > :not([hidden]) ~ :not([hidden])) {
1428
1456
  --tw-space-y-reverse: 0;
1429
1457
  margin-top: calc(12px * calc(1 - var(--tw-space-y-reverse)));
1430
1458
  margin-bottom: calc(12px * var(--tw-space-y-reverse))
1431
1459
  }
1432
- .kjun-scope :is(.divide-y > :not([hidden]) ~ :not([hidden])) {
1460
+ .kjun-scope :is(.kj-divide-y > :not([hidden]) ~ :not([hidden])) {
1433
1461
  --tw-divide-y-reverse: 0;
1434
1462
  border-top-width: calc(var(--_kjun-border-default-width) * calc(1 - var(--tw-divide-y-reverse)));
1435
1463
  border-bottom-width: calc(var(--_kjun-border-default-width) * var(--tw-divide-y-reverse))
1436
1464
  }
1437
- .kjun-scope :is(.divide-border > :not([hidden]) ~ :not([hidden])) {
1465
+ .kjun-scope :is(.kj-divide-border > :not([hidden]) ~ :not([hidden])) {
1438
1466
  border-color: var(--border-primary)
1439
1467
  }
1440
- .kjun-scope :is(.divide-border-primary > :not([hidden]) ~ :not([hidden])) {
1468
+ .kjun-scope :is(.kj-divide-border-primary > :not([hidden]) ~ :not([hidden])) {
1441
1469
  border-color: var(--border-primary)
1442
1470
  }
1443
- .kjun-scope .overflow-hidden {
1471
+ .kjun-scope .kj-overflow-hidden {
1444
1472
  overflow: hidden
1445
1473
  }
1446
- .kjun-scope .overflow-x-auto {
1474
+ .kjun-scope .kj-overflow-x-auto {
1447
1475
  overflow-x: auto
1448
1476
  }
1449
- .kjun-scope .overflow-y-auto {
1477
+ .kjun-scope .kj-overflow-y-auto {
1450
1478
  overflow-y: auto
1451
1479
  }
1452
- .kjun-scope .truncate {
1480
+ .kjun-scope .kj-truncate {
1453
1481
  overflow: hidden;
1454
1482
  text-overflow: ellipsis;
1455
1483
  white-space: nowrap
1456
1484
  }
1457
- .kjun-scope .whitespace-normal {
1485
+ .kjun-scope .kj-whitespace-normal {
1458
1486
  white-space: normal
1459
1487
  }
1460
- .kjun-scope .whitespace-nowrap {
1488
+ .kjun-scope .kj-whitespace-nowrap {
1461
1489
  white-space: nowrap
1462
1490
  }
1463
- .kjun-scope .break-words {
1491
+ .kjun-scope .kj-break-words {
1464
1492
  overflow-wrap: break-word
1465
1493
  }
1466
- .kjun-scope .rounded {
1494
+ .kjun-scope .kj-rounded {
1467
1495
  border-radius: 6px
1468
1496
  }
1469
- .kjun-scope .rounded-badge {
1497
+ .kjun-scope .kj-rounded-badge {
1470
1498
  border-radius: 6px
1471
1499
  }
1472
- .kjun-scope .rounded-card {
1500
+ .kjun-scope .kj-rounded-card {
1473
1501
  border-radius: 12px
1474
1502
  }
1475
- .kjun-scope .rounded-financial-pill-radius {
1503
+ .kjun-scope .kj-rounded-financial-pill-radius {
1476
1504
  border-radius: 6px
1477
1505
  }
1478
- .kjun-scope .rounded-full {
1506
+ .kjun-scope .kj-rounded-full {
1479
1507
  border-radius: 9999px
1480
1508
  }
1481
- .kjun-scope .rounded-pagination-radius {
1509
+ .kjun-scope .kj-rounded-pagination-radius {
1482
1510
  border-radius: 6px
1483
1511
  }
1484
- .kjun-scope .border {
1485
- border-width: var(--_kjun-border-default-width)
1486
- }
1487
- .kjun-scope .border-b {
1512
+ .kjun-scope .kj-border-b {
1488
1513
  border-bottom-width: var(--_kjun-border-default-width)
1489
1514
  }
1490
- .kjun-scope .border-t {
1515
+ .kjun-scope .kj-border-t {
1491
1516
  border-top-width: var(--_kjun-border-default-width)
1492
1517
  }
1493
- .kjun-scope .border-border {
1518
+ .kjun-scope .kj-border-border {
1494
1519
  border-color: var(--border-primary)
1495
1520
  }
1496
- .kjun-scope .border-border-primary {
1521
+ .kjun-scope .kj-border-border-primary {
1497
1522
  border-color: var(--border-primary)
1498
1523
  }
1499
- .kjun-scope .bg-bg-secondary {
1524
+ .kjun-scope .kj-bg-bg-secondary {
1500
1525
  background-color: var(--bg-secondary)
1501
1526
  }
1502
- .kjun-scope .bg-brand {
1527
+ .kjun-scope .kj-bg-brand {
1503
1528
  background-color: var(--brand)
1504
1529
  }
1505
- .kjun-scope .bg-brand-subtle-bg {
1530
+ .kjun-scope .kj-bg-brand-subtle-bg {
1506
1531
  background-color: var(--brand-subtle-bg)
1507
1532
  }
1508
- .kjun-scope .bg-card-bg {
1533
+ .kjun-scope .kj-bg-card-bg {
1509
1534
  background-color: var(--card-bg)
1510
1535
  }
1511
- .kjun-scope .bg-chart-tooltip-bg {
1536
+ .kjun-scope .kj-bg-chart-tooltip-bg {
1512
1537
  background-color: var(--chart-tooltip-bg)
1513
1538
  }
1514
- .kjun-scope .bg-danger {
1539
+ .kjun-scope .kj-bg-danger {
1515
1540
  background-color: var(--danger)
1516
1541
  }
1517
- .kjun-scope .bg-danger-bg {
1542
+ .kjun-scope .kj-bg-danger-bg {
1518
1543
  background-color: var(--danger-bg)
1519
1544
  }
1520
- .kjun-scope .bg-info {
1545
+ .kjun-scope .kj-bg-info {
1521
1546
  background-color: var(--info)
1522
1547
  }
1523
- .kjun-scope .bg-info-bg {
1548
+ .kjun-scope .kj-bg-info-bg {
1524
1549
  background-color: var(--info-bg)
1525
1550
  }
1526
- .kjun-scope .bg-price-down {
1551
+ .kjun-scope .kj-bg-price-down {
1527
1552
  background-color: var(--price-down)
1528
1553
  }
1529
- .kjun-scope .bg-price-down-bg {
1554
+ .kjun-scope .kj-bg-price-down-bg {
1530
1555
  background-color: var(--price-down-bg)
1531
1556
  }
1532
- .kjun-scope .bg-price-up {
1557
+ .kjun-scope .kj-bg-price-up {
1533
1558
  background-color: var(--price-up)
1534
1559
  }
1535
- .kjun-scope .bg-price-up-bg {
1560
+ .kjun-scope .kj-bg-price-up-bg {
1536
1561
  background-color: var(--price-up-bg)
1537
1562
  }
1538
- .kjun-scope .bg-selected-bg {
1563
+ .kjun-scope .kj-bg-selected-bg {
1539
1564
  background-color: var(--selected-bg)
1540
1565
  }
1541
- .kjun-scope .bg-success {
1566
+ .kjun-scope .kj-bg-success {
1542
1567
  background-color: var(--success)
1543
1568
  }
1544
- .kjun-scope .bg-success-bg {
1569
+ .kjun-scope .kj-bg-success-bg {
1545
1570
  background-color: var(--success-bg)
1546
1571
  }
1547
- .kjun-scope .bg-surface-card {
1572
+ .kjun-scope .kj-bg-surface-card {
1548
1573
  background-color: var(--card-bg)
1549
1574
  }
1550
- .kjun-scope .bg-transparent {
1575
+ .kjun-scope .kj-bg-transparent {
1551
1576
  background-color: transparent
1552
1577
  }
1553
- .kjun-scope .bg-warning {
1578
+ .kjun-scope .kj-bg-warning {
1554
1579
  background-color: var(--warning)
1555
1580
  }
1556
- .kjun-scope .bg-warning-bg {
1581
+ .kjun-scope .kj-bg-warning-bg {
1557
1582
  background-color: var(--warning-bg)
1558
1583
  }
1559
- .kjun-scope .p-2 {
1584
+ .kjun-scope .kj-p-2 {
1560
1585
  padding: 8px
1561
1586
  }
1562
- .kjun-scope .px-2 {
1587
+ .kjun-scope .kj-px-2 {
1563
1588
  padding-left: 8px;
1564
1589
  padding-right: 8px
1565
1590
  }
1566
- .kjun-scope .px-3 {
1591
+ .kjun-scope .kj-px-3 {
1567
1592
  padding-left: 12px;
1568
1593
  padding-right: 12px
1569
1594
  }
1570
- .kjun-scope .px-3\.5 {
1595
+ .kjun-scope .kj-px-3\.5 {
1571
1596
  padding-left: 14px;
1572
1597
  padding-right: 14px
1573
1598
  }
1574
- .kjun-scope .px-4 {
1599
+ .kjun-scope .kj-px-4 {
1575
1600
  padding-left: 16px;
1576
1601
  padding-right: 16px
1577
1602
  }
1578
- .kjun-scope .px-financial-pill-padding-x {
1603
+ .kjun-scope .kj-px-financial-pill-padding-x {
1579
1604
  padding-left: 8px;
1580
1605
  padding-right: 8px
1581
1606
  }
1582
- .kjun-scope .px-pagination-label-padding-x {
1607
+ .kjun-scope .kj-px-pagination-label-padding-x {
1583
1608
  padding-left: 12px;
1584
1609
  padding-right: 12px
1585
1610
  }
1586
- .kjun-scope .px-pagination-padding {
1611
+ .kjun-scope .kj-px-pagination-padding {
1587
1612
  padding-left: 16px;
1588
1613
  padding-right: 16px
1589
1614
  }
1590
- .kjun-scope .px-tooltip-padding-x {
1615
+ .kjun-scope .kj-px-tooltip-padding-x {
1591
1616
  padding-left: 8px;
1592
1617
  padding-right: 8px
1593
1618
  }
1594
- .kjun-scope .py-0\.5 {
1619
+ .kjun-scope .kj-py-0\.5 {
1595
1620
  padding-top: 2px;
1596
1621
  padding-bottom: 2px
1597
1622
  }
1598
- .kjun-scope .py-2 {
1623
+ .kjun-scope .kj-py-2 {
1599
1624
  padding-top: 8px;
1600
1625
  padding-bottom: 8px
1601
1626
  }
1602
- .kjun-scope .py-2\.5 {
1627
+ .kjun-scope .kj-py-2\.5 {
1603
1628
  padding-top: 10px;
1604
1629
  padding-bottom: 10px
1605
1630
  }
1606
- .kjun-scope .py-3 {
1631
+ .kjun-scope .kj-py-3 {
1607
1632
  padding-top: 12px;
1608
1633
  padding-bottom: 12px
1609
1634
  }
1610
- .kjun-scope .py-3\.5 {
1635
+ .kjun-scope .kj-py-3\.5 {
1611
1636
  padding-top: 14px;
1612
1637
  padding-bottom: 14px
1613
1638
  }
1614
- .kjun-scope .py-4 {
1639
+ .kjun-scope .kj-py-4 {
1615
1640
  padding-top: 16px;
1616
1641
  padding-bottom: 16px
1617
1642
  }
1618
- .kjun-scope .py-financial-pill-padding-y {
1643
+ .kjun-scope .kj-py-financial-pill-padding-y {
1619
1644
  padding-top: 2px;
1620
1645
  padding-bottom: 2px
1621
1646
  }
1622
- .kjun-scope .py-pagination-padding {
1647
+ .kjun-scope .kj-py-pagination-padding {
1623
1648
  padding-top: 16px;
1624
1649
  padding-bottom: 16px
1625
1650
  }
1626
- .kjun-scope .py-state-padding-lg {
1651
+ .kjun-scope .kj-py-state-padding-lg {
1627
1652
  padding-top: 80px;
1628
1653
  padding-bottom: 80px
1629
1654
  }
1630
- .kjun-scope .py-state-padding-md {
1655
+ .kjun-scope .kj-py-state-padding-md {
1631
1656
  padding-top: 48px;
1632
1657
  padding-bottom: 48px
1633
1658
  }
1634
- .kjun-scope .py-state-padding-sm {
1659
+ .kjun-scope .kj-py-state-padding-sm {
1635
1660
  padding-top: 24px;
1636
1661
  padding-bottom: 24px
1637
1662
  }
1638
- .kjun-scope .py-tooltip-padding-y {
1663
+ .kjun-scope .kj-py-tooltip-padding-y {
1639
1664
  padding-top: 4px;
1640
1665
  padding-bottom: 4px
1641
1666
  }
1642
- .kjun-scope .text-left {
1667
+ .kjun-scope .kj-text-left {
1643
1668
  text-align: left
1644
1669
  }
1645
- .kjun-scope .text-center {
1670
+ .kjun-scope .kj-text-center {
1646
1671
  text-align: center
1647
1672
  }
1648
- .kjun-scope .text-right {
1673
+ .kjun-scope .kj-text-right {
1649
1674
  text-align: right
1650
1675
  }
1651
- .kjun-scope .align-top {
1676
+ .kjun-scope .kj-align-top {
1652
1677
  vertical-align: top
1653
1678
  }
1654
- .kjun-scope .align-middle {
1679
+ .kjun-scope .kj-align-middle {
1655
1680
  vertical-align: middle
1656
1681
  }
1657
- .kjun-scope .text-\[length\:var\(--control-label-size\)\] {
1682
+ .kjun-scope .kj-text-\[length\:var\(--control-label-size\)\] {
1658
1683
  font-size: var(--control-label-size)
1659
1684
  }
1660
- .kjun-scope .text-base {
1685
+ .kjun-scope .kj-text-base {
1661
1686
  font-size: 1rem;
1662
1687
  line-height: 1.5rem;
1663
1688
  letter-spacing: 0em
1664
1689
  }
1665
- .kjun-scope .text-lg {
1690
+ .kjun-scope .kj-text-lg {
1666
1691
  font-size: 1.25rem;
1667
1692
  line-height: 1.75rem;
1668
1693
  letter-spacing: 0em
1669
1694
  }
1670
- .kjun-scope .text-sm {
1695
+ .kjun-scope .kj-text-sm {
1671
1696
  font-size: 0.875rem;
1672
1697
  line-height: 1.25rem;
1673
1698
  letter-spacing: 0em
1674
1699
  }
1675
- .kjun-scope .text-xs {
1700
+ .kjun-scope .kj-text-xs {
1676
1701
  font-size: 0.75rem;
1677
1702
  line-height: 1rem;
1678
1703
  letter-spacing: 0em
1679
1704
  }
1680
- .kjun-scope .font-medium {
1705
+ .kjun-scope .kj-font-medium {
1681
1706
  font-weight: var(--_kjun-type-label-weight)
1682
1707
  }
1683
- .kjun-scope .font-semibold {
1708
+ .kjun-scope .kj-font-semibold {
1684
1709
  font-weight: var(--_kjun-type-control-weight)
1685
1710
  }
1686
- .kjun-scope .uppercase {
1687
- text-transform: uppercase
1688
- }
1689
- .kjun-scope .tabular-nums {
1711
+ .kjun-scope .kj-tabular-nums {
1690
1712
  --tw-numeric-spacing: tabular-nums;
1691
1713
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)
1692
1714
  }
1693
- .kjun-scope .leading-relaxed {
1715
+ .kjun-scope .kj-leading-relaxed {
1694
1716
  line-height: 1.625
1695
1717
  }
1696
- .kjun-scope .text-brand {
1718
+ .kjun-scope .kj-text-brand {
1697
1719
  color: var(--brand)
1698
1720
  }
1699
- .kjun-scope .text-brand-hover {
1721
+ .kjun-scope .kj-text-brand-hover {
1700
1722
  color: var(--brand-hover)
1701
1723
  }
1702
- .kjun-scope .text-chart-tooltip-text {
1724
+ .kjun-scope .kj-text-chart-tooltip-text {
1703
1725
  color: var(--chart-tooltip-text)
1704
1726
  }
1705
- .kjun-scope .text-danger {
1727
+ .kjun-scope .kj-text-danger {
1706
1728
  color: var(--danger)
1707
1729
  }
1708
- .kjun-scope .text-danger-accent {
1730
+ .kjun-scope .kj-text-danger-accent {
1709
1731
  color: var(--danger-accent)
1710
1732
  }
1711
- .kjun-scope .text-favorite {
1733
+ .kjun-scope .kj-text-favorite {
1712
1734
  color: var(--favorite)
1713
1735
  }
1714
- .kjun-scope .text-info {
1736
+ .kjun-scope .kj-text-info {
1715
1737
  color: var(--info)
1716
1738
  }
1717
- .kjun-scope .text-info-accent {
1739
+ .kjun-scope .kj-text-info-accent {
1718
1740
  color: var(--info-accent)
1719
1741
  }
1720
- .kjun-scope .text-interest {
1742
+ .kjun-scope .kj-text-interest {
1721
1743
  color: var(--interest)
1722
1744
  }
1723
- .kjun-scope .text-on-brand {
1745
+ .kjun-scope .kj-text-on-brand {
1724
1746
  color: var(--on-brand)
1725
1747
  }
1726
- .kjun-scope .text-price-down {
1748
+ .kjun-scope .kj-text-price-down {
1727
1749
  color: var(--price-down)
1728
1750
  }
1729
- .kjun-scope .text-price-up {
1751
+ .kjun-scope .kj-text-price-up {
1730
1752
  color: var(--price-up)
1731
1753
  }
1732
- .kjun-scope .text-success {
1754
+ .kjun-scope .kj-text-success {
1733
1755
  color: var(--success)
1734
1756
  }
1735
- .kjun-scope .text-text-disabled {
1757
+ .kjun-scope .kj-text-text-disabled {
1736
1758
  color: var(--text-disabled)
1737
1759
  }
1738
- .kjun-scope .text-text-primary {
1760
+ .kjun-scope .kj-text-text-primary {
1739
1761
  color: var(--text-primary)
1740
1762
  }
1741
- .kjun-scope .text-text-secondary {
1763
+ .kjun-scope .kj-text-text-secondary {
1742
1764
  color: var(--text-secondary)
1743
1765
  }
1744
- .kjun-scope .text-text-tertiary {
1766
+ .kjun-scope .kj-text-text-tertiary {
1745
1767
  color: var(--text-tertiary)
1746
1768
  }
1747
- .kjun-scope .text-warning {
1769
+ .kjun-scope .kj-text-warning {
1748
1770
  color: var(--warning)
1749
1771
  }
1750
- .kjun-scope .text-warning-accent {
1772
+ .kjun-scope .kj-text-warning-accent {
1751
1773
  color: var(--warning-accent)
1752
1774
  }
1753
- .kjun-scope .\!underline {
1754
- text-decoration-line: underline !important
1755
- }
1756
- .kjun-scope .underline {
1757
- text-decoration-line: underline
1758
- }
1759
- .kjun-scope .opacity-disabled {
1775
+ .kjun-scope .kj-opacity-disabled {
1760
1776
  opacity: var(--_kjun-state-opacity-disabled)
1761
1777
  }
1762
- .kjun-scope .outline {
1763
- outline-style: solid
1764
- }
1765
- .kjun-scope .blur {
1766
- --tw-blur: blur(8px);
1767
- filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
1768
- }
1769
- .kjun-scope .filter {
1770
- filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
1771
- }
1772
- .kjun-scope .backdrop-filter {
1773
- -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
1774
- backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)
1775
- }
1776
- .kjun-scope .transition {
1777
- transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
1778
- transition-timing-function: var(--ease-out);
1779
- transition-duration: var(--motion-control)
1780
- }
1781
- .kjun-scope .transition-colors {
1778
+ .kjun-scope .kj-transition-colors {
1782
1779
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
1783
1780
  transition-timing-function: var(--ease-out);
1784
1781
  transition-duration: var(--motion-control)
1785
1782
  }
1786
- .kjun-scope .transition-transform {
1783
+ .kjun-scope .kj-transition-transform {
1787
1784
  transition-property: transform;
1788
1785
  transition-timing-function: var(--ease-out);
1789
1786
  transition-duration: var(--motion-control)
1790
1787
  }
1791
- .kjun-scope .ease-in-out {
1792
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1)
1793
- }
1794
- .kjun-scope .hover\:bg-bg-hover:hover {
1788
+ .kjun-scope .hover\:kj-bg-bg-hover:hover {
1795
1789
  background-color: var(--bg-hover)
1796
1790
  }
1797
- .kjun-scope .hover\:text-brand:hover {
1791
+ .kjun-scope .hover\:kj-text-brand:hover {
1798
1792
  color: var(--brand)
1799
1793
  }
1800
- .kjun-scope .hover\:text-text-primary:hover {
1794
+ .kjun-scope .hover\:kj-text-text-primary:hover {
1801
1795
  color: var(--text-primary)
1802
1796
  }
1803
- .kjun-scope .disabled\:cursor-not-allowed:disabled {
1797
+ .kjun-scope .disabled\:kj-cursor-not-allowed:disabled {
1804
1798
  cursor: not-allowed
1805
1799
  }
1806
- .kjun-scope .disabled\:opacity-disabled:disabled {
1800
+ .kjun-scope .disabled\:kj-opacity-disabled:disabled {
1807
1801
  opacity: var(--_kjun-state-opacity-disabled)
1808
1802
  }
1809
1803
  @media (min-width: 640px) {
1810
- .kjun-scope .pagination\:block {
1804
+ .kjun-scope .pagination\:kj-block {
1811
1805
  display: block
1812
1806
  }
1813
- .kjun-scope .pagination\:flex {
1807
+ .kjun-scope .pagination\:kj-flex {
1814
1808
  display: flex
1815
1809
  }
1816
- .kjun-scope .pagination\:hidden {
1810
+ .kjun-scope .pagination\:kj-hidden {
1817
1811
  display: none
1818
1812
  }
1819
- .kjun-scope .pagination\:flex-row {
1813
+ .kjun-scope .pagination\:kj-flex-row {
1820
1814
  flex-direction: row
1821
1815
  }
1822
- .kjun-scope .pagination\:items-center {
1816
+ .kjun-scope .pagination\:kj-items-center {
1823
1817
  align-items: center
1824
1818
  }
1825
- .kjun-scope .pagination\:justify-between {
1819
+ .kjun-scope .pagination\:kj-justify-between {
1826
1820
  justify-content: space-between
1827
1821
  }
1828
1822
  }
1829
1823
  @media (min-width: 1024px) {
1830
- .kjun-scope .pagination-wide\:px-6 {
1824
+ .kjun-scope .pagination-wide\:kj-px-6 {
1831
1825
  padding-left: 24px;
1832
1826
  padding-right: 24px
1833
1827
  }
@@ -1950,7 +1944,7 @@
1950
1944
  .kjun-scope .ds-form-group { margin-bottom: var(--extension-form-item-gap); min-width: 0; }
1951
1945
  .kjun-scope .ds-form-group:last-child { margin-bottom: 0; }
1952
1946
  /* 그리드·툴바는 부모 gap을 사용하고, 일반 문서 흐름의 기존 폼만 기본 간격을 유지한다. */
1953
- .kjun-scope :where(.flex, .inline-flex, .grid, .inline-grid, .ds-form-layout) > .ds-form-group { margin-bottom: 0; }
1947
+ .kjun-scope :where(.flex, .inline-flex, .grid, .inline-grid, .kj-flex, .kj-inline-flex, .kj-grid, .kj-inline-grid, .ds-form-layout) > .ds-form-group { margin-bottom: 0; }
1954
1948
  .kjun-scope .ds-field-menu {
1955
1949
  padding: var(--extension-menu-padding);
1956
1950
  border: var(--_kjun-border-default-width) solid var(--border-primary);
@@ -3954,7 +3948,6 @@
3954
3948
  --_kjun-type-display-lg-line: 3rem;
3955
3949
  --_kjun-type-display-lg-weight: 700;
3956
3950
  --_kjun-type-display-lg-tracking: -0.02em;
3957
- font-size: var(--_kjun-type-body-size); line-height: var(--_kjun-type-body-line); font-weight: var(--_kjun-type-body-weight); letter-spacing: var(--_kjun-type-body-tracking);
3958
3951
  }
3959
3952
  .kjun-scope .kjun-type-caption { font-size: var(--_kjun-type-caption-size); line-height: var(--_kjun-type-caption-line); font-weight: var(--_kjun-type-caption-weight); letter-spacing: var(--_kjun-type-caption-tracking); }
3960
3953
  .kjun-scope .kjun-type-meta { font-size: var(--_kjun-type-meta-size); line-height: var(--_kjun-type-meta-line); font-weight: var(--_kjun-type-meta-weight); letter-spacing: var(--_kjun-type-meta-tracking); }
@@ -4046,19 +4039,6 @@
4046
4039
  @media (prefers-reduced-motion: reduce) { .kjun-scope [class*="price-flash-"] { animation: none; } }
4047
4040
 
4048
4041
  /* KJUN 공통 구조. 색상과 서체는 프로젝트가 제공한 CSS 변수를 사용한다. */
4049
- .kjun-scope {
4050
- box-sizing: border-box;
4051
- line-height: var(--_kjun-type-body-line);
4052
- }
4053
- .kjun-scope *,
4054
- .kjun-scope *::before,
4055
- .kjun-scope *::after {
4056
- box-sizing: border-box;
4057
- }
4058
- .kjun-scope button,
4059
- .kjun-scope input {
4060
- font-family: inherit;
4061
- }
4062
4042
  .kjun-button {
4063
4043
  position: relative;
4064
4044
  display: inline-flex;
@@ -4846,10 +4826,6 @@
4846
4826
  .kjun-form-skeleton > div > .kjun-skeleton:last-child .kjun-skeleton-block,
4847
4827
  .kjun-form-skeleton > div > .ds-skeleton:last-child .ds-skeleton-block { border-radius: var(--form-skeleton-radius); }
4848
4828
 
4849
- .kjun-scope textarea,
4850
- .kjun-scope select {
4851
- font-family: inherit;
4852
- }
4853
4829
  .kjun-sr-only {
4854
4830
  position: absolute;
4855
4831
  width: 1px;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kjun-ui/native",
3
- "version": "0.3.2",
3
+ "version": "0.4.0",
4
4
  "license": "MIT",
5
5
  "homepage": "https://ui.kjun.dev",
6
6
  "repository": {
@@ -47,8 +47,8 @@
47
47
  "./package.json": "./package.json"
48
48
  },
49
49
  "dependencies": {
50
- "@kjun-ui/tokens": "0.3.2",
51
- "@kjun-ui/icons": "0.3.2"
50
+ "@kjun-ui/tokens": "0.4.0",
51
+ "@kjun-ui/icons": "0.4.0"
52
52
  },
53
53
  "peerDependencies": {
54
54
  "react": "^19.2.3",