@shival99/z-ui 1.9.21 → 1.9.23

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 (32) hide show
  1. package/fesm2022/shival99-z-ui-components-z-accordion.mjs +1 -1
  2. package/fesm2022/shival99-z-ui-components-z-accordion.mjs.map +1 -1
  3. package/fesm2022/shival99-z-ui-components-z-calendar.mjs +106 -247
  4. package/fesm2022/shival99-z-ui-components-z-calendar.mjs.map +1 -1
  5. package/fesm2022/shival99-z-ui-components-z-editor.mjs +5 -0
  6. package/fesm2022/shival99-z-ui-components-z-editor.mjs.map +1 -1
  7. package/fesm2022/shival99-z-ui-components-z-gallery.mjs +109 -6
  8. package/fesm2022/shival99-z-ui-components-z-gallery.mjs.map +1 -1
  9. package/fesm2022/shival99-z-ui-components-z-input.mjs +5 -0
  10. package/fesm2022/shival99-z-ui-components-z-input.mjs.map +1 -1
  11. package/fesm2022/shival99-z-ui-components-z-menu.mjs +318 -2
  12. package/fesm2022/shival99-z-ui-components-z-menu.mjs.map +1 -1
  13. package/fesm2022/shival99-z-ui-components-z-select.mjs +5 -0
  14. package/fesm2022/shival99-z-ui-components-z-select.mjs.map +1 -1
  15. package/fesm2022/shival99-z-ui-components-z-tabs.mjs +15 -10
  16. package/fesm2022/shival99-z-ui-components-z-tabs.mjs.map +1 -1
  17. package/fesm2022/shival99-z-ui-components-z-tags.mjs +36 -9
  18. package/fesm2022/shival99-z-ui-components-z-tags.mjs.map +1 -1
  19. package/fesm2022/shival99-z-ui-components-z-upload.mjs +5 -0
  20. package/fesm2022/shival99-z-ui-components-z-upload.mjs.map +1 -1
  21. package/fesm2022/shival99-z-ui-i18n.mjs +8 -0
  22. package/fesm2022/shival99-z-ui-i18n.mjs.map +1 -1
  23. package/package.json +2 -2
  24. package/types/shival99-z-ui-components-z-calendar.d.ts +11 -1
  25. package/types/shival99-z-ui-components-z-editor.d.ts +8 -1
  26. package/types/shival99-z-ui-components-z-gallery.d.ts +38 -3
  27. package/types/shival99-z-ui-components-z-input.d.ts +8 -1
  28. package/types/shival99-z-ui-components-z-menu.d.ts +67 -2
  29. package/types/shival99-z-ui-components-z-select.d.ts +8 -1
  30. package/types/shival99-z-ui-components-z-tabs.d.ts +3 -2
  31. package/types/shival99-z-ui-components-z-tags.d.ts +11 -1
  32. package/types/shival99-z-ui-components-z-upload.d.ts +8 -0
