@memberjunction/ng-conversations 5.10.1 → 5.12.0

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.
Files changed (74) hide show
  1. package/dist/lib/components/active-tasks/active-tasks-panel.component.js +2 -2
  2. package/dist/lib/components/active-tasks/active-tasks-panel.component.js.map +1 -1
  3. package/dist/lib/components/artifact/artifact-share-modal.component.js +2 -2
  4. package/dist/lib/components/attachment/image-viewer.component.js +2 -2
  5. package/dist/lib/components/collection/artifact-collection-picker-modal.component.js +4 -4
  6. package/dist/lib/components/collection/artifact-collection-picker-modal.component.js.map +1 -1
  7. package/dist/lib/components/collection/artifact-create-modal.component.js +2 -2
  8. package/dist/lib/components/collection/artifact-create-modal.component.js.map +1 -1
  9. package/dist/lib/components/collection/collection-artifact-card.component.js +2 -2
  10. package/dist/lib/components/collection/collection-artifact-card.component.js.map +1 -1
  11. package/dist/lib/components/collection/collection-form-modal.component.js +2 -2
  12. package/dist/lib/components/collection/collection-form-modal.component.js.map +1 -1
  13. package/dist/lib/components/collection/collection-share-modal.component.js +2 -2
  14. package/dist/lib/components/collection/collection-tree.component.js +2 -2
  15. package/dist/lib/components/collection/collection-tree.component.js.map +1 -1
  16. package/dist/lib/components/collection/collection-view.component.js +2 -2
  17. package/dist/lib/components/collection/collection-view.component.js.map +1 -1
  18. package/dist/lib/components/collection/collections-full-view.component.js +2 -2
  19. package/dist/lib/components/collection/collections-full-view.component.js.map +1 -1
  20. package/dist/lib/components/conversation/conversation-chat-area.component.d.ts +9 -1
  21. package/dist/lib/components/conversation/conversation-chat-area.component.d.ts.map +1 -1
  22. package/dist/lib/components/conversation/conversation-chat-area.component.js +32 -6
  23. package/dist/lib/components/conversation/conversation-chat-area.component.js.map +1 -1
  24. package/dist/lib/components/conversation/conversation-empty-state.component.d.ts +6 -0
  25. package/dist/lib/components/conversation/conversation-empty-state.component.d.ts.map +1 -1
  26. package/dist/lib/components/conversation/conversation-empty-state.component.js +26 -5
  27. package/dist/lib/components/conversation/conversation-empty-state.component.js.map +1 -1
  28. package/dist/lib/components/conversation/conversation-list.component.js +2 -2
  29. package/dist/lib/components/conversation/conversation-list.component.js.map +1 -1
  30. package/dist/lib/components/export/export-modal.component.d.ts.map +1 -1
  31. package/dist/lib/components/export/export-modal.component.js +3 -3
  32. package/dist/lib/components/export/export-modal.component.js.map +1 -1
  33. package/dist/lib/components/global-tasks/global-tasks-panel.component.js +2 -2
  34. package/dist/lib/components/global-tasks/global-tasks-panel.component.js.map +1 -1
  35. package/dist/lib/components/mention/mention-dropdown.component.js +2 -2
  36. package/dist/lib/components/mention/mention-editor.component.js +2 -2
  37. package/dist/lib/components/message/actionable-commands.component.js +2 -2
  38. package/dist/lib/components/message/conversation-message-rating.component.js +2 -2
  39. package/dist/lib/components/message/conversation-message-rating.component.js.map +1 -1
  40. package/dist/lib/components/message/message-input-box.component.js +2 -2
  41. package/dist/lib/components/message/message-input.component.js +2 -2
  42. package/dist/lib/components/message/message-item.component.d.ts +5 -4
  43. package/dist/lib/components/message/message-item.component.d.ts.map +1 -1
  44. package/dist/lib/components/message/message-item.component.js +33 -123
  45. package/dist/lib/components/message/message-item.component.js.map +1 -1
  46. package/dist/lib/components/message/message-list.component.js +2 -2
  47. package/dist/lib/components/message/suggested-responses.component.js +2 -2
  48. package/dist/lib/components/search/search-panel.component.js +2 -2
  49. package/dist/lib/components/sidebar/conversation-sidebar.component.js +2 -2
  50. package/dist/lib/components/sidebar/conversation-sidebar.component.js.map +1 -1
  51. package/dist/lib/components/task/tasks-full-view.component.js +2 -2
  52. package/dist/lib/components/task/tasks-full-view.component.js.map +1 -1
  53. package/dist/lib/components/tasks/task-widget.component.js +2 -2
  54. package/dist/lib/components/tasks/task-widget.component.js.map +1 -1
  55. package/dist/lib/components/tasks/tasks-dropdown.component.d.ts.map +1 -1
  56. package/dist/lib/components/tasks/tasks-dropdown.component.js +3 -3
  57. package/dist/lib/components/tasks/tasks-dropdown.component.js.map +1 -1
  58. package/dist/lib/components/thread/thread-panel.component.js +2 -2
  59. package/dist/lib/components/toast/toast.component.js +2 -2
  60. package/dist/lib/components/toast/toast.component.js.map +1 -1
  61. package/dist/lib/components/workspace/conversation-workspace.component.js +2 -2
  62. package/dist/lib/conversations.module.d.ts +61 -62
  63. package/dist/lib/conversations.module.d.ts.map +1 -1
  64. package/dist/lib/conversations.module.js +4 -8
  65. package/dist/lib/conversations.module.js.map +1 -1
  66. package/package.json +18 -17
  67. package/dist/lib/components/message/agent-response-form.component.d.ts +0 -90
  68. package/dist/lib/components/message/agent-response-form.component.d.ts.map +0 -1
  69. package/dist/lib/components/message/agent-response-form.component.js +0 -435
  70. package/dist/lib/components/message/agent-response-form.component.js.map +0 -1
  71. package/dist/lib/components/message/form-question.component.d.ts +0 -105
  72. package/dist/lib/components/message/form-question.component.d.ts.map +0 -1
  73. package/dist/lib/components/message/form-question.component.js +0 -638
  74. package/dist/lib/components/message/form-question.component.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"form-question.component.js","sourceRoot":"","sources":["../../../../src/lib/components/message/form-question.component.ts","../../../../src/lib/components/message/form-question.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, forwardRef, OnInit } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, FormControl } from '@angular/forms';\nimport { FormQuestion, FormOption } from '@memberjunction/ai-core-plus';\n\n/**\n * Component for rendering individual form questions with various input types\n * Implements ControlValueAccessor for seamless integration with Angular forms\n */\n@Component({\n standalone: false,\n selector: 'mj-form-question',\n templateUrl: './form-question.component.html',\n styleUrls: ['./form-question.component.css'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FormQuestionComponent),\n multi: true\n }\n ]\n})\nexport class FormQuestionComponent implements ControlValueAccessor, OnInit {\n @Input() question!: FormQuestion;\n @Input() control!: FormControl;\n\n public value: any = null;\n public disabled: boolean = false;\n\n private onChange: (value: any) => void = () => {};\n private onTouched: () => void = () => {};\n\n ngOnInit(): void {\n // Debug logging for dropdown issues\n if (this.questionType === 'dropdown') {\n console.log('[FormQuestion] Dropdown initialized:', {\n questionId: this.question.id,\n hasControl: !!this.control,\n controlValue: this.control?.value,\n options: this.options,\n value: this.value\n });\n }\n }\n\n /**\n * Get the question type (handles both simple string and complex types)\n */\n public get questionType(): string {\n return typeof this.question.type === 'string'\n ? this.question.type\n : this.question.type.type;\n }\n\n /**\n * Check if this is a choice-based question (buttongroup, radio, dropdown, checkbox)\n */\n public get isChoiceQuestion(): boolean {\n const type = this.questionType;\n return ['buttongroup', 'radio', 'dropdown', 'checkbox'].includes(type);\n }\n\n /**\n * Get options for choice questions\n */\n public get options(): FormOption[] {\n if (typeof this.question.type === 'object' && 'options' in this.question.type) {\n return this.question.type.options;\n }\n return [];\n }\n\n /**\n * Check if multiple selections are allowed (for checkbox type)\n */\n public get allowMultiple(): boolean {\n return this.questionType === 'checkbox' ||\n (typeof this.question.type === 'object' && 'multiple' in this.question.type && !!this.question.type.multiple);\n }\n\n /**\n * Get CSS class for field width based on widthHint or intelligent defaults\n */\n public get widthClass(): string {\n // If explicit widthHint provided, use it\n if (this.question.widthHint) {\n return `width-${this.question.widthHint}`;\n }\n\n // Otherwise, apply intelligent defaults based on question type\n const type = this.questionType;\n\n // Narrow fields\n if (['number', 'currency', 'date', 'datetime', 'time'].includes(type)) {\n return 'width-narrow';\n }\n\n // Wide fields for choice-based controls (need space for multiple options)\n if (['buttongroup', 'radio', 'checkbox'].includes(type)) {\n return 'width-wide';\n }\n\n // Auto-width for dropdowns\n if (type === 'dropdown') {\n return 'width-auto';\n }\n\n // Full-width fields\n if (type === 'textarea') {\n return 'width-full';\n }\n\n // Wide fields\n if (type === 'email') {\n return 'width-wide';\n }\n\n // Default to medium for text and other types\n return 'width-medium';\n }\n\n /**\n * Get placeholder text for text inputs\n */\n public get placeholder(): string | undefined {\n if (typeof this.question.type === 'object' && 'placeholder' in this.question.type) {\n return this.question.type.placeholder as string;\n }\n return undefined;\n }\n\n /**\n * Get min value for number/currency inputs\n */\n public get min(): number | undefined {\n if (typeof this.question.type === 'object' && 'min' in this.question.type) {\n return this.question.type.min as number;\n }\n return undefined;\n }\n\n /**\n * Get max value for number/currency inputs\n */\n public get max(): number | undefined {\n if (typeof this.question.type === 'object' && 'max' in this.question.type) {\n return this.question.type.max as number;\n }\n return undefined;\n }\n\n /**\n * Get step value for number/currency inputs\n */\n public get step(): number | undefined {\n if (typeof this.question.type === 'object' && 'step' in this.question.type) {\n return this.question.type.step as number;\n }\n return undefined;\n }\n\n /**\n * Get prefix for currency inputs\n */\n public get prefix(): string | undefined {\n if (typeof this.question.type === 'object' && 'prefix' in this.question.type) {\n return this.question.type.prefix as string;\n }\n return undefined;\n }\n\n /**\n * Get suffix for currency inputs\n */\n public get suffix(): string | undefined {\n if (typeof this.question.type === 'object' && 'suffix' in this.question.type) {\n return this.question.type.suffix as string;\n }\n return undefined;\n }\n\n /**\n * Handle value changes\n */\n public onValueChange(newValue: any): void {\n this.value = newValue;\n this.onChange(newValue);\n this.onTouched();\n }\n\n /**\n * Handle checkbox toggle for multiple selection\n */\n public toggleCheckbox(option: FormOption): void {\n if (!this.allowMultiple) {\n // Single selection mode\n this.onValueChange(option.value);\n } else {\n // Multiple selection mode\n const currentValues = Array.isArray(this.value) ? this.value : [];\n const index = currentValues.indexOf(option.value);\n\n let newValues: any[];\n if (index > -1) {\n // Remove if already selected\n newValues = currentValues.filter((v: any) => v !== option.value);\n } else {\n // Add if not selected\n newValues = [...currentValues, option.value];\n }\n\n this.onValueChange(newValues);\n }\n }\n\n /**\n * Check if a checkbox option is selected\n */\n public isChecked(option: FormOption): boolean {\n if (!this.allowMultiple) {\n return this.value === option.value;\n } else {\n return Array.isArray(this.value) && this.value.includes(option.value);\n }\n }\n\n // ControlValueAccessor implementation\n writeValue(value: any): void {\n this.value = value;\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /**\n * Debug handler for dropdown changes\n */\n public onDropdownChange(value: any): void {\n console.log('[FormQuestion] Dropdown value changed:', {\n questionId: this.question.id,\n newValue: value,\n controlValue: this.control?.value,\n optionsCount: this.options.length\n });\n }\n\n /**\n * Get slider configuration\n */\n public getSliderConfig(): { min: number; max: number; step?: number; suffix?: string } {\n if (typeof this.question.type === 'object' && this.question.type.type === 'slider') {\n return {\n min: this.question.type.min,\n max: this.question.type.max,\n step: this.question.type.step,\n suffix: this.question.type.suffix\n };\n }\n return { min: 0, max: 100, step: 1 };\n }\n\n /**\n * Handle date range start date change\n */\n public onDateRangeStartChange(value: Date): void {\n const current = this.value || {};\n this.onValueChange({ ...current, start: value });\n }\n\n /**\n * Handle date range end date change\n */\n public onDateRangeEndChange(value: Date): void {\n const current = this.value || {};\n this.onValueChange({ ...current, end: value });\n }\n\n /**\n * Track by function for options list\n */\n public trackByValue(index: number, option: FormOption): any {\n return option.value;\n }\n}\n","<div class=\"form-question\" [class.required]=\"question.required\">\n <!-- Label -->\n @if (question.label) {\n <label class=\"question-label\">\n {{ question.label }}\n @if (question.required) {\n <span class=\"required-indicator\">*</span>\n }\n </label>\n }\n\n <!-- Help Text -->\n @if (question.helpText) {\n <div class=\"help-text\">\n {{ question.helpText }}\n </div>\n }\n\n <!-- Input Container with width class -->\n <div class=\"input-container\" [ngClass]=\"widthClass\">\n\n <!-- Text Input -->\n @if (questionType === 'text') {\n <input\n type=\"text\"\n kendoTextBox\n [value]=\"value || ''\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange($any($event.target).value)\"\n class=\"question-input\"\n />\n }\n\n <!-- Email Input -->\n @if (questionType === 'email') {\n <input\n type=\"email\"\n kendoTextBox\n [value]=\"value || ''\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange($any($event.target).value)\"\n class=\"question-input\"\n />\n }\n\n <!-- Textarea -->\n @if (questionType === 'textarea') {\n <textarea\n kendoTextArea\n [value]=\"value || ''\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n (input)=\"onValueChange($any($event.target).value)\"\n class=\"question-textarea\"\n rows=\"5\"\n ></textarea>\n }\n\n <!-- Number Input -->\n @if (questionType === 'number') {\n <kendo-numerictextbox\n [value]=\"value\"\n [min]=\"min || 0\"\n [max]=\"max || 999999999\"\n [step]=\"step || 1\"\n [disabled]=\"disabled\"\n (valueChange)=\"onValueChange($event)\"\n class=\"question-input\"\n ></kendo-numerictextbox>\n }\n\n <!-- Currency Input -->\n @if (questionType === 'currency') {\n <kendo-numerictextbox\n [value]=\"value\"\n [min]=\"min || 0\"\n [max]=\"max || 999999999\"\n [step]=\"step || 0.01\"\n [format]=\"'c2'\"\n [disabled]=\"disabled\"\n (valueChange)=\"onValueChange($event)\"\n class=\"question-input\"\n ></kendo-numerictextbox>\n }\n\n <!-- Date Picker -->\n @if (questionType === 'date') {\n <kendo-datepicker\n [value]=\"value\"\n [disabled]=\"disabled\"\n (valueChange)=\"onValueChange($event)\"\n class=\"question-input\"\n ></kendo-datepicker>\n }\n\n <!-- DateTime Picker -->\n @if (questionType === 'datetime') {\n <kendo-datetimepicker\n [value]=\"value\"\n [disabled]=\"disabled\"\n (valueChange)=\"onValueChange($event)\"\n class=\"question-input\"\n ></kendo-datetimepicker>\n }\n\n <!-- Button Group -->\n @if (questionType === 'buttongroup') {\n <kendo-buttongroup\n [selection]=\"'single'\"\n class=\"question-buttongroup\"\n >\n @for (option of options; track trackByValue($index, option)) {\n <button\n kendoButton\n [toggleable]=\"true\"\n [selected]=\"value === option.value\"\n [disabled]=\"disabled\"\n (click)=\"onValueChange(option.value)\"\n class=\"buttongroup-option\"\n >\n @if (option.icon) {\n <i class=\"fa {{ option.icon }}\" aria-hidden=\"true\"></i>\n }\n {{ option.label }}\n </button>\n }\n </kendo-buttongroup>\n }\n\n <!-- Radio Buttons -->\n @if (questionType === 'radio') {\n <div class=\"question-radio-group\">\n @for (option of options; track trackByValue($index, option)) {\n <div class=\"radio-option\">\n <input\n type=\"radio\"\n kendoRadioButton\n [name]=\"question.id\"\n [value]=\"option.value\"\n [checked]=\"value === option.value\"\n [disabled]=\"disabled\"\n (change)=\"onValueChange(option.value)\"\n [id]=\"question.id + '_' + option.value\"\n />\n <label [for]=\"question.id + '_' + option.value\" class=\"radio-label\">\n @if (option.icon) {\n <i class=\"fa {{ option.icon }}\" aria-hidden=\"true\"></i>\n }\n {{ option.label }}\n </label>\n </div>\n }\n </div>\n }\n\n <!-- Dropdown -->\n @if (questionType === 'dropdown') {\n <select\n [formControl]=\"control\"\n [disabled]=\"disabled\"\n class=\"question-dropdown\"\n >\n <option value=\"\">Select an option...</option>\n @for (option of options; track trackByValue($index, option)) {\n <option [value]=\"option.value\">\n {{ option.label }}\n </option>\n }\n </select>\n }\n\n <!-- Slider -->\n @if (questionType === 'slider') {\n <div class=\"question-slider-container\">\n <kendo-slider\n [min]=\"getSliderConfig().min\"\n [max]=\"getSliderConfig().max\"\n [smallStep]=\"getSliderConfig().step || 1\"\n [value]=\"value || getSliderConfig().min\"\n [disabled]=\"disabled\"\n (valueChange)=\"onValueChange($event)\"\n class=\"question-slider\"\n ></kendo-slider>\n <div class=\"slider-value\">\n {{ value || getSliderConfig().min }}{{ getSliderConfig().suffix || '' }}\n </div>\n </div>\n }\n\n <!-- Date Range -->\n @if (questionType === 'daterange') {\n <div class=\"question-daterange\">\n <kendo-datepicker\n [value]=\"value?.start\"\n [disabled]=\"disabled\"\n (valueChange)=\"onDateRangeStartChange($event)\"\n placeholder=\"Start Date\"\n class=\"daterange-start\"\n ></kendo-datepicker>\n <span class=\"daterange-separator\">to</span>\n <kendo-datepicker\n [value]=\"value?.end\"\n [disabled]=\"disabled\"\n (valueChange)=\"onDateRangeEndChange($event)\"\n placeholder=\"End Date\"\n class=\"daterange-end\"\n ></kendo-datepicker>\n </div>\n }\n\n <!-- Time Picker -->\n @if (questionType === 'time') {\n <kendo-timepicker\n [value]=\"value\"\n [disabled]=\"disabled\"\n (valueChange)=\"onValueChange($event)\"\n [format]=\"'h:mm a'\"\n class=\"question-input\"\n ></kendo-timepicker>\n }\n\n <!-- Checkboxes -->\n @if (questionType === 'checkbox') {\n <div class=\"question-checkbox-group\">\n @for (option of options; track trackByValue($index, option)) {\n <div class=\"checkbox-option\">\n <input\n type=\"checkbox\"\n kendoCheckBox\n [checked]=\"isChecked(option)\"\n [disabled]=\"disabled\"\n (change)=\"toggleCheckbox(option)\"\n [id]=\"question.id + '_' + option.value\"\n />\n <label [for]=\"question.id + '_' + option.value\" class=\"checkbox-label\">\n @if (option.icon) {\n <i class=\"fa {{ option.icon }}\" aria-hidden=\"true\"></i>\n }\n {{ option.label }}\n </label>\n </div>\n }\n </div>\n }\n </div><!-- end input-container -->\n\n <!-- Validation Error -->\n @if (control.invalid && control.touched) {\n <div class=\"validation-error\">\n @if (control.errors?.['required']) {\n <span>This field is required</span>\n }\n @if (control.errors?.['email']) {\n <span>Please enter a valid email address</span>\n }\n @if (control.errors?.['min']) {\n <span>Value must be at least {{ min }}</span>\n }\n @if (control.errors?.['max']) {\n <span>Value must be at most {{ max }}</span>\n }\n </div>\n }\n</div>\n"]}