@fluid-app/portal-sdk 0.1.50 → 0.1.52
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/{ContactsScreen-CtQEXVJV.cjs → ContactsScreen-BvCjA72q.cjs} +3 -3
- package/dist/{ContactsScreen-CCX0O5gO.mjs → ContactsScreen-BxN-eEX8.mjs} +3 -3
- package/dist/{ContactsScreen-CkTLY2JR.cjs → ContactsScreen-DCHonZs2.cjs} +2 -2
- package/dist/{ContactsScreen-CkTLY2JR.cjs.map → ContactsScreen-DCHonZs2.cjs.map} +1 -1
- package/dist/{ContactsScreen-Cw2oDUbk.mjs → ContactsScreen-p2WN2k0l.mjs} +2 -2
- package/dist/{ContactsScreen-Cw2oDUbk.mjs.map → ContactsScreen-p2WN2k0l.mjs.map} +1 -1
- package/dist/{FluidProvider-Bm9_Q-Vq.cjs → FluidProvider-CfnQ1hQi.cjs} +3 -3
- package/dist/{FluidProvider-Bm9_Q-Vq.cjs.map → FluidProvider-CfnQ1hQi.cjs.map} +1 -1
- package/dist/{FluidProvider-DhhJ_tOB.mjs → FluidProvider-DxTCeF37.mjs} +3 -3
- package/dist/{FluidProvider-DhhJ_tOB.mjs.map → FluidProvider-DxTCeF37.mjs.map} +1 -1
- package/dist/{LinkWidget-CPneatEQ.cjs → LinkWidget-Bk6h0IOA.cjs} +141 -4
- package/dist/LinkWidget-Bk6h0IOA.cjs.map +1 -0
- package/dist/{LinkWidget-AxSj0c6j.cjs → LinkWidget-BnFbK1BC.cjs} +2 -1
- package/dist/{LinkWidget-BIGRdkyq.mjs → LinkWidget-CfgPs5G8.mjs} +141 -4
- package/dist/LinkWidget-CfgPs5G8.mjs.map +1 -0
- package/dist/{MessagingScreen-C52nvMiv.cjs → MessagingScreen-AwU6FVrk.cjs} +3 -3
- package/dist/{MessagingScreen-C52nvMiv.cjs.map → MessagingScreen-AwU6FVrk.cjs.map} +1 -1
- package/dist/{MessagingScreen-CeFtShuJ.mjs → MessagingScreen-Ct13M7D3.mjs} +3 -4
- package/dist/{MessagingScreen-CiAh61n3.cjs → MessagingScreen-DXT-R8PN.cjs} +3 -3
- package/dist/{MessagingScreen-D0usZTLT.mjs → MessagingScreen-G0z-kpur.mjs} +3 -3
- package/dist/{MessagingScreen-D0usZTLT.mjs.map → MessagingScreen-G0z-kpur.mjs.map} +1 -1
- package/dist/{MySiteScreen-Q9JMin6k.cjs → MySiteScreen-CK5ytiiM.cjs} +3 -3
- package/dist/{MySiteScreen-DDCmExRU.mjs → MySiteScreen-CtpBEE-w.mjs} +3 -4
- package/dist/{MySiteScreen-B4D3PBiR.mjs → MySiteScreen-CxFT0dYI.mjs} +2 -2
- package/dist/{MySiteScreen-B4D3PBiR.mjs.map → MySiteScreen-CxFT0dYI.mjs.map} +1 -1
- package/dist/{MySiteScreen-CNp1UcGZ.cjs → MySiteScreen-mKw6Ha6i.cjs} +2 -2
- package/dist/{MySiteScreen-CNp1UcGZ.cjs.map → MySiteScreen-mKw6Ha6i.cjs.map} +1 -1
- package/dist/{OrdersScreen-W2H36ANi.mjs → OrdersScreen-4xcHV4wN.mjs} +3 -5
- package/dist/{OrdersScreen-VMpNhQw9.cjs → OrdersScreen-Btxlpmyb.cjs} +3 -3
- package/dist/{OrdersScreen-VMpNhQw9.cjs.map → OrdersScreen-Btxlpmyb.cjs.map} +1 -1
- package/dist/{OrdersScreen-DsBMev3D.cjs → OrdersScreen-COJthd7g.cjs} +3 -3
- package/dist/{OrdersScreen-hpGhyOSh.mjs → OrdersScreen-DST1uQIZ.mjs} +3 -3
- package/dist/{OrdersScreen-hpGhyOSh.mjs.map → OrdersScreen-DST1uQIZ.mjs.map} +1 -1
- package/dist/{ProductsScreen-zpzMTDoA.mjs → ProductsScreen-BUIAM6Oj.mjs} +4 -4
- package/dist/{ProductsScreen-zpzMTDoA.mjs.map → ProductsScreen-BUIAM6Oj.mjs.map} +1 -1
- package/dist/{ProductsScreen-BnSGiylr.cjs → ProductsScreen-BrnS2fZj.cjs} +4 -4
- package/dist/{ProductsScreen-BnSGiylr.cjs.map → ProductsScreen-BrnS2fZj.cjs.map} +1 -1
- package/dist/{ProductsScreen-DnHGKEgL.mjs → ProductsScreen-DbD-M3_E.mjs} +4 -8
- package/dist/{ProductsScreen-BMZxJgei.cjs → ProductsScreen-nMIeRMz7.cjs} +4 -4
- package/dist/{ProfileScreen-DtK2t6V6.mjs → ProfileScreen-C6WaqIOa.mjs} +3 -3
- package/dist/{ProfileScreen-DtK2t6V6.mjs.map → ProfileScreen-C6WaqIOa.mjs.map} +1 -1
- package/dist/{ProfileScreen-BtLOlbKg.cjs → ProfileScreen-CNqGhQIS.cjs} +3 -3
- package/dist/{ProfileScreen-BtLOlbKg.cjs.map → ProfileScreen-CNqGhQIS.cjs.map} +1 -1
- package/dist/{ProfileScreen-oZ-aRHZd.cjs → ProfileScreen-COxPODra.cjs} +3 -3
- package/dist/{ProfileScreen-DTFiJh4l.mjs → ProfileScreen-CsjqnDHC.mjs} +3 -4
- package/dist/{ShareablesScreen-Bmgjw9sI.cjs → ShareablesScreen-6WYSwoae.cjs} +4 -4
- package/dist/{ShareablesScreen-BeUqK8Rt.mjs → ShareablesScreen-BKGi-Fxq.mjs} +4 -8
- package/dist/{ShareablesScreen-B603m_Vm.mjs → ShareablesScreen-DEG0RgHd.mjs} +4 -4
- package/dist/{ShareablesScreen-B603m_Vm.mjs.map → ShareablesScreen-DEG0RgHd.mjs.map} +1 -1
- package/dist/{ShareablesScreen-B7bILrTZ.cjs → ShareablesScreen-Dr54X4O1.cjs} +4 -4
- package/dist/{ShareablesScreen-B7bILrTZ.cjs.map → ShareablesScreen-Dr54X4O1.cjs.map} +1 -1
- package/dist/{ShopScreen-tank-h0f.cjs → ShopScreen-B-jG6Rem.cjs} +4 -4
- package/dist/{ShopScreen-tank-h0f.cjs.map → ShopScreen-B-jG6Rem.cjs.map} +1 -1
- package/dist/{ShopScreen-CZl3JCcH.cjs → ShopScreen-Bh3_9XNc.cjs} +3 -3
- package/dist/{ShopScreen-CoLFSZEV.mjs → ShopScreen-CFSFBeZn.mjs} +4 -4
- package/dist/{ShopScreen-CoLFSZEV.mjs.map → ShopScreen-CFSFBeZn.mjs.map} +1 -1
- package/dist/{ShopScreen-DnMTRfDV.mjs → ShopScreen-Dwi5A1Mh.mjs} +3 -7
- package/dist/{SubscriptionsScreen-B7vVZdeU.cjs → SubscriptionsScreen-BHoPRbxY.cjs} +3 -3
- package/dist/{SubscriptionsScreen-VY3atpwV.mjs → SubscriptionsScreen-BbHLRNOS.mjs} +3 -5
- package/dist/{SubscriptionsScreen-Q_sourEi.mjs → SubscriptionsScreen-DDuDQzog.mjs} +3 -3
- package/dist/{SubscriptionsScreen-Q_sourEi.mjs.map → SubscriptionsScreen-DDuDQzog.mjs.map} +1 -1
- package/dist/{SubscriptionsScreen-DqgNoNgv.cjs → SubscriptionsScreen-OR9rLA8Q.cjs} +3 -3
- package/dist/{SubscriptionsScreen-DqgNoNgv.cjs.map → SubscriptionsScreen-OR9rLA8Q.cjs.map} +1 -1
- package/dist/WidgetInteractionContext-DAN31Alw.mjs.map +1 -1
- package/dist/WidgetInteractionContext-ywxCBIMm.cjs.map +1 -1
- package/dist/index.cjs +33 -33
- package/dist/index.d.cts +12 -0
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +12 -0
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +33 -33
- package/dist/{products-Csja6Mz3.mjs → products-BVduBT2A.mjs} +3 -3
- package/dist/{products-Csja6Mz3.mjs.map → products-BVduBT2A.mjs.map} +1 -1
- package/dist/{products-DcoIAZKk.cjs → products-IQvKyCYT.cjs} +3 -3
- package/dist/{products-DcoIAZKk.cjs.map → products-IQvKyCYT.cjs.map} +1 -1
- package/dist/{src-BeeIRRwy.cjs → src-CqBhbo1S.cjs} +2 -2
- package/dist/{src-BeeIRRwy.cjs.map → src-CqBhbo1S.cjs.map} +1 -1
- package/dist/{src-C8lPWi5Q.mjs → src-SdohifRY.mjs} +2 -2
- package/dist/{src-C8lPWi5Q.mjs.map → src-SdohifRY.mjs.map} +1 -1
- package/dist/{use-account-clients-DInHTX3i.cjs → use-account-clients-D3Eawm5e.cjs} +2 -2
- package/dist/{use-account-clients-DInHTX3i.cjs.map → use-account-clients-D3Eawm5e.cjs.map} +1 -1
- package/dist/{use-account-clients-Do2v1HKy.mjs → use-account-clients-zeybRls8.mjs} +2 -2
- package/dist/{use-account-clients-Do2v1HKy.mjs.map → use-account-clients-zeybRls8.mjs.map} +1 -1
- package/dist/{use-customer-account-DXKadeJo.cjs → use-customer-account-BFRo6FiF.cjs} +3 -3
- package/dist/{use-customer-account-DXKadeJo.cjs.map → use-customer-account-BFRo6FiF.cjs.map} +1 -1
- package/dist/{use-customer-account-DGbCAfxl.mjs → use-customer-account-CZYDqBtL.mjs} +3 -3
- package/dist/{use-customer-account-DGbCAfxl.mjs.map → use-customer-account-CZYDqBtL.mjs.map} +1 -1
- package/dist/{use-fluid-api-BB3QhQT8.mjs → use-fluid-api-BpRkXNaT.mjs} +2 -2
- package/dist/{use-fluid-api-BB3QhQT8.mjs.map → use-fluid-api-BpRkXNaT.mjs.map} +1 -1
- package/dist/{use-fluid-api-BzIeHDnF.cjs → use-fluid-api-Df5mIIBE.cjs} +2 -2
- package/dist/{use-fluid-api-BzIeHDnF.cjs.map → use-fluid-api-Df5mIIBE.cjs.map} +1 -1
- package/package.json +8 -8
- package/styles/globals.css +164 -166
- package/dist/LinkWidget-BIGRdkyq.mjs.map +0 -1
- package/dist/LinkWidget-CPneatEQ.cjs.map +0 -1
- package/styles/theme.css +0 -169
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LinkWidget-CPneatEQ.cjs","names":["borderWidthClasses","borderColorClasses","Button"],"sources":["../../widgets/src/widgets/LinkWidget.tsx"],"sourcesContent":["import type { WidgetPropertySchema } from \"@fluid-app/portal-core/registries\";\nimport type { ComponentProps } from \"react\";\nimport type React from \"react\";\nimport { Button } from \"@fluid-app/ui-primitives\";\nimport {\n getBorderRadiusCompositeField,\n getBorderWidthField,\n getBorderColorField,\n borderWidthClasses,\n borderColorClasses,\n getButtonSizeField,\n getFontSizeField,\n getPaddingField,\n} from \"../core/fields\";\nimport type {\n BorderRadiusOptions,\n BorderWidthOptions,\n ButtonSizeOptions,\n ColorOptions,\n FontSizeOptions,\n PaddingOptions,\n} from \"@fluid-app/portal-core/types\";\n\ntype LinkVariant =\n | \"default\"\n | \"outline\"\n | \"secondary\"\n | \"ghost\"\n | \"destructive\";\n\nconst borderRadiusTLClasses: Record<BorderRadiusOptions, string> = {\n none: \"rounded-tl-none\",\n sm: \"rounded-tl-sm\",\n md: \"rounded-tl-md\",\n lg: \"rounded-tl-lg\",\n xl: \"rounded-tl-xl\",\n full: \"rounded-tl-full\",\n};\n\nconst borderRadiusTRClasses: Record<BorderRadiusOptions, string> = {\n none: \"rounded-tr-none\",\n sm: \"rounded-tr-sm\",\n md: \"rounded-tr-md\",\n lg: \"rounded-tr-lg\",\n xl: \"rounded-tr-xl\",\n full: \"rounded-tr-full\",\n};\n\nconst borderRadiusBLClasses: Record<BorderRadiusOptions, string> = {\n none: \"rounded-bl-none\",\n sm: \"rounded-bl-sm\",\n md: \"rounded-bl-md\",\n lg: \"rounded-bl-lg\",\n xl: \"rounded-bl-xl\",\n full: \"rounded-bl-full\",\n};\n\nconst borderRadiusBRClasses: Record<BorderRadiusOptions, string> = {\n none: \"rounded-br-none\",\n sm: \"rounded-br-sm\",\n md: \"rounded-br-md\",\n lg: \"rounded-br-lg\",\n xl: \"rounded-br-xl\",\n full: \"rounded-br-full\",\n};\n\nfunction sanitizeHref(url: string): string | undefined {\n if (!url) return undefined;\n if (/^(https?:|mailto:|tel:|\\/)/i.test(url)) return url;\n return undefined;\n}\n\ntype LinkWidgetProps = ComponentProps<\"div\"> & {\n text?: string;\n href?: string;\n openInNewTab?: boolean;\n variant?: LinkVariant;\n size?: ButtonSizeOptions;\n fontSize?: FontSizeOptions;\n alignment?: \"left\" | \"center\" | \"right\";\n fullWidth?: boolean;\n padding?: PaddingOptions;\n /** @deprecated Use per-corner props instead */\n borderRadius?: BorderRadiusOptions;\n borderRadiusTL?: BorderRadiusOptions;\n borderRadiusTR?: BorderRadiusOptions;\n borderRadiusBL?: BorderRadiusOptions;\n borderRadiusBR?: BorderRadiusOptions;\n borderWidth?: BorderWidthOptions;\n borderColor?: ColorOptions;\n previewMode?: boolean;\n editMode?: boolean;\n};\n\nconst alignmentClasses = {\n left: \"justify-start\",\n center: \"justify-center\",\n right: \"justify-end\",\n} as const;\n\nexport function LinkWidget({\n text = \"Click Here\",\n href = \"\",\n openInNewTab = true,\n variant = \"default\",\n size = \"default\",\n fontSize = \"sm\",\n alignment = \"center\",\n fullWidth = false,\n padding = 0,\n borderRadius,\n borderRadiusTL,\n borderRadiusTR,\n borderRadiusBL,\n borderRadiusBR,\n borderWidth = \"none\",\n borderColor = \"muted\",\n previewMode = false,\n editMode = false,\n className,\n ...props\n}: LinkWidgetProps): React.JSX.Element {\n if (previewMode) {\n return (\n <div className={`flex justify-center p-4 ${className ?? \"\"}`} {...props}>\n <span\n style={{\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n height: \"36px\",\n padding: \"0 16px\",\n borderRadius: \"6px\",\n backgroundColor: \"#18181b\",\n color: \"#ffffff\",\n fontSize: \"14px\",\n fontWeight: 500,\n }}\n >\n {text}\n </span>\n </div>\n );\n }\n\n const fallback = borderRadius ?? \"md\";\n const tl = borderRadiusTL ?? fallback;\n const tr = borderRadiusTR ?? fallback;\n const bl = borderRadiusBL ?? fallback;\n const br = borderRadiusBR ?? fallback;\n const borderRadiusClasses = `rounded-none ${borderRadiusTLClasses[tl]} ${borderRadiusTRClasses[tr]} ${borderRadiusBLClasses[bl]} ${borderRadiusBRClasses[br]}`;\n const buttonClasses = `text-${fontSize} ${borderRadiusClasses} ${fullWidth ? \"w-full\" : \"\"}`;\n\n return (\n <div\n className={`flex ${alignmentClasses[alignment]} p-${padding} ${borderWidthClasses[borderWidth]} ${borderWidth !== \"none\" ? borderColorClasses[borderColor] : \"\"} ${className ?? \"\"}`}\n {...props}\n >\n <Button asChild variant={variant} size={size} className={buttonClasses}>\n {editMode ? (\n <span className=\"cursor-default\">{text}</span>\n ) : (\n <a\n href={sanitizeHref(href)}\n {...(openInNewTab\n ? { target: \"_blank\", rel: \"noopener noreferrer\" }\n : {})}\n >\n {text}\n </a>\n )}\n </Button>\n </div>\n );\n}\n\nexport const linkWidgetPropertySchema: WidgetPropertySchema = {\n widgetType: \"LinkWidget\",\n displayName: \"Link Button\",\n fields: [\n // Link Group\n {\n key: \"text\",\n label: \"Text\",\n type: \"text\",\n description: \"The button label text\",\n defaultValue: \"Click Here\",\n group: \"Link\",\n },\n {\n key: \"href\",\n label: \"URL\",\n type: \"text\",\n description: \"The destination URL\",\n defaultValue: \"\",\n group: \"Link\",\n },\n {\n key: \"openInNewTab\",\n label: \"Open in New Tab\",\n type: \"boolean\",\n description: \"Whether to open the link in a new tab\",\n defaultValue: true,\n group: \"Link\",\n },\n // Button Style Group\n {\n key: \"variant\",\n label: \"Variant\",\n type: \"select\",\n description: \"The visual style of the button\",\n options: [\n { label: \"Default\", value: \"default\" },\n { label: \"Outline\", value: \"outline\" },\n { label: \"Secondary\", value: \"secondary\" },\n { label: \"Ghost\", value: \"ghost\" },\n { label: \"Destructive\", value: \"destructive\" },\n ],\n defaultValue: \"default\",\n group: \"Button Style\",\n },\n getButtonSizeField({\n key: \"size\",\n label: \"Size\",\n description: \"The size of the button\",\n defaultValue: \"default\",\n group: \"Button Style\",\n }),\n getFontSizeField({\n key: \"fontSize\",\n label: \"Text Size\",\n description: \"The font size of the button text\",\n defaultValue: \"sm\",\n group: \"Button Style\",\n }),\n // Layout Group\n {\n key: \"alignment\",\n label: \"Alignment\",\n type: \"buttonGroup\",\n description: \"Horizontal alignment of the button\",\n options: [\n { label: \"Left\", value: \"left\" },\n { label: \"Center\", value: \"center\" },\n { label: \"Right\", value: \"right\" },\n ],\n defaultValue: \"center\",\n group: \"Layout\",\n },\n {\n key: \"fullWidth\",\n label: \"Full Width\",\n type: \"boolean\",\n description: \"Makes the button stretch to full container width\",\n defaultValue: false,\n group: \"Layout\",\n },\n getPaddingField({\n key: \"padding\",\n label: \"Padding\",\n description: \"Outer container padding\",\n defaultValue: 0,\n group: \"Layout\",\n }),\n // Design Group\n getBorderRadiusCompositeField({\n key: \"borderRadiusGroup\",\n label: \"Border Radius\",\n defaultValue: \"md\",\n group: \"Design\",\n }),\n getBorderWidthField({\n key: \"borderWidth\",\n label: \"Border Width\",\n description: \"Border width for the widget\",\n defaultValue: \"none\",\n group: \"Design\",\n }),\n getBorderColorField({\n key: \"borderColor\",\n label: \"Border Color\",\n description: \"Border color for the widget\",\n defaultValue: \"muted\",\n group: \"Design\",\n }),\n ],\n};\n"],"mappings":"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"}
|
package/styles/theme.css
DELETED
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Portal SDK – Default design tokens and Tailwind theme registration.
|
|
3
|
-
*
|
|
4
|
-
* Import this in your portal's main CSS file:
|
|
5
|
-
* @import "@fluid-app/portal-sdk/theme.css";
|
|
6
|
-
*
|
|
7
|
-
* The theme engine injects higher-specificity CSS via [data-theme="..."]
|
|
8
|
-
* which overrides these fallback values at runtime for both light and dark modes.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
/*
|
|
12
|
-
* Register CSS variables as Tailwind theme values.
|
|
13
|
-
* `inline` means Tailwind won't emit its own --color-* declarations —
|
|
14
|
-
* we define them ourselves in :root below (and the theme engine overrides
|
|
15
|
-
* them at runtime via [data-theme="..."]).
|
|
16
|
-
*/
|
|
17
|
-
@theme inline {
|
|
18
|
-
--color-background: var(--background);
|
|
19
|
-
--color-foreground: var(--foreground);
|
|
20
|
-
--color-primary: var(--primary);
|
|
21
|
-
--color-primary-foreground: var(--primary-foreground);
|
|
22
|
-
--color-secondary: var(--secondary);
|
|
23
|
-
--color-secondary-foreground: var(--secondary-foreground);
|
|
24
|
-
--color-muted: var(--muted);
|
|
25
|
-
--color-muted-foreground: var(--muted-foreground);
|
|
26
|
-
--color-accent: var(--accent);
|
|
27
|
-
--color-accent-foreground: var(--accent-foreground);
|
|
28
|
-
--color-destructive: var(--destructive);
|
|
29
|
-
--color-destructive-foreground: var(--destructive-foreground);
|
|
30
|
-
--color-border: var(--border);
|
|
31
|
-
--color-input: var(--input);
|
|
32
|
-
--color-ring: var(--ring);
|
|
33
|
-
--color-popover: var(--popover);
|
|
34
|
-
--color-popover-foreground: var(--popover-foreground);
|
|
35
|
-
--color-card: var(--card);
|
|
36
|
-
--color-card-foreground: var(--card-foreground);
|
|
37
|
-
--color-sidebar: var(--sidebar);
|
|
38
|
-
--color-sidebar-foreground: var(--sidebar-foreground);
|
|
39
|
-
--color-sidebar-primary: var(--sidebar-primary);
|
|
40
|
-
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
|
|
41
|
-
--color-sidebar-accent: var(--sidebar-accent);
|
|
42
|
-
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
|
43
|
-
--color-sidebar-border: var(--sidebar-border);
|
|
44
|
-
--color-sidebar-ring: var(--sidebar-ring);
|
|
45
|
-
--radius: var(--radius);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/* Light mode fallback tokens (OKLCH format) */
|
|
49
|
-
:root {
|
|
50
|
-
--color-background: oklch(1 0 0);
|
|
51
|
-
--color-foreground: oklch(0.145 0 0);
|
|
52
|
-
--color-primary: oklch(0.205 0 0);
|
|
53
|
-
--color-primary-foreground: oklch(0.985 0 0);
|
|
54
|
-
--color-secondary: oklch(0.97 0 0);
|
|
55
|
-
--color-secondary-foreground: oklch(0.205 0 0);
|
|
56
|
-
--color-muted: oklch(0.97 0 0);
|
|
57
|
-
--color-muted-foreground: oklch(0.556 0 0);
|
|
58
|
-
--color-accent: oklch(0.97 0 0);
|
|
59
|
-
--color-accent-foreground: oklch(0.205 0 0);
|
|
60
|
-
--color-destructive: oklch(0.577 0.245 27.325);
|
|
61
|
-
--color-destructive-foreground: oklch(0.985 0 0);
|
|
62
|
-
--color-border: oklch(0.922 0 0);
|
|
63
|
-
|
|
64
|
-
/* Short-name aliases (match css-generator globalCSSOverride) */
|
|
65
|
-
--background: var(--color-background);
|
|
66
|
-
--foreground: var(--color-foreground);
|
|
67
|
-
--primary: var(--color-primary);
|
|
68
|
-
--primary-foreground: var(--color-primary-foreground);
|
|
69
|
-
--secondary: var(--color-secondary);
|
|
70
|
-
--secondary-foreground: var(--color-secondary-foreground);
|
|
71
|
-
--muted: var(--color-muted);
|
|
72
|
-
--muted-foreground: var(--color-muted-foreground);
|
|
73
|
-
--accent: var(--color-accent);
|
|
74
|
-
--accent-foreground: var(--color-accent-foreground);
|
|
75
|
-
--destructive: var(--color-destructive);
|
|
76
|
-
--destructive-foreground: var(--color-destructive-foreground);
|
|
77
|
-
--border: var(--color-border);
|
|
78
|
-
--input: var(--color-border);
|
|
79
|
-
--ring: var(--color-primary);
|
|
80
|
-
--radius: 0.625rem;
|
|
81
|
-
|
|
82
|
-
/* Popover / Card aliases */
|
|
83
|
-
--popover: var(--color-background);
|
|
84
|
-
--popover-foreground: var(--color-foreground);
|
|
85
|
-
--card: var(--color-background);
|
|
86
|
-
--card-foreground: var(--color-foreground);
|
|
87
|
-
|
|
88
|
-
/* Sidebar aliases */
|
|
89
|
-
--sidebar: var(--color-muted);
|
|
90
|
-
--sidebar-foreground: var(--color-muted-foreground);
|
|
91
|
-
--sidebar-primary: var(--color-primary);
|
|
92
|
-
--sidebar-primary-foreground: var(--color-primary-foreground);
|
|
93
|
-
--sidebar-accent: var(--color-accent);
|
|
94
|
-
--sidebar-accent-foreground: var(--color-accent-foreground);
|
|
95
|
-
--sidebar-border: var(--color-border);
|
|
96
|
-
--sidebar-ring: var(--color-primary);
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/*
|
|
100
|
-
* Dark-mode fallback tokens.
|
|
101
|
-
* Applied when the user toggles dark mode but no API theme is loaded.
|
|
102
|
-
* The theme engine will override these with richer palette-derived values
|
|
103
|
-
* once a theme is fetched from the API.
|
|
104
|
-
*/
|
|
105
|
-
[data-theme-mode="dark"] {
|
|
106
|
-
--color-background: oklch(0.145 0 0);
|
|
107
|
-
--color-foreground: oklch(0.985 0 0);
|
|
108
|
-
--color-primary: oklch(0.985 0 0);
|
|
109
|
-
--color-primary-foreground: oklch(0.205 0 0);
|
|
110
|
-
--color-secondary: oklch(0.215 0 0);
|
|
111
|
-
--color-secondary-foreground: oklch(0.985 0 0);
|
|
112
|
-
--color-muted: oklch(0.215 0 0);
|
|
113
|
-
--color-muted-foreground: oklch(0.708 0 0);
|
|
114
|
-
--color-accent: oklch(0.215 0 0);
|
|
115
|
-
--color-accent-foreground: oklch(0.985 0 0);
|
|
116
|
-
--color-destructive: oklch(0.577 0.245 27.325);
|
|
117
|
-
--color-destructive-foreground: oklch(0.985 0 0);
|
|
118
|
-
--color-border: oklch(0.3 0 0);
|
|
119
|
-
|
|
120
|
-
--background: var(--color-background);
|
|
121
|
-
--foreground: var(--color-foreground);
|
|
122
|
-
--primary: var(--color-primary);
|
|
123
|
-
--primary-foreground: var(--color-primary-foreground);
|
|
124
|
-
--secondary: var(--color-secondary);
|
|
125
|
-
--secondary-foreground: var(--color-secondary-foreground);
|
|
126
|
-
--muted: var(--color-muted);
|
|
127
|
-
--muted-foreground: var(--color-muted-foreground);
|
|
128
|
-
--accent: var(--color-accent);
|
|
129
|
-
--accent-foreground: var(--color-accent-foreground);
|
|
130
|
-
--destructive: var(--color-destructive);
|
|
131
|
-
--destructive-foreground: var(--color-destructive-foreground);
|
|
132
|
-
--border: var(--color-border);
|
|
133
|
-
--input: var(--color-border);
|
|
134
|
-
--ring: var(--color-primary);
|
|
135
|
-
|
|
136
|
-
--popover: var(--color-background);
|
|
137
|
-
--popover-foreground: var(--color-foreground);
|
|
138
|
-
--card: var(--color-background);
|
|
139
|
-
--card-foreground: var(--color-foreground);
|
|
140
|
-
|
|
141
|
-
--sidebar: var(--color-muted);
|
|
142
|
-
--sidebar-foreground: var(--color-muted-foreground);
|
|
143
|
-
--sidebar-primary: var(--color-primary);
|
|
144
|
-
--sidebar-primary-foreground: var(--color-primary-foreground);
|
|
145
|
-
--sidebar-accent: var(--color-accent);
|
|
146
|
-
--sidebar-accent-foreground: var(--color-accent-foreground);
|
|
147
|
-
--sidebar-border: var(--color-border);
|
|
148
|
-
--sidebar-ring: var(--color-primary);
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
@layer base {
|
|
152
|
-
* {
|
|
153
|
-
@apply border-border;
|
|
154
|
-
}
|
|
155
|
-
body {
|
|
156
|
-
@apply bg-background text-foreground;
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
/* Hide scrollbars while preserving scroll functionality */
|
|
161
|
-
@layer utilities {
|
|
162
|
-
.scrollbar-none {
|
|
163
|
-
-ms-overflow-style: none;
|
|
164
|
-
scrollbar-width: none;
|
|
165
|
-
}
|
|
166
|
-
.scrollbar-none::-webkit-scrollbar {
|
|
167
|
-
display: none;
|
|
168
|
-
}
|
|
169
|
-
}
|