@keyfunc/keybricks-ds 2.1.1 → 2.3.1
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.
- package/DEPLOY.md +13 -4
- package/DESIGN.md +104 -19
- package/INTEGRATION.md +75 -20
- package/SKILL.md +11 -11
- package/_adherence.oxlintrc.json +28 -11
- package/_scripts/build-index.mjs +15 -4
- package/assets/icons/icon-index.js +1 -1
- package/assets/icons/icon-index.json +1 -1
- package/components/_cards/accordion.card.html +1 -1
- package/components/_cards/action-chip.card.html +11 -14
- package/components/_cards/activity.card.html +2 -2
- package/components/_cards/alert.card.html +2 -2
- package/components/_cards/app-chrome.card.html +1 -1
- package/components/_cards/banner.card.html +1 -1
- package/components/_cards/breadcrumb.card.html +4 -4
- package/components/_cards/button-1-base.card.html +23 -26
- package/components/_cards/button-2-states.card.html +14 -12
- package/components/_cards/button-3-sizes-icons.card.html +20 -19
- package/components/_cards/button-4-group.card.html +14 -31
- package/components/_cards/canvas-zoom-controls.card.html +1 -1
- package/components/_cards/cards-indicators.card.html +1 -1
- package/components/_cards/charts-1-sparkline.card.html +4 -4
- package/components/_cards/charts-10-gauge.card.html +2 -2
- package/components/_cards/charts-11-funnel.card.html +2 -2
- package/components/_cards/charts-12-treemap.card.html +2 -2
- package/components/_cards/charts-14-radar.card.html +3 -3
- package/components/_cards/charts-15-distribution.card.html +2 -2
- package/components/_cards/charts-16-pareto.card.html +2 -2
- package/components/_cards/charts-17-candlestick.card.html +2 -2
- package/components/_cards/charts-18-sankey.card.html +2 -2
- package/components/_cards/charts-19-chord.card.html +2 -2
- package/components/_cards/charts-2-line.card.html +3 -3
- package/components/_cards/charts-20-sunburst.card.html +2 -2
- package/components/_cards/charts-21-worldmap.card.html +3 -3
- package/components/_cards/charts-22-gantt.card.html +2 -2
- package/components/_cards/charts-23-bar3d.card.html +2 -2
- package/components/_cards/charts-24-pie3d.card.html +2 -2
- package/components/_cards/charts-25-surface3d.card.html +2 -2
- package/components/_cards/charts-26-scatter3d.card.html +2 -2
- package/components/_cards/charts-27-ribbon3d.card.html +2 -2
- package/components/_cards/charts-3-bar.card.html +6 -6
- package/components/_cards/charts-4-barlist.card.html +2 -2
- package/components/_cards/charts-5-donut.card.html +2 -2
- package/components/_cards/charts-6-scatter.card.html +2 -2
- package/components/_cards/charts-7-heatmap.card.html +2 -2
- package/components/_cards/charts-8-waterfall.card.html +2 -2
- package/components/_cards/charts-9-bullet.card.html +3 -3
- package/components/_cards/charts-99-fullpage.card.html +1 -1
- package/components/_cards/checkbox.card.html +6 -3
- package/components/_cards/codeblock.card.html +2 -2
- package/components/_cards/combobox.card.html +6 -4
- package/components/_cards/context-menu.card.html +6 -4
- package/components/_cards/date-picker.card.html +8 -5
- package/components/_cards/diffvalue.card.html +2 -2
- package/components/_cards/divider.card.html +2 -2
- package/components/_cards/drawer.card.html +3 -3
- package/components/_cards/dropdown-menu.card.html +2 -2
- package/components/_cards/dropzone.card.html +5 -3
- package/components/_cards/empty-state.card.html +2 -2
- package/components/_cards/filter-bar.card.html +1 -1
- package/components/_cards/icon-button.card.html +14 -14
- package/components/_cards/icons-1-core.card.html +4 -4
- package/components/_cards/icons-2-feather.card.html +4 -4
- package/components/_cards/icons-3-unicons.card.html +3 -3
- package/components/_cards/input.card.html +5 -5
- package/components/_cards/kbd.card.html +1 -1
- package/components/_cards/keyvalue.card.html +1 -1
- package/components/_cards/listrow.card.html +1 -1
- package/components/_cards/loading.card.html +2 -2
- package/components/_cards/log-viewer.card.html +2 -2
- package/components/_cards/modal.card.html +1 -1
- package/components/_cards/multi-select.card.html +6 -4
- package/components/_cards/number-stepper.card.html +9 -6
- package/components/_cards/pagination.card.html +6 -4
- package/components/_cards/people.card.html +2 -2
- package/components/_cards/pipeline-node.card.html +8 -8
- package/components/_cards/pipeline-palette.card.html +2 -2
- package/components/_cards/radio.card.html +12 -7
- package/components/_cards/search.card.html +6 -6
- package/components/_cards/segmented-control.card.html +11 -10
- package/components/_cards/select.card.html +7 -3
- package/components/_cards/slider.card.html +2 -2
- package/components/_cards/smart-table.card.html +3 -3
- package/components/_cards/spreadsheet.card.html +2 -2
- package/components/_cards/stepper.card.html +2 -2
- package/components/_cards/table.card.html +79 -17
- package/components/_cards/tabs.card.html +6 -4
- package/components/_cards/tag.card.html +6 -6
- package/components/_cards/textarea.card.html +1 -1
- package/components/_cards/timeline.card.html +3 -3
- package/components/_cards/toast.card.html +7 -5
- package/components/_cards/toggles.card.html +14 -9
- package/components/_cards/tooltip.card.html +3 -3
- package/components/_cards/tree.card.html +2 -2
- package/components/_shared/card-kit.css +25 -0
- package/components/_shared/card-kit.js +50 -0
- package/components/_shared/src-buttons.js +1 -1
- package/components/_shared/src-charts.js +1 -1
- package/components/_shared/src-data.js +1 -1
- package/components/_shared/src-display.js +1 -1
- package/components/_shared/src-feedback.js +1 -1
- package/components/_shared/src-forms.js +1 -1
- package/components/_shared/src-icons.js +1 -1
- package/components/_shared/src-navigation.js +1 -1
- package/components/_shared/src-tabs.js +1 -1
- package/components/_shared/view-source.js +3 -3
- package/components/_vue/index.mjs +7 -0
- package/components/buttons/ActionChip.d.ts +1 -1
- package/components/buttons/Button.d.ts +1 -1
- package/components/buttons/Button.jsx +1 -1
- package/components/buttons/Button.vue +1 -1
- package/components/buttons/IconButton.d.ts +1 -1
- package/components/buttons/IconButton.jsx +5 -3
- package/components/buttons/IconButton.vue +3 -2
- package/components/charts/Bar3D.jsx +1 -1
- package/components/charts/Bar3D.vue +2 -2
- package/components/charts/BarChart.jsx +3 -3
- package/components/charts/BarChart.vue +6 -6
- package/components/charts/BarList.jsx +3 -3
- package/components/charts/BarList.vue +3 -3
- package/components/charts/BoxPlot.vue +2 -2
- package/components/charts/BulletChart.jsx +5 -5
- package/components/charts/BulletChart.vue +5 -5
- package/components/charts/CandlestickChart.vue +3 -3
- package/components/charts/ChartKit.jsx +4 -3
- package/components/charts/ChartTooltip.vue +1 -1
- package/components/charts/ChordChart.jsx +1 -1
- package/components/charts/ChordChart.vue +2 -2
- package/components/charts/DonutChart.jsx +1 -1
- package/components/charts/DonutChart.vue +2 -2
- package/components/charts/FunnelChart.jsx +3 -3
- package/components/charts/FunnelChart.vue +4 -4
- package/components/charts/GanttChart.vue +1 -1
- package/components/charts/GaugeChart.jsx +2 -2
- package/components/charts/GaugeChart.vue +2 -2
- package/components/charts/HeatmapChart.jsx +1 -1
- package/components/charts/HeatmapChart.vue +1 -1
- package/components/charts/Histogram.jsx +2 -2
- package/components/charts/Histogram.vue +4 -4
- package/components/charts/LineChart.vue +2 -2
- package/components/charts/ParetoChart.jsx +1 -1
- package/components/charts/ParetoChart.vue +3 -3
- package/components/charts/Pie3D.jsx +1 -1
- package/components/charts/Pie3D.vue +2 -2
- package/components/charts/PlotGrid.vue +1 -1
- package/components/charts/RadarChart.vue +1 -1
- package/components/charts/Ribbon3D.jsx +1 -1
- package/components/charts/Ribbon3D.vue +2 -2
- package/components/charts/SankeyChart.jsx +1 -1
- package/components/charts/SankeyChart.vue +2 -2
- package/components/charts/Scatter3D.vue +1 -1
- package/components/charts/ScatterChart.jsx +1 -1
- package/components/charts/ScatterChart.vue +3 -3
- package/components/charts/Sparkline.jsx +1 -1
- package/components/charts/Sparkline.vue +1 -1
- package/components/charts/SunburstChart.vue +1 -1
- package/components/charts/Surface3D.jsx +1 -1
- package/components/charts/Surface3D.vue +2 -2
- package/components/charts/TreemapChart.jsx +1 -1
- package/components/charts/TreemapChart.vue +2 -2
- package/components/charts/WaterfallChart.jsx +1 -1
- package/components/charts/WaterfallChart.vue +5 -4
- package/components/charts/WorldMap.jsx +4 -4
- package/components/charts/WorldMap.vue +5 -5
- package/components/data/DiffValue.d.ts +1 -0
- package/components/data/DiffValue.jsx +1 -1
- package/components/data/DiffValue.vue +1 -1
- package/components/data/KeyValue.d.ts +1 -1
- package/components/data/KeyValue.jsx +2 -2
- package/components/data/KeyValue.vue +2 -2
- package/components/data/Pagination.jsx +2 -2
- package/components/data/Pagination.vue +1 -1
- package/components/data/SmartTable.jsx +5 -5
- package/components/data/SmartTable.vue +6 -6
- package/components/data/Spreadsheet.jsx +5 -5
- package/components/data/Spreadsheet.vue +6 -6
- package/components/data/Table.d.ts +58 -4
- package/components/data/Table.jsx +153 -15
- package/components/data/Table.vue +105 -15
- package/components/data/data.prompt.md +1 -1
- package/components/display/Avatar.jsx +2 -2
- package/components/display/Avatar.vue +1 -1
- package/components/display/AvatarGroup.vue +1 -1
- package/components/display/Badge.d.ts +4 -1
- package/components/display/Badge.jsx +10 -5
- package/components/display/IconTile.vue +9 -4
- package/components/display/Kbd.d.ts +1 -1
- package/components/display/Kbd.jsx +1 -1
- package/components/display/Kbd.vue +1 -1
- package/components/feedback/ActivityItem.jsx +1 -1
- package/components/feedback/Modal.jsx +1 -1
- package/components/feedback/Modal.vue +1 -1
- package/components/feedback/Timeline.vue +2 -2
- package/components/forms/Combobox.d.ts +1 -1
- package/components/forms/DatePicker.d.ts +1 -1
- package/components/forms/Input.d.ts +1 -1
- package/components/forms/Input.jsx +2 -2
- package/components/forms/Input.vue +1 -1
- package/components/forms/MultiSelect.d.ts +1 -1
- package/components/forms/NumberStepper.d.ts +1 -1
- package/components/forms/SearchInput.d.ts +1 -1
- package/components/forms/Select.d.ts +1 -1
- package/components/forms/Select.jsx +1 -1
- package/components/forms/Select.vue +1 -1
- package/components/forms/Slider.jsx +1 -1
- package/components/forms/Slider.vue +1 -1
- package/components/forms/Switch.jsx +3 -3
- package/components/forms/Switch.vue +11 -8
- package/components/forms/Textarea.vue +1 -1
- package/components/forms/input-base.js +1 -1
- package/components/icons/Icon.jsx +17 -1
- package/components/icons/Icon.prompt.md +2 -0
- package/components/icons/Icon.vue +1 -1
- package/components/icons/icon-paths.js +15 -0
- package/components/index.js +1 -1
- package/components/navigation/Breadcrumb.jsx +3 -7
- package/components/navigation/Breadcrumb.vue +2 -8
- package/components/navigation/Sidebar.jsx +3 -22
- package/components/navigation/Sidebar.vue +2 -7
- package/components/navigation/Tree.jsx +1 -1
- package/components/navigation/Tree.vue +9 -4
- package/components/navigation/nav-model.js +23 -0
- package/components/navigation/theme-store.js +9 -0
- package/components/tabs/PillTabs.vue +1 -1
- package/components/tabs/SegmentedControl.d.ts +1 -1
- package/components/tabs/SegmentedControl.jsx +1 -1
- package/components/tabs/SegmentedControl.vue +1 -1
- package/components/tabs/Tabs.jsx +1 -1
- package/components/tabs/ViewToggle.d.ts +1 -1
- package/package.json +2 -2
- package/readme.md +6 -5
- package/readme.zh-CN.md +6 -5
- package/tokens/alpha.css +3 -1
- package/tokens/colors.css +1 -1
- package/tokens/dark.css +1 -1
- package/tokens/layout.css +7 -5
- package/tokens/tokens.d.ts +22 -0
- package/tokens/tokens.js +39 -6
- package/tokens/tokens.json +90 -11
- package/tokens/typography.css +26 -9
package/tokens/tokens.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@keyfunc/keybricks-ds",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.1",
|
|
4
4
|
"source": "tokens/*.css",
|
|
5
5
|
"note": "Generated by _scripts/build-tokens.mjs — CSS is the source of truth.",
|
|
6
6
|
"tokens": {
|
|
@@ -370,6 +370,17 @@
|
|
|
370
370
|
"value": "#333333"
|
|
371
371
|
}
|
|
372
372
|
},
|
|
373
|
+
"--border-split": {
|
|
374
|
+
"group": "colors",
|
|
375
|
+
"light": {
|
|
376
|
+
"raw": "var(--neutral-300)",
|
|
377
|
+
"value": "#d4d4d4"
|
|
378
|
+
},
|
|
379
|
+
"dark": {
|
|
380
|
+
"raw": "#404040",
|
|
381
|
+
"value": "#404040"
|
|
382
|
+
}
|
|
383
|
+
},
|
|
373
384
|
"--border-strong": {
|
|
374
385
|
"group": "colors",
|
|
375
386
|
"light": {
|
|
@@ -1208,8 +1219,8 @@
|
|
|
1208
1219
|
"--h-button-sm": {
|
|
1209
1220
|
"group": "layout",
|
|
1210
1221
|
"light": {
|
|
1211
|
-
"raw": "
|
|
1212
|
-
"value": "
|
|
1222
|
+
"raw": "28px",
|
|
1223
|
+
"value": "28px"
|
|
1213
1224
|
}
|
|
1214
1225
|
},
|
|
1215
1226
|
"--h-input": {
|
|
@@ -1517,6 +1528,13 @@
|
|
|
1517
1528
|
"value": "20px"
|
|
1518
1529
|
}
|
|
1519
1530
|
},
|
|
1531
|
+
"--leading-code": {
|
|
1532
|
+
"group": "typography",
|
|
1533
|
+
"light": {
|
|
1534
|
+
"raw": "18px",
|
|
1535
|
+
"value": "18px"
|
|
1536
|
+
}
|
|
1537
|
+
},
|
|
1520
1538
|
"--leading-display": {
|
|
1521
1539
|
"group": "typography",
|
|
1522
1540
|
"light": {
|
|
@@ -1889,21 +1907,19 @@
|
|
|
1889
1907
|
"value": "rgba(10,10,10,.04)"
|
|
1890
1908
|
},
|
|
1891
1909
|
"dark": {
|
|
1892
|
-
"raw": "var(--neutral-alpha-
|
|
1893
|
-
"value": "rgba(255,255,255,.
|
|
1894
|
-
"inherited": true
|
|
1910
|
+
"raw": "var(--neutral-alpha-8)",
|
|
1911
|
+
"value": "rgba(255,255,255,.08)"
|
|
1895
1912
|
}
|
|
1896
1913
|
},
|
|
1897
1914
|
"--overlay-press": {
|
|
1898
1915
|
"group": "alpha",
|
|
1899
1916
|
"light": {
|
|
1900
|
-
"raw": "var(--neutral-alpha-
|
|
1901
|
-
"value": "rgba(10,10,10,.
|
|
1917
|
+
"raw": "var(--neutral-alpha-12)",
|
|
1918
|
+
"value": "rgba(10,10,10,.12)"
|
|
1902
1919
|
},
|
|
1903
1920
|
"dark": {
|
|
1904
|
-
"raw": "var(--neutral-alpha-
|
|
1905
|
-
"value": "rgba(255,255,255,.
|
|
1906
|
-
"inherited": true
|
|
1921
|
+
"raw": "var(--neutral-alpha-16)",
|
|
1922
|
+
"value": "rgba(255,255,255,.16)"
|
|
1907
1923
|
}
|
|
1908
1924
|
},
|
|
1909
1925
|
"--overlay-selected": {
|
|
@@ -2684,6 +2700,13 @@
|
|
|
2684
2700
|
"value": "11px"
|
|
2685
2701
|
}
|
|
2686
2702
|
},
|
|
2703
|
+
"--text-2xs-mono": {
|
|
2704
|
+
"group": "typography",
|
|
2705
|
+
"light": {
|
|
2706
|
+
"raw": "11px",
|
|
2707
|
+
"value": "11px"
|
|
2708
|
+
}
|
|
2709
|
+
},
|
|
2687
2710
|
"--text-3xl": {
|
|
2688
2711
|
"group": "typography",
|
|
2689
2712
|
"light": {
|
|
@@ -2716,6 +2739,13 @@
|
|
|
2716
2739
|
"value": "#d4d4d4"
|
|
2717
2740
|
}
|
|
2718
2741
|
},
|
|
2742
|
+
"--text-code": {
|
|
2743
|
+
"group": "typography",
|
|
2744
|
+
"light": {
|
|
2745
|
+
"raw": "12px",
|
|
2746
|
+
"value": "12px"
|
|
2747
|
+
}
|
|
2748
|
+
},
|
|
2719
2749
|
"--text-display": {
|
|
2720
2750
|
"group": "typography",
|
|
2721
2751
|
"light": {
|
|
@@ -2723,6 +2753,13 @@
|
|
|
2723
2753
|
"value": "60px"
|
|
2724
2754
|
}
|
|
2725
2755
|
},
|
|
2756
|
+
"--text-glyph-min": {
|
|
2757
|
+
"group": "typography",
|
|
2758
|
+
"light": {
|
|
2759
|
+
"raw": "11px",
|
|
2760
|
+
"value": "11px"
|
|
2761
|
+
}
|
|
2762
|
+
},
|
|
2726
2763
|
"--text-heading": {
|
|
2727
2764
|
"group": "colors",
|
|
2728
2765
|
"light": {
|
|
@@ -2831,6 +2868,48 @@
|
|
|
2831
2868
|
"value": "12px"
|
|
2832
2869
|
}
|
|
2833
2870
|
},
|
|
2871
|
+
"--title-cell-gap": {
|
|
2872
|
+
"group": "layout",
|
|
2873
|
+
"light": {
|
|
2874
|
+
"raw": "2px",
|
|
2875
|
+
"value": "2px"
|
|
2876
|
+
}
|
|
2877
|
+
},
|
|
2878
|
+
"--title-cell-icon": {
|
|
2879
|
+
"group": "layout",
|
|
2880
|
+
"light": {
|
|
2881
|
+
"raw": "16px",
|
|
2882
|
+
"value": "16px"
|
|
2883
|
+
}
|
|
2884
|
+
},
|
|
2885
|
+
"--title-cell-py": {
|
|
2886
|
+
"group": "layout",
|
|
2887
|
+
"light": {
|
|
2888
|
+
"raw": "10px",
|
|
2889
|
+
"value": "10px"
|
|
2890
|
+
}
|
|
2891
|
+
},
|
|
2892
|
+
"--title-cell-tile": {
|
|
2893
|
+
"group": "layout",
|
|
2894
|
+
"light": {
|
|
2895
|
+
"raw": "32px",
|
|
2896
|
+
"value": "32px"
|
|
2897
|
+
}
|
|
2898
|
+
},
|
|
2899
|
+
"--title-cell-tile-gap": {
|
|
2900
|
+
"group": "layout",
|
|
2901
|
+
"light": {
|
|
2902
|
+
"raw": "12px",
|
|
2903
|
+
"value": "12px"
|
|
2904
|
+
}
|
|
2905
|
+
},
|
|
2906
|
+
"--title-cell-tile-r": {
|
|
2907
|
+
"group": "layout",
|
|
2908
|
+
"light": {
|
|
2909
|
+
"raw": "8px",
|
|
2910
|
+
"value": "8px"
|
|
2911
|
+
}
|
|
2912
|
+
},
|
|
2834
2913
|
"--tooltip-bg": {
|
|
2835
2914
|
"group": "colors",
|
|
2836
2915
|
"light": {
|
package/tokens/typography.css
CHANGED
|
@@ -3,10 +3,13 @@
|
|
|
3
3
|
Control text (--control-text) is defined per size tier in layout.css and points back into this ladder. */
|
|
4
4
|
:root{
|
|
5
5
|
--font-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
|
|
6
|
-
--font-mono:Menlo,ui-monospace,'SF Mono',Consolas,monospace;
|
|
6
|
+
--font-mono:Menlo,ui-monospace,'SF Mono',Consolas,monospace; /* code only: code blocks, logs, inline code and config-code chips — never IDs or amounts in the UI */
|
|
7
7
|
/* size / line-height / letter-spacing triples — always set all three together */
|
|
8
|
-
--text-2xs:11px;--leading-2xs:16px;--tracking-2xs:.064px; /* chart
|
|
9
|
-
--text-
|
|
8
|
+
--text-2xs:11px;--leading-2xs:16px;--tracking-2xs:.064px; /* chart text only — nothing in the system is smaller; 12px in CJK */
|
|
9
|
+
--text-2xs-mono:11px;
|
|
10
|
+
--text-code:12px;--leading-code:18px; /* config-code chips (Table `code` columns): Latin, so not bumped in CJK; 11/16 in sm */
|
|
11
|
+
--text-glyph-min:11px; /* floor for text sized from geometry (switch inside text, avatar initials); 12px in CJK */ /* chart numerals (UI font, tabular figures; name kept for compatibility): Latin digits, so they stay 11px in CJK too */
|
|
12
|
+
--text-xs:12px;--leading-xs:16px;--tracking-xs:0; /* captions, helper text, badges, tags, meta; sm-tier control text — 13px in CJK */
|
|
10
13
|
--text-sm:12px;--leading-sm:16px;--tracking-sm:0; /* alias of --text-xs kept for compatibility — prefer --text-xs */
|
|
11
14
|
--text-base:14px;--leading-base:20px;--tracking-base:-.15px; /* body, md/lg controls, labels, table cells */
|
|
12
15
|
--text-md:16px;--leading-md:24px;--tracking-md:-.28px; /* section headings, panel / card / dialog titles */
|
|
@@ -20,16 +23,30 @@
|
|
|
20
23
|
--text-display:60px;--leading-display:68px;--tracking-display:-1.35px; /* slides, covers */
|
|
21
24
|
--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;
|
|
22
25
|
}
|
|
23
|
-
/* Chinese
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
/* Chinese (Simplified and Traditional), Japanese and Korean — one rule for all square scripts.
|
|
27
|
+
A square glyph carries far more strokes than a Latin letter, so the same numeric weight reads heavier:
|
|
28
|
+
PingFang 600 beside Inter 500 looks a full step bolder, and 600 everywhere flattens labels and headers
|
|
29
|
+
into one weight. CJK therefore uses 500 (PingFang / Hiragino / Apple SD Gothic Neo Medium) for both
|
|
30
|
+
--weight-medium and --weight-semibold, and Latin tracking is switched off. Microsoft YaHei, Meiryo,
|
|
31
|
+
Yu Gothic UI and Malgun Gothic ship no 500 face, so on Windows these render Regular — hierarchy there
|
|
32
|
+
comes from size, colour and the header fill.
|
|
33
|
+
Small sizes are one step larger than Latin: a 12px square glyph has about 11 device pixels for up to
|
|
34
|
+
8 horizontal strokes, which a 1x display cannot resolve. 12 → 13 (leading 18) and 11 → 12, so nothing
|
|
35
|
+
CJK renders below 12px. 14px and up are unchanged. In sm regions (13px CJK text) the medium weight
|
|
36
|
+
drops back to 400, because bold strokes merge at that size.
|
|
37
|
+
Set lang on <html> or on the region; every Keybricks component re-reads --font-sans so a per-region
|
|
38
|
+
switch works too. */
|
|
28
39
|
[lang|="zh"]{--font-sans:'Inter','PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans SC',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
|
|
29
40
|
[lang|="ja"]{--font-sans:'Inter','Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic UI','Meiryo','Noto Sans JP',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
|
|
30
41
|
[lang|="ko"]{--font-sans:'Inter','Apple SD Gothic Neo','Malgun Gothic','Noto Sans KR',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
|
|
31
42
|
:lang(zh),:lang(ja),:lang(ko){font-family:var(--font-sans)}
|
|
32
|
-
[lang|="zh"],[lang|="ja"],[lang|="ko"]{--weight-medium:
|
|
43
|
+
[lang|="zh"],[lang|="ja"],[lang|="ko"]{--weight-medium:500;--weight-semibold:500;
|
|
44
|
+
--text-glyph-min:12px;--text-2xs:12px;--text-xs:13px;--leading-xs:18px;--text-sm:13px;--leading-sm:18px;
|
|
33
45
|
--tracking-2xs:0;--tracking-xs:0;--tracking-sm:0;--tracking-base:0;--tracking-md:0;--tracking-lg:0;--tracking-xl:0;--tracking-num:0;--tracking-2xl:0;--tracking-3xl:0;--tracking-4xl:0;--tracking-display:0}
|
|
46
|
+
/* sm tier in CJK: 13px text at regular weight. The second rule re-derives the tier's control text on a
|
|
47
|
+
lang element inside an sm region (a tier token resolves where it is declared, not where it is read). */
|
|
48
|
+
:is([lang|="zh"],[lang|="ja"],[lang|="ko"])[data-size="sm"],:is([lang|="zh"],[lang|="ja"],[lang|="ko"]) [data-size="sm"]{--weight-medium:400}
|
|
49
|
+
[data-size="sm"] :is([lang|="zh"],[lang|="ja"],[lang|="ko"]){--control-text:var(--text-xs);--control-leading:var(--leading-xs);--weight-medium:400}
|
|
50
|
+
:is([lang|="zh"],[lang|="ja"],[lang|="ko"]) :is([data-size="md"],[data-size="lg"]){--weight-medium:500}
|
|
34
51
|
body{font-family:var(--font-sans);color:var(--text-primary);-webkit-font-smoothing:antialiased}
|
|
35
52
|
a{color:var(--link);text-decoration:none}a:hover{color:var(--link-hover)}
|