@@ -1 +1 @@
1
- {"version":3,"file":"shival99-z-ui-i18n.mjs","sources":["../../../../libs/core-ui/i18n/types/i18n.types.ts","../../../../libs/core-ui/i18n/en.ts","../../../../libs/core-ui/i18n/vi.ts","../../../../libs/core-ui/i18n/i18n.ts","../../../../libs/core-ui/i18n/index.ts","../../../../libs/core-ui/i18n/shival99-z-ui-i18n.ts"],"sourcesContent":["/**\n * Z-UI Internationalization Types\n */\n\nexport type ZUILanguage = 'en' | 'vi' | string;\n\nexport interface ZUITranslations {\n [key: string]: string;\n}\n\nexport interface ZUITranslationSet {\n en: ZUITranslations;\n vi: ZUITranslations;\n [lang: string]: ZUITranslations;\n}\n","export const Z_UI_EN_TRANSLATIONS: Record<string, string> = {\n // Table\n i18n_z_ui_table_filter_min: 'Min',\n i18n_z_ui_table_filter_max: 'Max',\n i18n_z_ui_table_filter_all: 'All',\n i18n_z_ui_table_filter_search: 'Search...',\n i18n_z_ui_table_filter_date: 'Select date',\n i18n_z_ui_table_filter_date_range: 'Select date range',\n i18n_z_ui_table_no_data: 'No data available',\n i18n_z_ui_table_no_results: 'No results found',\n i18n_z_ui_table_loading: 'Loading...',\n i18n_z_ui_table_search: 'Search...',\n i18n_z_ui_table_settings: 'Settings',\n i18n_z_ui_table_columns: 'Columns',\n i18n_z_ui_table_show_all: 'Show all',\n i18n_z_ui_table_hide_all: 'Hide all',\n i18n_z_ui_table_move_left: 'Move left',\n i18n_z_ui_table_move_right: 'Move right',\n i18n_z_ui_table_pin_left: 'Pin left',\n i18n_z_ui_table_pin_right: 'Pin right',\n i18n_z_ui_table_pin_top: 'Pin top',\n i18n_z_ui_table_pin_bottom: 'Pin bottom',\n i18n_z_ui_table_unpin: 'Unpin',\n i18n_z_ui_table_sort_asc: 'Sort ascending',\n i18n_z_ui_table_sort_desc: 'Sort descending',\n i18n_z_ui_table_clear_sort: 'Clear sort',\n i18n_z_ui_table_filter: 'Filter',\n i18n_z_ui_table_clear_filter: 'Clear filter',\n i18n_z_ui_table_rows_per_page: 'Rows per page',\n i18n_z_ui_table_total_rows: '{{total}} total rows',\n i18n_z_ui_table_of: 'of',\n i18n_z_ui_table_selected: 'selected',\n i18n_z_ui_table_expand_all: 'Expand all',\n i18n_z_ui_table_collapse_all: 'Collapse all',\n i18n_z_ui_table_settings_title: 'Table Settings',\n i18n_z_ui_table_display_settings: 'Display Settings',\n i18n_z_ui_table_display_settings_desc: 'Customize table appearance',\n i18n_z_ui_table_horizontal_border: 'Horizontal Border',\n i18n_z_ui_table_vertical_border: 'Vertical Border',\n i18n_z_ui_table_header_footer_shadow: 'Header/Footer Shadow',\n i18n_z_ui_table_column_settings: 'Column Settings',\n i18n_z_ui_table_column_settings_desc: 'Toggle visibility, drag to reorder, and pin columns',\n i18n_z_ui_table_pinned_columns: 'Pinned Columns',\n i18n_z_ui_table_left: 'LEFT',\n i18n_z_ui_table_right: 'RIGHT',\n\n // Kanban\n i18n_z_ui_kanban_board_title: 'High-Performance Team',\n i18n_z_ui_kanban_board_subtitle: 'Sprint planning board with drag & drop workflow',\n i18n_z_ui_kanban_search_placeholder: 'Search tasks...',\n i18n_z_ui_kanban_drag_disabled_while_search: 'Drag is disabled while search is active',\n i18n_z_ui_kanban_drop_here: 'Drop task here',\n i18n_z_ui_kanban_no_matches: 'No tasks match this search',\n i18n_z_ui_kanban_done: 'Done',\n i18n_z_ui_kanban_editor_title: 'Task Editor',\n i18n_z_ui_kanban_title: 'Title',\n i18n_z_ui_kanban_title_placeholder: 'Write a concise task title',\n i18n_z_ui_kanban_description: 'Description',\n i18n_z_ui_kanban_description_placeholder: 'Add implementation details, constraints, and notes...',\n i18n_z_ui_kanban_checklist: 'Checklist',\n i18n_z_ui_kanban_no_checklist_items: 'No checklist items yet',\n i18n_z_ui_kanban_checklist_add_placeholder: 'Add checklist item',\n i18n_z_ui_kanban_status: 'Status',\n i18n_z_ui_kanban_status_placeholder: 'Select status',\n i18n_z_ui_kanban_priority: 'Priority',\n i18n_z_ui_kanban_priority_placeholder: 'Select priority',\n i18n_z_ui_kanban_assignees: 'Assignees',\n i18n_z_ui_kanban_assignees_placeholder: 'Comma separated names',\n i18n_z_ui_kanban_assignees_select_placeholder: 'Select or type assignees',\n i18n_z_ui_kanban_start_date: 'Start date',\n i18n_z_ui_kanban_end_date: 'End date',\n i18n_z_ui_kanban_due_date: 'Due date',\n i18n_z_ui_kanban_attachments: 'Attachments',\n i18n_z_ui_kanban_attachments_note: 'Upload documents, images, or references',\n i18n_z_ui_kanban_activity: 'Activity',\n i18n_z_ui_kanban_no_activity: 'No activity yet',\n i18n_z_ui_kanban_add_comment: 'Add comment',\n i18n_z_ui_kanban_comment_placeholder: 'Write an update for this task...',\n i18n_z_ui_kanban_comment_submit: 'Post update',\n i18n_z_ui_kanban_new_task_title: 'Untitled task',\n i18n_z_ui_kanban_activity_you: 'You',\n i18n_z_ui_kanban_priority_risk: 'Risk',\n i18n_z_ui_kanban_priority_high: 'High',\n i18n_z_ui_kanban_priority_medium: 'Medium',\n i18n_z_ui_kanban_priority_low: 'Low',\n i18n_z_ui_kanban_column_todo: 'To Do',\n i18n_z_ui_kanban_column_in_progress: 'In Progress',\n i18n_z_ui_kanban_column_review: 'Review',\n i18n_z_ui_kanban_column_done: 'Done',\n\n // Calendar\n i18n_z_ui_calendar_today: 'Today',\n i18n_z_ui_calendar_clear: 'Clear',\n i18n_z_ui_calendar_ok: 'OK',\n i18n_z_ui_calendar_cancel: 'Cancel',\n i18n_z_ui_calendar_start_date: 'Start date',\n i18n_z_ui_calendar_end_date: 'End date',\n i18n_z_ui_calendar_select_date: 'Select date',\n i18n_z_ui_calendar_select_time: 'Select time',\n i18n_z_ui_calendar_this_week: 'This week',\n i18n_z_ui_calendar_last_week: 'Last week',\n i18n_z_ui_calendar_this_month: 'This month',\n i18n_z_ui_calendar_last_month: 'Last month',\n i18n_z_ui_calendar_last_7_days: 'Last 7 days',\n i18n_z_ui_calendar_last_14_days: 'Last 14 days',\n i18n_z_ui_calendar_last_30_days: 'Last 30 days',\n i18n_z_ui_calendar_last_1_month: 'Last 1 month',\n i18n_z_ui_calendar_last_2_months: 'Last 2 months',\n i18n_z_ui_calendar_last_3_months: 'Last 3 months',\n i18n_z_ui_calendar_last_6_months: 'Last 6 months',\n i18n_z_ui_calendar_last_90_days: 'Last 90 days',\n i18n_z_ui_calendar_this_year: 'This year',\n i18n_z_ui_calendar_last_year: 'Last year',\n i18n_z_ui_calendar_this_quarter: 'This quarter',\n i18n_z_ui_calendar_custom: 'Custom',\n i18n_z_ui_calendar_now: 'Now',\n i18n_z_ui_calendar_required: 'Please select a date',\n i18n_z_ui_calendar_start: 'Start',\n i18n_z_ui_calendar_end: 'End',\n i18n_z_ui_calendar_time: 'Time',\n\n // Editor\n i18n_z_ui_editor_placeholder: 'Enter content...',\n i18n_z_ui_editor_required: 'This field is required',\n i18n_z_ui_editor_min_length: 'Minimum {{min}} characters',\n i18n_z_ui_editor_max_length: 'Maximum {{max}} characters',\n i18n_z_ui_editor_invalid: 'Invalid value',\n\n // Checkbox\n i18n_z_ui_checkbox_check_all: 'Check All',\n\n // Code\n i18n_z_ui_code_copied: 'Code copied!',\n\n // Input\n i18n_z_ui_input_required: 'This field is required',\n i18n_z_ui_input_min_length: 'Minimum {{min}} characters',\n i18n_z_ui_input_max_length: 'Maximum {{max}} characters',\n i18n_z_ui_input_email: 'Invalid email format',\n i18n_z_ui_input_pattern: 'Invalid format',\n i18n_z_ui_input_min: 'Minimum value is {{min}}',\n i18n_z_ui_input_max: 'Maximum value is {{max}}',\n\n // Select\n i18n_z_ui_select_placeholder: 'Select...',\n i18n_z_ui_select_no_options: 'No options available',\n i18n_z_ui_select_no_results: 'No results found',\n i18n_z_ui_select_loading: 'Loading...',\n i18n_z_ui_select_select_all: 'Select all',\n i18n_z_ui_select_clear_all: 'Clear all',\n i18n_z_ui_select_selected: '{{count}} selected',\n i18n_z_ui_select_search: 'Search...',\n i18n_z_ui_select_required: 'Please select a value',\n\n // Modal\n i18n_z_ui_modal_close: 'Close',\n i18n_z_ui_modal_confirm: 'Confirm',\n i18n_z_ui_modal_cancel: 'Cancel',\n\n // Drawer\n i18n_z_ui_drawer_close: 'Close',\n\n // Upload\n i18n_z_ui_upload_drag_drop: 'Drag files here',\n i18n_z_ui_upload_drop_here: 'Drop files here',\n i18n_z_ui_upload_or: 'or',\n i18n_z_ui_upload_browse: 'browse',\n i18n_z_ui_upload_uploading: 'Uploading...',\n i18n_z_ui_upload_uploaded: 'Uploaded',\n i18n_z_ui_upload_failed: 'Upload failed',\n i18n_z_ui_upload_remove: 'Remove',\n i18n_z_ui_upload_max_size: 'File size exceeds {{size}} limit',\n i18n_z_ui_upload_max_files: 'Maximum {{count}} files allowed',\n i18n_z_ui_upload_invalid_type: 'File type not allowed',\n i18n_z_ui_upload_accepted: 'Accepted',\n i18n_z_ui_upload_required: 'Please select a file',\n\n // Pagination\n i18n_z_ui_pagination_first: 'First',\n i18n_z_ui_pagination_last: 'Last',\n i18n_z_ui_pagination_next: 'Next',\n i18n_z_ui_pagination_previous: 'Previous',\n i18n_z_ui_pagination_page: 'Page',\n i18n_z_ui_pagination_of: 'of',\n i18n_z_ui_pagination_total_label: 'Total {{total}} items',\n i18n_z_ui_pagination_per_page: '/ page',\n i18n_z_ui_pagination_go_to: 'Go to',\n\n // Common\n i18n_z_ui_common_select: 'Select value...',\n i18n_z_ui_common_loading: 'Loading...',\n i18n_z_ui_common_save: 'Save',\n i18n_z_ui_common_cancel: 'Cancel',\n i18n_z_ui_common_confirm: 'Confirm',\n i18n_z_ui_common_delete: 'Delete',\n i18n_z_ui_common_edit: 'Edit',\n i18n_z_ui_common_add: 'Add',\n i18n_z_ui_common_search: 'Search',\n i18n_z_ui_common_clear: 'Clear',\n i18n_z_ui_common_reset: 'Reset',\n i18n_z_ui_common_apply: 'Apply',\n i18n_z_ui_common_yes: 'Yes',\n i18n_z_ui_common_no: 'No',\n i18n_z_ui_common_ok: 'OK',\n i18n_z_ui_common_error: 'Error',\n i18n_z_ui_common_success: 'Success',\n i18n_z_ui_common_warning: 'Warning',\n i18n_z_ui_common_info: 'Info',\n\n // Toast\n i18n_z_ui_toast_close: 'Close',\n\n // Tags\n i18n_z_ui_tags_add: 'Add',\n i18n_z_ui_tags_placeholder: 'New tag',\n\n // Empty\n i18n_z_ui_empty_no_data: 'No data available',\n i18n_z_ui_empty_no_results: 'No results found',\n i18n_z_ui_empty_error_message: 'Something went wrong',\n i18n_z_ui_empty_error_description: 'An error occurred while loading data. Please try again later.',\n\n // Steps\n i18n_z_ui_steps_title: 'Steps',\n\n // Chat AI\n i18n_z_ui_chat_ai_title: 'AI Assistant',\n i18n_z_ui_chat_ai_subtitle: 'How can I help you today?',\n i18n_z_ui_chat_ai_placeholder: 'Type a message...',\n i18n_z_ui_chat_ai_send: 'Send message',\n i18n_z_ui_chat_ai_attach: 'Attach file',\n i18n_z_ui_chat_ai_close: 'Close chat',\n i18n_z_ui_chat_ai_toggle: 'Toggle chat',\n i18n_z_ui_chat_ai_typing: 'Typing...',\n i18n_z_ui_chat_ai_new_chat: 'Start new chat',\n i18n_z_ui_chat_ai_empty_title: 'Ask me anything',\n i18n_z_ui_chat_ai_empty_desc: 'Use quick prompts below or type your own message.',\n i18n_z_ui_chat_ai_suggestion_1: 'Create release notes from recent commits',\n i18n_z_ui_chat_ai_suggestion_2: 'Suggest test cases for a new feature',\n i18n_z_ui_chat_ai_suggestion_3: 'Generate a concise PR summary',\n\n // HTTP\n i18n_z_ui_http_network_offline: 'Network is offline',\n i18n_z_ui_http_error_default: 'An error occurred',\n i18n_z_ui_http_error_failed_to_fetch: 'Failed to connect to {{url}}',\n i18n_z_ui_http_error_400: 'Bad request',\n i18n_z_ui_http_error_401_permission: 'You do not have permission',\n i18n_z_ui_http_error_401_expired: 'Session expired',\n i18n_z_ui_http_error_403: 'Access forbidden',\n i18n_z_ui_http_error_404: 'Resource not found',\n i18n_z_ui_http_error_500: 'Internal server error',\n\n // Autocomplete\n i18n_z_ui_autocomplete_no_data: 'No data available',\n i18n_z_ui_autocomplete_no_results: 'No results found',\n\n // Gallery\n i18n_z_ui_gallery_search_placeholder: 'Search files...',\n i18n_z_ui_gallery_no_files: 'No files',\n i18n_z_ui_gallery_no_search_results: 'No files match your search',\n i18n_z_ui_gallery_preview: 'Preview',\n i18n_z_ui_gallery_download: 'Download',\n i18n_z_ui_gallery_remove: 'Remove',\n i18n_z_ui_gallery_delete: 'Delete',\n i18n_z_ui_gallery_rotate_left: 'Rotate left',\n i18n_z_ui_gallery_rotate_right: 'Rotate right',\n i18n_z_ui_gallery_preview_not_supported: 'Preview not supported for this file type',\n i18n_z_ui_gallery_select_all: 'Select all',\n i18n_z_ui_gallery_selected: 'selected',\n i18n_z_ui_gallery_deselect_all: 'Deselect all',\n};\n","export const Z_UI_VI_TRANSLATIONS: Record<string, string> = {\n // Table\n i18n_z_ui_table_filter_min: 'Tối thiểu',\n i18n_z_ui_table_filter_max: 'Tối đa',\n i18n_z_ui_table_filter_all: 'Tất cả',\n i18n_z_ui_table_filter_search: 'Tìm kiếm...',\n i18n_z_ui_table_filter_date: 'Chọn ngày',\n i18n_z_ui_table_filter_date_range: 'Chọn khoảng ngày',\n i18n_z_ui_table_no_data: 'Không có dữ liệu',\n i18n_z_ui_table_no_results: 'Không tìm thấy kết quả',\n i18n_z_ui_table_loading: 'Đang tải...',\n i18n_z_ui_table_search: 'Tìm kiếm...',\n i18n_z_ui_table_settings: 'Cài đặt',\n i18n_z_ui_table_columns: 'Cột',\n i18n_z_ui_table_show_all: 'Hiện tất cả',\n i18n_z_ui_table_hide_all: 'Ẩn tất cả',\n i18n_z_ui_table_move_left: 'Di chuyển trái',\n i18n_z_ui_table_move_right: 'Di chuyển phải',\n i18n_z_ui_table_pin_left: 'Ghim trái',\n i18n_z_ui_table_pin_right: 'Ghim phải',\n i18n_z_ui_table_pin_top: 'Ghim lên đầu',\n i18n_z_ui_table_pin_bottom: 'Ghim xuống cuối',\n i18n_z_ui_table_unpin: 'Bỏ ghim',\n i18n_z_ui_table_sort_asc: 'Sắp xếp tăng dần',\n i18n_z_ui_table_sort_desc: 'Sắp xếp giảm dần',\n i18n_z_ui_table_clear_sort: 'Bỏ sắp xếp',\n i18n_z_ui_table_filter: 'Lọc',\n i18n_z_ui_table_clear_filter: 'Xóa bộ lọc',\n i18n_z_ui_table_rows_per_page: 'Số dòng mỗi trang',\n i18n_z_ui_table_total_rows: '{{total}} tổng số dòng',\n i18n_z_ui_table_of: 'của',\n i18n_z_ui_table_selected: 'đã chọn',\n i18n_z_ui_table_expand_all: 'Mở rộng tất cả',\n i18n_z_ui_table_collapse_all: 'Thu gọn tất cả',\n i18n_z_ui_table_settings_title: 'Cài đặt bảng',\n i18n_z_ui_table_display_settings: 'Cài đặt hiển thị',\n i18n_z_ui_table_display_settings_desc: 'Tùy chỉnh giao diện bảng',\n i18n_z_ui_table_horizontal_border: 'Viền ngang',\n i18n_z_ui_table_vertical_border: 'Viền dọc',\n i18n_z_ui_table_header_footer_shadow: 'Đổ bóng Header/Footer',\n i18n_z_ui_table_column_settings: 'Cài đặt cột',\n i18n_z_ui_table_column_settings_desc: 'Bật/tắt hiển thị, kéo thả để sắp xếp, và ghim cột',\n i18n_z_ui_table_pinned_columns: 'Cột đã ghim',\n i18n_z_ui_table_left: 'TRÁI',\n i18n_z_ui_table_right: 'PHẢI',\n\n // Kanban\n i18n_z_ui_kanban_board_title: 'Đội Hiệu Suất Cao',\n i18n_z_ui_kanban_board_subtitle: 'Bảng sprint với workflow kéo thả',\n i18n_z_ui_kanban_search_placeholder: 'Tìm kiếm công việc...',\n i18n_z_ui_kanban_drag_disabled_while_search: 'Tạm tắt kéo thả khi đang tìm kiếm',\n i18n_z_ui_kanban_drop_here: 'Thả công việc vào đây',\n i18n_z_ui_kanban_no_matches: 'Không có công việc khớp với tìm kiếm',\n i18n_z_ui_kanban_done: 'Hoàn thành',\n i18n_z_ui_kanban_editor_title: 'Chỉnh sửa công việc',\n i18n_z_ui_kanban_title: 'Tiêu đề',\n i18n_z_ui_kanban_title_placeholder: 'Nhập tiêu đề ngắn gọn cho công việc',\n i18n_z_ui_kanban_description: 'Mô tả',\n i18n_z_ui_kanban_description_placeholder: 'Thêm chi tiết triển khai, ràng buộc và ghi chú...',\n i18n_z_ui_kanban_checklist: 'Checklist',\n i18n_z_ui_kanban_no_checklist_items: 'Chưa có mục checklist',\n i18n_z_ui_kanban_checklist_add_placeholder: 'Thêm mục checklist',\n i18n_z_ui_kanban_status: 'Trạng thái',\n i18n_z_ui_kanban_status_placeholder: 'Chọn trạng thái',\n i18n_z_ui_kanban_priority: 'Mức độ ưu tiên',\n i18n_z_ui_kanban_priority_placeholder: 'Chọn mức ưu tiên',\n i18n_z_ui_kanban_assignees: 'Người phụ trách',\n i18n_z_ui_kanban_assignees_placeholder: 'Tên cách nhau bởi dấu phẩy',\n i18n_z_ui_kanban_assignees_select_placeholder: 'Chọn hoặc nhập người phụ trách',\n i18n_z_ui_kanban_start_date: 'Ngày bắt đầu',\n i18n_z_ui_kanban_end_date: 'Ngày kết thúc',\n i18n_z_ui_kanban_due_date: 'Hạn hoàn thành',\n i18n_z_ui_kanban_attachments: 'Tệp đính kèm',\n i18n_z_ui_kanban_attachments_note: 'Tải tài liệu, hình ảnh hoặc tài liệu tham chiếu',\n i18n_z_ui_kanban_activity: 'Hoạt động',\n i18n_z_ui_kanban_no_activity: 'Chưa có hoạt động',\n i18n_z_ui_kanban_add_comment: 'Thêm bình luận',\n i18n_z_ui_kanban_comment_placeholder: 'Viết cập nhật cho công việc này...',\n i18n_z_ui_kanban_comment_submit: 'Gửi cập nhật',\n i18n_z_ui_kanban_new_task_title: 'Công việc chưa đặt tên',\n i18n_z_ui_kanban_activity_you: 'Bạn',\n i18n_z_ui_kanban_priority_risk: 'Rủi ro',\n i18n_z_ui_kanban_priority_high: 'Cao',\n i18n_z_ui_kanban_priority_medium: 'Trung bình',\n i18n_z_ui_kanban_priority_low: 'Thấp',\n i18n_z_ui_kanban_column_todo: 'Cần làm',\n i18n_z_ui_kanban_column_in_progress: 'Đang làm',\n i18n_z_ui_kanban_column_review: 'Đang review',\n i18n_z_ui_kanban_column_done: 'Đã xong',\n\n // Calendar\n i18n_z_ui_calendar_today: 'Hôm nay',\n i18n_z_ui_calendar_clear: 'Xóa',\n i18n_z_ui_calendar_ok: 'Đồng ý',\n i18n_z_ui_calendar_cancel: 'Hủy',\n i18n_z_ui_calendar_start_date: 'Từ ngày',\n i18n_z_ui_calendar_end_date: 'Đến ngày',\n i18n_z_ui_calendar_select_date: 'Chọn ngày',\n i18n_z_ui_calendar_select_time: 'Chọn giờ',\n i18n_z_ui_calendar_this_week: 'Tuần này',\n i18n_z_ui_calendar_last_week: 'Tuần trước',\n i18n_z_ui_calendar_this_month: 'Tháng này',\n i18n_z_ui_calendar_last_month: 'Tháng trước',\n i18n_z_ui_calendar_last_7_days: '7 ngày qua',\n i18n_z_ui_calendar_last_14_days: '14 ngày qua',\n i18n_z_ui_calendar_last_30_days: '30 ngày qua',\n i18n_z_ui_calendar_last_1_month: '1 tháng qua',\n i18n_z_ui_calendar_last_2_months: '2 tháng qua',\n i18n_z_ui_calendar_last_3_months: '3 tháng qua',\n i18n_z_ui_calendar_last_6_months: '6 tháng qua',\n i18n_z_ui_calendar_last_90_days: '90 ngày qua',\n i18n_z_ui_calendar_custom: 'Tùy chỉnh',\n i18n_z_ui_calendar_this_year: 'Năm nay',\n i18n_z_ui_calendar_last_year: 'Năm trước',\n i18n_z_ui_calendar_this_quarter: 'Quý này',\n i18n_z_ui_calendar_now: 'Bây giờ',\n i18n_z_ui_calendar_required: 'Vui lòng chọn ngày',\n i18n_z_ui_calendar_start: 'Bắt đầu',\n i18n_z_ui_calendar_end: 'Kết thúc',\n i18n_z_ui_calendar_time: 'Giờ',\n\n // Editor\n i18n_z_ui_editor_placeholder: 'Nhập nội dung...',\n i18n_z_ui_editor_required: 'Trường này là bắt buộc',\n i18n_z_ui_editor_min_length: 'Tối thiểu {{min}} ký tự',\n i18n_z_ui_editor_max_length: 'Tối đa {{max}} ký tự',\n i18n_z_ui_editor_invalid: 'Giá trị không hợp lệ',\n\n // Checkbox\n i18n_z_ui_checkbox_check_all: 'Chọn tất cả',\n\n // Code\n i18n_z_ui_code_copied: 'Đã sao chép code!',\n\n // Input\n i18n_z_ui_input_required: 'Trường này là bắt buộc',\n i18n_z_ui_input_min_length: 'Tối thiểu {{min}} ký tự',\n i18n_z_ui_input_max_length: 'Tối đa {{max}} ký tự',\n i18n_z_ui_input_email: 'Định dạng email không hợp lệ',\n i18n_z_ui_input_pattern: 'Định dạng không hợp lệ',\n i18n_z_ui_input_min: 'Giá trị tối thiểu là {{min}}',\n i18n_z_ui_input_max: 'Giá trị tối đa là {{max}}',\n\n // Select\n i18n_z_ui_select_placeholder: 'Chọn...',\n i18n_z_ui_select_no_options: 'Không có tùy chọn',\n i18n_z_ui_select_no_results: 'Không tìm thấy kết quả',\n i18n_z_ui_select_loading: 'Đang tải...',\n i18n_z_ui_select_select_all: 'Chọn tất cả',\n i18n_z_ui_select_clear_all: 'Bỏ chọn tất cả',\n i18n_z_ui_select_selected: 'Đã chọn {{count}}',\n i18n_z_ui_select_search: 'Tìm kiếm...',\n i18n_z_ui_select_required: 'Vui lòng chọn giá trị',\n\n // Modal\n i18n_z_ui_modal_close: 'Đóng',\n i18n_z_ui_modal_confirm: 'Xác nhận',\n i18n_z_ui_modal_cancel: 'Hủy',\n\n // Drawer\n i18n_z_ui_drawer_close: 'Đóng',\n\n // Upload\n i18n_z_ui_upload_drag_drop: 'Kéo file vào đây',\n i18n_z_ui_upload_drop_here: 'Thả file vào đây',\n i18n_z_ui_upload_or: 'hoặc',\n i18n_z_ui_upload_browse: 'chọn file',\n i18n_z_ui_upload_uploading: 'Đang tải lên...',\n i18n_z_ui_upload_uploaded: 'Đã tải lên',\n i18n_z_ui_upload_failed: 'Tải lên thất bại',\n i18n_z_ui_upload_remove: 'Xóa',\n i18n_z_ui_upload_max_size: 'Kích thước file vượt quá {{size}}',\n i18n_z_ui_upload_max_files: 'Tối đa {{count}} file được phép',\n i18n_z_ui_upload_invalid_type: 'Loại file không được phép',\n i18n_z_ui_upload_accepted: 'Chấp nhận',\n i18n_z_ui_upload_required: 'Vui lòng chọn file',\n\n // Pagination\n i18n_z_ui_pagination_first: 'Đầu',\n i18n_z_ui_pagination_last: 'Cuối',\n i18n_z_ui_pagination_next: 'Tiếp',\n i18n_z_ui_pagination_previous: 'Trước',\n i18n_z_ui_pagination_page: 'Trang',\n i18n_z_ui_pagination_of: 'của',\n i18n_z_ui_pagination_total_label: 'Tổng {{total}} mục',\n i18n_z_ui_pagination_per_page: '/ trang',\n i18n_z_ui_pagination_go_to: 'Đến trang',\n\n // Common\n i18n_z_ui_common_select: 'Chọn giá trị...',\n i18n_z_ui_common_loading: 'Đang tải...',\n i18n_z_ui_common_save: 'Lưu',\n i18n_z_ui_common_cancel: 'Hủy',\n i18n_z_ui_common_confirm: 'Xác nhận',\n i18n_z_ui_common_delete: 'Xóa',\n i18n_z_ui_common_edit: 'Sửa',\n i18n_z_ui_common_add: 'Thêm',\n i18n_z_ui_common_search: 'Tìm kiếm',\n i18n_z_ui_common_clear: 'Xóa',\n i18n_z_ui_common_reset: 'Đặt lại',\n i18n_z_ui_common_apply: 'Áp dụng',\n i18n_z_ui_common_yes: 'Có',\n i18n_z_ui_common_no: 'Không',\n i18n_z_ui_common_ok: 'OK',\n i18n_z_ui_common_error: 'Lỗi',\n i18n_z_ui_common_success: 'Thành công',\n i18n_z_ui_common_warning: 'Cảnh báo',\n i18n_z_ui_common_info: 'Thông tin',\n\n // Toast\n i18n_z_ui_toast_close: 'Đóng',\n\n // Tags\n i18n_z_ui_tags_add: 'Thêm',\n i18n_z_ui_tags_placeholder: 'Tag mới',\n\n // Empty\n i18n_z_ui_empty_no_data: 'Không có dữ liệu',\n i18n_z_ui_empty_no_results: 'Không tìm thấy kết quả',\n i18n_z_ui_empty_error_message: 'Đã xảy ra lỗi',\n i18n_z_ui_empty_error_description: 'Có lỗi xảy ra khi tải dữ liệu. Vui lòng thử lại sau.',\n\n // Steps\n i18n_z_ui_steps_title: 'Các bước',\n\n // Chat AI\n i18n_z_ui_chat_ai_title: 'Trợ lý AI',\n i18n_z_ui_chat_ai_subtitle: 'Tôi có thể giúp gì cho bạn?',\n i18n_z_ui_chat_ai_placeholder: 'Nhập tin nhắn...',\n i18n_z_ui_chat_ai_send: 'Gửi tin nhắn',\n i18n_z_ui_chat_ai_attach: 'Đính kèm file',\n i18n_z_ui_chat_ai_close: 'Đóng chat',\n i18n_z_ui_chat_ai_toggle: 'Bật/tắt chat',\n i18n_z_ui_chat_ai_typing: 'Đang nhập...',\n i18n_z_ui_chat_ai_new_chat: 'Bắt đầu chat mới',\n i18n_z_ui_chat_ai_empty_title: 'Hỏi tôi bất cứ điều gì',\n i18n_z_ui_chat_ai_empty_desc: 'Dùng gợi ý nhanh bên dưới hoặc nhập câu hỏi của bạn.',\n i18n_z_ui_chat_ai_suggestion_1: 'Tạo release notes từ commit gần đây',\n i18n_z_ui_chat_ai_suggestion_2: 'Gợi ý test case cho tính năng mới',\n i18n_z_ui_chat_ai_suggestion_3: 'Tạo tóm tắt PR ngắn gọn',\n\n // HTTP\n i18n_z_ui_http_network_offline: 'Không có kết nối mạng',\n i18n_z_ui_http_error_default: 'Đã xảy ra lỗi',\n i18n_z_ui_http_error_failed_to_fetch: 'Không thể kết nối đến {{url}}',\n i18n_z_ui_http_error_400: 'Yêu cầu không hợp lệ',\n i18n_z_ui_http_error_401_permission: 'Bạn không có quyền truy cập',\n i18n_z_ui_http_error_401_expired: 'Phiên đăng nhập đã hết hạn',\n i18n_z_ui_http_error_403: 'Truy cập bị từ chối',\n i18n_z_ui_http_error_404: 'Không tìm thấy tài nguyên',\n i18n_z_ui_http_error_500: 'Lỗi máy chủ nội bộ',\n\n // Autocomplete\n i18n_z_ui_autocomplete_no_data: 'Chưa có dữ liệu',\n i18n_z_ui_autocomplete_no_results: 'Không tìm thấy kết quả',\n\n // Gallery\n i18n_z_ui_gallery_search_placeholder: 'Tìm kiếm tệp...',\n i18n_z_ui_gallery_no_files: 'Không có tệp',\n i18n_z_ui_gallery_no_search_results: 'Không tìm thấy tệp phù hợp',\n i18n_z_ui_gallery_preview: 'Xem trước',\n i18n_z_ui_gallery_download: 'Tải xuống',\n i18n_z_ui_gallery_remove: 'Xóa',\n i18n_z_ui_gallery_delete: 'Xóa',\n i18n_z_ui_gallery_rotate_left: 'Xoay trái',\n i18n_z_ui_gallery_rotate_right: 'Xoay phải',\n i18n_z_ui_gallery_preview_not_supported: 'Không hỗ trợ xem trước loại tệp này',\n i18n_z_ui_gallery_select_all: 'Chọn tất cả',\n i18n_z_ui_gallery_selected: 'đã chọn',\n i18n_z_ui_gallery_deselect_all: 'Bỏ chọn tất cả',\n};\n","/**\n * Z-UI Internationalization\n *\n * This module provides default translations for all Z-UI components.\n * Users can override any translation by providing their own values.\n *\n * Key format: i18n_z_ui_{component}_{key}\n * Example: i18n_z_ui_table_noData\n */\n\nimport { Z_UI_EN_TRANSLATIONS } from './en';\nimport { type ZUILanguage, type ZUITranslations, type ZUITranslationSet } from './types';\nimport { Z_UI_VI_TRANSLATIONS } from './vi';\n\nexport const Z_UI_TRANSLATIONS: ZUITranslationSet = {\n en: Z_UI_EN_TRANSLATIONS,\n vi: Z_UI_VI_TRANSLATIONS,\n};\n\nexport function getZUITranslations(lang: ZUILanguage): ZUITranslations {\n return Z_UI_TRANSLATIONS[lang] ?? Z_UI_TRANSLATIONS['en'];\n}\n\nexport function mergeTranslations(lang: ZUILanguage, customTranslations?: ZUITranslations): ZUITranslations {\n const defaults = getZUITranslations(lang);\n if (!customTranslations) {\n return defaults;\n }\n return { ...defaults, ...customTranslations };\n}\n\nexport function getZUITranslationKeys(): string[] {\n return Object.keys(Z_UI_EN_TRANSLATIONS);\n}\n","// Types\nexport * from './types';\n\n// Translations\nexport { Z_UI_EN_TRANSLATIONS } from './en';\nexport { Z_UI_VI_TRANSLATIONS } from './vi';\n\n// Functions and constants\nexport { Z_UI_TRANSLATIONS, getZUITranslations, mergeTranslations, getZUITranslationKeys } from './i18n';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shival99-z-ui-i18n.mjs","sources":["../../../../libs/core-ui/i18n/types/i18n.types.ts","../../../../libs/core-ui/i18n/en.ts","../../../../libs/core-ui/i18n/vi.ts","../../../../libs/core-ui/i18n/i18n.ts","../../../../libs/core-ui/i18n/index.ts","../../../../libs/core-ui/i18n/shival99-z-ui-i18n.ts"],"sourcesContent":["/**\n * Z-UI Internationalization Types\n */\n\nexport type ZUILanguage = 'en' | 'vi' | string;\n\nexport interface ZUITranslations {\n [key: string]: string;\n}\n\nexport interface ZUITranslationSet {\n en: ZUITranslations;\n vi: ZUITranslations;\n [lang: string]: ZUITranslations;\n}\n","export const Z_UI_EN_TRANSLATIONS: Record<string, string> = {\n // Table\n i18n_z_ui_table_filter_min: 'Min',\n i18n_z_ui_table_filter_max: 'Max',\n i18n_z_ui_table_filter_all: 'All',\n i18n_z_ui_table_filter_search: 'Search...',\n i18n_z_ui_table_filter_date: 'Select date',\n i18n_z_ui_table_filter_date_range: 'Select date range',\n i18n_z_ui_table_no_data: 'No data available',\n i18n_z_ui_table_no_results: 'No results found',\n i18n_z_ui_table_loading: 'Loading...',\n i18n_z_ui_table_search: 'Search...',\n i18n_z_ui_table_settings: 'Settings',\n i18n_z_ui_table_columns: 'Columns',\n i18n_z_ui_table_show_all: 'Show all',\n i18n_z_ui_table_hide_all: 'Hide all',\n i18n_z_ui_table_move_left: 'Move left',\n i18n_z_ui_table_move_right: 'Move right',\n i18n_z_ui_table_pin_left: 'Pin left',\n i18n_z_ui_table_pin_right: 'Pin right',\n i18n_z_ui_table_pin_top: 'Pin top',\n i18n_z_ui_table_pin_bottom: 'Pin bottom',\n i18n_z_ui_table_unpin: 'Unpin',\n i18n_z_ui_table_sort_asc: 'Sort ascending',\n i18n_z_ui_table_sort_desc: 'Sort descending',\n i18n_z_ui_table_clear_sort: 'Clear sort',\n i18n_z_ui_table_filter: 'Filter',\n i18n_z_ui_table_clear_filter: 'Clear filter',\n i18n_z_ui_table_rows_per_page: 'Rows per page',\n i18n_z_ui_table_total_rows: '{{total}} total rows',\n i18n_z_ui_table_of: 'of',\n i18n_z_ui_table_selected: 'selected',\n i18n_z_ui_table_expand_all: 'Expand all',\n i18n_z_ui_table_collapse_all: 'Collapse all',\n i18n_z_ui_table_settings_title: 'Table Settings',\n i18n_z_ui_table_display_settings: 'Display Settings',\n i18n_z_ui_table_display_settings_desc: 'Customize table appearance',\n i18n_z_ui_table_horizontal_border: 'Horizontal Border',\n i18n_z_ui_table_vertical_border: 'Vertical Border',\n i18n_z_ui_table_header_footer_shadow: 'Header/Footer Shadow',\n i18n_z_ui_table_column_settings: 'Column Settings',\n i18n_z_ui_table_column_settings_desc: 'Toggle visibility, drag to reorder, and pin columns',\n i18n_z_ui_table_pinned_columns: 'Pinned Columns',\n i18n_z_ui_table_left: 'LEFT',\n i18n_z_ui_table_right: 'RIGHT',\n\n // Menu\n i18n_z_ui_menu_navigation: 'Navigation',\n i18n_z_ui_menu_expand_sidebar: 'Expand sidebar',\n i18n_z_ui_menu_collapse_sidebar: 'Collapse sidebar',\n\n // Kanban\n i18n_z_ui_kanban_board_title: 'High-Performance Team',\n i18n_z_ui_kanban_board_subtitle: 'Sprint planning board with drag & drop workflow',\n i18n_z_ui_kanban_search_placeholder: 'Search tasks...',\n i18n_z_ui_kanban_drag_disabled_while_search: 'Drag is disabled while search is active',\n i18n_z_ui_kanban_drop_here: 'Drop task here',\n i18n_z_ui_kanban_no_matches: 'No tasks match this search',\n i18n_z_ui_kanban_done: 'Done',\n i18n_z_ui_kanban_editor_title: 'Task Editor',\n i18n_z_ui_kanban_title: 'Title',\n i18n_z_ui_kanban_title_placeholder: 'Write a concise task title',\n i18n_z_ui_kanban_description: 'Description',\n i18n_z_ui_kanban_description_placeholder: 'Add implementation details, constraints, and notes...',\n i18n_z_ui_kanban_checklist: 'Checklist',\n i18n_z_ui_kanban_no_checklist_items: 'No checklist items yet',\n i18n_z_ui_kanban_checklist_add_placeholder: 'Add checklist item',\n i18n_z_ui_kanban_status: 'Status',\n i18n_z_ui_kanban_status_placeholder: 'Select status',\n i18n_z_ui_kanban_priority: 'Priority',\n i18n_z_ui_kanban_priority_placeholder: 'Select priority',\n i18n_z_ui_kanban_assignees: 'Assignees',\n i18n_z_ui_kanban_assignees_placeholder: 'Comma separated names',\n i18n_z_ui_kanban_assignees_select_placeholder: 'Select or type assignees',\n i18n_z_ui_kanban_start_date: 'Start date',\n i18n_z_ui_kanban_end_date: 'End date',\n i18n_z_ui_kanban_due_date: 'Due date',\n i18n_z_ui_kanban_attachments: 'Attachments',\n i18n_z_ui_kanban_attachments_note: 'Upload documents, images, or references',\n i18n_z_ui_kanban_activity: 'Activity',\n i18n_z_ui_kanban_no_activity: 'No activity yet',\n i18n_z_ui_kanban_add_comment: 'Add comment',\n i18n_z_ui_kanban_comment_placeholder: 'Write an update for this task...',\n i18n_z_ui_kanban_comment_submit: 'Post update',\n i18n_z_ui_kanban_new_task_title: 'Untitled task',\n i18n_z_ui_kanban_activity_you: 'You',\n i18n_z_ui_kanban_priority_risk: 'Risk',\n i18n_z_ui_kanban_priority_high: 'High',\n i18n_z_ui_kanban_priority_medium: 'Medium',\n i18n_z_ui_kanban_priority_low: 'Low',\n i18n_z_ui_kanban_column_todo: 'To Do',\n i18n_z_ui_kanban_column_in_progress: 'In Progress',\n i18n_z_ui_kanban_column_review: 'Review',\n i18n_z_ui_kanban_column_done: 'Done',\n\n // Calendar\n i18n_z_ui_calendar_today: 'Today',\n i18n_z_ui_calendar_clear: 'Clear',\n i18n_z_ui_calendar_ok: 'OK',\n i18n_z_ui_calendar_cancel: 'Cancel',\n i18n_z_ui_calendar_start_date: 'Start date',\n i18n_z_ui_calendar_end_date: 'End date',\n i18n_z_ui_calendar_select_date: 'Select date',\n i18n_z_ui_calendar_select_time: 'Select time',\n i18n_z_ui_calendar_this_week: 'This week',\n i18n_z_ui_calendar_last_week: 'Last week',\n i18n_z_ui_calendar_this_month: 'This month',\n i18n_z_ui_calendar_last_month: 'Last month',\n i18n_z_ui_calendar_last_7_days: 'Last 7 days',\n i18n_z_ui_calendar_last_14_days: 'Last 14 days',\n i18n_z_ui_calendar_last_30_days: 'Last 30 days',\n i18n_z_ui_calendar_last_1_month: 'Last 1 month',\n i18n_z_ui_calendar_last_2_months: 'Last 2 months',\n i18n_z_ui_calendar_last_3_months: 'Last 3 months',\n i18n_z_ui_calendar_last_6_months: 'Last 6 months',\n i18n_z_ui_calendar_last_90_days: 'Last 90 days',\n i18n_z_ui_calendar_this_year: 'This year',\n i18n_z_ui_calendar_last_year: 'Last year',\n i18n_z_ui_calendar_this_quarter: 'This quarter',\n i18n_z_ui_calendar_custom: 'Custom',\n i18n_z_ui_calendar_now: 'Now',\n i18n_z_ui_calendar_required: 'Please select a date',\n i18n_z_ui_calendar_start: 'Start',\n i18n_z_ui_calendar_end: 'End',\n i18n_z_ui_calendar_time: 'Time',\n\n // Editor\n i18n_z_ui_editor_placeholder: 'Enter content...',\n i18n_z_ui_editor_required: 'This field is required',\n i18n_z_ui_editor_min_length: 'Minimum {{min}} characters',\n i18n_z_ui_editor_max_length: 'Maximum {{max}} characters',\n i18n_z_ui_editor_invalid: 'Invalid value',\n\n // Checkbox\n i18n_z_ui_checkbox_check_all: 'Check All',\n\n // Code\n i18n_z_ui_code_copied: 'Code copied!',\n\n // Input\n i18n_z_ui_input_required: 'This field is required',\n i18n_z_ui_input_min_length: 'Minimum {{min}} characters',\n i18n_z_ui_input_max_length: 'Maximum {{max}} characters',\n i18n_z_ui_input_email: 'Invalid email format',\n i18n_z_ui_input_pattern: 'Invalid format',\n i18n_z_ui_input_min: 'Minimum value is {{min}}',\n i18n_z_ui_input_max: 'Maximum value is {{max}}',\n\n // Select\n i18n_z_ui_select_placeholder: 'Select...',\n i18n_z_ui_select_no_options: 'No options available',\n i18n_z_ui_select_no_results: 'No results found',\n i18n_z_ui_select_loading: 'Loading...',\n i18n_z_ui_select_select_all: 'Select all',\n i18n_z_ui_select_clear_all: 'Clear all',\n i18n_z_ui_select_selected: '{{count}} selected',\n i18n_z_ui_select_search: 'Search...',\n i18n_z_ui_select_required: 'Please select a value',\n\n // Modal\n i18n_z_ui_modal_close: 'Close',\n i18n_z_ui_modal_confirm: 'Confirm',\n i18n_z_ui_modal_cancel: 'Cancel',\n\n // Drawer\n i18n_z_ui_drawer_close: 'Close',\n\n // Upload\n i18n_z_ui_upload_drag_drop: 'Drag files here',\n i18n_z_ui_upload_drop_here: 'Drop files here',\n i18n_z_ui_upload_or: 'or',\n i18n_z_ui_upload_browse: 'browse',\n i18n_z_ui_upload_uploading: 'Uploading...',\n i18n_z_ui_upload_uploaded: 'Uploaded',\n i18n_z_ui_upload_failed: 'Upload failed',\n i18n_z_ui_upload_remove: 'Remove',\n i18n_z_ui_upload_max_size: 'File size exceeds {{size}} limit',\n i18n_z_ui_upload_max_files: 'Maximum {{count}} files allowed',\n i18n_z_ui_upload_invalid_type: 'File type not allowed',\n i18n_z_ui_upload_accepted: 'Accepted',\n i18n_z_ui_upload_required: 'Please select a file',\n\n // Pagination\n i18n_z_ui_pagination_first: 'First',\n i18n_z_ui_pagination_last: 'Last',\n i18n_z_ui_pagination_next: 'Next',\n i18n_z_ui_pagination_previous: 'Previous',\n i18n_z_ui_pagination_page: 'Page',\n i18n_z_ui_pagination_of: 'of',\n i18n_z_ui_pagination_total_label: 'Total {{total}} items',\n i18n_z_ui_pagination_per_page: '/ page',\n i18n_z_ui_pagination_go_to: 'Go to',\n\n // Common\n i18n_z_ui_common_select: 'Select value...',\n i18n_z_ui_common_loading: 'Loading...',\n i18n_z_ui_common_save: 'Save',\n i18n_z_ui_common_cancel: 'Cancel',\n i18n_z_ui_common_confirm: 'Confirm',\n i18n_z_ui_common_delete: 'Delete',\n i18n_z_ui_common_edit: 'Edit',\n i18n_z_ui_common_add: 'Add',\n i18n_z_ui_common_search: 'Search',\n i18n_z_ui_common_clear: 'Clear',\n i18n_z_ui_common_reset: 'Reset',\n i18n_z_ui_common_apply: 'Apply',\n i18n_z_ui_common_yes: 'Yes',\n i18n_z_ui_common_no: 'No',\n i18n_z_ui_common_ok: 'OK',\n i18n_z_ui_common_error: 'Error',\n i18n_z_ui_common_success: 'Success',\n i18n_z_ui_common_warning: 'Warning',\n i18n_z_ui_common_info: 'Info',\n\n // Toast\n i18n_z_ui_toast_close: 'Close',\n\n // Tags\n i18n_z_ui_tags_add: 'Add',\n i18n_z_ui_tags_placeholder: 'New tag',\n\n // Empty\n i18n_z_ui_empty_no_data: 'No data available',\n i18n_z_ui_empty_no_results: 'No results found',\n i18n_z_ui_empty_error_message: 'Something went wrong',\n i18n_z_ui_empty_error_description: 'An error occurred while loading data. Please try again later.',\n\n // Steps\n i18n_z_ui_steps_title: 'Steps',\n\n // Chat AI\n i18n_z_ui_chat_ai_title: 'AI Assistant',\n i18n_z_ui_chat_ai_subtitle: 'How can I help you today?',\n i18n_z_ui_chat_ai_placeholder: 'Type a message...',\n i18n_z_ui_chat_ai_send: 'Send message',\n i18n_z_ui_chat_ai_attach: 'Attach file',\n i18n_z_ui_chat_ai_close: 'Close chat',\n i18n_z_ui_chat_ai_toggle: 'Toggle chat',\n i18n_z_ui_chat_ai_typing: 'Typing...',\n i18n_z_ui_chat_ai_new_chat: 'Start new chat',\n i18n_z_ui_chat_ai_empty_title: 'Ask me anything',\n i18n_z_ui_chat_ai_empty_desc: 'Use quick prompts below or type your own message.',\n i18n_z_ui_chat_ai_suggestion_1: 'Create release notes from recent commits',\n i18n_z_ui_chat_ai_suggestion_2: 'Suggest test cases for a new feature',\n i18n_z_ui_chat_ai_suggestion_3: 'Generate a concise PR summary',\n\n // HTTP\n i18n_z_ui_http_network_offline: 'Network is offline',\n i18n_z_ui_http_error_default: 'An error occurred',\n i18n_z_ui_http_error_failed_to_fetch: 'Failed to connect to {{url}}',\n i18n_z_ui_http_error_400: 'Bad request',\n i18n_z_ui_http_error_401_permission: 'You do not have permission',\n i18n_z_ui_http_error_401_expired: 'Session expired',\n i18n_z_ui_http_error_403: 'Access forbidden',\n i18n_z_ui_http_error_404: 'Resource not found',\n i18n_z_ui_http_error_500: 'Internal server error',\n\n // Autocomplete\n i18n_z_ui_autocomplete_no_data: 'No data available',\n i18n_z_ui_autocomplete_no_results: 'No results found',\n\n // Gallery\n i18n_z_ui_gallery_search_placeholder: 'Search files...',\n i18n_z_ui_gallery_no_files: 'No files',\n i18n_z_ui_gallery_no_search_results: 'No files match your search',\n i18n_z_ui_gallery_preview: 'Preview',\n i18n_z_ui_gallery_download: 'Download',\n i18n_z_ui_gallery_remove: 'Remove',\n i18n_z_ui_gallery_delete: 'Delete',\n i18n_z_ui_gallery_rotate_left: 'Rotate left',\n i18n_z_ui_gallery_rotate_right: 'Rotate right',\n i18n_z_ui_gallery_preview_not_supported: 'Preview not supported for this file type',\n i18n_z_ui_gallery_select_all: 'Select all',\n i18n_z_ui_gallery_selected: 'selected',\n i18n_z_ui_gallery_deselect_all: 'Deselect all',\n};\n","export const Z_UI_VI_TRANSLATIONS: Record<string, string> = {\n // Table\n i18n_z_ui_table_filter_min: 'Tối thiểu',\n i18n_z_ui_table_filter_max: 'Tối đa',\n i18n_z_ui_table_filter_all: 'Tất cả',\n i18n_z_ui_table_filter_search: 'Tìm kiếm...',\n i18n_z_ui_table_filter_date: 'Chọn ngày',\n i18n_z_ui_table_filter_date_range: 'Chọn khoảng ngày',\n i18n_z_ui_table_no_data: 'Không có dữ liệu',\n i18n_z_ui_table_no_results: 'Không tìm thấy kết quả',\n i18n_z_ui_table_loading: 'Đang tải...',\n i18n_z_ui_table_search: 'Tìm kiếm...',\n i18n_z_ui_table_settings: 'Cài đặt',\n i18n_z_ui_table_columns: 'Cột',\n i18n_z_ui_table_show_all: 'Hiện tất cả',\n i18n_z_ui_table_hide_all: 'Ẩn tất cả',\n i18n_z_ui_table_move_left: 'Di chuyển trái',\n i18n_z_ui_table_move_right: 'Di chuyển phải',\n i18n_z_ui_table_pin_left: 'Ghim trái',\n i18n_z_ui_table_pin_right: 'Ghim phải',\n i18n_z_ui_table_pin_top: 'Ghim lên đầu',\n i18n_z_ui_table_pin_bottom: 'Ghim xuống cuối',\n i18n_z_ui_table_unpin: 'Bỏ ghim',\n i18n_z_ui_table_sort_asc: 'Sắp xếp tăng dần',\n i18n_z_ui_table_sort_desc: 'Sắp xếp giảm dần',\n i18n_z_ui_table_clear_sort: 'Bỏ sắp xếp',\n i18n_z_ui_table_filter: 'Lọc',\n i18n_z_ui_table_clear_filter: 'Xóa bộ lọc',\n i18n_z_ui_table_rows_per_page: 'Số dòng mỗi trang',\n i18n_z_ui_table_total_rows: '{{total}} tổng số dòng',\n i18n_z_ui_table_of: 'của',\n i18n_z_ui_table_selected: 'đã chọn',\n i18n_z_ui_table_expand_all: 'Mở rộng tất cả',\n i18n_z_ui_table_collapse_all: 'Thu gọn tất cả',\n i18n_z_ui_table_settings_title: 'Cài đặt bảng',\n i18n_z_ui_table_display_settings: 'Cài đặt hiển thị',\n i18n_z_ui_table_display_settings_desc: 'Tùy chỉnh giao diện bảng',\n i18n_z_ui_table_horizontal_border: 'Viền ngang',\n i18n_z_ui_table_vertical_border: 'Viền dọc',\n i18n_z_ui_table_header_footer_shadow: 'Đổ bóng Header/Footer',\n i18n_z_ui_table_column_settings: 'Cài đặt cột',\n i18n_z_ui_table_column_settings_desc: 'Bật/tắt hiển thị, kéo thả để sắp xếp, và ghim cột',\n i18n_z_ui_table_pinned_columns: 'Cột đã ghim',\n i18n_z_ui_table_left: 'TRÁI',\n i18n_z_ui_table_right: 'PHẢI',\n\n // Menu\n i18n_z_ui_menu_navigation: 'Điều hướng',\n i18n_z_ui_menu_expand_sidebar: 'Mở rộng menu',\n i18n_z_ui_menu_collapse_sidebar: 'Thu gọn menu',\n\n // Kanban\n i18n_z_ui_kanban_board_title: 'Đội Hiệu Suất Cao',\n i18n_z_ui_kanban_board_subtitle: 'Bảng sprint với workflow kéo thả',\n i18n_z_ui_kanban_search_placeholder: 'Tìm kiếm công việc...',\n i18n_z_ui_kanban_drag_disabled_while_search: 'Tạm tắt kéo thả khi đang tìm kiếm',\n i18n_z_ui_kanban_drop_here: 'Thả công việc vào đây',\n i18n_z_ui_kanban_no_matches: 'Không có công việc khớp với tìm kiếm',\n i18n_z_ui_kanban_done: 'Hoàn thành',\n i18n_z_ui_kanban_editor_title: 'Chỉnh sửa công việc',\n i18n_z_ui_kanban_title: 'Tiêu đề',\n i18n_z_ui_kanban_title_placeholder: 'Nhập tiêu đề ngắn gọn cho công việc',\n i18n_z_ui_kanban_description: 'Mô tả',\n i18n_z_ui_kanban_description_placeholder: 'Thêm chi tiết triển khai, ràng buộc và ghi chú...',\n i18n_z_ui_kanban_checklist: 'Checklist',\n i18n_z_ui_kanban_no_checklist_items: 'Chưa có mục checklist',\n i18n_z_ui_kanban_checklist_add_placeholder: 'Thêm mục checklist',\n i18n_z_ui_kanban_status: 'Trạng thái',\n i18n_z_ui_kanban_status_placeholder: 'Chọn trạng thái',\n i18n_z_ui_kanban_priority: 'Mức độ ưu tiên',\n i18n_z_ui_kanban_priority_placeholder: 'Chọn mức ưu tiên',\n i18n_z_ui_kanban_assignees: 'Người phụ trách',\n i18n_z_ui_kanban_assignees_placeholder: 'Tên cách nhau bởi dấu phẩy',\n i18n_z_ui_kanban_assignees_select_placeholder: 'Chọn hoặc nhập người phụ trách',\n i18n_z_ui_kanban_start_date: 'Ngày bắt đầu',\n i18n_z_ui_kanban_end_date: 'Ngày kết thúc',\n i18n_z_ui_kanban_due_date: 'Hạn hoàn thành',\n i18n_z_ui_kanban_attachments: 'Tệp đính kèm',\n i18n_z_ui_kanban_attachments_note: 'Tải tài liệu, hình ảnh hoặc tài liệu tham chiếu',\n i18n_z_ui_kanban_activity: 'Hoạt động',\n i18n_z_ui_kanban_no_activity: 'Chưa có hoạt động',\n i18n_z_ui_kanban_add_comment: 'Thêm bình luận',\n i18n_z_ui_kanban_comment_placeholder: 'Viết cập nhật cho công việc này...',\n i18n_z_ui_kanban_comment_submit: 'Gửi cập nhật',\n i18n_z_ui_kanban_new_task_title: 'Công việc chưa đặt tên',\n i18n_z_ui_kanban_activity_you: 'Bạn',\n i18n_z_ui_kanban_priority_risk: 'Rủi ro',\n i18n_z_ui_kanban_priority_high: 'Cao',\n i18n_z_ui_kanban_priority_medium: 'Trung bình',\n i18n_z_ui_kanban_priority_low: 'Thấp',\n i18n_z_ui_kanban_column_todo: 'Cần làm',\n i18n_z_ui_kanban_column_in_progress: 'Đang làm',\n i18n_z_ui_kanban_column_review: 'Đang review',\n i18n_z_ui_kanban_column_done: 'Đã xong',\n\n // Calendar\n i18n_z_ui_calendar_today: 'Hôm nay',\n i18n_z_ui_calendar_clear: 'Xóa',\n i18n_z_ui_calendar_ok: 'Đồng ý',\n i18n_z_ui_calendar_cancel: 'Hủy',\n i18n_z_ui_calendar_start_date: 'Từ ngày',\n i18n_z_ui_calendar_end_date: 'Đến ngày',\n i18n_z_ui_calendar_select_date: 'Chọn ngày',\n i18n_z_ui_calendar_select_time: 'Chọn giờ',\n i18n_z_ui_calendar_this_week: 'Tuần này',\n i18n_z_ui_calendar_last_week: 'Tuần trước',\n i18n_z_ui_calendar_this_month: 'Tháng này',\n i18n_z_ui_calendar_last_month: 'Tháng trước',\n i18n_z_ui_calendar_last_7_days: '7 ngày qua',\n i18n_z_ui_calendar_last_14_days: '14 ngày qua',\n i18n_z_ui_calendar_last_30_days: '30 ngày qua',\n i18n_z_ui_calendar_last_1_month: '1 tháng qua',\n i18n_z_ui_calendar_last_2_months: '2 tháng qua',\n i18n_z_ui_calendar_last_3_months: '3 tháng qua',\n i18n_z_ui_calendar_last_6_months: '6 tháng qua',\n i18n_z_ui_calendar_last_90_days: '90 ngày qua',\n i18n_z_ui_calendar_custom: 'Tùy chỉnh',\n i18n_z_ui_calendar_this_year: 'Năm nay',\n i18n_z_ui_calendar_last_year: 'Năm trước',\n i18n_z_ui_calendar_this_quarter: 'Quý này',\n i18n_z_ui_calendar_now: 'Bây giờ',\n i18n_z_ui_calendar_required: 'Vui lòng chọn ngày',\n i18n_z_ui_calendar_start: 'Bắt đầu',\n i18n_z_ui_calendar_end: 'Kết thúc',\n i18n_z_ui_calendar_time: 'Giờ',\n\n // Editor\n i18n_z_ui_editor_placeholder: 'Nhập nội dung...',\n i18n_z_ui_editor_required: 'Trường này là bắt buộc',\n i18n_z_ui_editor_min_length: 'Tối thiểu {{min}} ký tự',\n i18n_z_ui_editor_max_length: 'Tối đa {{max}} ký tự',\n i18n_z_ui_editor_invalid: 'Giá trị không hợp lệ',\n\n // Checkbox\n i18n_z_ui_checkbox_check_all: 'Chọn tất cả',\n\n // Code\n i18n_z_ui_code_copied: 'Đã sao chép code!',\n\n // Input\n i18n_z_ui_input_required: 'Trường này là bắt buộc',\n i18n_z_ui_input_min_length: 'Tối thiểu {{min}} ký tự',\n i18n_z_ui_input_max_length: 'Tối đa {{max}} ký tự',\n i18n_z_ui_input_email: 'Định dạng email không hợp lệ',\n i18n_z_ui_input_pattern: 'Định dạng không hợp lệ',\n i18n_z_ui_input_min: 'Giá trị tối thiểu là {{min}}',\n i18n_z_ui_input_max: 'Giá trị tối đa là {{max}}',\n\n // Select\n i18n_z_ui_select_placeholder: 'Chọn...',\n i18n_z_ui_select_no_options: 'Không có tùy chọn',\n i18n_z_ui_select_no_results: 'Không tìm thấy kết quả',\n i18n_z_ui_select_loading: 'Đang tải...',\n i18n_z_ui_select_select_all: 'Chọn tất cả',\n i18n_z_ui_select_clear_all: 'Bỏ chọn tất cả',\n i18n_z_ui_select_selected: 'Đã chọn {{count}}',\n i18n_z_ui_select_search: 'Tìm kiếm...',\n i18n_z_ui_select_required: 'Vui lòng chọn giá trị',\n\n // Modal\n i18n_z_ui_modal_close: 'Đóng',\n i18n_z_ui_modal_confirm: 'Xác nhận',\n i18n_z_ui_modal_cancel: 'Hủy',\n\n // Drawer\n i18n_z_ui_drawer_close: 'Đóng',\n\n // Upload\n i18n_z_ui_upload_drag_drop: 'Kéo file vào đây',\n i18n_z_ui_upload_drop_here: 'Thả file vào đây',\n i18n_z_ui_upload_or: 'hoặc',\n i18n_z_ui_upload_browse: 'chọn file',\n i18n_z_ui_upload_uploading: 'Đang tải lên...',\n i18n_z_ui_upload_uploaded: 'Đã tải lên',\n i18n_z_ui_upload_failed: 'Tải lên thất bại',\n i18n_z_ui_upload_remove: 'Xóa',\n i18n_z_ui_upload_max_size: 'Kích thước file vượt quá {{size}}',\n i18n_z_ui_upload_max_files: 'Tối đa {{count}} file được phép',\n i18n_z_ui_upload_invalid_type: 'Loại file không được phép',\n i18n_z_ui_upload_accepted: 'Chấp nhận',\n i18n_z_ui_upload_required: 'Vui lòng chọn file',\n\n // Pagination\n i18n_z_ui_pagination_first: 'Đầu',\n i18n_z_ui_pagination_last: 'Cuối',\n i18n_z_ui_pagination_next: 'Tiếp',\n i18n_z_ui_pagination_previous: 'Trước',\n i18n_z_ui_pagination_page: 'Trang',\n i18n_z_ui_pagination_of: 'của',\n i18n_z_ui_pagination_total_label: 'Tổng {{total}} mục',\n i18n_z_ui_pagination_per_page: '/ trang',\n i18n_z_ui_pagination_go_to: 'Đến trang',\n\n // Common\n i18n_z_ui_common_select: 'Chọn giá trị...',\n i18n_z_ui_common_loading: 'Đang tải...',\n i18n_z_ui_common_save: 'Lưu',\n i18n_z_ui_common_cancel: 'Hủy',\n i18n_z_ui_common_confirm: 'Xác nhận',\n i18n_z_ui_common_delete: 'Xóa',\n i18n_z_ui_common_edit: 'Sửa',\n i18n_z_ui_common_add: 'Thêm',\n i18n_z_ui_common_search: 'Tìm kiếm',\n i18n_z_ui_common_clear: 'Xóa',\n i18n_z_ui_common_reset: 'Đặt lại',\n i18n_z_ui_common_apply: 'Áp dụng',\n i18n_z_ui_common_yes: 'Có',\n i18n_z_ui_common_no: 'Không',\n i18n_z_ui_common_ok: 'OK',\n i18n_z_ui_common_error: 'Lỗi',\n i18n_z_ui_common_success: 'Thành công',\n i18n_z_ui_common_warning: 'Cảnh báo',\n i18n_z_ui_common_info: 'Thông tin',\n\n // Toast\n i18n_z_ui_toast_close: 'Đóng',\n\n // Tags\n i18n_z_ui_tags_add: 'Thêm',\n i18n_z_ui_tags_placeholder: 'Tag mới',\n\n // Empty\n i18n_z_ui_empty_no_data: 'Không có dữ liệu',\n i18n_z_ui_empty_no_results: 'Không tìm thấy kết quả',\n i18n_z_ui_empty_error_message: 'Đã xảy ra lỗi',\n i18n_z_ui_empty_error_description: 'Có lỗi xảy ra khi tải dữ liệu. Vui lòng thử lại sau.',\n\n // Steps\n i18n_z_ui_steps_title: 'Các bước',\n\n // Chat AI\n i18n_z_ui_chat_ai_title: 'Trợ lý AI',\n i18n_z_ui_chat_ai_subtitle: 'Tôi có thể giúp gì cho bạn?',\n i18n_z_ui_chat_ai_placeholder: 'Nhập tin nhắn...',\n i18n_z_ui_chat_ai_send: 'Gửi tin nhắn',\n i18n_z_ui_chat_ai_attach: 'Đính kèm file',\n i18n_z_ui_chat_ai_close: 'Đóng chat',\n i18n_z_ui_chat_ai_toggle: 'Bật/tắt chat',\n i18n_z_ui_chat_ai_typing: 'Đang nhập...',\n i18n_z_ui_chat_ai_new_chat: 'Bắt đầu chat mới',\n i18n_z_ui_chat_ai_empty_title: 'Hỏi tôi bất cứ điều gì',\n i18n_z_ui_chat_ai_empty_desc: 'Dùng gợi ý nhanh bên dưới hoặc nhập câu hỏi của bạn.',\n i18n_z_ui_chat_ai_suggestion_1: 'Tạo release notes từ commit gần đây',\n i18n_z_ui_chat_ai_suggestion_2: 'Gợi ý test case cho tính năng mới',\n i18n_z_ui_chat_ai_suggestion_3: 'Tạo tóm tắt PR ngắn gọn',\n\n // HTTP\n i18n_z_ui_http_network_offline: 'Không có kết nối mạng',\n i18n_z_ui_http_error_default: 'Đã xảy ra lỗi',\n i18n_z_ui_http_error_failed_to_fetch: 'Không thể kết nối đến {{url}}',\n i18n_z_ui_http_error_400: 'Yêu cầu không hợp lệ',\n i18n_z_ui_http_error_401_permission: 'Bạn không có quyền truy cập',\n i18n_z_ui_http_error_401_expired: 'Phiên đăng nhập đã hết hạn',\n i18n_z_ui_http_error_403: 'Truy cập bị từ chối',\n i18n_z_ui_http_error_404: 'Không tìm thấy tài nguyên',\n i18n_z_ui_http_error_500: 'Lỗi máy chủ nội bộ',\n\n // Autocomplete\n i18n_z_ui_autocomplete_no_data: 'Chưa có dữ liệu',\n i18n_z_ui_autocomplete_no_results: 'Không tìm thấy kết quả',\n\n // Gallery\n i18n_z_ui_gallery_search_placeholder: 'Tìm kiếm tệp...',\n i18n_z_ui_gallery_no_files: 'Không có tệp',\n i18n_z_ui_gallery_no_search_results: 'Không tìm thấy tệp phù hợp',\n i18n_z_ui_gallery_preview: 'Xem trước',\n i18n_z_ui_gallery_download: 'Tải xuống',\n i18n_z_ui_gallery_remove: 'Xóa',\n i18n_z_ui_gallery_delete: 'Xóa',\n i18n_z_ui_gallery_rotate_left: 'Xoay trái',\n i18n_z_ui_gallery_rotate_right: 'Xoay phải',\n i18n_z_ui_gallery_preview_not_supported: 'Không hỗ trợ xem trước loại tệp này',\n i18n_z_ui_gallery_select_all: 'Chọn tất cả',\n i18n_z_ui_gallery_selected: 'đã chọn',\n i18n_z_ui_gallery_deselect_all: 'Bỏ chọn tất cả',\n};\n","/**\n * Z-UI Internationalization\n *\n * This module provides default translations for all Z-UI components.\n * Users can override any translation by providing their own values.\n *\n * Key format: i18n_z_ui_{component}_{key}\n * Example: i18n_z_ui_table_noData\n */\n\nimport { Z_UI_EN_TRANSLATIONS } from './en';\nimport { type ZUILanguage, type ZUITranslations, type ZUITranslationSet } from './types';\nimport { Z_UI_VI_TRANSLATIONS } from './vi';\n\nexport const Z_UI_TRANSLATIONS: ZUITranslationSet = {\n en: Z_UI_EN_TRANSLATIONS,\n vi: Z_UI_VI_TRANSLATIONS,\n};\n\nexport function getZUITranslations(lang: ZUILanguage): ZUITranslations {\n return Z_UI_TRANSLATIONS[lang] ?? Z_UI_TRANSLATIONS['en'];\n}\n\nexport function mergeTranslations(lang: ZUILanguage, customTranslations?: ZUITranslations): ZUITranslations {\n const defaults = getZUITranslations(lang);\n if (!customTranslations) {\n return defaults;\n }\n return { ...defaults, ...customTranslations };\n}\n\nexport function getZUITranslationKeys(): string[] {\n return Object.keys(Z_UI_EN_TRANSLATIONS);\n}\n","// Types\nexport * from './types';\n\n// Translations\nexport { Z_UI_EN_TRANSLATIONS } from './en';\nexport { Z_UI_VI_TRANSLATIONS } from './vi';\n\n// Functions and constants\nexport { Z_UI_TRANSLATIONS, getZUITranslations, mergeTranslations, getZUITranslationKeys } from './i18n';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shival99/z-ui",
3
- "version": "1.9.21",
3
+ "version": "1.9.23",
4
4
  "description": "Z-UI: Modern Angular UI Component Library - A comprehensive, high-performance design system built with Angular 20+, featuring 40+ customizable components with dark mode, accessibility, and enterprise-ready features.",
5
5
  "keywords": [
6
6
  "angular",
@@ -47,7 +47,7 @@
47
47
  "@ng-icons/lucide": ">=33.0.0",
48
48
  "@ngx-translate/core": ">=17.0.0",
49
49
  "@tanstack/angular-table": ">=8.20.0",
50
- "@shival99/angular-virtual": ">=4.0.5",
50
+ "@shival99/angular-virtual": ">=4.0.10",
51
51
  "boneyard-js": ">=1.7.0",
52
52
  "class-variance-authority": ">=0.7.0",
53
53
  "clsx": ">=2.0.0",
@@ -32,7 +32,12 @@ interface ZQuickSelectPreset {
32
32
  getValue: () => ZDateRange | Date | null;
33
33
  }
34
34
  interface ZCalendarControl {
35
- /** Trigger validation and return true if has error */
35
+ /** Trigger validation and return true if valid */
36
+ valid: () => boolean;
37
+ /**
38
+ * Trigger validation and return true if has error.
39
+ * @deprecated Use `valid()` for boolean form-submit checks.
40
+ */
36
41
  validate: () => boolean;
37
42
  /** Reset component to initial state */
38
43
  reset: () => void;
@@ -282,7 +287,9 @@ declare class ZCalendarComponent implements OnInit, ControlValueAccessor {
282
287
  focus(): void;
283
288
  blur(): void;
284
289
  reset(): void;
290
+ /** @deprecated Use `valid()` for boolean form-submit checks. */
285
291
  validate(): boolean;
292
+ valid(): boolean;
286
293
  setErrorMessage(message: string | null): void;
287
294
  protected onPopoverShow(): void;
288
295
  private _initializeTimeIfNeeded;
@@ -350,6 +357,7 @@ declare class ZCalendarComponent implements OnInit, ControlValueAccessor {
350
357
  private _navigateByArrowKey;
351
358
  private _syncTimeSignals;
352
359
  private _getParseFormat;
360
+ private _buildTimeFormat;
353
361
  private _updateInputDisplay;
354
362
  private _clearDateValues;
355
363
  protected onInputEscape(): void;
@@ -371,6 +379,8 @@ declare class ZCalendarComponent implements OnInit, ControlValueAccessor {
371
379
  protected decrementMinuteEnd(): void;
372
380
  protected incrementSecondEnd(): void;
373
381
  protected decrementSecondEnd(): void;
382
+ private _getNextHour;
383
+ private _getPreviousHour;
374
384
  protected openTimeDropdown(event: MouseEvent): void;
375
385
  protected closeTimeDropdown(): void;
376
386
  protected openTimeDropdownEnd(event: MouseEvent): void;
@@ -23,7 +23,12 @@ interface ZEditorControl {
23
23
  getText: () => string;
24
24
  /** Get content length */
25
25
  getLength: () => number;
26
- /** Trigger validation and return true if has error */
26
+ /** Trigger validation and return true if valid */
27
+ valid: () => boolean;
28
+ /**
29
+ * Trigger validation and return true if has error.
30
+ * @deprecated Use `valid()` for boolean form-submit checks.
31
+ */
27
32
  validate: () => boolean;
28
33
  /** Reset component to initial state */
29
34
  reset: () => void;
@@ -111,7 +116,9 @@ declare class ZEditorComponent implements OnInit, ControlValueAccessor {
111
116
  getLength(): number;
112
117
  setErrorMessage(message: string | null): void;
113
118
  setValue(content: string): void;
119
+ /** @deprecated Use `valid()` for boolean form-submit checks. */
114
120
  validate(): boolean;
121
+ valid(): boolean;
115
122
  reset(): void;
116
123
  private _emitControl;
117
124
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZEditorComponent, never>;
@@ -1,8 +1,9 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { AfterViewInit } from '@angular/core';
2
+ import { AfterViewInit, EventEmitter } from '@angular/core';
3
3
  import { ZIcon } from '@shival99/z-ui/components/z-icon';
4
4
  import { ClassValue } from 'clsx';
5
5
  import * as _shival99_z_ui_components_z_gallery from '@shival99/z-ui/components/z-gallery';
6
+ import { OverlayRef } from '@angular/cdk/overlay';
6
7
  import * as class_variance_authority_types from 'class-variance-authority/types';
7
8
  import { VariantProps } from 'class-variance-authority';
8
9
 
@@ -60,6 +61,16 @@ interface ZGallerySelectionChange {
60
61
  addedFiles?: ZGalleryFile[];
61
62
  removedFiles?: ZGalleryFile[];
62
63
  }
64
+ interface ZGalleryPreviewOptions {
65
+ file: ZGalleryFile;
66
+ files?: ZGalleryFile[];
67
+ zDownload?: boolean;
68
+ zShowRemove?: boolean;
69
+ zOnClose?: () => void;
70
+ zOnDownload?: (file: ZGalleryFile) => void;
71
+ zOnNavigate?: (file: ZGalleryFile) => void;
72
+ zOnRemove?: (file: ZGalleryFile) => void;
73
+ }
63
74
 
64
75
  declare class ZGalleryComponent implements AfterViewInit {
65
76
  readonly zFiles: _angular_core.InputSignal<ZGalleryFile[]>;
@@ -216,6 +227,30 @@ declare class ZGalleryPreviewComponent {
216
227
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZGalleryPreviewComponent, "z-gallery-preview", never, { "file": { "alias": "file"; "required": true; "isSignal": true; }; "files": { "alias": "files"; "required": false; "isSignal": true; }; "zShowRemove": { "alias": "zShowRemove"; "required": false; "isSignal": true; }; }, { "zOnClose": "zOnClose"; "zOnDownload": "zOnDownload"; "zOnNavigate": "zOnNavigate"; "zOnRemove": "zOnRemove"; }, never, never, true, never>;
217
228
  }
218
229
 
230
+ declare class ZGalleryPreviewRef {
231
+ private readonly _overlayRef;
232
+ private _closed;
233
+ componentInstance: ZGalleryPreviewComponent | null;
234
+ readonly zAfterClose: EventEmitter<void>;
235
+ constructor(_overlayRef: OverlayRef | null);
236
+ close(): void;
237
+ }
238
+
239
+ declare class ZGalleryPreviewService {
240
+ private readonly _document;
241
+ private readonly _injector;
242
+ private readonly _overlay;
243
+ private readonly _platformId;
244
+ private readonly _zIndexService;
245
+ open(file: ZGalleryFile, options?: Omit<ZGalleryPreviewOptions, 'file'>): ZGalleryPreviewRef;
246
+ open(options: ZGalleryPreviewOptions): ZGalleryPreviewRef;
247
+ private _createOverlay;
248
+ private _normalizeOptions;
249
+ private _handleDownload;
250
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZGalleryPreviewService, never>;
251
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ZGalleryPreviewService>;
252
+ }
253
+
219
254
  declare const getFileCategory: (file: ZGalleryFile) => ZFileCategory;
220
255
  declare const formatFileSize: (bytes: number) => string;
221
256
  declare const isPreviewable: (file: ZGalleryFile) => boolean;
@@ -236,5 +271,5 @@ declare const zGalleryFileIconVariants: (props?: ({
236
271
  } & class_variance_authority_types.ClassProp) | undefined) => string;
237
272
  type ZGalleryFileIconVariants = VariantProps<typeof zGalleryFileIconVariants>;
238
273
 
239
- export { FILE_CATEGORY_STYLES, ZGalleryComponent, ZGalleryFileIconComponent, ZGalleryItemComponent, ZGalleryPreviewComponent, formatFileSize, getFileCategory, isImage, isPreviewable, zGalleryFileIconVariants, zGalleryItemVariants, zGalleryVariants };
240
- export type { ZFileCategory, ZFileCategoryStyle, ZGalleryActionEvent, ZGalleryActionType, ZGalleryControl, ZGalleryFile, ZGalleryFileIconVariants, ZGalleryItemVariants, ZGalleryMode, ZGallerySelectionChange, ZGallerySize, ZGalleryToggleSize, ZGalleryVariants };
274
+ export { FILE_CATEGORY_STYLES, ZGalleryComponent, ZGalleryFileIconComponent, ZGalleryItemComponent, ZGalleryPreviewComponent, ZGalleryPreviewRef, ZGalleryPreviewService, formatFileSize, getFileCategory, isImage, isPreviewable, zGalleryFileIconVariants, zGalleryItemVariants, zGalleryVariants };
275
+ export type { ZFileCategory, ZFileCategoryStyle, ZGalleryActionEvent, ZGalleryActionType, ZGalleryControl, ZGalleryFile, ZGalleryFileIconVariants, ZGalleryItemVariants, ZGalleryMode, ZGalleryPreviewOptions, ZGallerySelectionChange, ZGallerySize, ZGalleryToggleSize, ZGalleryVariants };
@@ -10,7 +10,12 @@ import * as class_variance_authority_types from 'class-variance-authority/types'
10
10
  import { VariantProps } from 'class-variance-authority';
11
11
 
12
12
  interface ZInputControl {
13
- /** Trigger validation and return true if has error */
13
+ /** Trigger validation and return true if valid */
14
+ valid: () => boolean;
15
+ /**
16
+ * Trigger validation and return true if has error.
17
+ * @deprecated Use `valid()` for boolean form-submit checks.
18
+ */
14
19
  validate: () => boolean;
15
20
  /** Reset component to initial state */
16
21
  reset: () => void;
@@ -202,7 +207,9 @@ declare class ZInputComponent implements OnInit, ControlValueAccessor {
202
207
  setDisabledState(isDisabled: boolean): void;
203
208
  focus(): void;
204
209
  blur(): void;
210
+ /** @deprecated Use `valid()` for boolean form-submit checks. */
205
211
  validate(): boolean;
212
+ valid(): boolean;
206
213
  reset(): void;
207
214
  setValue(value: string | number | null): void;
208
215
  setErrorMessage(message: string | null): void;
@@ -24,6 +24,9 @@ interface ZMenuItem {
24
24
  menuTemplate?: TemplateRef<ZMenuItemTemplateContext>;
25
25
  menuTemplateWidth?: number;
26
26
  }
27
+ type ZMenuV2Item = Omit<ZMenuItem, 'children' | 'menuTemplate' | 'menuTemplateWidth'> & {
28
+ children?: ZMenuV2Item[];
29
+ };
27
30
  interface ZMenuProcessed {
28
31
  tree: ZMenuItem[];
29
32
  flat: Map<string, ZMenuItem>;
@@ -61,6 +64,7 @@ interface ZMenuControl {
61
64
  selectedParent: Signal<ZMenuItem | null>;
62
65
  menuProcessed: Signal<ZMenuProcessed>;
63
66
  }
67
+ type ZMenuV2Control = Omit<ZMenuControl, 'openMobileTemplateDrawer' | 'closeMobileTemplateDrawer' | 'mobileTemplateDrawerOpen'>;
64
68
 
65
69
  declare class ZMenuComponent {
66
70
  private readonly _breakpointObserver;
@@ -137,5 +141,66 @@ declare class ZMenuComponent {
137
141
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZMenuComponent, "z-menu", never, { "zLogo": { "alias": "zLogo"; "required": false; "isSignal": true; }; "zLogoMobile": { "alias": "zLogoMobile"; "required": false; "isSignal": true; }; "zMenus": { "alias": "zMenus"; "required": false; "isSignal": true; }; "zUser": { "alias": "zUser"; "required": false; "isSignal": true; }; "zUserActions": { "alias": "zUserActions"; "required": false; "isSignal": true; }; "zActionsTemplate": { "alias": "zActionsTemplate"; "required": false; "isSignal": true; }; "zCurrentPath": { "alias": "zCurrentPath"; "required": false; "isSignal": true; }; "zKey": { "alias": "zKey"; "required": false; "isSignal": true; }; }, { "zOnSelect": "zOnSelect"; "zOnMenuAction": "zOnMenuAction"; "zControl": "zControl"; }, never, never, true, never>;
138
142
  }
139
143
 
140
- export { ZMenuComponent };
141
- export type { ZMenuControl, ZMenuItem, ZMenuItemTemplateContext, ZMenuProcessed, ZMenuUser, ZMenuUserAction };
144
+ declare class ZMenuV2Component {
145
+ private readonly _breakpointObserver;
146
+ private readonly _destroyRef;
147
+ private readonly _platformId;
148
+ private readonly _router;
149
+ readonly zOnSelect: _angular_core.OutputEmitterRef<ZMenuItem>;
150
+ readonly zOnMenuAction: _angular_core.OutputEmitterRef<ZMenuUserAction>;
151
+ readonly zControl: _angular_core.OutputEmitterRef<ZMenuV2Control>;
152
+ readonly zLogo: _angular_core.InputSignal<string>;
153
+ readonly zLogoMobile: _angular_core.InputSignal<string>;
154
+ readonly zMenus: _angular_core.InputSignal<ZMenuV2Item[]>;
155
+ readonly zUser: _angular_core.InputSignal<ZMenuUser | null>;
156
+ readonly zUserActions: _angular_core.InputSignal<ZMenuUserAction[]>;
157
+ readonly zCurrentPath: _angular_core.InputSignal<string>;
158
+ readonly zKey: _angular_core.InputSignal<string>;
159
+ readonly zClass: _angular_core.InputSignal<string>;
160
+ readonly zCollapsedWidth: _angular_core.InputSignal<number>;
161
+ readonly zExpandedWidth: _angular_core.InputSignal<number>;
162
+ readonly selectedParent: _angular_core.WritableSignal<ZMenuItem | null>;
163
+ readonly selectedMenuItem: _angular_core.WritableSignal<ZMenuItem | null>;
164
+ readonly mobileMenuOpen: _angular_core.WritableSignal<boolean>;
165
+ readonly sidebarCollapsed: _angular_core.WritableSignal<boolean>;
166
+ private readonly _expandedIds;
167
+ private readonly _collapsedIds;
168
+ private readonly _activeCacheKey;
169
+ protected readonly zClasses: _angular_core.Signal<string>;
170
+ private readonly _isMobile$;
171
+ readonly isMobile: _angular_core.Signal<boolean>;
172
+ protected readonly mobileLogo: _angular_core.Signal<string>;
173
+ protected readonly avatarSrc: _angular_core.Signal<string>;
174
+ protected readonly visibleUserActions: _angular_core.Signal<ZMenuUserAction[]>;
175
+ private readonly _routerPath;
176
+ private readonly _currentPath;
177
+ protected readonly overlayType: _angular_core.Signal<ZMenuOverlayType>;
178
+ protected readonly menuProcessed: _angular_core.Signal<ZMenuProcessed>;
179
+ protected readonly menuParents: _angular_core.Signal<ZMenuItem[]>;
180
+ protected readonly parentWithActiveChild: _angular_core.Signal<ZMenuItem | null>;
181
+ constructor();
182
+ openMobileMenu(): void;
183
+ closeMobileMenu(): void;
184
+ toggleMobileMenu(): void;
185
+ setSelectedMenuItem(menuId: string): void;
186
+ clearActiveItem(): void;
187
+ protected toggleSidebar(): void;
188
+ protected onMenuItemClick(item: ZMenuItem): void;
189
+ protected onCollapsedLeafClick(item: ZMenuItem, close: () => void): void;
190
+ protected onCollapsedParentClick(item: ZMenuItem): void;
191
+ protected onMobileBackdropClick(): void;
192
+ protected onUserActionClick(action: ZMenuUserAction): void;
193
+ private _emitControl;
194
+ private _selectLeafItem;
195
+ private _toggleExpanded;
196
+ private _expandParentsOfItem;
197
+ private _processMenus;
198
+ private _findMenuItemByPath;
199
+ private _findDeepestPrefixMatch;
200
+ private _getStateMenuCollapsed;
201
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZMenuV2Component, never>;
202
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZMenuV2Component, "z-menu-v2", never, { "zLogo": { "alias": "zLogo"; "required": false; "isSignal": true; }; "zLogoMobile": { "alias": "zLogoMobile"; "required": false; "isSignal": true; }; "zMenus": { "alias": "zMenus"; "required": false; "isSignal": true; }; "zUser": { "alias": "zUser"; "required": false; "isSignal": true; }; "zUserActions": { "alias": "zUserActions"; "required": false; "isSignal": true; }; "zCurrentPath": { "alias": "zCurrentPath"; "required": false; "isSignal": true; }; "zKey": { "alias": "zKey"; "required": false; "isSignal": true; }; "zClass": { "alias": "zClass"; "required": false; "isSignal": true; }; "zCollapsedWidth": { "alias": "zCollapsedWidth"; "required": false; "isSignal": true; }; "zExpandedWidth": { "alias": "zExpandedWidth"; "required": false; "isSignal": true; }; }, { "zOnSelect": "zOnSelect"; "zOnMenuAction": "zOnMenuAction"; "zControl": "zControl"; }, never, never, true, never>;
203
+ }
204
+
205
+ export { ZMenuComponent, ZMenuV2Component };
206
+ export type { ZMenuControl, ZMenuItem, ZMenuItemTemplateContext, ZMenuProcessed, ZMenuUser, ZMenuUserAction, ZMenuV2Control, ZMenuV2Item };
@@ -22,7 +22,12 @@ declare class ZSelectSelectedDirective<T = unknown> {
22
22
  }
23
23
 
24
24
  interface ZSelectControl<T = unknown> {
25
- /** Trigger validation and return true if has error */
25
+ /** Trigger validation and return true if valid */
26
+ valid: () => boolean;
27
+ /**
28
+ * Trigger validation and return true if has error.
29
+ * @deprecated Use `valid()` for boolean form-submit checks.
30
+ */
26
31
  validate: () => boolean;
27
32
  /** Reset component to initial state */
28
33
  reset: () => void;
@@ -224,7 +229,9 @@ declare class ZSelectComponent<T = unknown> implements OnInit, ControlValueAcces
224
229
  reset(): void;
225
230
  focus(): void;
226
231
  blur(): void;
232
+ /** @deprecated Use `valid()` for boolean form-submit checks. */
227
233
  validate(): boolean;
234
+ valid(): boolean;
228
235
  setErrorMessage(message: string | null): void;
229
236
  protected onTriggerKeydown(event: KeyboardEvent): void;
230
237
  protected onTriggerMousedown(): void;
@@ -34,6 +34,7 @@ declare class ZTabsComponent implements AfterViewInit, OnDestroy {
34
34
  readonly zSize: _angular_core.InputSignal<ZTabsSize>;
35
35
  readonly zOrientation: _angular_core.InputSignal<ZTabsOrientation>;
36
36
  readonly zLazy: _angular_core.InputSignal<boolean>;
37
+ readonly zDestroyInactive: _angular_core.InputSignal<boolean>;
37
38
  readonly zTabsOnly: _angular_core.InputSignal<boolean>;
38
39
  readonly zReloadable: _angular_core.InputSignal<boolean>;
39
40
  readonly activeTab: _angular_core.ModelSignal<string>;
@@ -41,6 +42,7 @@ declare class ZTabsComponent implements AfterViewInit, OnDestroy {
41
42
  protected readonly loadedTabs: _angular_core.WritableSignal<Set<string>>;
42
43
  protected readonly canScrollLeft: _angular_core.WritableSignal<boolean>;
43
44
  protected readonly canScrollRight: _angular_core.WritableSignal<boolean>;
45
+ protected readonly panelRenderStates: _angular_core.Signal<Map<string, boolean>>;
44
46
  private _resizeObserver?;
45
47
  constructor();
46
48
  ngAfterViewInit(): void;
@@ -49,7 +51,6 @@ declare class ZTabsComponent implements AfterViewInit, OnDestroy {
49
51
  protected getTabItemClasses(_tab: ZTab): string;
50
52
  protected selectTab(tab: ZTab, scrollToView?: boolean): void;
51
53
  protected isTabActive(tab: ZTab): boolean;
52
- protected shouldRenderPanel(tabValue: string): boolean;
53
54
  protected onTabKeydown(event: KeyboardEvent, currentIndex: number): void;
54
55
  protected checkScroll(): void;
55
56
  protected scrollLeft(): void;
@@ -58,7 +59,7 @@ declare class ZTabsComponent implements AfterViewInit, OnDestroy {
58
59
  private _setupResizeObserver;
59
60
  protected scrollToActiveDropdownItem(): void;
60
61
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZTabsComponent, never>;
61
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZTabsComponent, "z-tabs", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "zTabs": { "alias": "zTabs"; "required": true; "isSignal": true; }; "zType": { "alias": "zType"; "required": false; "isSignal": true; }; "zSize": { "alias": "zSize"; "required": false; "isSignal": true; }; "zOrientation": { "alias": "zOrientation"; "required": false; "isSignal": true; }; "zLazy": { "alias": "zLazy"; "required": false; "isSignal": true; }; "zTabsOnly": { "alias": "zTabsOnly"; "required": false; "isSignal": true; }; "zReloadable": { "alias": "zReloadable"; "required": false; "isSignal": true; }; "activeTab": { "alias": "activeTab"; "required": false; "isSignal": true; }; }, { "activeTab": "activeTabChange"; "zTabChange": "zTabChange"; }, ["tabPanels"], never, true, never>;
62
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZTabsComponent, "z-tabs", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "zTabs": { "alias": "zTabs"; "required": true; "isSignal": true; }; "zType": { "alias": "zType"; "required": false; "isSignal": true; }; "zSize": { "alias": "zSize"; "required": false; "isSignal": true; }; "zOrientation": { "alias": "zOrientation"; "required": false; "isSignal": true; }; "zLazy": { "alias": "zLazy"; "required": false; "isSignal": true; }; "zDestroyInactive": { "alias": "zDestroyInactive"; "required": false; "isSignal": true; }; "zTabsOnly": { "alias": "zTabsOnly"; "required": false; "isSignal": true; }; "zReloadable": { "alias": "zReloadable"; "required": false; "isSignal": true; }; "activeTab": { "alias": "activeTab"; "required": false; "isSignal": true; }; }, { "activeTab": "activeTabChange"; "zTabChange": "zTabChange"; }, ["tabPanels"], never, true, never>;
62
63
  }
63
64
 
64
65
  declare const zTabsVariants: (props?: ({
@@ -75,6 +75,16 @@ declare class ZTagsComponent implements AfterViewInit {
75
75
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZTagsComponent, "z-tags", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "zTags": { "alias": "zTags"; "required": false; "isSignal": true; }; "zSize": { "alias": "zSize"; "required": false; "isSignal": true; }; "zColor": { "alias": "zColor"; "required": false; "isSignal": true; }; "zClosable": { "alias": "zClosable"; "required": false; "isSignal": true; }; "zDisabled": { "alias": "zDisabled"; "required": false; "isSignal": true; }; "zAddable": { "alias": "zAddable"; "required": false; "isSignal": true; }; "zAddText": { "alias": "zAddText"; "required": false; "isSignal": true; }; "zAddPlaceholder": { "alias": "zAddPlaceholder"; "required": false; "isSignal": true; }; "zRandomColor": { "alias": "zRandomColor"; "required": false; "isSignal": true; }; "zTagClass": { "alias": "zTagClass"; "required": false; "isSignal": true; }; "zLabelClass": { "alias": "zLabelClass"; "required": false; "isSignal": true; }; "zMaxWidth": { "alias": "zMaxWidth"; "required": false; "isSignal": true; }; }, { "zTagClose": "zTagClose"; "zTagAdd": "zTagAdd"; }, never, never, true, never>;
76
76
  }
77
77
 
78
+ declare class ZTagsDirective {
79
+ readonly zSize: _angular_core.InputSignal<ZTagSize>;
80
+ readonly zColor: _angular_core.InputSignal<ZTagColor>;
81
+ readonly zDisabled: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
82
+ readonly zClass: _angular_core.InputSignal<ClassValue>;
83
+ protected readonly hostClasses: _angular_core.Signal<string>;
84
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZTagsDirective, never>;
85
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ZTagsDirective, "[z-tags]", ["zTags"], { "zSize": { "alias": "zSize"; "required": false; "isSignal": true; }; "zColor": { "alias": "zColor"; "required": false; "isSignal": true; }; "zDisabled": { "alias": "zDisabled"; "required": false; "isSignal": true; }; "zClass": { "alias": "zClass"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
86
+ }
87
+
78
88
  declare const zTagsContainerVariants: (props?: ({
79
89
  zSize?: "sm" | "default" | "lg" | null | undefined;
80
90
  } & class_variance_authority_types.ClassProp) | undefined) => string;
@@ -111,5 +121,5 @@ declare class ZTagStylePipe implements PipeTransform {
111
121
  static ɵpipe: _angular_core.ɵɵPipeDeclaration<ZTagStylePipe, "zTagStyle", true>;
112
122
  }
113
123
 
114
- export { ZTagClassesPipe, ZTagClosablePipe, ZTagStylePipe, ZTagsComponent, zTagCloseButtonVariants, zTagVariants, zTagsContainerVariants };
124
+ export { ZTagClassesPipe, ZTagClosablePipe, ZTagStylePipe, ZTagsComponent, ZTagsDirective, zTagCloseButtonVariants, zTagVariants, zTagsContainerVariants };
115
125
  export type { ZTagCloseButtonVariants, ZTagColor, ZTagConfig, ZTagItem, ZTagRandomColorCache, ZTagSize, ZTagVariants, ZTagsContainerVariants };
@@ -28,6 +28,12 @@ interface ZUploadValidator {
28
28
  validate?: (files: ZUploadFile[]) => boolean;
29
29
  }
30
30
  interface ZUploadControl {
31
+ /** Trigger validation and return true if valid */
32
+ valid: () => boolean;
33
+ /**
34
+ * Trigger validation and return true if has error.
35
+ * @deprecated Use `valid()` for boolean form-submit checks.
36
+ */
31
37
  validate: () => boolean;
32
38
  reset: () => void;
33
39
  clearFiles: () => void;
@@ -106,7 +112,9 @@ declare class ZUploadComponent implements OnInit, ControlValueAccessor {
106
112
  updateProgress(fileId: string, progress: number): void;
107
113
  setFileStatus(fileId: string, status: ZUploadFile['status']): void;
108
114
  clearFiles(): void;
115
+ /** @deprecated Use `valid()` for boolean form-submit checks. */
109
116
  validate(): boolean;
117
+ valid(): boolean;
110
118
  reset(): void;
111
119
  markAsTouched(): void;
112
120
  markAsUntouched(): void;