@flamingo-stack/openframe-frontend-core 0.0.197 → 0.0.199
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/{chunk-IMDXOVYD.cjs → chunk-332L6IO7.cjs} +73 -93
- package/dist/chunk-332L6IO7.cjs.map +1 -0
- package/dist/chunk-4CWSZPXH.cjs.map +1 -1
- package/dist/{chunk-GIQZAYY5.js → chunk-5URU5DHE.js} +74 -94
- package/dist/chunk-5URU5DHE.js.map +1 -0
- package/dist/chunk-OII2IERE.cjs.map +1 -1
- package/dist/chunk-UC43NICZ.cjs.map +1 -1
- package/dist/chunk-V2FNIPZJ.cjs.map +1 -1
- package/dist/chunk-VJTFBYVG.cjs.map +1 -1
- package/dist/chunk-VRHGVLSL.cjs.map +1 -1
- package/dist/chunk-WZW7C7TF.cjs.map +1 -1
- package/dist/chunk-XQFFGR6U.cjs.map +1 -1
- package/dist/components/chart.d.ts +14 -7
- package/dist/components/chart.d.ts.map +1 -1
- package/dist/components/chat/chat-input.d.ts.map +1 -1
- package/dist/components/chat/chat-message-enhanced.d.ts.map +1 -1
- package/dist/components/chat/chat-message-skeleton.d.ts.map +1 -1
- package/dist/components/chat/types/component.types.d.ts +4 -0
- package/dist/components/chat/types/component.types.d.ts.map +1 -1
- package/dist/components/features/index.cjs +2 -2
- package/dist/components/features/index.cjs.map +1 -1
- package/dist/components/features/index.js +1 -1
- package/dist/components/icons/index.cjs.map +1 -1
- package/dist/components/icons-v2-generated/index.cjs.map +1 -1
- package/dist/components/index.cjs +2 -2
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/navigation/index.cjs +2 -2
- package/dist/components/navigation/index.cjs.map +1 -1
- package/dist/components/navigation/index.js +1 -1
- package/dist/components/platform/ScriptArguments.d.ts.map +1 -1
- package/dist/components/resizable.d.ts +1 -1
- package/dist/components/toast/index.cjs.map +1 -1
- package/dist/components/ui/file-manager/index.cjs.map +1 -1
- package/dist/components/ui/index.cjs +2 -2
- package/dist/components/ui/index.cjs.map +1 -1
- package/dist/components/ui/index.js +1 -1
- package/dist/hooks/index.cjs.map +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +1 -1
- package/dist/tailwind.config.cjs +10 -7
- package/dist/tailwind.config.cjs.map +1 -1
- package/dist/tailwind.config.js +10 -7
- package/dist/tailwind.config.js.map +1 -1
- package/package.json +1 -1
- package/src/components/chat/.chat-input.md +0 -1
- package/src/components/chat/chat-container.tsx +3 -3
- package/src/components/chat/chat-input.tsx +38 -51
- package/src/components/chat/chat-message-enhanced.tsx +21 -22
- package/src/components/chat/chat-message-list.tsx +6 -6
- package/src/components/chat/chat-message-skeleton.tsx +9 -10
- package/src/components/chat/types/component.types.ts +4 -0
- package/src/components/platform/ScriptArguments.tsx +7 -6
- package/tailwind.config.ts +4 -0
- package/dist/chunk-GIQZAYY5.js.map +0 -1
- package/dist/chunk-IMDXOVYD.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../node_modules/tailwindcss/lib/util/createPlugin.js","../node_modules/tailwindcss/lib/public/create-plugin.js","../node_modules/tailwindcss/plugin.js","../tailwind.config.ts"],"names":["exports","plugin","config"],"mappings":"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","file":"tailwind.config.js","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return _default;\n }\n});\nfunction createPlugin(plugin, config) {\n return {\n handler: plugin,\n config\n };\n}\ncreatePlugin.withOptions = function(pluginFunction, configFunction = ()=>({})) {\n const optionsFunction = function(options) {\n return {\n __options: options,\n handler: pluginFunction(options),\n config: configFunction(options)\n };\n };\n optionsFunction.__isOptionsFunction = true;\n // Expose plugin dependencies so that `object-hash` returns a different\n // value if anything here changes, to ensure a rebuild is triggered.\n optionsFunction.__pluginFunction = pluginFunction;\n optionsFunction.__configFunction = configFunction;\n return optionsFunction;\n};\nconst _default = createPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return _default;\n }\n});\nconst _createPlugin = /*#__PURE__*/ _interop_require_default(require(\"../util/createPlugin\"));\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nconst _default = _createPlugin.default;\n","let createPlugin = require('./lib/public/create-plugin')\nmodule.exports = (createPlugin.__esModule ? createPlugin : { default: createPlugin }).default\n","import type { Config } from 'tailwindcss'\nimport plugin from 'tailwindcss/plugin'\nimport tailwindcssAnimate from 'tailwindcss-animate'\nimport containerQueries from '@tailwindcss/container-queries'\n\nconst odsTypographyPlugin = plugin(({ addUtilities }) => {\n addUtilities({\n '.text-h1': {\n fontFamily: 'var(--font-h1-family)',\n fontWeight: 'var(--font-h1-weight)',\n fontSize: 'var(--font-size-h1-title)',\n lineHeight: 'var(--font-line-space-h1-main-title)',\n letterSpacing: '-0.02em',\n },\n '.text-h2': {\n fontFamily: 'var(--font-h2-family)',\n fontWeight: 'var(--font-h2-weight)',\n fontSize: 'var(--font-size-h2-sub-title)',\n lineHeight: 'var(--font-line-space-h2-sub-title)',\n letterSpacing: '-0.02em',\n },\n '.text-h3': {\n fontFamily: 'var(--font-h3-family)',\n fontWeight: 'var(--font-h3-weight)',\n fontSize: 'var(--font-size-h3-body)',\n lineHeight: 'var(--font-line-space-h3-body)',\n letterSpacing: '-0.02em',\n },\n '.text-h4': {\n fontFamily: 'var(--font-h4-family)',\n fontWeight: 'var(--font-h4-weight)',\n fontSize: 'var(--font-size-h4-body)',\n lineHeight: 'var(--font-line-space-h4-body)',\n },\n '.text-h5': {\n fontFamily: 'var(--font-h5-family)',\n fontWeight: 'var(--font-h5-weight)',\n fontSize: 'var(--font-size-h5-caption)',\n lineHeight: 'var(--font-line-space-h5-caption)',\n textTransform: 'uppercase',\n letterSpacing: '-0.02em',\n },\n '.text-h6': {\n fontFamily: 'var(--font-h6-family)',\n fontWeight: 'var(--font-h6-weight)',\n fontSize: 'var(--font-size-h6-caption)',\n lineHeight: 'var(--font-line-space-h6-caption)',\n },\n })\n})\n\nconst config: Config = {\n content: [\n \"./src/**/*.{js,ts,jsx,tsx}\",\n ],\n safelist: [\n // Dynamically generated classes for table hide/show functionality\n 'hidden',\n 'md:hidden',\n 'lg:hidden',\n 'md:flex',\n 'lg:flex',\n ],\n theme: {\n container: {\n center: true,\n padding: \"2rem\",\n screens: {\n \"2xl\": \"1400px\",\n },\n },\n extend: {\n colors: {\n // Shadcn/ui base colors (keep for compatibility)\n border: \"hsl(var(--border))\",\n input: \"hsl(var(--input))\",\n ring: \"hsl(var(--ring))\",\n background: \"hsl(var(--background))\",\n foreground: \"hsl(var(--foreground))\",\n primary: {\n DEFAULT: \"hsl(var(--primary))\",\n foreground: \"hsl(var(--primary-foreground))\",\n },\n secondary: {\n DEFAULT: \"hsl(var(--secondary))\",\n foreground: \"hsl(var(--secondary-foreground))\",\n },\n destructive: {\n DEFAULT: \"hsl(var(--destructive))\",\n foreground: \"hsl(var(--destructive-foreground))\",\n },\n muted: {\n DEFAULT: \"hsl(var(--muted))\",\n foreground: \"hsl(var(--muted-foreground))\",\n },\n accent: {\n DEFAULT: \"hsl(var(--accent))\",\n foreground: \"hsl(var(--accent-foreground))\",\n },\n popover: {\n DEFAULT: \"hsl(var(--popover))\",\n foreground: \"hsl(var(--popover-foreground))\",\n },\n card: {\n DEFAULT: \"hsl(var(--card))\",\n foreground: \"hsl(var(--card-foreground))\",\n },\n\n // =================================================\n // ODS (Open Design System) COLORS\n // =================================================\n // Single nested structure: generates bg-ods-*, text-ods-*, border-ods-* utilities\n ods: {\n // Backgrounds\n bg: \"var(--color-bg)\",\n card: \"var(--color-bg-card)\",\n overlay: \"var(--color-bg-overlay)\",\n skeleton: \"var(--color-bg-skeleton)\",\n \"bg-hover\": \"var(--color-bg-hover)\",\n \"bg-active\": \"var(--color-bg-active)\",\n \"bg-surface\": \"var(--color-bg-surface)\",\n \"card-hover\": \"var(--color-bg-hover)\",\n divider: \"var(--color-divider)\",\n\n // Borders\n border: {\n DEFAULT: \"var(--color-border-default)\",\n hover: \"var(--color-border-hover)\",\n active: \"var(--color-border-active)\",\n focus: \"var(--color-border-focus)\",\n },\n\n // Text\n text: {\n primary: \"var(--color-text-primary)\",\n secondary: \"var(--color-text-secondary)\",\n tertiary: \"var(--color-text-tertiary)\",\n muted: \"var(--color-text-muted)\",\n subtle: \"var(--color-text-subtle)\",\n disabled: \"var(--color-text-disabled)\",\n \"on-accent\": \"var(--color-text-on-accent)\",\n \"on-dark\": \"var(--color-text-on-dark)\",\n },\n\n // Accent\n accent: {\n DEFAULT: \"var(--color-accent-primary)\",\n hover: \"var(--color-accent-hover)\",\n active: \"var(--color-accent-active)\",\n focus: \"var(--color-accent-focus)\",\n disabled: \"var(--color-accent-disabled)\",\n },\n\n // Status\n success: {\n DEFAULT: \"var(--color-success)\",\n hover: \"var(--color-success-hover)\",\n active: \"var(--color-success-active)\",\n secondary: \"var(--color-success-secondary)\",\n \"secondary-hover\": \"var(--color-success-secondary-hover)\",\n \"secondary-active\": \"var(--color-success-secondary-active)\",\n },\n error: {\n DEFAULT: \"var(--color-error)\",\n hover: \"var(--color-error-hover)\",\n active: \"var(--color-error-active)\",\n secondary: \"var(--color-error-secondary)\",\n \"secondary-hover\": \"var(--color-error-secondary-hover)\",\n \"secondary-active\": \"var(--color-error-secondary-active)\",\n },\n warning: {\n DEFAULT: \"var(--color-warning)\",\n hover: \"var(--color-warning-hover)\",\n active: \"var(--color-warning-active)\",\n secondary: \"var(--color-warning-secondary)\",\n \"secondary-hover\": \"var(--color-warning-secondary-hover)\",\n \"secondary-active\": \"var(--color-warning-secondary-active)\",\n },\n info: {\n DEFAULT: \"var(--color-info)\",\n hover: \"var(--color-info-hover)\",\n active: \"var(--color-info-active)\",\n },\n\n // Interactive states\n disabled: \"var(--color-disabled)\",\n focus: \"var(--color-focus-ring)\",\n \"focus-visible\": \"var(--color-focus-visible)\",\n\n // Links\n link: {\n DEFAULT: \"var(--color-link)\",\n hover: \"var(--color-link-hover)\",\n visited: \"var(--color-link-visited)\",\n },\n\n // Brand colors (theme-independent)\n flamingo: {\n pink: \"var(--ods-flamingo-pink-base)\",\n cyan: \"var(--ods-flamingo-cyan-base)\",\n },\n \"open-yellow\": \"var(--ods-open-yellow-base)\",\n\n // Adaptive platform color\n current: \"var(--ods-current)\",\n },\n },\n // Custom breakpoints (aligned with ODS responsive tokens from Figma)\n screens: {\n 'md': '800px', // Tablet: 50rem\n 'lg': '1280px', // Desktop: 80rem\n 'xl': '1440px', // Large desktop: 90rem\n },\n\n borderRadius: {\n lg: \"var(--radius)\", // 8px\n md: \"calc(var(--radius) - 2px)\", // 6px\n sm: \"calc(var(--radius) - 4px)\", // 4px\n xs: \"calc(var(--radius) - 6px)\", // 2px\n },\n\n fontFamily: {\n sans: [\"var(--font-family-body)\"],\n mono: [\"var(--font-family-heading)\"],\n body: [\"var(--font-family-body)\"],\n heading: [\"var(--font-family-heading)\"],\n },\n\n // =================================================\n // TYPOGRAPHY\n // =================================================\n fontSize: {\n // Responsive heading sizes (from ods-responsive-tokens.css)\n 'heading-1': ['var(--font-size-h1-title)', { lineHeight: 'var(--font-line-space-h1-main-title)' }],\n 'heading-2': ['var(--font-size-h2-sub-title)', { lineHeight: 'var(--font-line-space-h2-sub-title)' }],\n 'heading-3': ['var(--font-size-h3-body)', { lineHeight: 'var(--font-line-space-h3-body)' }],\n 'heading-4': ['var(--font-size-h4-body)', { lineHeight: 'var(--font-line-space-h4-body)' }],\n 'heading-5': ['var(--font-size-h5-caption)', { lineHeight: 'var(--font-line-space-h5-caption)' }],\n 'heading-6': ['var(--font-size-h6-caption)', { lineHeight: 'var(--font-line-space-h6-caption)' }],\n },\n\n // =================================================\n // SHADOWS\n // =================================================\n boxShadow: {\n 'card': 'var(--shadow-card)',\n 'card-hover': 'var(--shadow-card-hover)',\n 'modal': 'var(--shadow-modal)',\n 'dropdown': 'var(--shadow-dropdown)',\n 'tooltip': 'var(--shadow-tooltip)',\n 'focus': 'var(--shadow-focus)',\n 'accent': 'var(--shadow-accent)',\n 'accent-lg': 'var(--shadow-accent-lg)',\n },\n\n // =================================================\n // TRANSITIONS\n // =================================================\n transitionDuration: {\n 'fast': 'var(--duration-fast)',\n 'normal': 'var(--duration-normal)',\n 'slow': 'var(--duration-slow)',\n 'slower': 'var(--duration-slower)',\n },\n transitionTimingFunction: {\n 'bounce': 'var(--ease-bounce)',\n 'elastic': 'var(--ease-elastic)',\n },\n\n // =================================================\n // Z-INDEX\n // =================================================\n zIndex: {\n 'dropdown': 'var(--z-dropdown)',\n 'sticky': 'var(--z-sticky)',\n 'fixed': 'var(--z-fixed)',\n 'modal-backdrop': 'var(--z-modal-backdrop)',\n 'modal': 'var(--z-modal)',\n 'popover': 'var(--z-popover)',\n 'tooltip': 'var(--z-tooltip)',\n 'notification': 'var(--z-notification)',\n 'debug': 'var(--z-debug)',\n },\n\n // =================================================\n // ANIMATIONS\n // =================================================\n keyframes: {\n \"accordion-down\": {\n from: { height: \"0\" },\n to: { height: \"var(--radix-accordion-content-height)\" },\n },\n \"accordion-up\": {\n from: { height: \"var(--radix-accordion-content-height)\" },\n to: { height: \"0\" },\n },\n \"fade-in\": {\n from: { opacity: \"0\" },\n to: { opacity: \"1\" },\n },\n },\n animation: {\n \"accordion-down\": \"accordion-down 0.2s ease-out\",\n \"accordion-up\": \"accordion-up 0.2s ease-out\",\n \"fade-in\": \"fade-in 0.3s ease-out\",\n },\n },\n },\n plugins: [tailwindcssAnimate, odsTypographyPlugin, containerQueries],\n}\n\nexport default config\n"]}
|
|
1
|
+
{"version":3,"sources":["../node_modules/tailwindcss/lib/util/createPlugin.js","../node_modules/tailwindcss/lib/public/create-plugin.js","../node_modules/tailwindcss/plugin.js","../tailwind.config.ts"],"names":["plugin","config"],"mappings":"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","file":"tailwind.config.js","sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return _default;\n }\n});\nfunction createPlugin(plugin, config) {\n return {\n handler: plugin,\n config\n };\n}\ncreatePlugin.withOptions = function(pluginFunction, configFunction = ()=>({})) {\n const optionsFunction = function(options) {\n return {\n __options: options,\n handler: pluginFunction(options),\n config: configFunction(options)\n };\n };\n optionsFunction.__isOptionsFunction = true;\n // Expose plugin dependencies so that `object-hash` returns a different\n // value if anything here changes, to ensure a rebuild is triggered.\n optionsFunction.__pluginFunction = pluginFunction;\n optionsFunction.__configFunction = configFunction;\n return optionsFunction;\n};\nconst _default = createPlugin;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function() {\n return _default;\n }\n});\nconst _createPlugin = /*#__PURE__*/ _interop_require_default(require(\"../util/createPlugin\"));\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nconst _default = _createPlugin.default;\n","let createPlugin = require('./lib/public/create-plugin')\nmodule.exports = (createPlugin.__esModule ? createPlugin : { default: createPlugin }).default\n","import type { Config } from 'tailwindcss'\nimport plugin from 'tailwindcss/plugin'\nimport tailwindcssAnimate from 'tailwindcss-animate'\nimport containerQueries from '@tailwindcss/container-queries'\n\nconst odsTypographyPlugin = plugin(({ addUtilities }) => {\n addUtilities({\n '.text-h1': {\n fontFamily: 'var(--font-h1-family)',\n fontWeight: 'var(--font-h1-weight)',\n fontSize: 'var(--font-size-h1-title)',\n lineHeight: 'var(--font-line-space-h1-main-title)',\n letterSpacing: '-0.02em',\n },\n '.text-h2': {\n fontFamily: 'var(--font-h2-family)',\n fontWeight: 'var(--font-h2-weight)',\n fontSize: 'var(--font-size-h2-sub-title)',\n lineHeight: 'var(--font-line-space-h2-sub-title)',\n letterSpacing: '-0.02em',\n },\n '.text-h3': {\n fontFamily: 'var(--font-h3-family)',\n fontWeight: 'var(--font-h3-weight)',\n fontSize: 'var(--font-size-h3-body)',\n lineHeight: 'var(--font-line-space-h3-body)',\n letterSpacing: '-0.02em',\n },\n '.text-h4': {\n fontFamily: 'var(--font-h4-family)',\n fontWeight: 'var(--font-h4-weight)',\n fontSize: 'var(--font-size-h4-body)',\n lineHeight: 'var(--font-line-space-h4-body)',\n },\n '.text-h5': {\n fontFamily: 'var(--font-h5-family)',\n fontWeight: 'var(--font-h5-weight)',\n fontSize: 'var(--font-size-h5-caption)',\n lineHeight: 'var(--font-line-space-h5-caption)',\n textTransform: 'uppercase',\n letterSpacing: '-0.02em',\n },\n '.text-h6': {\n fontFamily: 'var(--font-h6-family)',\n fontWeight: 'var(--font-h6-weight)',\n fontSize: 'var(--font-size-h6-caption)',\n lineHeight: 'var(--font-line-space-h6-caption)',\n },\n })\n})\n\nconst config: Config = {\n content: [\n \"./src/**/*.{js,ts,jsx,tsx}\",\n ],\n safelist: [\n // Dynamically generated classes for table hide/show functionality\n 'hidden',\n 'md:hidden',\n 'lg:hidden',\n 'md:flex',\n 'lg:flex',\n ],\n theme: {\n container: {\n center: true,\n padding: \"2rem\",\n screens: {\n \"2xl\": \"1400px\",\n },\n },\n extend: {\n colors: {\n // Shadcn/ui base colors (keep for compatibility)\n border: \"hsl(var(--border))\",\n input: \"hsl(var(--input))\",\n ring: \"hsl(var(--ring))\",\n background: \"hsl(var(--background))\",\n foreground: \"hsl(var(--foreground))\",\n primary: {\n DEFAULT: \"hsl(var(--primary))\",\n foreground: \"hsl(var(--primary-foreground))\",\n },\n secondary: {\n DEFAULT: \"hsl(var(--secondary))\",\n foreground: \"hsl(var(--secondary-foreground))\",\n },\n destructive: {\n DEFAULT: \"hsl(var(--destructive))\",\n foreground: \"hsl(var(--destructive-foreground))\",\n },\n muted: {\n DEFAULT: \"hsl(var(--muted))\",\n foreground: \"hsl(var(--muted-foreground))\",\n },\n accent: {\n DEFAULT: \"hsl(var(--accent))\",\n foreground: \"hsl(var(--accent-foreground))\",\n },\n popover: {\n DEFAULT: \"hsl(var(--popover))\",\n foreground: \"hsl(var(--popover-foreground))\",\n },\n card: {\n DEFAULT: \"hsl(var(--card))\",\n foreground: \"hsl(var(--card-foreground))\",\n },\n\n // =================================================\n // ODS (Open Design System) COLORS\n // =================================================\n // Single nested structure: generates bg-ods-*, text-ods-*, border-ods-* utilities\n ods: {\n // Backgrounds\n bg: \"var(--color-bg)\",\n card: \"var(--color-bg-card)\",\n overlay: \"var(--color-bg-overlay)\",\n skeleton: \"var(--color-bg-skeleton)\",\n \"bg-hover\": \"var(--color-bg-hover)\",\n \"bg-active\": \"var(--color-bg-active)\",\n \"bg-surface\": \"var(--color-bg-surface)\",\n \"card-hover\": \"var(--color-bg-hover)\",\n divider: \"var(--color-divider)\",\n\n // Borders\n border: {\n DEFAULT: \"var(--color-border-default)\",\n hover: \"var(--color-border-hover)\",\n active: \"var(--color-border-active)\",\n focus: \"var(--color-border-focus)\",\n },\n\n // Text\n text: {\n primary: \"var(--color-text-primary)\",\n secondary: \"var(--color-text-secondary)\",\n tertiary: \"var(--color-text-tertiary)\",\n muted: \"var(--color-text-muted)\",\n subtle: \"var(--color-text-subtle)\",\n disabled: \"var(--color-text-disabled)\",\n \"on-accent\": \"var(--color-text-on-accent)\",\n \"on-dark\": \"var(--color-text-on-dark)\",\n },\n\n // Accent\n accent: {\n DEFAULT: \"var(--color-accent-primary)\",\n hover: \"var(--color-accent-hover)\",\n active: \"var(--color-accent-active)\",\n focus: \"var(--color-accent-focus)\",\n disabled: \"var(--color-accent-disabled)\",\n },\n\n // Status\n success: {\n DEFAULT: \"var(--color-success)\",\n hover: \"var(--color-success-hover)\",\n active: \"var(--color-success-active)\",\n secondary: \"var(--color-success-secondary)\",\n \"secondary-hover\": \"var(--color-success-secondary-hover)\",\n \"secondary-active\": \"var(--color-success-secondary-active)\",\n },\n error: {\n DEFAULT: \"var(--color-error)\",\n hover: \"var(--color-error-hover)\",\n active: \"var(--color-error-active)\",\n secondary: \"var(--color-error-secondary)\",\n \"secondary-hover\": \"var(--color-error-secondary-hover)\",\n \"secondary-active\": \"var(--color-error-secondary-active)\",\n },\n warning: {\n DEFAULT: \"var(--color-warning)\",\n hover: \"var(--color-warning-hover)\",\n active: \"var(--color-warning-active)\",\n secondary: \"var(--color-warning-secondary)\",\n \"secondary-hover\": \"var(--color-warning-secondary-hover)\",\n \"secondary-active\": \"var(--color-warning-secondary-active)\",\n },\n info: {\n DEFAULT: \"var(--color-info)\",\n hover: \"var(--color-info-hover)\",\n active: \"var(--color-info-active)\",\n },\n\n // Interactive states\n disabled: \"var(--color-disabled)\",\n focus: \"var(--color-focus-ring)\",\n \"focus-visible\": \"var(--color-focus-visible)\",\n\n // Links\n link: {\n DEFAULT: \"var(--color-link)\",\n hover: \"var(--color-link-hover)\",\n visited: \"var(--color-link-visited)\",\n },\n\n // Brand colors (theme-independent)\n flamingo: {\n pink: \"var(--ods-flamingo-pink-base)\",\n cyan: \"var(--ods-flamingo-cyan-base)\",\n },\n \"open-yellow\": \"var(--ods-open-yellow-base)\",\n\n // Adaptive platform color\n current: \"var(--ods-current)\",\n },\n },\n // Custom breakpoints (aligned with ODS responsive tokens from Figma)\n screens: {\n 'md': '800px', // Tablet: 50rem\n 'lg': '1280px', // Desktop: 80rem\n 'xl': '1440px', // Large desktop: 90rem\n },\n\n borderRadius: {\n lg: \"var(--radius)\", // 8px\n md: \"calc(var(--radius) - 2px)\", // 6px\n sm: \"calc(var(--radius) - 4px)\", // 4px\n xs: \"calc(var(--radius) - 6px)\", // 2px\n },\n\n maxWidth: {\n 'ods-content-narrow': '600px',\n },\n\n fontFamily: {\n sans: [\"var(--font-family-body)\"],\n mono: [\"var(--font-family-heading)\"],\n body: [\"var(--font-family-body)\"],\n heading: [\"var(--font-family-heading)\"],\n },\n\n // =================================================\n // TYPOGRAPHY\n // =================================================\n fontSize: {\n // Responsive heading sizes (from ods-responsive-tokens.css)\n 'heading-1': ['var(--font-size-h1-title)', { lineHeight: 'var(--font-line-space-h1-main-title)' }],\n 'heading-2': ['var(--font-size-h2-sub-title)', { lineHeight: 'var(--font-line-space-h2-sub-title)' }],\n 'heading-3': ['var(--font-size-h3-body)', { lineHeight: 'var(--font-line-space-h3-body)' }],\n 'heading-4': ['var(--font-size-h4-body)', { lineHeight: 'var(--font-line-space-h4-body)' }],\n 'heading-5': ['var(--font-size-h5-caption)', { lineHeight: 'var(--font-line-space-h5-caption)' }],\n 'heading-6': ['var(--font-size-h6-caption)', { lineHeight: 'var(--font-line-space-h6-caption)' }],\n },\n\n // =================================================\n // SHADOWS\n // =================================================\n boxShadow: {\n 'card': 'var(--shadow-card)',\n 'card-hover': 'var(--shadow-card-hover)',\n 'modal': 'var(--shadow-modal)',\n 'dropdown': 'var(--shadow-dropdown)',\n 'tooltip': 'var(--shadow-tooltip)',\n 'focus': 'var(--shadow-focus)',\n 'accent': 'var(--shadow-accent)',\n 'accent-lg': 'var(--shadow-accent-lg)',\n },\n\n // =================================================\n // TRANSITIONS\n // =================================================\n transitionDuration: {\n 'fast': 'var(--duration-fast)',\n 'normal': 'var(--duration-normal)',\n 'slow': 'var(--duration-slow)',\n 'slower': 'var(--duration-slower)',\n },\n transitionTimingFunction: {\n 'bounce': 'var(--ease-bounce)',\n 'elastic': 'var(--ease-elastic)',\n },\n\n // =================================================\n // Z-INDEX\n // =================================================\n zIndex: {\n 'dropdown': 'var(--z-dropdown)',\n 'sticky': 'var(--z-sticky)',\n 'fixed': 'var(--z-fixed)',\n 'modal-backdrop': 'var(--z-modal-backdrop)',\n 'modal': 'var(--z-modal)',\n 'popover': 'var(--z-popover)',\n 'tooltip': 'var(--z-tooltip)',\n 'notification': 'var(--z-notification)',\n 'debug': 'var(--z-debug)',\n },\n\n // =================================================\n // ANIMATIONS\n // =================================================\n keyframes: {\n \"accordion-down\": {\n from: { height: \"0\" },\n to: { height: \"var(--radix-accordion-content-height)\" },\n },\n \"accordion-up\": {\n from: { height: \"var(--radix-accordion-content-height)\" },\n to: { height: \"0\" },\n },\n \"fade-in\": {\n from: { opacity: \"0\" },\n to: { opacity: \"1\" },\n },\n },\n animation: {\n \"accordion-down\": \"accordion-down 0.2s ease-out\",\n \"accordion-up\": \"accordion-up 0.2s ease-out\",\n \"fade-in\": \"fade-in 0.3s ease-out\",\n },\n },\n },\n plugins: [tailwindcssAnimate, odsTypographyPlugin, containerQueries],\n}\n\nexport default config\n"]}
|
package/package.json
CHANGED
|
@@ -64,7 +64,7 @@ const ChatHeader = React.forwardRef<HTMLDivElement, ChatHeaderProps>(
|
|
|
64
64
|
<div
|
|
65
65
|
ref={ref}
|
|
66
66
|
className={cn(
|
|
67
|
-
"relative mx-auto w-full max-w-
|
|
67
|
+
"relative mx-auto w-full max-w-ods-content-narrow",
|
|
68
68
|
className
|
|
69
69
|
)}
|
|
70
70
|
{...props}
|
|
@@ -78,7 +78,7 @@ const ChatHeader = React.forwardRef<HTMLDivElement, ChatHeaderProps>(
|
|
|
78
78
|
leftIcon={<Chevron02LeftIcon size={24} className="text-ods-text-primary" />}
|
|
79
79
|
className={cn(
|
|
80
80
|
cardClasses,
|
|
81
|
-
"absolute -
|
|
81
|
+
"absolute top-0 right-full mr-[var(--spacing-system-s)] hover:bg-ods-bg-hover"
|
|
82
82
|
)}
|
|
83
83
|
/>
|
|
84
84
|
)}
|
|
@@ -187,7 +187,7 @@ const ChatFooter = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDiv
|
|
|
187
187
|
)}
|
|
188
188
|
{...props}
|
|
189
189
|
>
|
|
190
|
-
<div className="mx-auto w-full max-w-
|
|
190
|
+
<div className="mx-auto w-full max-w-ods-content-narrow">
|
|
191
191
|
{children}
|
|
192
192
|
</div>
|
|
193
193
|
</div>
|
|
@@ -28,7 +28,9 @@ const ChatInput = forwardRef<ChatInputRef, ChatInputProps>(
|
|
|
28
28
|
sending = false,
|
|
29
29
|
awaitingResponse = false,
|
|
30
30
|
placeholder = "Enter your Request...",
|
|
31
|
-
|
|
31
|
+
// Accepted for back-compat; consumed and discarded so the prop never
|
|
32
|
+
// falls through to the underlying <textarea> as an unknown DOM attr.
|
|
33
|
+
reserveAvatarOffset: _reserveAvatarOffset,
|
|
32
34
|
disabled = false,
|
|
33
35
|
autoFocus = false,
|
|
34
36
|
...inputProps
|
|
@@ -283,65 +285,50 @@ const ChatInput = forwardRef<ChatInputRef, ChatInputProps>(
|
|
|
283
285
|
}
|
|
284
286
|
}, [onStop, isStopping])
|
|
285
287
|
|
|
286
|
-
if (awaitingResponse) {
|
|
287
|
-
return (
|
|
288
|
-
<div
|
|
289
|
-
className={cn(
|
|
290
|
-
"mx-auto w-full max-w-3xl items-end gap-6",
|
|
291
|
-
reserveAvatarOffset ? "grid grid-cols-[32px_1fr]" : "grid grid-cols-[1fr]",
|
|
292
|
-
"flex-shrink-0",
|
|
293
|
-
className,
|
|
294
|
-
)}
|
|
295
|
-
>
|
|
296
|
-
{reserveAvatarOffset && <div className="invisible h-8 w-8" aria-hidden />}
|
|
297
|
-
<div className="relative flex items-center justify-center gap-2 rounded-md bg-ods-card border border-ods-border px-3 py-3 transition-colors">
|
|
298
|
-
<ChatTypingIndicator size="sm" dotClassName="bg-ods-text-primary" />
|
|
299
|
-
<p className="text-h4 text-ods-text-secondary">Waiting for Technician Response</p>
|
|
300
|
-
</div>
|
|
301
|
-
</div>
|
|
302
|
-
)
|
|
303
|
-
}
|
|
304
|
-
|
|
305
288
|
const isStopMode = sending && !!onStop
|
|
306
289
|
const sendDisabled = sending || disabled || !value.trim()
|
|
307
290
|
|
|
308
291
|
return (
|
|
309
292
|
<div
|
|
310
293
|
className={cn(
|
|
311
|
-
"mx-auto w-full max-w-
|
|
312
|
-
reserveAvatarOffset ? "grid grid-cols-[32px_1fr]" : "grid grid-cols-[1fr]",
|
|
313
|
-
"flex-shrink-0",
|
|
294
|
+
"mx-auto w-full max-w-ods-content-narrow flex-shrink-0",
|
|
314
295
|
className,
|
|
315
296
|
)}
|
|
316
297
|
>
|
|
317
|
-
{
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
298
|
+
{awaitingResponse ? (
|
|
299
|
+
<div className="relative flex items-center justify-center gap-[var(--spacing-system-xs)] rounded-md bg-ods-card border border-ods-border px-[var(--spacing-system-s)] py-[var(--spacing-system-s)] transition-colors">
|
|
300
|
+
<ChatTypingIndicator size="sm" dotClassName="bg-ods-text-primary" />
|
|
301
|
+
<p className="text-h4 text-ods-text-secondary">Waiting for Technician Response</p>
|
|
302
|
+
</div>
|
|
303
|
+
) : (
|
|
304
|
+
<div className="relative">
|
|
305
|
+
<SlashCommandSuggestions
|
|
306
|
+
commands={slashPrefix !== null ? slashSuggestions : []}
|
|
307
|
+
highlightedIdx={highlightedIdx}
|
|
308
|
+
onHover={setHighlightedIdx}
|
|
309
|
+
onSelect={acceptSuggestion}
|
|
310
|
+
resolveSourceIcon={slashCommands?.resolveSourceIcon}
|
|
311
|
+
onAction={slashCommands?.onAction}
|
|
312
|
+
/>
|
|
313
|
+
<Textarea
|
|
314
|
+
ref={textareaRef}
|
|
315
|
+
value={value}
|
|
316
|
+
onChange={handleChange}
|
|
317
|
+
onKeyDown={handleKeyDown}
|
|
318
|
+
placeholder={disabled ? "Connection lost. Waiting to reconnect..." : placeholder}
|
|
319
|
+
disabled={sending || disabled}
|
|
320
|
+
rows={1}
|
|
321
|
+
endIcon={isStopMode ? <StopCircleIcon size={20} /> : <Send01Icon size={20} />}
|
|
322
|
+
endIconAsButton
|
|
323
|
+
endIconButtonProps={{
|
|
324
|
+
onClick: isStopMode ? handleStop : handleSubmit,
|
|
325
|
+
disabled: isStopMode ? isStopping : sendDisabled,
|
|
326
|
+
'aria-label': isStopMode ? 'Stop generation' : 'Send message',
|
|
327
|
+
}}
|
|
328
|
+
{...inputProps}
|
|
329
|
+
/>
|
|
330
|
+
</div>
|
|
331
|
+
)}
|
|
345
332
|
</div>
|
|
346
333
|
)
|
|
347
334
|
},
|
|
@@ -232,11 +232,7 @@ const ChatMessageEnhanced = forwardRef<HTMLDivElement, ChatMessageEnhancedProps>
|
|
|
232
232
|
variant: "round" as const,
|
|
233
233
|
className: cn(
|
|
234
234
|
"flex-shrink-0",
|
|
235
|
-
|
|
236
|
-
? "invisible"
|
|
237
|
-
: isMingo
|
|
238
|
-
? "bg-ods-flamingo-cyan"
|
|
239
|
-
: "bg-ods-flamingo-pink"
|
|
235
|
+
isMingo ? "bg-ods-flamingo-cyan" : "bg-ods-flamingo-pink"
|
|
240
236
|
)
|
|
241
237
|
}
|
|
242
238
|
}
|
|
@@ -249,30 +245,33 @@ const ChatMessageEnhanced = forwardRef<HTMLDivElement, ChatMessageEnhancedProps>
|
|
|
249
245
|
<div
|
|
250
246
|
ref={ref}
|
|
251
247
|
className={cn(
|
|
252
|
-
"
|
|
248
|
+
"relative py-[var(--spacing-system-s)]",
|
|
253
249
|
className
|
|
254
250
|
)}
|
|
255
251
|
{...props}
|
|
256
252
|
>
|
|
257
|
-
{/*
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
253
|
+
{/* Hanging-avatar layout — Figma spec parks the avatar in the 64px
|
|
254
|
+
gutter outside the 600px content column. Only rendered for
|
|
255
|
+
assistant messages; user and system messages have no avatar. */}
|
|
256
|
+
{showAvatar && !isSystem && !isUser && (
|
|
257
|
+
<div className="absolute -left-16 top-[var(--spacing-system-s)]">
|
|
258
|
+
{assistantIcon && !avatar ? (
|
|
259
|
+
<div className="flex items-center justify-center w-12 h-12 rounded-full bg-ods-accent">
|
|
260
|
+
{assistantIcon}
|
|
261
|
+
</div>
|
|
262
|
+
) : (
|
|
263
|
+
<SquareAvatar
|
|
264
|
+
{...avatarProps}
|
|
265
|
+
className={cn(avatarProps.className, "w-12 h-12")}
|
|
266
|
+
/>
|
|
267
|
+
)}
|
|
268
|
+
</div>
|
|
270
269
|
)}
|
|
271
270
|
|
|
272
|
-
{/* Message Content */}
|
|
273
|
-
<div className="flex flex-
|
|
271
|
+
{/* Message Content - full width */}
|
|
272
|
+
<div className="flex flex-col gap-[var(--spacing-system-xxs)] min-w-0">
|
|
274
273
|
{/* Name and Timestamp Row */}
|
|
275
|
-
<div className="flex items-center justify-between gap-
|
|
274
|
+
<div className="flex items-center justify-between gap-[var(--spacing-system-xxs)]">
|
|
276
275
|
<span className={cn(
|
|
277
276
|
"text-h3 !font-mono !font-medium flex-1",
|
|
278
277
|
authorType === 'system' ? "text-ods-open-yellow" :
|
|
@@ -432,8 +432,8 @@ const ChatMessageList = forwardRef<HTMLDivElement, ChatMessageListProps>(
|
|
|
432
432
|
<div
|
|
433
433
|
ref={setContentRef}
|
|
434
434
|
className={cn(
|
|
435
|
-
"mx-auto flex w-full max-w-
|
|
436
|
-
contentClassName
|
|
435
|
+
"mx-auto flex w-full max-w-ods-content-narrow flex-col pb-[var(--spacing-system-xs)] min-w-0",
|
|
436
|
+
contentClassName ?? "px-[var(--spacing-system-m)]",
|
|
437
437
|
)}
|
|
438
438
|
style={{ minHeight: '100%' }}
|
|
439
439
|
>
|
|
@@ -470,8 +470,8 @@ const ChatMessageList = forwardRef<HTMLDivElement, ChatMessageListProps>(
|
|
|
470
470
|
{showStreamingLoader && (
|
|
471
471
|
<div
|
|
472
472
|
className={cn(
|
|
473
|
-
"mx-auto w-full max-w-
|
|
474
|
-
contentClassName
|
|
473
|
+
"mx-auto w-full max-w-ods-content-narrow flex items-center gap-[var(--spacing-system-xxs)] py-[var(--spacing-system-xs)]",
|
|
474
|
+
contentClassName ?? "px-[var(--spacing-system-m)]",
|
|
475
475
|
)}
|
|
476
476
|
style={{ color: 'var(--color-text-muted)' }}
|
|
477
477
|
role="status"
|
|
@@ -491,8 +491,8 @@ const ChatMessageList = forwardRef<HTMLDivElement, ChatMessageListProps>(
|
|
|
491
491
|
{pendingApprovals && pendingApprovals.length > 0 && (
|
|
492
492
|
<div className={cn(
|
|
493
493
|
"border-t border-ods-border bg-ods-bg/95 backdrop-blur-sm",
|
|
494
|
-
"mx-auto w-full max-w-
|
|
495
|
-
contentClassName
|
|
494
|
+
"mx-auto w-full max-w-ods-content-narrow",
|
|
495
|
+
contentClassName ?? "px-[var(--spacing-system-m)]",
|
|
496
496
|
)}>
|
|
497
497
|
<ChatMessageEnhanced
|
|
498
498
|
role="assistant"
|
|
@@ -20,25 +20,24 @@ export function ChatMessageSkeleton({
|
|
|
20
20
|
return (
|
|
21
21
|
<div
|
|
22
22
|
className={cn(
|
|
23
|
-
"
|
|
23
|
+
"relative",
|
|
24
24
|
!isUser && "bg-ods-card/50 rounded-lg px-4 -mx-4",
|
|
25
25
|
className
|
|
26
26
|
)}
|
|
27
27
|
>
|
|
28
|
-
{/* Avatar Skeleton -
|
|
29
|
-
|
|
28
|
+
{/* Avatar Skeleton - absolutely positioned outside content area to match
|
|
29
|
+
the real ChatMessageEnhanced hanging-avatar layout. */}
|
|
30
|
+
{showAvatar && !isUser && (
|
|
30
31
|
<div className={cn(
|
|
31
|
-
"
|
|
32
|
-
|
|
33
|
-
? "invisible"
|
|
34
|
-
: isMingo
|
|
32
|
+
"absolute -left-16 top-[var(--spacing-system-s)] w-12 h-12 rounded-full animate-pulse",
|
|
33
|
+
isMingo
|
|
35
34
|
? "bg-gradient-to-br from-cyan-400/30 to-cyan-600/30"
|
|
36
35
|
: "bg-gradient-to-br from-pink-400/30 to-pink-600/30"
|
|
37
36
|
)} />
|
|
38
37
|
)}
|
|
39
|
-
|
|
38
|
+
|
|
40
39
|
{/* Message Content Skeleton */}
|
|
41
|
-
<div className="flex flex-
|
|
40
|
+
<div className="flex flex-col gap-1 min-w-0">
|
|
42
41
|
{/* Name and Timestamp Row Skeleton */}
|
|
43
42
|
<div className="flex items-center justify-between pr-2">
|
|
44
43
|
<div className="h-5 w-16 bg-ods-border rounded animate-pulse" />
|
|
@@ -92,7 +91,7 @@ export function ChatMessageListSkeleton({
|
|
|
92
91
|
className
|
|
93
92
|
)}
|
|
94
93
|
>
|
|
95
|
-
<div className={cn("mx-auto flex w-full max-w-
|
|
94
|
+
<div className={cn("mx-auto flex w-full max-w-ods-content-narrow flex-col pb-[var(--spacing-system-xs)] min-w-0", contentClassName ?? "px-[var(--spacing-system-m)]")} style={{ minHeight: '100%' }}>
|
|
96
95
|
<div className="flex-1" />
|
|
97
96
|
<div className="space-y-6">
|
|
98
97
|
{messages.map((message) => (
|
|
@@ -237,6 +237,10 @@ export interface ChatInputProps extends Omit<TextareaHTMLAttributes<HTMLTextArea
|
|
|
237
237
|
onStop?: () => void | Promise<void>
|
|
238
238
|
sending?: boolean
|
|
239
239
|
awaitingResponse?: boolean
|
|
240
|
+
/**
|
|
241
|
+
* @deprecated The avatar-offset layout was removed; this prop is accepted
|
|
242
|
+
* for back-compat but silently ignored. Safe to drop from call sites.
|
|
243
|
+
*/
|
|
240
244
|
reserveAvatarOffset?: boolean
|
|
241
245
|
disabled?: boolean
|
|
242
246
|
maxRows?: number
|
|
@@ -6,12 +6,13 @@
|
|
|
6
6
|
* Includes an "Add Script Argument" button to add new entries.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import {
|
|
9
|
+
import { Trash2 } from 'lucide-react'
|
|
10
10
|
import React from 'react'
|
|
11
|
-
import { cn } from '
|
|
11
|
+
import { cn } from '@/utils'
|
|
12
12
|
import { Button } from '../ui/button'
|
|
13
13
|
import { Input } from '../ui/input'
|
|
14
14
|
import { Label } from '../ui/label'
|
|
15
|
+
import {PlusCircleIcon} from "@/components/icons-v2-generated";
|
|
15
16
|
|
|
16
17
|
/**
|
|
17
18
|
* Single script argument with key and value
|
|
@@ -156,12 +157,12 @@ export const ScriptArguments: React.FC<ScriptArgumentsProps> = ({
|
|
|
156
157
|
<div className="flex justify-start">
|
|
157
158
|
<Button
|
|
158
159
|
type="button"
|
|
159
|
-
variant="
|
|
160
|
-
|
|
160
|
+
variant="outline"
|
|
161
|
+
size="small"
|
|
161
162
|
onClick={handleAdd}
|
|
162
163
|
disabled={disabled}
|
|
163
|
-
|
|
164
|
-
|
|
164
|
+
className="self-start"
|
|
165
|
+
leftIcon={<PlusCircleIcon className="text-ods-text-secondary" />}
|
|
165
166
|
>
|
|
166
167
|
{addButtonLabel}
|
|
167
168
|
</Button>
|
package/tailwind.config.ts
CHANGED