@flamingo-stack/openframe-frontend-core 0.0.196 → 0.0.198
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-E6AWU7EI.cjs → chunk-332L6IO7.cjs} +97 -104
- package/dist/chunk-332L6IO7.cjs.map +1 -0
- package/dist/chunk-4CWSZPXH.cjs.map +1 -1
- package/dist/{chunk-BXPH5SOL.js → chunk-5URU5DHE.js} +98 -105
- 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 +7 -14
- 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/board/ticket-card-skeleton.d.ts.map +1 -1
- package/dist/components/features/board/ticket-card.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/features/board/ticket-card-skeleton.tsx +16 -4
- package/src/components/features/board/ticket-card.tsx +6 -4
- package/src/components/platform/ScriptArguments.tsx +7 -6
- package/tailwind.config.ts +4 -0
- package/dist/chunk-BXPH5SOL.js.map +0 -1
- package/dist/chunk-E6AWU7EI.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":["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":["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 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
|
|
@@ -17,11 +17,23 @@ export const TicketCardSkeleton = React.forwardRef<HTMLDivElement, TicketCardSke
|
|
|
17
17
|
{...props}
|
|
18
18
|
>
|
|
19
19
|
<div className="flex items-start gap-[var(--spacing-system-sf)]">
|
|
20
|
-
<div className="flex flex-1 flex-col gap-[var(--spacing-system-
|
|
21
|
-
<
|
|
22
|
-
|
|
20
|
+
<div className="flex min-w-0 flex-1 flex-col gap-[var(--spacing-system-xxs)]">
|
|
21
|
+
<div className="text-h3 flex items-center">
|
|
22
|
+
<Skeleton className="h-4 w-3/4" />
|
|
23
|
+
</div>
|
|
24
|
+
<div className="text-h6 flex items-center gap-[var(--spacing-system-xxs)]">
|
|
25
|
+
<Skeleton className="size-4 shrink-0 rounded-sm" />
|
|
26
|
+
<Skeleton className="h-3 w-1/2" />
|
|
27
|
+
</div>
|
|
23
28
|
</div>
|
|
24
|
-
<
|
|
29
|
+
<div className="flex shrink-0 items-center gap-[var(--spacing-system-xsf)]">
|
|
30
|
+
<Skeleton className="size-4 rounded-sm" />
|
|
31
|
+
<Skeleton className="size-8 rounded-full" />
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
<div className="flex h-8 items-center gap-[var(--spacing-system-xxs)]">
|
|
35
|
+
<Skeleton className="h-8 w-16 rounded-md" />
|
|
36
|
+
<Skeleton className="h-8 w-12 rounded-md" />
|
|
25
37
|
</div>
|
|
26
38
|
</div>
|
|
27
39
|
),
|
|
@@ -99,7 +99,7 @@ export function TicketCard({
|
|
|
99
99
|
const body = (
|
|
100
100
|
<>
|
|
101
101
|
<div className="flex items-start gap-[var(--spacing-system-sf)]">
|
|
102
|
-
<div className="flex min-w-0 flex-1 flex-col gap-[var(--spacing-system-
|
|
102
|
+
<div className="flex min-w-0 flex-1 flex-col gap-[var(--spacing-system-zero)]">
|
|
103
103
|
<p className="text-h3 truncate text-ods-text-primary">{ticket.title}</p>
|
|
104
104
|
{showDeviceRow && (
|
|
105
105
|
<div className="flex min-w-0 items-center gap-[var(--spacing-system-xxs)] text-h6 text-ods-text-secondary">
|
|
@@ -129,10 +129,12 @@ export function TicketCard({
|
|
|
129
129
|
...(isOverlay ? {} : sortable.listeners),
|
|
130
130
|
}
|
|
131
131
|
|
|
132
|
+
const innerWrapperClass = 'relative z-10 flex flex-col gap-[var(--spacing-system-sf)]'
|
|
133
|
+
|
|
132
134
|
if (isOverlay) {
|
|
133
135
|
return (
|
|
134
136
|
<div {...outerProps}>
|
|
135
|
-
<div className=
|
|
137
|
+
<div className={innerWrapperClass}>{body}</div>
|
|
136
138
|
</div>
|
|
137
139
|
)
|
|
138
140
|
}
|
|
@@ -148,7 +150,7 @@ export function TicketCard({
|
|
|
148
150
|
aria-label={ticket.title}
|
|
149
151
|
className="absolute inset-0 z-0 rounded-md focus-visible:outline-none"
|
|
150
152
|
/>
|
|
151
|
-
<div className=
|
|
153
|
+
<div className={cn('pointer-events-none', innerWrapperClass)}>{body}</div>
|
|
152
154
|
</div>
|
|
153
155
|
)
|
|
154
156
|
}
|
|
@@ -161,7 +163,7 @@ export function TicketCard({
|
|
|
161
163
|
aria-label={ticket.title}
|
|
162
164
|
className="absolute inset-0 z-0 cursor-pointer rounded-md focus-visible:outline-none"
|
|
163
165
|
/>
|
|
164
|
-
<div className=
|
|
166
|
+
<div className={cn('pointer-events-none', innerWrapperClass)}>{body}</div>
|
|
165
167
|
</div>
|
|
166
168
|
)
|
|
167
169
|
}
|
|
@@ -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