@tempots/beatui 0.82.0 → 0.82.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/dist/_commonjsHelpers-DKOUU3wS.cjs +1 -0
- package/dist/_commonjsHelpers-DaMA6jEr.js +8 -0
- package/dist/auth/index.cjs.js +1 -1
- package/dist/auth/index.es.js +63 -1351
- package/dist/auth-divider-BqZPH1-z.cjs +1 -0
- package/dist/auth-divider-Wr-S16kF.js +1355 -0
- package/dist/beatui.css +1347 -0
- package/dist/beatui.tailwind.css +1347 -0
- package/dist/better-auth/index.cjs.js +1 -0
- package/dist/better-auth/index.es.js +754 -0
- package/dist/{deep-merge-CiOwVWn8.js → deep-merge-BYm0y62g.js} +34 -33
- package/dist/deep-merge-d7sf0xmN.cjs +1 -0
- package/dist/duration-input-B9UNmUCh.cjs +1 -0
- package/dist/{duration-input-B3vnnwBZ.js → duration-input-DqcJbxKD.js} +23 -22
- package/dist/editor-toolbar-group--a-xgsJw.cjs +1 -0
- package/dist/editor-toolbar-group-CVpl5mxF.js +31 -0
- package/dist/{hls.light.min-Bhrf47iR.cjs → hls.light.min-C6xKDzRR.cjs} +1 -1
- package/dist/{hls.light.min-C6VwviEa.js → hls.light.min-hEMf_E8u.js} +1 -1
- package/dist/{index-C5YCCgnn.cjs → index-05UbKOYe.cjs} +1 -1
- package/dist/{index-ChsRjiIp.cjs → index-Bt7FYl80.cjs} +19 -19
- package/dist/{index-DT6-HMMz.js → index-C2Lq1m45.js} +1432 -1462
- package/dist/{index-CiAVfKIZ.js → index-lYhXnu6I.js} +1 -1
- package/dist/index.cjs.js +4 -4
- package/dist/index.es.js +2326 -2680
- package/dist/input-container-C6qEIjcA.cjs +1 -0
- package/dist/input-container-DiCjOzR2.js +247 -0
- package/dist/json-schema/index.cjs.js +1 -1
- package/dist/json-schema/index.es.js +33 -32
- package/dist/json-schema-display/index.cjs.js +1 -1
- package/dist/json-schema-display/index.es.js +1 -1
- package/dist/json-structure/index.cjs.js +1 -1
- package/dist/json-structure/index.es.js +542 -700
- package/dist/lexical/index.cjs.js +46 -0
- package/dist/lexical/index.es.js +21370 -0
- package/dist/lexical.css +1124 -0
- package/dist/menu-CZzRsQP_.js +372 -0
- package/dist/menu-ClrU72xH.cjs +1 -0
- package/dist/modal-I5srcntN.cjs +1 -0
- package/dist/modal-v3u2Fpnd.js +488 -0
- package/dist/{notice-CZHWWwOQ.js → notice-BuZvdvZh.js} +48 -47
- package/dist/notice-CLDdy1MW.cjs +1 -0
- package/dist/{oneof-branch-detection-C8g3eWnx.cjs → oneof-branch-detection-DsM1K5xc.cjs} +1 -1
- package/dist/{oneof-branch-detection-BVNoKU9d.js → oneof-branch-detection-Dt8ss9lc.js} +1 -1
- package/dist/prosemirror/index.cjs.js +1 -1
- package/dist/prosemirror/index.es.js +1 -1
- package/dist/session-id-3KiilioY.js +8 -0
- package/dist/session-id-B5lJMzbB.cjs +1 -0
- package/dist/styles-url-B2dzXrYt.cjs +1 -0
- package/dist/styles-url-Cw_mxshe.js +4 -0
- package/dist/text-input-B3VBat1k.js +44 -0
- package/dist/text-input-Ds8e7Z1G.cjs +1 -0
- package/dist/{toolbar-DR2Zd4Oo.js → toolbar-D994_E_s.js} +4 -4
- package/dist/toolbar-x0_8lmKu.cjs +1 -0
- package/dist/types/better-auth/bridge.d.ts +2 -0
- package/dist/types/better-auth/callbacks.d.ts +6 -0
- package/dist/types/better-auth/components/authenticated.d.ts +4 -0
- package/dist/types/better-auth/components/better-auth-container.d.ts +4 -0
- package/dist/types/better-auth/components/better-auth-modal.d.ts +4 -0
- package/dist/types/better-auth/components/magic-link-form.d.ts +7 -0
- package/dist/types/better-auth/components/passkey-management.d.ts +6 -0
- package/dist/types/better-auth/components/passkey-signin.d.ts +12 -0
- package/dist/types/better-auth/components/two-factor-setup.d.ts +8 -0
- package/dist/types/better-auth/components/two-factor-verify.d.ts +10 -0
- package/dist/types/better-auth/i18n/default.d.ts +29 -0
- package/dist/types/better-auth/i18n/locales/en.d.ts +28 -0
- package/dist/types/better-auth/i18n/translations.d.ts +27 -0
- package/dist/types/better-auth/index.d.ts +22 -0
- package/dist/types/better-auth/provider.d.ts +6 -0
- package/dist/types/better-auth/session.d.ts +14 -0
- package/dist/types/better-auth/social-mapping.d.ts +2 -0
- package/dist/types/better-auth/types.d.ts +164 -0
- package/dist/types/components/auth/auth-container.d.ts +1 -1
- package/dist/types/components/auth/social-providers.d.ts +1 -1
- package/dist/types/components/auth/types.d.ts +2 -0
- package/dist/types/components/editor-toolbar/editor-toolbar-button.d.ts +16 -0
- package/dist/types/components/editor-toolbar/editor-toolbar-group.d.ts +9 -0
- package/dist/types/components/editor-toolbar/index.d.ts +2 -0
- package/dist/types/components/json-structure/controls/control-utils.d.ts +19 -0
- package/dist/types/components/json-structure/controls/index.d.ts +1 -0
- package/dist/types/components/lexical/bare-editor.d.ts +29 -0
- package/dist/types/components/lexical/code/index.d.ts +1 -0
- package/dist/types/components/lexical/code/language-selector.d.ts +13 -0
- package/dist/types/components/lexical/contextual-editor.d.ts +22 -0
- package/dist/types/components/lexical/docked-editor.d.ts +23 -0
- package/dist/types/components/lexical/floating/block-handle.d.ts +16 -0
- package/dist/types/components/lexical/floating/floating-toolbar.d.ts +12 -0
- package/dist/types/components/lexical/floating/index.d.ts +6 -0
- package/dist/types/components/lexical/floating/slash-command-palette.d.ts +20 -0
- package/dist/types/components/lexical/index.d.ts +8 -0
- package/dist/types/components/lexical/lexical-editor-input.d.ts +30 -0
- package/dist/types/components/lexical/table/index.d.ts +1 -0
- package/dist/types/components/lexical/table/table-controls.d.ts +12 -0
- package/dist/types/components/lexical/toolbar/index.d.ts +6 -0
- package/dist/types/components/lexical/toolbar/lexical-toolbar.d.ts +12 -0
- package/dist/types/components/lexical/toolbar/toolbar-button.d.ts +1 -0
- package/dist/types/components/lexical/toolbar/toolbar-group.d.ts +1 -0
- package/dist/types/components/lexical/toolbar/toolbar-helpers.d.ts +30 -0
- package/dist/types/components/prosemirror/etoolbar-button.d.ts +1 -11
- package/dist/types/components/prosemirror/etoolbar-group.d.ts +1 -4
- package/dist/types/lexical/commands/index.d.ts +17 -0
- package/dist/types/lexical/headless.d.ts +39 -0
- package/dist/types/lexical/horizontal-rule-node.d.ts +20 -0
- package/dist/types/lexical/index.d.ts +20 -0
- package/dist/types/lexical/lazy-loader.d.ts +35 -0
- package/dist/types/lexical/nodes.d.ts +29 -0
- package/dist/types/lexical/plugins/auto-link.d.ts +7 -0
- package/dist/types/lexical/plugins/clipboard.d.ts +11 -0
- package/dist/types/lexical/plugins/code-shiki.d.ts +11 -0
- package/dist/types/lexical/plugins/code.d.ts +7 -0
- package/dist/types/lexical/plugins/dragon.d.ts +6 -0
- package/dist/types/lexical/plugins/file-io.d.ts +10 -0
- package/dist/types/lexical/plugins/hashtag.d.ts +7 -0
- package/dist/types/lexical/plugins/history.d.ts +7 -0
- package/dist/types/lexical/plugins/horizontal-rule.d.ts +12 -0
- package/dist/types/lexical/plugins/html-io.d.ts +9 -0
- package/dist/types/lexical/plugins/index.d.ts +24 -0
- package/dist/types/lexical/plugins/link.d.ts +6 -0
- package/dist/types/lexical/plugins/list.d.ts +6 -0
- package/dist/types/lexical/plugins/mark.d.ts +15 -0
- package/dist/types/lexical/plugins/markdown-io.d.ts +13 -0
- package/dist/types/lexical/plugins/offset.d.ts +6 -0
- package/dist/types/lexical/plugins/overflow.d.ts +7 -0
- package/dist/types/lexical/plugins/plain-text.d.ts +6 -0
- package/dist/types/lexical/plugins/rich-text.d.ts +6 -0
- package/dist/types/lexical/plugins/selection.d.ts +6 -0
- package/dist/types/lexical/plugins/slash-commands.d.ts +26 -0
- package/dist/types/lexical/plugins/table.d.ts +11 -0
- package/dist/types/lexical/plugins/text.d.ts +13 -0
- package/dist/types/lexical/plugins/yjs.d.ts +9 -0
- package/dist/types/lexical/styles-url.d.ts +2 -0
- package/dist/types/lexical/styles.d.ts +2 -0
- package/dist/types/lexical/types.d.ts +634 -0
- package/dist/types/lexical-i18n/default.d.ts +92 -0
- package/dist/types/lexical-i18n/index.d.ts +21 -0
- package/dist/types/lexical-i18n/locales/ar.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/de.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/en.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/es.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/fa.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/fr.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/he.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/hi.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/it.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/ja.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/ko.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/nl.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/pl.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/pt.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/ru.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/tr.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/ur.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/vi.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/zh.d.ts +91 -0
- package/dist/types/lexical-i18n/translations.d.ts +21 -0
- package/dist/use-animated-toggle-ChycsEoj.js +175 -0
- package/dist/use-animated-toggle-DR6CyMac.cjs +1 -0
- package/dist/{use-form-CgZyrACX.js → use-form-B56E_x5Y.js} +83 -88
- package/dist/use-form-Cnp3XQ5X.cjs +2 -0
- package/dist/widget-customization-Dk7XcVly.cjs +1 -0
- package/dist/{widget-customization-DRA7E9Zf.js → widget-customization-Ds9sicAg.js} +106 -105
- package/package.json +48 -3
- package/dist/_commonjsHelpers-C6fGbg64.js +0 -6
- package/dist/_commonjsHelpers-DwGv2jUC.cjs +0 -1
- package/dist/deep-merge-DxZqCkE5.cjs +0 -1
- package/dist/duration-input-Dg5SX3lM.cjs +0 -1
- package/dist/modal-D2xE47kr.cjs +0 -1
- package/dist/modal-hkQD1bqZ.js +0 -655
- package/dist/notice-C0SmlheE.cjs +0 -1
- package/dist/text-input-CByq5OIo.cjs +0 -1
- package/dist/text-input-CFJntP7G.js +0 -287
- package/dist/toolbar-TPWYzoiF.cjs +0 -1
- package/dist/use-form-JjeKCINk.cjs +0 -2
- package/dist/widget-customization-G-QLB1rw.cjs +0 -1
package/dist/beatui.css
CHANGED
|
@@ -1974,6 +1974,229 @@ a:focus-visible {
|
|
|
1974
1974
|
background-color: var(--color-white);
|
|
1975
1975
|
}
|
|
1976
1976
|
|
|
1977
|
+
/* Two-Factor Authentication Component */
|
|
1978
|
+
.bc-two-factor {
|
|
1979
|
+
display: flex;
|
|
1980
|
+
flex-direction: column;
|
|
1981
|
+
gap: var(--spacing-stack-xl, var(--spacing-xl));
|
|
1982
|
+
width: 100%;
|
|
1983
|
+
}
|
|
1984
|
+
|
|
1985
|
+
.bc-two-factor__form {
|
|
1986
|
+
display: flex;
|
|
1987
|
+
flex-direction: column;
|
|
1988
|
+
gap: var(--spacing-stack-xl, var(--spacing-xl));
|
|
1989
|
+
}
|
|
1990
|
+
|
|
1991
|
+
/* Method selector */
|
|
1992
|
+
.bc-two-factor__methods {
|
|
1993
|
+
display: flex;
|
|
1994
|
+
gap: var(--spacing-sm);
|
|
1995
|
+
border-bottom: 1px solid var(--color-neutral-200);
|
|
1996
|
+
padding-bottom: var(--spacing-sm);
|
|
1997
|
+
}
|
|
1998
|
+
|
|
1999
|
+
.b-dark .bc-two-factor__methods {
|
|
2000
|
+
border-bottom-color: var(--color-neutral-700);
|
|
2001
|
+
}
|
|
2002
|
+
|
|
2003
|
+
.bc-two-factor__method-button {
|
|
2004
|
+
background: none;
|
|
2005
|
+
border: none;
|
|
2006
|
+
padding: var(--spacing-xs) var(--spacing-sm);
|
|
2007
|
+
font-size: var(--font-size-sm);
|
|
2008
|
+
color: var(--text-muted-light);
|
|
2009
|
+
cursor: pointer;
|
|
2010
|
+
border-radius: var(--radius-sm);
|
|
2011
|
+
transition: all
|
|
2012
|
+
var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
|
|
2013
|
+
var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
|
|
2014
|
+
}
|
|
2015
|
+
|
|
2016
|
+
.bc-two-factor__method-button:hover {
|
|
2017
|
+
color: var(--text-normal-light);
|
|
2018
|
+
background-color: var(--color-neutral-100);
|
|
2019
|
+
}
|
|
2020
|
+
|
|
2021
|
+
.bc-two-factor__method-button--active {
|
|
2022
|
+
color: var(--color-primary-600);
|
|
2023
|
+
font-weight: var(--font-weight-semibold);
|
|
2024
|
+
border-bottom: 2px solid var(--color-primary-600);
|
|
2025
|
+
}
|
|
2026
|
+
|
|
2027
|
+
.b-dark .bc-two-factor__method-button {
|
|
2028
|
+
color: var(--text-muted-dark);
|
|
2029
|
+
}
|
|
2030
|
+
|
|
2031
|
+
.b-dark .bc-two-factor__method-button:hover {
|
|
2032
|
+
color: var(--text-normal-dark);
|
|
2033
|
+
background-color: var(--color-neutral-800);
|
|
2034
|
+
}
|
|
2035
|
+
|
|
2036
|
+
.b-dark .bc-two-factor__method-button--active {
|
|
2037
|
+
color: var(--color-primary-400);
|
|
2038
|
+
border-bottom-color: var(--color-primary-400);
|
|
2039
|
+
}
|
|
2040
|
+
|
|
2041
|
+
/* TOTP URI display */
|
|
2042
|
+
.bc-two-factor__totp-uri {
|
|
2043
|
+
display: flex;
|
|
2044
|
+
flex-direction: column;
|
|
2045
|
+
gap: var(--spacing-md);
|
|
2046
|
+
align-items: center;
|
|
2047
|
+
}
|
|
2048
|
+
|
|
2049
|
+
.bc-two-factor__code-display {
|
|
2050
|
+
display: block;
|
|
2051
|
+
padding: var(--spacing-md);
|
|
2052
|
+
background-color: var(--color-neutral-100);
|
|
2053
|
+
border-radius: var(--radius-md);
|
|
2054
|
+
font-family: var(--font-mono);
|
|
2055
|
+
font-size: var(--font-size-xs);
|
|
2056
|
+
word-break: break-all;
|
|
2057
|
+
text-align: center;
|
|
2058
|
+
}
|
|
2059
|
+
|
|
2060
|
+
.b-dark .bc-two-factor__code-display {
|
|
2061
|
+
background-color: var(--color-neutral-800);
|
|
2062
|
+
}
|
|
2063
|
+
|
|
2064
|
+
/* Backup codes */
|
|
2065
|
+
.bc-two-factor__backup-codes {
|
|
2066
|
+
display: flex;
|
|
2067
|
+
flex-direction: column;
|
|
2068
|
+
gap: var(--spacing-sm);
|
|
2069
|
+
}
|
|
2070
|
+
|
|
2071
|
+
.bc-two-factor__backup-codes ul {
|
|
2072
|
+
display: grid;
|
|
2073
|
+
grid-template-columns: repeat(2, 1fr);
|
|
2074
|
+
gap: var(--spacing-xs);
|
|
2075
|
+
list-style: none;
|
|
2076
|
+
margin: 0;
|
|
2077
|
+
padding: 0;
|
|
2078
|
+
}
|
|
2079
|
+
|
|
2080
|
+
.bc-two-factor__backup-codes li {
|
|
2081
|
+
padding: var(--spacing-xs) var(--spacing-sm);
|
|
2082
|
+
background-color: var(--color-neutral-100);
|
|
2083
|
+
border-radius: var(--radius-sm);
|
|
2084
|
+
font-family: var(--font-mono);
|
|
2085
|
+
font-size: var(--font-size-sm);
|
|
2086
|
+
text-align: center;
|
|
2087
|
+
}
|
|
2088
|
+
|
|
2089
|
+
.b-dark .bc-two-factor__backup-codes li {
|
|
2090
|
+
background-color: var(--color-neutral-800);
|
|
2091
|
+
}
|
|
2092
|
+
|
|
2093
|
+
/* Complete state */
|
|
2094
|
+
.bc-two-factor__complete {
|
|
2095
|
+
text-align: center;
|
|
2096
|
+
}
|
|
2097
|
+
|
|
2098
|
+
/* Code input */
|
|
2099
|
+
.bc-two-factor__code-input {
|
|
2100
|
+
text-align: center;
|
|
2101
|
+
letter-spacing: 0.5em;
|
|
2102
|
+
font-size: var(--font-size-xl);
|
|
2103
|
+
font-family: var(--font-mono);
|
|
2104
|
+
}
|
|
2105
|
+
|
|
2106
|
+
/* Reduced motion support */
|
|
2107
|
+
@media (prefers-reduced-motion: reduce) {
|
|
2108
|
+
.bc-two-factor__method-button {
|
|
2109
|
+
transition: none;
|
|
2110
|
+
}
|
|
2111
|
+
}
|
|
2112
|
+
|
|
2113
|
+
/* Passkey Components */
|
|
2114
|
+
|
|
2115
|
+
/* Passkey management */
|
|
2116
|
+
.bc-passkey-management {
|
|
2117
|
+
display: flex;
|
|
2118
|
+
flex-direction: column;
|
|
2119
|
+
gap: var(--spacing-xl);
|
|
2120
|
+
width: 100%;
|
|
2121
|
+
}
|
|
2122
|
+
|
|
2123
|
+
/* Passkey list */
|
|
2124
|
+
.bc-passkey-list {
|
|
2125
|
+
display: flex;
|
|
2126
|
+
flex-direction: column;
|
|
2127
|
+
gap: var(--spacing-sm);
|
|
2128
|
+
}
|
|
2129
|
+
|
|
2130
|
+
.bc-passkey-item {
|
|
2131
|
+
display: flex;
|
|
2132
|
+
align-items: center;
|
|
2133
|
+
justify-content: space-between;
|
|
2134
|
+
gap: var(--spacing-md);
|
|
2135
|
+
padding: var(--spacing-sm) var(--spacing-md);
|
|
2136
|
+
background-color: var(--color-neutral-50);
|
|
2137
|
+
border-radius: var(--radius-md);
|
|
2138
|
+
border: 1px solid var(--color-neutral-200);
|
|
2139
|
+
}
|
|
2140
|
+
|
|
2141
|
+
.b-dark .bc-passkey-item {
|
|
2142
|
+
background-color: var(--color-neutral-900);
|
|
2143
|
+
border-color: var(--color-neutral-700);
|
|
2144
|
+
}
|
|
2145
|
+
|
|
2146
|
+
.bc-passkey-item__info {
|
|
2147
|
+
display: flex;
|
|
2148
|
+
flex-direction: column;
|
|
2149
|
+
gap: var(--spacing-xs);
|
|
2150
|
+
flex: 1;
|
|
2151
|
+
min-width: 0;
|
|
2152
|
+
}
|
|
2153
|
+
|
|
2154
|
+
.bc-passkey-item__name {
|
|
2155
|
+
font-size: var(--font-size-sm);
|
|
2156
|
+
font-weight: var(--font-weight-medium);
|
|
2157
|
+
color: var(--text-normal-light);
|
|
2158
|
+
overflow: hidden;
|
|
2159
|
+
text-overflow: ellipsis;
|
|
2160
|
+
white-space: nowrap;
|
|
2161
|
+
}
|
|
2162
|
+
|
|
2163
|
+
.b-dark .bc-passkey-item__name {
|
|
2164
|
+
color: var(--text-normal-dark);
|
|
2165
|
+
}
|
|
2166
|
+
|
|
2167
|
+
.bc-passkey-item__date {
|
|
2168
|
+
font-size: var(--font-size-xs);
|
|
2169
|
+
color: var(--text-muted-light);
|
|
2170
|
+
}
|
|
2171
|
+
|
|
2172
|
+
.b-dark .bc-passkey-item__date {
|
|
2173
|
+
color: var(--text-muted-dark);
|
|
2174
|
+
}
|
|
2175
|
+
|
|
2176
|
+
.bc-passkey-item__edit {
|
|
2177
|
+
flex: 1;
|
|
2178
|
+
min-width: 0;
|
|
2179
|
+
}
|
|
2180
|
+
|
|
2181
|
+
.bc-passkey-item__actions {
|
|
2182
|
+
display: flex;
|
|
2183
|
+
gap: var(--spacing-xs);
|
|
2184
|
+
flex-shrink: 0;
|
|
2185
|
+
}
|
|
2186
|
+
|
|
2187
|
+
/* Add passkey */
|
|
2188
|
+
.bc-passkey-add {
|
|
2189
|
+
display: flex;
|
|
2190
|
+
flex-direction: column;
|
|
2191
|
+
gap: var(--spacing-md);
|
|
2192
|
+
}
|
|
2193
|
+
|
|
2194
|
+
/* Sign-in button */
|
|
2195
|
+
.bc-passkey-signin {
|
|
2196
|
+
width: 100%;
|
|
2197
|
+
justify-content: center;
|
|
2198
|
+
}
|
|
2199
|
+
|
|
1977
2200
|
/* Badge Component */
|
|
1978
2201
|
.bc-badge {
|
|
1979
2202
|
--badge-bg: transparent;
|
|
@@ -5671,6 +5894,1130 @@ a:focus-visible {
|
|
|
5671
5894
|
color: var(--color-danger-400);
|
|
5672
5895
|
}
|
|
5673
5896
|
|
|
5897
|
+
@layer components {
|
|
5898
|
+
/* Lexical Editor Component */
|
|
5899
|
+
|
|
5900
|
+
/* Container wrapper for toolbar + editor */
|
|
5901
|
+
.bc-lexical-editor-container {
|
|
5902
|
+
display: flex;
|
|
5903
|
+
flex-direction: column;
|
|
5904
|
+
border: 1px solid var(--color-neutral-200);
|
|
5905
|
+
border-radius: var(--radius-control, var(--radius-md));
|
|
5906
|
+
background-color: var(--color-neutral-50);
|
|
5907
|
+
overflow: hidden;
|
|
5908
|
+
transition: all
|
|
5909
|
+
var(--motion-transition-fast, var(--motion-duration-fast, 0.2s))
|
|
5910
|
+
var(--motion-easing-standard, cubic-bezier(0.2, 0, 0, 1));
|
|
5911
|
+
}
|
|
5912
|
+
|
|
5913
|
+
/* Fixed height mode on container: fill parent, constrain children */
|
|
5914
|
+
.bc-lexical-editor-container--fixed {
|
|
5915
|
+
height: 100%;
|
|
5916
|
+
}
|
|
5917
|
+
|
|
5918
|
+
/* Editor surface (contenteditable) */
|
|
5919
|
+
.bc-lexical-editor {
|
|
5920
|
+
position: relative;
|
|
5921
|
+
min-height: 150px;
|
|
5922
|
+
padding: 1rem;
|
|
5923
|
+
outline: none;
|
|
5924
|
+
font-family: inherit;
|
|
5925
|
+
font-size: inherit;
|
|
5926
|
+
line-height: 1.6;
|
|
5927
|
+
color: var(--color-neutral-900);
|
|
5928
|
+
background-color: var(--color-white);
|
|
5929
|
+
}
|
|
5930
|
+
|
|
5931
|
+
/* Fixed height mode: fill container, scroll on overflow */
|
|
5932
|
+
.bc-lexical-editor--fixed {
|
|
5933
|
+
flex: 1 1 0;
|
|
5934
|
+
overflow-y: auto;
|
|
5935
|
+
}
|
|
5936
|
+
|
|
5937
|
+
/* Auto height mode: grow with content */
|
|
5938
|
+
.bc-lexical-editor--auto {
|
|
5939
|
+
overflow-y: visible;
|
|
5940
|
+
}
|
|
5941
|
+
|
|
5942
|
+
/* Focus state */
|
|
5943
|
+
.bc-lexical-editor-container:focus-within {
|
|
5944
|
+
border-color: var(--color-primary-500);
|
|
5945
|
+
box-shadow: 0 0 0 2px var(--color-primary-100);
|
|
5946
|
+
}
|
|
5947
|
+
|
|
5948
|
+
/* Error state */
|
|
5949
|
+
.bc-lexical-editor-container--error {
|
|
5950
|
+
border-color: var(--color-danger-600);
|
|
5951
|
+
}
|
|
5952
|
+
|
|
5953
|
+
.bc-lexical-editor-container--error:focus-within {
|
|
5954
|
+
border-color: var(--color-danger-600);
|
|
5955
|
+
box-shadow: 0 0 0 2px var(--color-danger-100);
|
|
5956
|
+
}
|
|
5957
|
+
|
|
5958
|
+
/* Read-only state */
|
|
5959
|
+
.bc-lexical-editor--readonly {
|
|
5960
|
+
cursor: default;
|
|
5961
|
+
background-color: var(--color-neutral-100);
|
|
5962
|
+
color: var(--color-neutral-700);
|
|
5963
|
+
}
|
|
5964
|
+
|
|
5965
|
+
/* Placeholder styling */
|
|
5966
|
+
.bc-lexical-editor [data-lexical-placeholder] {
|
|
5967
|
+
color: var(--color-neutral-400);
|
|
5968
|
+
pointer-events: none;
|
|
5969
|
+
position: absolute;
|
|
5970
|
+
top: 1rem;
|
|
5971
|
+
left: 1rem;
|
|
5972
|
+
user-select: none;
|
|
5973
|
+
font-style: italic;
|
|
5974
|
+
}
|
|
5975
|
+
|
|
5976
|
+
/* Typography within editor */
|
|
5977
|
+
.bc-lexical-editor h1 {
|
|
5978
|
+
font-size: 2rem;
|
|
5979
|
+
font-weight: 700;
|
|
5980
|
+
line-height: 1.2;
|
|
5981
|
+
margin-top: 1.5rem;
|
|
5982
|
+
margin-bottom: 0.75rem;
|
|
5983
|
+
}
|
|
5984
|
+
|
|
5985
|
+
.bc-lexical-editor h1:first-child {
|
|
5986
|
+
margin-top: 0;
|
|
5987
|
+
}
|
|
5988
|
+
|
|
5989
|
+
.bc-lexical-editor h2 {
|
|
5990
|
+
font-size: 1.5rem;
|
|
5991
|
+
font-weight: 700;
|
|
5992
|
+
line-height: 1.3;
|
|
5993
|
+
margin-top: 1.25rem;
|
|
5994
|
+
margin-bottom: 0.625rem;
|
|
5995
|
+
}
|
|
5996
|
+
|
|
5997
|
+
.bc-lexical-editor h2:first-child {
|
|
5998
|
+
margin-top: 0;
|
|
5999
|
+
}
|
|
6000
|
+
|
|
6001
|
+
.bc-lexical-editor h3 {
|
|
6002
|
+
font-size: 1.25rem;
|
|
6003
|
+
font-weight: 600;
|
|
6004
|
+
line-height: 1.4;
|
|
6005
|
+
margin-top: 1rem;
|
|
6006
|
+
margin-bottom: 0.5rem;
|
|
6007
|
+
}
|
|
6008
|
+
|
|
6009
|
+
.bc-lexical-editor h3:first-child {
|
|
6010
|
+
margin-top: 0;
|
|
6011
|
+
}
|
|
6012
|
+
|
|
6013
|
+
.bc-lexical-editor h4 {
|
|
6014
|
+
font-size: 1.125rem;
|
|
6015
|
+
font-weight: 600;
|
|
6016
|
+
line-height: 1.5;
|
|
6017
|
+
margin-top: 0.875rem;
|
|
6018
|
+
margin-bottom: 0.5rem;
|
|
6019
|
+
}
|
|
6020
|
+
|
|
6021
|
+
.bc-lexical-editor h4:first-child {
|
|
6022
|
+
margin-top: 0;
|
|
6023
|
+
}
|
|
6024
|
+
|
|
6025
|
+
.bc-lexical-editor h5 {
|
|
6026
|
+
font-size: 1rem;
|
|
6027
|
+
font-weight: 600;
|
|
6028
|
+
line-height: 1.5;
|
|
6029
|
+
margin-top: 0.75rem;
|
|
6030
|
+
margin-bottom: 0.5rem;
|
|
6031
|
+
}
|
|
6032
|
+
|
|
6033
|
+
.bc-lexical-editor h5:first-child {
|
|
6034
|
+
margin-top: 0;
|
|
6035
|
+
}
|
|
6036
|
+
|
|
6037
|
+
.bc-lexical-editor h6 {
|
|
6038
|
+
font-size: 0.875rem;
|
|
6039
|
+
font-weight: 600;
|
|
6040
|
+
line-height: 1.5;
|
|
6041
|
+
margin-top: 0.75rem;
|
|
6042
|
+
margin-bottom: 0.5rem;
|
|
6043
|
+
text-transform: uppercase;
|
|
6044
|
+
letter-spacing: 0.05em;
|
|
6045
|
+
}
|
|
6046
|
+
|
|
6047
|
+
.bc-lexical-editor h6:first-child {
|
|
6048
|
+
margin-top: 0;
|
|
6049
|
+
}
|
|
6050
|
+
|
|
6051
|
+
.bc-lexical-editor p {
|
|
6052
|
+
margin-top: 0.5rem;
|
|
6053
|
+
margin-bottom: 0.5rem;
|
|
6054
|
+
}
|
|
6055
|
+
|
|
6056
|
+
.bc-lexical-editor p:first-child {
|
|
6057
|
+
margin-top: 0;
|
|
6058
|
+
}
|
|
6059
|
+
|
|
6060
|
+
.bc-lexical-editor p:last-child {
|
|
6061
|
+
margin-bottom: 0;
|
|
6062
|
+
}
|
|
6063
|
+
|
|
6064
|
+
.bc-lexical-editor blockquote {
|
|
6065
|
+
margin: 1rem 0;
|
|
6066
|
+
padding-left: 1rem;
|
|
6067
|
+
border-left: 4px solid var(--color-neutral-300);
|
|
6068
|
+
color: var(--color-neutral-700);
|
|
6069
|
+
font-style: italic;
|
|
6070
|
+
}
|
|
6071
|
+
|
|
6072
|
+
.bc-lexical-editor ul,
|
|
6073
|
+
.bc-lexical-editor ol {
|
|
6074
|
+
margin: 0.75rem 0;
|
|
6075
|
+
padding-left: 1.5rem;
|
|
6076
|
+
}
|
|
6077
|
+
|
|
6078
|
+
.bc-lexical-editor ul {
|
|
6079
|
+
list-style-type: disc;
|
|
6080
|
+
}
|
|
6081
|
+
|
|
6082
|
+
.bc-lexical-editor ol {
|
|
6083
|
+
list-style-type: decimal;
|
|
6084
|
+
}
|
|
6085
|
+
|
|
6086
|
+
.bc-lexical-editor li {
|
|
6087
|
+
margin: 0.25rem 0;
|
|
6088
|
+
}
|
|
6089
|
+
|
|
6090
|
+
.bc-lexical-editor code {
|
|
6091
|
+
font-family: 'Monaco', 'Courier New', monospace;
|
|
6092
|
+
font-size: 0.875em;
|
|
6093
|
+
background-color: var(--color-neutral-100);
|
|
6094
|
+
color: var(--color-neutral-800);
|
|
6095
|
+
padding: 0.125rem 0.375rem;
|
|
6096
|
+
border-radius: var(--radius-xs, 0.25rem);
|
|
6097
|
+
}
|
|
6098
|
+
|
|
6099
|
+
.bc-lexical-editor pre {
|
|
6100
|
+
margin: 1rem 0;
|
|
6101
|
+
padding: 1rem;
|
|
6102
|
+
background-color: var(--color-neutral-100);
|
|
6103
|
+
border-radius: var(--radius-md, 0.5rem);
|
|
6104
|
+
overflow-x: auto;
|
|
6105
|
+
border: 1px solid var(--color-neutral-200);
|
|
6106
|
+
}
|
|
6107
|
+
|
|
6108
|
+
.bc-lexical-editor pre code {
|
|
6109
|
+
background-color: transparent;
|
|
6110
|
+
padding: 0;
|
|
6111
|
+
border-radius: 0;
|
|
6112
|
+
font-size: 0.875rem;
|
|
6113
|
+
line-height: 1.5;
|
|
6114
|
+
}
|
|
6115
|
+
|
|
6116
|
+
.bc-lexical-editor a {
|
|
6117
|
+
color: var(--color-primary-600);
|
|
6118
|
+
text-decoration: underline;
|
|
6119
|
+
text-underline-offset: 0.125rem;
|
|
6120
|
+
cursor: pointer;
|
|
6121
|
+
}
|
|
6122
|
+
|
|
6123
|
+
.bc-lexical-editor a:hover {
|
|
6124
|
+
color: var(--color-primary-700);
|
|
6125
|
+
}
|
|
6126
|
+
|
|
6127
|
+
.bc-lexical-editor hr {
|
|
6128
|
+
margin: 1.5rem 0;
|
|
6129
|
+
border: none;
|
|
6130
|
+
border-top: 2px solid var(--color-neutral-200);
|
|
6131
|
+
}
|
|
6132
|
+
|
|
6133
|
+
.bc-lexical-editor strong,
|
|
6134
|
+
.bc-lexical-bold {
|
|
6135
|
+
font-weight: 700;
|
|
6136
|
+
}
|
|
6137
|
+
|
|
6138
|
+
.bc-lexical-editor em,
|
|
6139
|
+
.bc-lexical-italic {
|
|
6140
|
+
font-style: italic;
|
|
6141
|
+
}
|
|
6142
|
+
|
|
6143
|
+
.bc-lexical-editor u,
|
|
6144
|
+
.bc-lexical-underline {
|
|
6145
|
+
text-decoration: underline;
|
|
6146
|
+
}
|
|
6147
|
+
|
|
6148
|
+
.bc-lexical-editor s,
|
|
6149
|
+
.bc-lexical-strikethrough {
|
|
6150
|
+
text-decoration: line-through;
|
|
6151
|
+
}
|
|
6152
|
+
|
|
6153
|
+
.bc-lexical-code {
|
|
6154
|
+
font-family: 'Monaco', 'Courier New', monospace;
|
|
6155
|
+
font-size: 0.875em;
|
|
6156
|
+
background-color: var(--color-neutral-100);
|
|
6157
|
+
color: var(--color-neutral-800);
|
|
6158
|
+
padding: 0.125rem 0.375rem;
|
|
6159
|
+
border-radius: var(--radius-xs, 0.25rem);
|
|
6160
|
+
}
|
|
6161
|
+
|
|
6162
|
+
.b-dark .bc-lexical-code {
|
|
6163
|
+
background-color: var(--color-neutral-800);
|
|
6164
|
+
color: var(--color-neutral-200);
|
|
6165
|
+
}
|
|
6166
|
+
|
|
6167
|
+
/* Check list items */
|
|
6168
|
+
.bc-lexical-li-checked,
|
|
6169
|
+
.bc-lexical-li-unchecked {
|
|
6170
|
+
list-style-type: none;
|
|
6171
|
+
position: relative;
|
|
6172
|
+
padding-left: 1.5rem;
|
|
6173
|
+
margin-left: -1.5rem;
|
|
6174
|
+
}
|
|
6175
|
+
|
|
6176
|
+
.bc-lexical-li-checked::before,
|
|
6177
|
+
.bc-lexical-li-unchecked::before {
|
|
6178
|
+
content: '';
|
|
6179
|
+
position: absolute;
|
|
6180
|
+
left: 0;
|
|
6181
|
+
top: 0.35em;
|
|
6182
|
+
width: 1em;
|
|
6183
|
+
height: 1em;
|
|
6184
|
+
border: 2px solid var(--color-neutral-400);
|
|
6185
|
+
border-radius: var(--radius-xs, 0.25rem);
|
|
6186
|
+
cursor: pointer;
|
|
6187
|
+
}
|
|
6188
|
+
|
|
6189
|
+
.bc-lexical-li-checked::before {
|
|
6190
|
+
background-color: var(--color-primary-500);
|
|
6191
|
+
border-color: var(--color-primary-500);
|
|
6192
|
+
}
|
|
6193
|
+
|
|
6194
|
+
.bc-lexical-li-checked::after {
|
|
6195
|
+
content: '';
|
|
6196
|
+
position: absolute;
|
|
6197
|
+
left: 0.25em;
|
|
6198
|
+
top: 0.45em;
|
|
6199
|
+
width: 0.5em;
|
|
6200
|
+
height: 0.25em;
|
|
6201
|
+
border-left: 2px solid white;
|
|
6202
|
+
border-bottom: 2px solid white;
|
|
6203
|
+
transform: rotate(-45deg);
|
|
6204
|
+
}
|
|
6205
|
+
|
|
6206
|
+
.bc-lexical-li-checked {
|
|
6207
|
+
text-decoration: line-through;
|
|
6208
|
+
color: var(--color-neutral-500);
|
|
6209
|
+
}
|
|
6210
|
+
|
|
6211
|
+
.b-dark .bc-lexical-li-checked::before {
|
|
6212
|
+
background-color: var(--color-primary-400);
|
|
6213
|
+
border-color: var(--color-primary-400);
|
|
6214
|
+
}
|
|
6215
|
+
|
|
6216
|
+
.b-dark .bc-lexical-li-unchecked::before {
|
|
6217
|
+
border-color: var(--color-neutral-600);
|
|
6218
|
+
}
|
|
6219
|
+
|
|
6220
|
+
/* Dark mode styles */
|
|
6221
|
+
.b-dark .bc-lexical-editor-container {
|
|
6222
|
+
background-color: var(--color-neutral-800);
|
|
6223
|
+
border-color: var(--color-neutral-700);
|
|
6224
|
+
}
|
|
6225
|
+
|
|
6226
|
+
.b-dark .bc-lexical-editor {
|
|
6227
|
+
background-color: var(--bg-surface-dark);
|
|
6228
|
+
color: var(--text-normal-dark);
|
|
6229
|
+
}
|
|
6230
|
+
|
|
6231
|
+
.b-dark .bc-lexical-editor-container:focus-within {
|
|
6232
|
+
border-color: var(--color-primary-400);
|
|
6233
|
+
box-shadow: 0 0 0 2px var(--color-primary-900);
|
|
6234
|
+
}
|
|
6235
|
+
|
|
6236
|
+
.b-dark .bc-lexical-editor-container--error {
|
|
6237
|
+
border-color: var(--color-danger-400);
|
|
6238
|
+
}
|
|
6239
|
+
|
|
6240
|
+
.b-dark .bc-lexical-editor-container--error:focus-within {
|
|
6241
|
+
border-color: var(--color-danger-400);
|
|
6242
|
+
box-shadow: 0 0 0 2px var(--color-danger-900);
|
|
6243
|
+
}
|
|
6244
|
+
|
|
6245
|
+
.b-dark .bc-lexical-editor--readonly {
|
|
6246
|
+
background-color: var(--color-neutral-900);
|
|
6247
|
+
color: var(--text-muted-dark);
|
|
6248
|
+
}
|
|
6249
|
+
|
|
6250
|
+
.b-dark .bc-lexical-editor [data-lexical-placeholder] {
|
|
6251
|
+
color: var(--color-neutral-500);
|
|
6252
|
+
}
|
|
6253
|
+
|
|
6254
|
+
.b-dark .bc-lexical-editor blockquote {
|
|
6255
|
+
border-left-color: var(--color-neutral-600);
|
|
6256
|
+
color: var(--text-muted-dark);
|
|
6257
|
+
}
|
|
6258
|
+
|
|
6259
|
+
.b-dark .bc-lexical-editor code {
|
|
6260
|
+
background-color: var(--color-neutral-800);
|
|
6261
|
+
color: var(--color-neutral-200);
|
|
6262
|
+
}
|
|
6263
|
+
|
|
6264
|
+
.b-dark .bc-lexical-editor pre {
|
|
6265
|
+
background-color: var(--color-neutral-900);
|
|
6266
|
+
border-color: var(--color-neutral-700);
|
|
6267
|
+
}
|
|
6268
|
+
|
|
6269
|
+
.b-dark .bc-lexical-editor a {
|
|
6270
|
+
color: var(--color-primary-400);
|
|
6271
|
+
}
|
|
6272
|
+
|
|
6273
|
+
.b-dark .bc-lexical-editor a:hover {
|
|
6274
|
+
color: var(--color-primary-300);
|
|
6275
|
+
}
|
|
6276
|
+
|
|
6277
|
+
.b-dark .bc-lexical-editor hr {
|
|
6278
|
+
border-top-color: var(--color-neutral-700);
|
|
6279
|
+
}
|
|
6280
|
+
|
|
6281
|
+
/* Collaboration: Remote cursors and selections */
|
|
6282
|
+
.bc-lexical-collaboration-cursor {
|
|
6283
|
+
position: absolute;
|
|
6284
|
+
pointer-events: none;
|
|
6285
|
+
user-select: none;
|
|
6286
|
+
}
|
|
6287
|
+
|
|
6288
|
+
.bc-lexical-collaboration-cursor__caret {
|
|
6289
|
+
position: absolute;
|
|
6290
|
+
width: 2px;
|
|
6291
|
+
height: 1.2em;
|
|
6292
|
+
background-color: currentColor;
|
|
6293
|
+
animation: bc-lexical-cursor-blink 1s infinite;
|
|
6294
|
+
}
|
|
6295
|
+
|
|
6296
|
+
.bc-lexical-collaboration-cursor__name {
|
|
6297
|
+
position: absolute;
|
|
6298
|
+
top: -20px;
|
|
6299
|
+
left: 0;
|
|
6300
|
+
padding: 2px 6px;
|
|
6301
|
+
background-color: currentColor;
|
|
6302
|
+
color: white;
|
|
6303
|
+
font-size: 0.75rem;
|
|
6304
|
+
font-weight: 500;
|
|
6305
|
+
border-radius: var(--radius-sm);
|
|
6306
|
+
white-space: nowrap;
|
|
6307
|
+
opacity: 0;
|
|
6308
|
+
transition: opacity 0.2s;
|
|
6309
|
+
}
|
|
6310
|
+
|
|
6311
|
+
.bc-lexical-collaboration-cursor:hover
|
|
6312
|
+
.bc-lexical-collaboration-cursor__name {
|
|
6313
|
+
opacity: 1;
|
|
6314
|
+
}
|
|
6315
|
+
|
|
6316
|
+
.bc-lexical-collaboration-selection {
|
|
6317
|
+
position: absolute;
|
|
6318
|
+
pointer-events: none;
|
|
6319
|
+
background-color: currentColor;
|
|
6320
|
+
opacity: 0.3;
|
|
6321
|
+
}
|
|
6322
|
+
|
|
6323
|
+
@keyframes bc-lexical-cursor-blink {
|
|
6324
|
+
0%,
|
|
6325
|
+
49% {
|
|
6326
|
+
opacity: 1;
|
|
6327
|
+
}
|
|
6328
|
+
50%,
|
|
6329
|
+
100% {
|
|
6330
|
+
opacity: 0;
|
|
6331
|
+
}
|
|
6332
|
+
}
|
|
6333
|
+
|
|
6334
|
+
/* Accessibility */
|
|
6335
|
+
@media (prefers-reduced-motion: reduce) {
|
|
6336
|
+
.bc-lexical-editor-container {
|
|
6337
|
+
transition: none;
|
|
6338
|
+
}
|
|
6339
|
+
}
|
|
6340
|
+
|
|
6341
|
+
@media (prefers-contrast: high) {
|
|
6342
|
+
.bc-lexical-editor-container {
|
|
6343
|
+
border-width: 2px;
|
|
6344
|
+
}
|
|
6345
|
+
|
|
6346
|
+
.bc-lexical-editor-container:focus-within {
|
|
6347
|
+
box-shadow: 0 0 0 3px var(--color-primary-100);
|
|
6348
|
+
}
|
|
6349
|
+
|
|
6350
|
+
.b-dark .bc-lexical-editor-container:focus-within {
|
|
6351
|
+
box-shadow: 0 0 0 3px var(--color-primary-900);
|
|
6352
|
+
}
|
|
6353
|
+
}
|
|
6354
|
+
}
|
|
6355
|
+
|
|
6356
|
+
@layer components {
|
|
6357
|
+
/* Lexical Editor Toolbar */
|
|
6358
|
+
|
|
6359
|
+
/* Toolbar positioned at top of editor container */
|
|
6360
|
+
.bc-lexical-toolbar {
|
|
6361
|
+
border-bottom: 1px solid var(--color-neutral-200);
|
|
6362
|
+
border-radius: 0;
|
|
6363
|
+
border: none;
|
|
6364
|
+
background-color: var(--color-neutral-50);
|
|
6365
|
+
padding: var(--spacing-xs) var(--spacing-sm);
|
|
6366
|
+
flex-wrap: wrap;
|
|
6367
|
+
}
|
|
6368
|
+
|
|
6369
|
+
.b-dark .bc-lexical-toolbar {
|
|
6370
|
+
background-color: var(--color-neutral-800);
|
|
6371
|
+
}
|
|
6372
|
+
|
|
6373
|
+
/* When toolbar is inside the editor container, add bottom border */
|
|
6374
|
+
.bc-lexical-editor-container > .bc-lexical-toolbar {
|
|
6375
|
+
border-bottom: 1px solid var(--color-neutral-200);
|
|
6376
|
+
}
|
|
6377
|
+
|
|
6378
|
+
.b-dark .bc-lexical-editor-container > .bc-lexical-toolbar {
|
|
6379
|
+
border-bottom-color: var(--color-neutral-700);
|
|
6380
|
+
}
|
|
6381
|
+
|
|
6382
|
+
/* Bottom position variant */
|
|
6383
|
+
.bc-lexical-toolbar--bottom {
|
|
6384
|
+
border-bottom: none;
|
|
6385
|
+
border-top: 1px solid var(--color-neutral-200);
|
|
6386
|
+
}
|
|
6387
|
+
|
|
6388
|
+
.b-dark .bc-lexical-toolbar--bottom {
|
|
6389
|
+
border-top-color: var(--color-neutral-700);
|
|
6390
|
+
}
|
|
6391
|
+
|
|
6392
|
+
/* Hidden state for readOnly mode */
|
|
6393
|
+
.bc-lexical-toolbar--hidden {
|
|
6394
|
+
display: none;
|
|
6395
|
+
}
|
|
6396
|
+
|
|
6397
|
+
/* Toolbar selects (font family/size) */
|
|
6398
|
+
.bc-lexical-toolbar-select {
|
|
6399
|
+
height: 28px;
|
|
6400
|
+
padding: 0 var(--spacing-xs);
|
|
6401
|
+
border: 1px solid var(--color-neutral-300);
|
|
6402
|
+
border-radius: var(--radius-sm);
|
|
6403
|
+
background-color: var(--color-surface);
|
|
6404
|
+
color: var(--color-neutral-900);
|
|
6405
|
+
font-size: 0.75rem;
|
|
6406
|
+
cursor: pointer;
|
|
6407
|
+
}
|
|
6408
|
+
|
|
6409
|
+
.b-dark .bc-lexical-toolbar-select {
|
|
6410
|
+
border-color: var(--color-neutral-600);
|
|
6411
|
+
background-color: var(--color-neutral-700);
|
|
6412
|
+
color: var(--color-neutral-100);
|
|
6413
|
+
}
|
|
6414
|
+
|
|
6415
|
+
/* Color picker labels */
|
|
6416
|
+
.bc-lexical-toolbar-color {
|
|
6417
|
+
display: inline-flex;
|
|
6418
|
+
align-items: center;
|
|
6419
|
+
justify-content: center;
|
|
6420
|
+
position: relative;
|
|
6421
|
+
width: 28px;
|
|
6422
|
+
height: 28px;
|
|
6423
|
+
cursor: pointer;
|
|
6424
|
+
border-radius: var(--radius-sm);
|
|
6425
|
+
}
|
|
6426
|
+
|
|
6427
|
+
.bc-lexical-toolbar-color:hover {
|
|
6428
|
+
background-color: var(--color-neutral-200);
|
|
6429
|
+
}
|
|
6430
|
+
|
|
6431
|
+
.b-dark .bc-lexical-toolbar-color:hover {
|
|
6432
|
+
background-color: var(--color-neutral-600);
|
|
6433
|
+
}
|
|
6434
|
+
|
|
6435
|
+
.bc-lexical-toolbar-color input[type='color'] {
|
|
6436
|
+
position: absolute;
|
|
6437
|
+
inset: 0;
|
|
6438
|
+
width: 100%;
|
|
6439
|
+
height: 100%;
|
|
6440
|
+
opacity: 0;
|
|
6441
|
+
cursor: pointer;
|
|
6442
|
+
border: none;
|
|
6443
|
+
padding: 0;
|
|
6444
|
+
}
|
|
6445
|
+
|
|
6446
|
+
.bc-lexical-toolbar-color-icon {
|
|
6447
|
+
font-size: 0.875rem;
|
|
6448
|
+
font-weight: 700;
|
|
6449
|
+
pointer-events: none;
|
|
6450
|
+
line-height: 1;
|
|
6451
|
+
}
|
|
6452
|
+
|
|
6453
|
+
.bc-lexical-toolbar-color-icon--highlight {
|
|
6454
|
+
background-color: #ffff00;
|
|
6455
|
+
padding: 0 2px;
|
|
6456
|
+
border-radius: 2px;
|
|
6457
|
+
}
|
|
6458
|
+
|
|
6459
|
+
.bc-lexical-toolbar-color-icon--bg {
|
|
6460
|
+
font-size: 1rem;
|
|
6461
|
+
}
|
|
6462
|
+
|
|
6463
|
+
/* Responsive: compact toolbar on small containers */
|
|
6464
|
+
@container (max-width: 400px) {
|
|
6465
|
+
.bc-lexical-toolbar {
|
|
6466
|
+
padding: var(--spacing-2xs) var(--spacing-xs);
|
|
6467
|
+
gap: var(--spacing-2xs);
|
|
6468
|
+
}
|
|
6469
|
+
}
|
|
6470
|
+
}
|
|
6471
|
+
|
|
6472
|
+
@layer components {
|
|
6473
|
+
/* Lexical Floating Toolbar */
|
|
6474
|
+
|
|
6475
|
+
.bc-floating-toolbar {
|
|
6476
|
+
display: flex;
|
|
6477
|
+
align-items: center;
|
|
6478
|
+
gap: var(--spacing-xs);
|
|
6479
|
+
padding: var(--spacing-xs);
|
|
6480
|
+
border-radius: var(--radius-md);
|
|
6481
|
+
background-color: var(--color-white);
|
|
6482
|
+
border: 1px solid var(--color-neutral-200);
|
|
6483
|
+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
|
|
6484
|
+
z-index: 1000;
|
|
6485
|
+
animation: bc-floating-toolbar-enter 0.15s ease-out;
|
|
6486
|
+
}
|
|
6487
|
+
|
|
6488
|
+
.b-dark .bc-floating-toolbar {
|
|
6489
|
+
background-color: var(--color-neutral-800);
|
|
6490
|
+
border-color: var(--color-neutral-700);
|
|
6491
|
+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
|
|
6492
|
+
}
|
|
6493
|
+
|
|
6494
|
+
@keyframes bc-floating-toolbar-enter {
|
|
6495
|
+
from {
|
|
6496
|
+
opacity: 0;
|
|
6497
|
+
transform: translateX(-50%) translateY(4px);
|
|
6498
|
+
}
|
|
6499
|
+
to {
|
|
6500
|
+
opacity: 1;
|
|
6501
|
+
transform: translateX(-50%) translateY(0);
|
|
6502
|
+
}
|
|
6503
|
+
}
|
|
6504
|
+
|
|
6505
|
+
/* Slash Command Palette */
|
|
6506
|
+
|
|
6507
|
+
.bc-slash-command-palette {
|
|
6508
|
+
min-width: 280px;
|
|
6509
|
+
max-width: 360px;
|
|
6510
|
+
max-height: 400px;
|
|
6511
|
+
overflow-y: auto;
|
|
6512
|
+
border-radius: var(--radius-md);
|
|
6513
|
+
background-color: var(--color-white);
|
|
6514
|
+
border: 1px solid var(--color-neutral-200);
|
|
6515
|
+
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
|
|
6516
|
+
padding: var(--spacing-xs);
|
|
6517
|
+
z-index: 1000;
|
|
6518
|
+
animation: bc-slash-palette-enter 0.12s ease-out;
|
|
6519
|
+
}
|
|
6520
|
+
|
|
6521
|
+
.b-dark .bc-slash-command-palette {
|
|
6522
|
+
background-color: var(--color-neutral-800);
|
|
6523
|
+
border-color: var(--color-neutral-700);
|
|
6524
|
+
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
|
|
6525
|
+
}
|
|
6526
|
+
|
|
6527
|
+
@keyframes bc-slash-palette-enter {
|
|
6528
|
+
from {
|
|
6529
|
+
opacity: 0;
|
|
6530
|
+
transform: translateY(-4px);
|
|
6531
|
+
}
|
|
6532
|
+
to {
|
|
6533
|
+
opacity: 1;
|
|
6534
|
+
transform: translateY(0);
|
|
6535
|
+
}
|
|
6536
|
+
}
|
|
6537
|
+
|
|
6538
|
+
.bc-slash-command-palette__item {
|
|
6539
|
+
display: flex;
|
|
6540
|
+
align-items: center;
|
|
6541
|
+
gap: var(--spacing-sm);
|
|
6542
|
+
padding: var(--spacing-sm);
|
|
6543
|
+
border-radius: var(--radius-sm);
|
|
6544
|
+
cursor: pointer;
|
|
6545
|
+
transition: background-color 0.12s ease;
|
|
6546
|
+
}
|
|
6547
|
+
|
|
6548
|
+
.bc-slash-command-palette__item:hover,
|
|
6549
|
+
.bc-slash-command-palette__item[aria-selected='true'] {
|
|
6550
|
+
background-color: var(--color-primary-50);
|
|
6551
|
+
}
|
|
6552
|
+
|
|
6553
|
+
.b-dark .bc-slash-command-palette__item:hover,
|
|
6554
|
+
.b-dark .bc-slash-command-palette__item[aria-selected='true'] {
|
|
6555
|
+
background-color: var(--color-primary-900);
|
|
6556
|
+
}
|
|
6557
|
+
|
|
6558
|
+
.bc-slash-command-palette__icon {
|
|
6559
|
+
flex-shrink: 0;
|
|
6560
|
+
display: flex;
|
|
6561
|
+
align-items: center;
|
|
6562
|
+
justify-content: center;
|
|
6563
|
+
width: 20px;
|
|
6564
|
+
height: 20px;
|
|
6565
|
+
}
|
|
6566
|
+
|
|
6567
|
+
.bc-slash-command-palette__content {
|
|
6568
|
+
flex: 1;
|
|
6569
|
+
min-width: 0;
|
|
6570
|
+
}
|
|
6571
|
+
|
|
6572
|
+
.bc-slash-command-palette__label {
|
|
6573
|
+
font-weight: 500;
|
|
6574
|
+
font-size: var(--font-size-sm);
|
|
6575
|
+
color: var(--color-neutral-900);
|
|
6576
|
+
margin-bottom: 2px;
|
|
6577
|
+
}
|
|
6578
|
+
|
|
6579
|
+
.b-dark .bc-slash-command-palette__label {
|
|
6580
|
+
color: var(--color-neutral-100);
|
|
6581
|
+
}
|
|
6582
|
+
|
|
6583
|
+
.bc-slash-command-palette__description {
|
|
6584
|
+
font-size: var(--font-size-xs);
|
|
6585
|
+
color: var(--color-neutral-500);
|
|
6586
|
+
overflow: hidden;
|
|
6587
|
+
text-overflow: ellipsis;
|
|
6588
|
+
white-space: nowrap;
|
|
6589
|
+
}
|
|
6590
|
+
|
|
6591
|
+
.bc-slash-command-palette__category {
|
|
6592
|
+
font-size: var(--font-size-xs);
|
|
6593
|
+
color: var(--color-neutral-500);
|
|
6594
|
+
padding: 2px 6px;
|
|
6595
|
+
border-radius: var(--radius-sm);
|
|
6596
|
+
background-color: var(--color-neutral-100);
|
|
6597
|
+
flex-shrink: 0;
|
|
6598
|
+
}
|
|
6599
|
+
|
|
6600
|
+
.b-dark .bc-slash-command-palette__category {
|
|
6601
|
+
background-color: var(--color-neutral-700);
|
|
6602
|
+
color: var(--color-neutral-400);
|
|
6603
|
+
}
|
|
6604
|
+
|
|
6605
|
+
.bc-slash-command-palette__empty {
|
|
6606
|
+
padding: var(--spacing-md);
|
|
6607
|
+
color: var(--color-neutral-500);
|
|
6608
|
+
text-align: center;
|
|
6609
|
+
font-size: var(--font-size-sm);
|
|
6610
|
+
}
|
|
6611
|
+
|
|
6612
|
+
/* Block Handle */
|
|
6613
|
+
|
|
6614
|
+
.bc-block-handle {
|
|
6615
|
+
z-index: 999;
|
|
6616
|
+
animation: bc-block-handle-enter 0.1s ease-out;
|
|
6617
|
+
}
|
|
6618
|
+
|
|
6619
|
+
@keyframes bc-block-handle-enter {
|
|
6620
|
+
from {
|
|
6621
|
+
opacity: 0;
|
|
6622
|
+
}
|
|
6623
|
+
to {
|
|
6624
|
+
opacity: 1;
|
|
6625
|
+
}
|
|
6626
|
+
}
|
|
6627
|
+
|
|
6628
|
+
.bc-block-handle__button {
|
|
6629
|
+
display: flex;
|
|
6630
|
+
align-items: center;
|
|
6631
|
+
justify-content: center;
|
|
6632
|
+
width: 24px;
|
|
6633
|
+
height: 24px;
|
|
6634
|
+
border: 1px solid var(--color-neutral-200);
|
|
6635
|
+
border-radius: var(--radius-sm);
|
|
6636
|
+
background-color: var(--color-white);
|
|
6637
|
+
color: var(--color-neutral-400);
|
|
6638
|
+
cursor: pointer;
|
|
6639
|
+
padding: 0;
|
|
6640
|
+
transition: all 0.12s ease;
|
|
6641
|
+
}
|
|
6642
|
+
|
|
6643
|
+
.bc-block-handle__button:hover {
|
|
6644
|
+
background-color: var(--color-neutral-100);
|
|
6645
|
+
color: var(--color-neutral-600);
|
|
6646
|
+
border-color: var(--color-neutral-300);
|
|
6647
|
+
}
|
|
6648
|
+
|
|
6649
|
+
.bc-block-handle__button:disabled {
|
|
6650
|
+
opacity: 0.4;
|
|
6651
|
+
cursor: not-allowed;
|
|
6652
|
+
}
|
|
6653
|
+
|
|
6654
|
+
.b-dark .bc-block-handle__button {
|
|
6655
|
+
background-color: var(--color-neutral-800);
|
|
6656
|
+
border-color: var(--color-neutral-700);
|
|
6657
|
+
color: var(--color-neutral-500);
|
|
6658
|
+
}
|
|
6659
|
+
|
|
6660
|
+
.b-dark .bc-block-handle__button:hover {
|
|
6661
|
+
background-color: var(--color-neutral-700);
|
|
6662
|
+
color: var(--color-neutral-300);
|
|
6663
|
+
border-color: var(--color-neutral-600);
|
|
6664
|
+
}
|
|
6665
|
+
}
|
|
6666
|
+
|
|
6667
|
+
@layer components {
|
|
6668
|
+
/* Lexical Table Component */
|
|
6669
|
+
|
|
6670
|
+
/* Table structure */
|
|
6671
|
+
.bc-lexical-table {
|
|
6672
|
+
border-collapse: collapse;
|
|
6673
|
+
border-spacing: 0;
|
|
6674
|
+
width: 100%;
|
|
6675
|
+
margin: 1rem 0;
|
|
6676
|
+
overflow: hidden;
|
|
6677
|
+
table-layout: fixed;
|
|
6678
|
+
}
|
|
6679
|
+
|
|
6680
|
+
.bc-lexical-table-row {
|
|
6681
|
+
border-bottom: 1px solid var(--color-neutral-200);
|
|
6682
|
+
}
|
|
6683
|
+
|
|
6684
|
+
.bc-lexical-table-cell,
|
|
6685
|
+
.bc-lexical-table-cell-header {
|
|
6686
|
+
border: 1px solid var(--color-neutral-200);
|
|
6687
|
+
padding: 0.5rem 0.75rem;
|
|
6688
|
+
position: relative;
|
|
6689
|
+
vertical-align: top;
|
|
6690
|
+
min-width: 75px;
|
|
6691
|
+
}
|
|
6692
|
+
|
|
6693
|
+
.bc-lexical-table-cell-header {
|
|
6694
|
+
background-color: var(--color-neutral-50);
|
|
6695
|
+
font-weight: 600;
|
|
6696
|
+
text-align: left;
|
|
6697
|
+
}
|
|
6698
|
+
|
|
6699
|
+
/* Selected cell highlight */
|
|
6700
|
+
.bc-lexical-table-cell--selected {
|
|
6701
|
+
background-color: var(--color-primary-50);
|
|
6702
|
+
outline: 2px solid var(--color-primary-500);
|
|
6703
|
+
outline-offset: -2px;
|
|
6704
|
+
}
|
|
6705
|
+
|
|
6706
|
+
/* Table context menu */
|
|
6707
|
+
.bc-table-context-menu {
|
|
6708
|
+
display: flex;
|
|
6709
|
+
flex-direction: column;
|
|
6710
|
+
}
|
|
6711
|
+
|
|
6712
|
+
.bc-table-menu-button {
|
|
6713
|
+
font-family: inherit;
|
|
6714
|
+
line-height: 1.5;
|
|
6715
|
+
white-space: nowrap;
|
|
6716
|
+
}
|
|
6717
|
+
|
|
6718
|
+
.bc-table-menu-button:hover:not(:disabled) {
|
|
6719
|
+
background-color: var(--color-neutral-100);
|
|
6720
|
+
}
|
|
6721
|
+
|
|
6722
|
+
.bc-table-menu-button:active:not(:disabled) {
|
|
6723
|
+
background-color: var(--color-neutral-200);
|
|
6724
|
+
}
|
|
6725
|
+
|
|
6726
|
+
.bc-table-menu-button:disabled {
|
|
6727
|
+
opacity: 0.5;
|
|
6728
|
+
cursor: not-allowed;
|
|
6729
|
+
}
|
|
6730
|
+
|
|
6731
|
+
.bc-table-menu-separator {
|
|
6732
|
+
/* Separator styling defined inline in component */
|
|
6733
|
+
}
|
|
6734
|
+
|
|
6735
|
+
/* Dark mode styles */
|
|
6736
|
+
.b-dark .bc-lexical-table-cell,
|
|
6737
|
+
.b-dark .bc-lexical-table-cell-header {
|
|
6738
|
+
border-color: var(--color-neutral-700);
|
|
6739
|
+
}
|
|
6740
|
+
|
|
6741
|
+
.b-dark .bc-lexical-table-row {
|
|
6742
|
+
border-bottom-color: var(--color-neutral-700);
|
|
6743
|
+
}
|
|
6744
|
+
|
|
6745
|
+
.b-dark .bc-lexical-table-cell-header {
|
|
6746
|
+
background-color: var(--color-neutral-800);
|
|
6747
|
+
}
|
|
6748
|
+
|
|
6749
|
+
.b-dark .bc-lexical-table-cell--selected {
|
|
6750
|
+
background-color: var(--color-primary-900);
|
|
6751
|
+
outline-color: var(--color-primary-400);
|
|
6752
|
+
}
|
|
6753
|
+
|
|
6754
|
+
.b-dark .bc-table-context-menu {
|
|
6755
|
+
background-color: var(--color-neutral-800);
|
|
6756
|
+
border-color: var(--color-neutral-700);
|
|
6757
|
+
}
|
|
6758
|
+
|
|
6759
|
+
.b-dark .bc-table-menu-button {
|
|
6760
|
+
color: var(--color-neutral-100);
|
|
6761
|
+
}
|
|
6762
|
+
|
|
6763
|
+
.b-dark .bc-table-menu-button:hover:not(:disabled) {
|
|
6764
|
+
background-color: var(--color-neutral-700);
|
|
6765
|
+
}
|
|
6766
|
+
|
|
6767
|
+
.b-dark .bc-table-menu-button:active:not(:disabled) {
|
|
6768
|
+
background-color: var(--color-neutral-600);
|
|
6769
|
+
}
|
|
6770
|
+
|
|
6771
|
+
.b-dark .bc-table-menu-separator {
|
|
6772
|
+
background-color: var(--color-neutral-700);
|
|
6773
|
+
}
|
|
6774
|
+
|
|
6775
|
+
/* Accessibility */
|
|
6776
|
+
@media (prefers-reduced-motion: reduce) {
|
|
6777
|
+
.bc-table-menu-button {
|
|
6778
|
+
transition: none;
|
|
6779
|
+
}
|
|
6780
|
+
}
|
|
6781
|
+
|
|
6782
|
+
@media (prefers-contrast: high) {
|
|
6783
|
+
.bc-lexical-table-cell,
|
|
6784
|
+
.bc-lexical-table-cell-header {
|
|
6785
|
+
border-width: 2px;
|
|
6786
|
+
}
|
|
6787
|
+
|
|
6788
|
+
.bc-lexical-table-cell--selected {
|
|
6789
|
+
outline-width: 3px;
|
|
6790
|
+
}
|
|
6791
|
+
}
|
|
6792
|
+
}
|
|
6793
|
+
|
|
6794
|
+
@layer components {
|
|
6795
|
+
/* Lexical Code Block Component */
|
|
6796
|
+
|
|
6797
|
+
/* Code block structure */
|
|
6798
|
+
.bc-lexical-code-block {
|
|
6799
|
+
position: relative;
|
|
6800
|
+
margin: 1rem 0;
|
|
6801
|
+
padding: 1rem;
|
|
6802
|
+
background-color: var(--color-neutral-50);
|
|
6803
|
+
border: 1px solid var(--color-neutral-200);
|
|
6804
|
+
border-radius: var(--radius-md);
|
|
6805
|
+
overflow-x: auto;
|
|
6806
|
+
font-family:
|
|
6807
|
+
'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'Courier New', monospace;
|
|
6808
|
+
font-size: 0.875rem;
|
|
6809
|
+
line-height: 1.6;
|
|
6810
|
+
}
|
|
6811
|
+
|
|
6812
|
+
/* Language selector */
|
|
6813
|
+
.bc-code-language-selector {
|
|
6814
|
+
/* Positioning handled inline */
|
|
6815
|
+
}
|
|
6816
|
+
|
|
6817
|
+
.bc-code-language-button:hover:not(:disabled) {
|
|
6818
|
+
background-color: var(--color-neutral-200);
|
|
6819
|
+
border-color: var(--color-neutral-400);
|
|
6820
|
+
}
|
|
6821
|
+
|
|
6822
|
+
.bc-code-language-button:disabled {
|
|
6823
|
+
opacity: 0.5;
|
|
6824
|
+
cursor: not-allowed;
|
|
6825
|
+
}
|
|
6826
|
+
|
|
6827
|
+
.bc-code-language-dropdown {
|
|
6828
|
+
/* Dropdown styling handled inline */
|
|
6829
|
+
}
|
|
6830
|
+
|
|
6831
|
+
.bc-code-language-option:hover {
|
|
6832
|
+
background-color: var(--color-neutral-100);
|
|
6833
|
+
}
|
|
6834
|
+
|
|
6835
|
+
.bc-code-language-option:active {
|
|
6836
|
+
background-color: var(--color-neutral-200);
|
|
6837
|
+
}
|
|
6838
|
+
|
|
6839
|
+
/* Syntax highlighting token colors (light theme) */
|
|
6840
|
+
.bc-lexical-code-block .token.comment,
|
|
6841
|
+
.bc-lexical-code-block .token.prolog,
|
|
6842
|
+
.bc-lexical-code-block .token.doctype,
|
|
6843
|
+
.bc-lexical-code-block .token.cdata {
|
|
6844
|
+
color: #6a737d;
|
|
6845
|
+
font-style: italic;
|
|
6846
|
+
}
|
|
6847
|
+
|
|
6848
|
+
.bc-lexical-code-block .token.punctuation {
|
|
6849
|
+
color: #24292e;
|
|
6850
|
+
}
|
|
6851
|
+
|
|
6852
|
+
.bc-lexical-code-block .token.property,
|
|
6853
|
+
.bc-lexical-code-block .token.tag,
|
|
6854
|
+
.bc-lexical-code-block .token.boolean,
|
|
6855
|
+
.bc-lexical-code-block .token.number,
|
|
6856
|
+
.bc-lexical-code-block .token.constant,
|
|
6857
|
+
.bc-lexical-code-block .token.symbol,
|
|
6858
|
+
.bc-lexical-code-block .token.deleted {
|
|
6859
|
+
color: #005cc5;
|
|
6860
|
+
}
|
|
6861
|
+
|
|
6862
|
+
.bc-lexical-code-block .token.selector,
|
|
6863
|
+
.bc-lexical-code-block .token.attr-name,
|
|
6864
|
+
.bc-lexical-code-block .token.string,
|
|
6865
|
+
.bc-lexical-code-block .token.char,
|
|
6866
|
+
.bc-lexical-code-block .token.builtin,
|
|
6867
|
+
.bc-lexical-code-block .token.inserted {
|
|
6868
|
+
color: #032f62;
|
|
6869
|
+
}
|
|
6870
|
+
|
|
6871
|
+
.bc-lexical-code-block .token.operator,
|
|
6872
|
+
.bc-lexical-code-block .token.entity,
|
|
6873
|
+
.bc-lexical-code-block .token.url,
|
|
6874
|
+
.bc-lexical-code-block .language-css .token.string,
|
|
6875
|
+
.bc-lexical-code-block .style .token.string {
|
|
6876
|
+
color: #d73a49;
|
|
6877
|
+
}
|
|
6878
|
+
|
|
6879
|
+
.bc-lexical-code-block .token.atrule,
|
|
6880
|
+
.bc-lexical-code-block .token.attr-value,
|
|
6881
|
+
.bc-lexical-code-block .token.keyword {
|
|
6882
|
+
color: #d73a49;
|
|
6883
|
+
}
|
|
6884
|
+
|
|
6885
|
+
.bc-lexical-code-block .token.function,
|
|
6886
|
+
.bc-lexical-code-block .token.class-name {
|
|
6887
|
+
color: #6f42c1;
|
|
6888
|
+
}
|
|
6889
|
+
|
|
6890
|
+
.bc-lexical-code-block .token.regex,
|
|
6891
|
+
.bc-lexical-code-block .token.important,
|
|
6892
|
+
.bc-lexical-code-block .token.variable {
|
|
6893
|
+
color: #e36209;
|
|
6894
|
+
}
|
|
6895
|
+
|
|
6896
|
+
/* Line numbers (optional) */
|
|
6897
|
+
.bc-lexical-code-block--with-line-numbers {
|
|
6898
|
+
padding-left: 3.5rem;
|
|
6899
|
+
}
|
|
6900
|
+
|
|
6901
|
+
.bc-lexical-code-block .line-number {
|
|
6902
|
+
position: absolute;
|
|
6903
|
+
left: 0;
|
|
6904
|
+
width: 3rem;
|
|
6905
|
+
text-align: right;
|
|
6906
|
+
color: var(--color-neutral-400);
|
|
6907
|
+
user-select: none;
|
|
6908
|
+
padding-right: 1rem;
|
|
6909
|
+
}
|
|
6910
|
+
|
|
6911
|
+
/* Dark mode styles */
|
|
6912
|
+
.b-dark .bc-lexical-code-block {
|
|
6913
|
+
background-color: var(--color-neutral-900);
|
|
6914
|
+
border-color: var(--color-neutral-700);
|
|
6915
|
+
color: var(--color-neutral-100);
|
|
6916
|
+
}
|
|
6917
|
+
|
|
6918
|
+
.b-dark .bc-code-language-button {
|
|
6919
|
+
background-color: var(--color-neutral-800);
|
|
6920
|
+
border-color: var(--color-neutral-600);
|
|
6921
|
+
color: var(--color-neutral-200);
|
|
6922
|
+
}
|
|
6923
|
+
|
|
6924
|
+
.b-dark .bc-code-language-button:hover:not(:disabled) {
|
|
6925
|
+
background-color: var(--color-neutral-700);
|
|
6926
|
+
border-color: var(--color-neutral-500);
|
|
6927
|
+
}
|
|
6928
|
+
|
|
6929
|
+
.b-dark .bc-code-language-dropdown {
|
|
6930
|
+
background-color: var(--color-neutral-800);
|
|
6931
|
+
border-color: var(--color-neutral-700);
|
|
6932
|
+
}
|
|
6933
|
+
|
|
6934
|
+
.b-dark .bc-code-language-option {
|
|
6935
|
+
color: var(--color-neutral-100);
|
|
6936
|
+
}
|
|
6937
|
+
|
|
6938
|
+
.b-dark .bc-code-language-option:hover {
|
|
6939
|
+
background-color: var(--color-neutral-700);
|
|
6940
|
+
}
|
|
6941
|
+
|
|
6942
|
+
.b-dark .bc-code-language-option:active {
|
|
6943
|
+
background-color: var(--color-neutral-600);
|
|
6944
|
+
}
|
|
6945
|
+
|
|
6946
|
+
/* Syntax highlighting token colors (dark theme) */
|
|
6947
|
+
.b-dark .bc-lexical-code-block .token.comment,
|
|
6948
|
+
.b-dark .bc-lexical-code-block .token.prolog,
|
|
6949
|
+
.b-dark .bc-lexical-code-block .token.doctype,
|
|
6950
|
+
.b-dark .bc-lexical-code-block .token.cdata {
|
|
6951
|
+
color: #8b949e;
|
|
6952
|
+
}
|
|
6953
|
+
|
|
6954
|
+
.b-dark .bc-lexical-code-block .token.punctuation {
|
|
6955
|
+
color: #c9d1d9;
|
|
6956
|
+
}
|
|
6957
|
+
|
|
6958
|
+
.b-dark .bc-lexical-code-block .token.property,
|
|
6959
|
+
.b-dark .bc-lexical-code-block .token.tag,
|
|
6960
|
+
.b-dark .bc-lexical-code-block .token.boolean,
|
|
6961
|
+
.b-dark .bc-lexical-code-block .token.number,
|
|
6962
|
+
.b-dark .bc-lexical-code-block .token.constant,
|
|
6963
|
+
.b-dark .bc-lexical-code-block .token.symbol,
|
|
6964
|
+
.b-dark .bc-lexical-code-block .token.deleted {
|
|
6965
|
+
color: #79c0ff;
|
|
6966
|
+
}
|
|
6967
|
+
|
|
6968
|
+
.b-dark .bc-lexical-code-block .token.selector,
|
|
6969
|
+
.b-dark .bc-lexical-code-block .token.attr-name,
|
|
6970
|
+
.b-dark .bc-lexical-code-block .token.string,
|
|
6971
|
+
.b-dark .bc-lexical-code-block .token.char,
|
|
6972
|
+
.b-dark .bc-lexical-code-block .token.builtin,
|
|
6973
|
+
.b-dark .bc-lexical-code-block .token.inserted {
|
|
6974
|
+
color: #a5d6ff;
|
|
6975
|
+
}
|
|
6976
|
+
|
|
6977
|
+
.b-dark .bc-lexical-code-block .token.operator,
|
|
6978
|
+
.b-dark .bc-lexical-code-block .token.entity,
|
|
6979
|
+
.b-dark .bc-lexical-code-block .token.url,
|
|
6980
|
+
.b-dark .bc-lexical-code-block .language-css .token.string,
|
|
6981
|
+
.b-dark .bc-lexical-code-block .style .token.string {
|
|
6982
|
+
color: #ff7b72;
|
|
6983
|
+
}
|
|
6984
|
+
|
|
6985
|
+
.b-dark .bc-lexical-code-block .token.atrule,
|
|
6986
|
+
.b-dark .bc-lexical-code-block .token.attr-value,
|
|
6987
|
+
.b-dark .bc-lexical-code-block .token.keyword {
|
|
6988
|
+
color: #ff7b72;
|
|
6989
|
+
}
|
|
6990
|
+
|
|
6991
|
+
.b-dark .bc-lexical-code-block .token.function,
|
|
6992
|
+
.b-dark .bc-lexical-code-block .token.class-name {
|
|
6993
|
+
color: #d2a8ff;
|
|
6994
|
+
}
|
|
6995
|
+
|
|
6996
|
+
.b-dark .bc-lexical-code-block .token.regex,
|
|
6997
|
+
.b-dark .bc-lexical-code-block .token.important,
|
|
6998
|
+
.b-dark .bc-lexical-code-block .token.variable {
|
|
6999
|
+
color: #ffa657;
|
|
7000
|
+
}
|
|
7001
|
+
|
|
7002
|
+
.b-dark .bc-lexical-code-block .line-number {
|
|
7003
|
+
color: var(--color-neutral-600);
|
|
7004
|
+
}
|
|
7005
|
+
|
|
7006
|
+
/* Accessibility */
|
|
7007
|
+
@media (prefers-reduced-motion: reduce) {
|
|
7008
|
+
.bc-code-language-button,
|
|
7009
|
+
.bc-code-language-option {
|
|
7010
|
+
transition: none;
|
|
7011
|
+
}
|
|
7012
|
+
}
|
|
7013
|
+
|
|
7014
|
+
@media (prefers-contrast: high) {
|
|
7015
|
+
.bc-lexical-code-block {
|
|
7016
|
+
border-width: 2px;
|
|
7017
|
+
}
|
|
7018
|
+
}
|
|
7019
|
+
}
|
|
7020
|
+
|
|
5674
7021
|
/* Link Component */
|
|
5675
7022
|
.bc-link {
|
|
5676
7023
|
--link-color: inherit;
|