@cobre-npm/ds-v3 0.126.2 → 0.126.4

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 (80) hide show
  1. package/dist/cobre-ds-v3-lib.es.js +52 -43
  2. package/dist/style.css +1 -1
  3. package/dist/types/components/atoms/CobreAvatar/CobreAvatar.vue.d.ts +5 -0
  4. package/dist/types/components/atoms/CobreBankLogo/CobreBankLogo.vue.d.ts +6 -0
  5. package/dist/types/components/atoms/CobreButtonMenu/CobreButtonMenu.vue.d.ts +5 -0
  6. package/dist/types/components/atoms/CobreCardButton/CobreCardButton.vue.d.ts +5 -0
  7. package/dist/types/components/atoms/CobreColumnTable/CobreColumnTable.vue.d.ts +7 -0
  8. package/dist/types/components/atoms/CobreCountryFlag/CobreCountryFlag.vue.d.ts +5 -0
  9. package/dist/types/components/atoms/CobreDetailRow/CobreDetailRow.vue.d.ts +6 -0
  10. package/dist/types/components/atoms/CobreEmptyResults/CobreEmptyResults.vue.d.ts +6 -0
  11. package/dist/types/components/atoms/CobreHeadline/CobreHeadline.vue.d.ts +5 -0
  12. package/dist/types/components/atoms/CobreIndicative/CobreIndicative.vue.d.ts +7 -0
  13. package/dist/types/components/atoms/CobreInfoDetail/CobreInfoDetail.vue.d.ts +6 -0
  14. package/dist/types/components/atoms/CobreInputLabel/CobreInputLabel.vue.d.ts +4 -0
  15. package/dist/types/components/atoms/CobreOptionsSwitch/CobreOptionsSwitch.vue.d.ts +6 -0
  16. package/dist/types/components/atoms/CobrePager/CobrePager.vue.d.ts +5 -0
  17. package/dist/types/components/atoms/CobreRadio/CobreRadio.vue.d.ts +6 -0
  18. package/dist/types/components/atoms/CobreRowActions/CobreRowActions.vue.d.ts +6 -0
  19. package/dist/types/components/atoms/CobreRowActions/interfaces/CobreRowActions.interface.d.ts +8 -0
  20. package/dist/types/components/atoms/CobreSegmentedTabs/CobreSegmentedTabs.vue.d.ts +6 -0
  21. package/dist/types/components/atoms/CobreSwitch/CobreSwitch.vue.d.ts +6 -0
  22. package/dist/types/components/atoms/CobreTabMenu/CobreTabMenu.vue.d.ts +6 -0
  23. package/dist/types/components/atoms/CobreTabMenuV2/CobreTabMenu.vue.d.ts +6 -0
  24. package/dist/types/components/atoms/CobreTruncateTooltipText/CobreTruncateTooltipText.vue.d.ts +5 -0
  25. package/dist/types/components/atoms/CobreUploader/CobreUploader.vue.d.ts +6 -0
  26. package/dist/types/components/atoms/CobreWidgetState/CobreWidgetState.vue.d.ts +5 -0
  27. package/dist/types/components/molecules/CobreAccountCpButton/CobreAccountCpButton.vue.d.ts +6 -0
  28. package/dist/types/components/molecules/CobreAccountCpLogo/CobreAccountCpLogo.vue.d.ts +6 -0
  29. package/dist/types/components/molecules/CobreAccountInfoFiled/CobreAccountInfoField.vue.d.ts +5 -0
  30. package/dist/types/components/molecules/CobreAccountOptionSelect/CobreAccountOptionSelect.vue.d.ts +6 -0
  31. package/dist/types/components/molecules/CobreActionList/CobreActionList.vue.d.ts +6 -0
  32. package/dist/types/components/molecules/CobreAvatarsGroup/CobreAvatarsGroup.vue.d.ts +6 -0
  33. package/dist/types/components/molecules/CobreBalanceCard/CobreBalanceCard.vue.d.ts +5 -0
  34. package/dist/types/components/molecules/CobreCardIcon/CobreCardIcon.vue.d.ts +6 -0
  35. package/dist/types/components/molecules/CobreCopyTextBox/CobreCopyTextBox.vue.d.ts +6 -0
  36. package/dist/types/components/molecules/CobreEntityIdCopyButton/CobreEntityIdCopyButton.vue.d.ts +6 -0
  37. package/dist/types/components/molecules/CobreFieldLogo/CobreFieldLogo.vue.d.ts +5 -0
  38. package/dist/types/components/molecules/CobreFlowResult/CobreFlowResult.vue.d.ts +6 -0
  39. package/dist/types/components/molecules/CobreFormOtp/CobreFormOtp.vue.d.ts +6 -0
  40. package/dist/types/components/molecules/CobreInputAmount/CobreInputAmount.vue.d.ts +6 -0
  41. package/dist/types/components/molecules/CobreInputCurrency/CobreInputCurrency.vue.d.ts +6 -0
  42. package/dist/types/components/molecules/CobreInputDatePicker/CobreInputDatePicker.vue.d.ts +6 -0
  43. package/dist/types/components/molecules/CobreInputPhoneNumber/CobreInputPhoneNumber.vue.d.ts +6 -0
  44. package/dist/types/components/molecules/CobreInputUrl/CobreInputUrl.vue.d.ts +6 -0
  45. package/dist/types/components/molecules/CobreKebabMenu/CobreKebabMenu.vue.d.ts +6 -0
  46. package/dist/types/components/molecules/CobreLogoField/CobreLogoField.vue.d.ts +5 -0
  47. package/dist/types/components/molecules/CobreModalAction/CobreModalAction.vue.d.ts +6 -0
  48. package/dist/types/components/molecules/CobreMultiOptionsFilter/CobreMultiOptionsFilter.vue.d.ts +7 -0
  49. package/dist/types/components/molecules/CobreRowTable/CobreRowTable.vue.d.ts +10 -0
  50. package/dist/types/components/molecules/CobreSelectTags/CobreSelectTags.vue.d.ts +7 -0
  51. package/dist/types/components/molecules/CobreTableCellCopy/CobreTableCellCopy.vue.d.ts +6 -0
  52. package/dist/types/components/molecules/CobreTourTooltip/CobreTourTooltip.vue.d.ts +7 -0
  53. package/dist/types/components/molecules/Toolbar/CobreInputSearch/CobreInputSearch.vue.d.ts +5 -0
  54. package/dist/types/components/molecules/Toolbar/CobreInputSearchV2/CobreInputSearchV2.vue.d.ts +7 -0
  55. package/dist/types/components/organisms/CobreAccountPicker/CobreAccountPicker.vue.d.ts +6 -0
  56. package/dist/types/components/organisms/CobreAccountPickerModal/interfaces/account-selector-modal.interface.d.ts +11 -1
  57. package/dist/types/components/organisms/CobreDateFilter/CobreDateFilter.vue.d.ts +7 -0
  58. package/dist/types/components/organisms/CobreDynamicForm/CobreDynamicForm.vue.d.ts +7 -0
  59. package/dist/types/components/organisms/CobreDynamicForm/interfaces/currencies.interface.d.ts +4 -0
  60. package/dist/types/components/organisms/CobreDynamicForm/interfaces/field.interface.d.ts +25 -0
  61. package/dist/types/components/organisms/CobreFilterPanel/CobreFilterPanel.vue.d.ts +8 -0
  62. package/dist/types/components/organisms/CobreFilterPanel/components/FilterAmountRange.vue.d.ts +6 -0
  63. package/dist/types/components/organisms/CobreFilterPanel/components/FilterCheckboxList.vue.d.ts +6 -0
  64. package/dist/types/components/organisms/CobreFilterPanel/components/FilterInput.vue.d.ts +6 -0
  65. package/dist/types/components/organisms/CobreFilterPanel/components/FilterRadioList.vue.d.ts +6 -0
  66. package/dist/types/components/organisms/CobreFilterPanel/components/FilterSelect.vue.d.ts +6 -0
  67. package/dist/types/components/organisms/CobreFilterPanel/interfaces/filter.interface.d.ts +26 -0
  68. package/dist/types/components/organisms/CobreHeader/CobreHeader.vue.d.ts +7 -0
  69. package/dist/types/components/organisms/CobreHeader/components/Navbar.vue.d.ts +5 -0
  70. package/dist/types/components/organisms/CobreSideMenu/CobreSideMenu.vue.d.ts +6 -0
  71. package/dist/types/components/organisms/CobreSideMenu/components/SideMenuItem.vue.d.ts +6 -0
  72. package/dist/types/components/organisms/CobreSideMenu/components/SubItems.vue.d.ts +5 -0
  73. package/dist/types/components/organisms/CobreSideMenu/interfaces/menu.interface.d.ts +15 -0
  74. package/dist/types/components/organisms/CobreTimeline/CobreTimeline.vue.d.ts +5 -0
  75. package/dist/types/types/button.types.d.ts +5 -0
  76. package/dist/types/types/icon.types.d.ts +1 -0
  77. package/dist/types/utils/banksList.d.ts +1 -0
  78. package/dist/types/utils/index.d.ts +14 -0
  79. package/dist/types/utils/indicativesList.d.ts +1 -0
  80. package/package.json +1 -1
@@ -1,5 +1,10 @@
1
1
  type sizeAvatarType = 'small' | 'medium' | 'large' | 'xs';
2
2
  type avatarType = 'empty' | 'disabled';
3
+ /**
4
+ * CobreAvatar — a circular avatar showing short text (e.g. user initials).
5
+ * Use to represent a user or entity in lists, headers and menus. Exposes the
6
+ * `fullText` value as a tooltip on hover.
7
+ */
3
8
  interface Props {
4
9
  text?: string;
5
10
  fullText?: string;
@@ -1,3 +1,9 @@
1
+ /**
2
+ * CobreBankLogo — renders a bank or blockchain logo image from the static assets
3
+ * CDN, resolving the bank name as a tooltip. Use to display an institution logo
4
+ * inside lists, tables and detail views. Falls back to an UNKNOWN logo when the
5
+ * image fails to load.
6
+ */
1
7
  interface Props {
2
8
  idLogo: string;
3
9
  size: 'xs' | 'sm' | 'md' | 'lg' | 'auto';
@@ -1,3 +1,8 @@
1
+ /**
2
+ * CobreButtonMenu — a button styled for side-menu navigation entries.
3
+ * Use for menu items, nested sub-items and options inside CobreSideMenu.
4
+ * Renders its content through the `content` slot.
5
+ */
1
6
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
7
  theme: {
3
8
  type: () => "item" | "subitem" | "option";
@@ -1,3 +1,8 @@
1
+ /**
2
+ * CobreCardButton — a selectable card with an icon, title and description.
3
+ * Use as a clickable option in choice lists (e.g. picking an account type or
4
+ * payment method) where each option needs an icon and supporting text.
5
+ */
1
6
  interface Props {
2
7
  iconClass: string;
3
8
  title: string;
@@ -11,6 +11,13 @@ export interface TableItem {
11
11
  [key: string]: any;
12
12
  hovered?: boolean;
13
13
  }
14
+ /**
15
+ * CobreColumnTable — a column-oriented table that renders each column as a
16
+ * vertical stack of cells. Use for tabular data where columns have configurable
17
+ * width, alignment, header info tooltips and per-column custom rendering.
18
+ * Each column key exposes a named slot receiving `{ data, index }` to override
19
+ * the default cell text.
20
+ */
14
21
  interface Props {
15
22
  displayedColumns: DisplayedColumn[];
16
23
  data: TableItem[];
@@ -1,3 +1,8 @@
1
+ /**
2
+ * CobreCountryFlag — renders a country flag image (SVG) from the static assets
3
+ * CDN. Use to display a country/region indicator next to currencies, phone
4
+ * inputs or location fields.
5
+ */
1
6
  interface Props {
2
7
  geo: string;
3
8
  width?: number;
@@ -1,3 +1,9 @@
1
+ /**
2
+ * CobreDetailRow — a label/value row for detail or summary views, with the label
3
+ * on the left and the value on the right. Use to list key/value pairs (e.g.
4
+ * reference, status, amount). Provides `label` and `value` slots to override the
5
+ * plain-text defaults with custom content.
6
+ */
1
7
  interface Props {
2
8
  label?: string;
3
9
  value?: string;
@@ -1,3 +1,9 @@
1
+ /**
2
+ * CobreEmptyResults — empty-state placeholder shown when a list, table, or search
3
+ * returns no data. Renders an illustration, a title, and an optional description.
4
+ * Use inside containers that may have no content; pick the `icon` that matches the
5
+ * context and `size: 'sm'` for compact areas.
6
+ */
1
7
  interface Props {
2
8
  title: string;
3
9
  description: string;
@@ -1,3 +1,8 @@
1
+ /**
2
+ * CobreHeadline — section title displayed as a single line of heading text.
3
+ * Use to label a section or content block. For body or label text use a different
4
+ * component such as CobreInputLabel or plain typography.
5
+ */
1
6
  interface Props {
2
7
  title: string;
3
8
  }
@@ -1,9 +1,16 @@
1
+ /** A selectable country dialing code option for CobreIndicative. */
1
2
  export interface Indicative {
2
3
  code: string;
3
4
  geo?: string;
4
5
  country?: string;
5
6
  isoCode?: string;
6
7
  }
8
+ /**
9
+ * CobreIndicative — dropdown selector for a country dialing code (phone indicative),
10
+ * typically used as a prefix alongside a phone-number input. Renders the country flag
11
+ * and dialing code, and emits the selected code via `update:modelValue` (v-model).
12
+ * Provides `open-indicator`, `selected-option`, and `option` slots to customize rendering.
13
+ */
7
14
  interface Props {
8
15
  modelValue?: string;
9
16
  placeholder?: string;
@@ -1,3 +1,9 @@
1
+ /**
2
+ * CobreInfoDetail — a labeled detail field showing a title and its value, used in
3
+ * summaries and detail panels. Renders a skeleton while loading and a placeholder
4
+ * ('-') when there is no content. Use the `contentComponent` slot to render a custom
5
+ * value instead of plain text.
6
+ */
1
7
  interface Props {
2
8
  title?: string;
3
9
  contentClass?: string;
@@ -1,3 +1,7 @@
1
+ /**
2
+ * CobreInputLabel — the text label rendered above or beside form inputs.
3
+ * Use to caption a field; pass `isDisabled` to dim it when the associated input is disabled.
4
+ */
1
5
  interface Props {
2
6
  label?: string;
3
7
  isDisabled?: boolean;
@@ -1,3 +1,4 @@
1
+ /** A single selectable option in a CobreOptionsSwitch. */
1
2
  interface Option {
2
3
  id: number;
3
4
  name: string;
@@ -6,6 +7,11 @@ interface Option {
6
7
  disabled?: boolean;
7
8
  tooltipText?: string;
8
9
  }
10
+ /**
11
+ * CobreOptionsSwitch — a segmented toggle that lets the user pick one option from a
12
+ * small set, with an animated highlight. Emits `change` with the selected option.
13
+ * Provide `option-{id}` slots to render content panels for each option when selected.
14
+ */
9
15
  interface Props {
10
16
  /** List of options - since 0.11.0 */
11
17
  options: Option[];
@@ -1,3 +1,8 @@
1
+ /**
2
+ * CobrePager — compact pagination control showing the current item range and page,
3
+ * with previous/next buttons. Emits `previousPage` and `nextPage`; the parent owns
4
+ * page state. Use above or below paginated lists and tables.
5
+ */
1
6
  interface Props {
2
7
  totalPages?: number;
3
8
  currentPage: number;
@@ -1,3 +1,9 @@
1
+ /**
2
+ * CobreRadio — a single radio-button option with optional label and description.
3
+ * Use within a radio group (same `name`, shared `v-model`) to select one value.
4
+ * `type="box"` renders the option as a bordered, selectable card.
5
+ * Provides a `content` slot rendered before the label (e.g. for an icon).
6
+ */
1
7
  interface Props {
2
8
  value: string | number | string[];
3
9
  modelValue?: string | boolean;
@@ -1,4 +1,10 @@
1
1
  import { RowAction } from './interfaces/CobreRowActions.interface';
2
+ /**
3
+ * CobreRowActions — a compact toolbar of icon/label action buttons for a table row.
4
+ * Use to expose per-row operations (copy, download, delete...) that appear on hover.
5
+ * Each action is configured via the `actions` array (icon, tooltip, onClick/eventName,
6
+ * conditional show/loading). Emits `action` with the action's eventName when clicked.
7
+ */
2
8
  type __VLS_Props = {
3
9
  actions: RowAction[];
4
10
  visible: boolean;
@@ -1,12 +1,20 @@
1
+ /** A single action button rendered by CobreRowActions for a table row, generic over the row's data type T. */
1
2
  export interface RowAction<T = unknown> {
2
3
  id: string;
3
4
  label?: string;
4
5
  icon: string;
6
+ /** Tooltip text shown on hover. */
5
7
  tooltipText?: string;
8
+ /** Handler invoked with the row's data when the action is clicked. */
6
9
  onClick?: (rowData: T) => void | undefined | Promise<void>;
10
+ /** Name of the event emitted instead of (or alongside) calling onClick. */
7
11
  eventName?: string;
12
+ /** Whether to show visual feedback after the action runs. */
8
13
  feedback?: boolean;
14
+ /** Visual style of the action. */
9
15
  type?: 'default' | 'info';
16
+ /** Whether the action is visible; can be a predicate evaluated against the row's data. */
10
17
  show?: boolean | ((rowData: T) => boolean);
18
+ /** Whether the action shows a loading state; can be a predicate evaluated against the row's data. */
11
19
  isLoading?: boolean | ((rowData: T) => boolean);
12
20
  }
@@ -3,6 +3,12 @@ interface Option {
3
3
  label?: string;
4
4
  icon?: string;
5
5
  }
6
+ /**
7
+ * CobreSegmentedTabs — a compact segmented control for picking one of a few options.
8
+ * Use for mutually exclusive choices (filters, view toggles) shown inline as joined pills.
9
+ * Each option renders its `icon` when provided, otherwise its `label`.
10
+ * Two-way bound via v-model; emits update:modelValue with the chosen option's value.
11
+ */
6
12
  interface Props {
7
13
  modelValue?: string;
8
14
  options: Option[];
@@ -1,3 +1,9 @@
1
+ /**
2
+ * CobreSwitch — a toggle switch for on/off (boolean) settings.
3
+ * Use to enable/disable a single option; for a labelled multi-radio choice use CobreRadio.
4
+ * Two-way bound via v-model; emits update:modelValue with the checked state and `changed`.
5
+ * Optional `label` and `description` render text beside the toggle.
6
+ */
1
7
  interface Props {
2
8
  modelValue: any;
3
9
  disabled?: boolean;
@@ -7,6 +7,12 @@ interface Tab {
7
7
  icon?: string;
8
8
  }
9
9
  type Direction = 'row' | 'column';
10
+ /**
11
+ * CobreTabMenu — a horizontal or vertical tab navigation bar.
12
+ * Use to switch between sections; each tab can show an icon, a count badge, and a tooltip.
13
+ * Two-way bound via v-model with the active Tab object; emits update:modelValue on select.
14
+ * Exposes `resetActiveTab` and `setActiveTab`. Initial tab can come from the URL `status` param.
15
+ */
10
16
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
11
17
  tabs: {
12
18
  type: () => Tab[];
@@ -8,6 +8,12 @@ interface Tab {
8
8
  }
9
9
  type Direction = 'row' | 'column';
10
10
  type Size = 'sm' | 'md';
11
+ /**
12
+ * CobreTabMenu (V2) — a horizontal or vertical tab navigation bar.
13
+ * Use to switch between sections; each tab can show an icon, a count badge, and a tooltip.
14
+ * Two-way bound via v-model with the active Tab object; emits update:modelValue and `select`.
15
+ * Active tab is derived from modelValue (falls back to the first tab). Supports a `sm` size.
16
+ */
11
17
  type __VLS_Props = {
12
18
  tabs: Tab[];
13
19
  modelValue?: Tab;
@@ -1,3 +1,8 @@
1
+ /**
2
+ * CobreTruncateTooltipText — single-line text that truncates with an ellipsis and
3
+ * shows the full text in a tooltip only when it actually overflows its container.
4
+ * Use for table cells or tight layouts where long values must stay on one line.
5
+ */
1
6
  interface Props {
2
7
  text?: string;
3
8
  }
@@ -1,3 +1,9 @@
1
+ /**
2
+ * CobreUploader — a single-file drag-and-drop / browse upload area.
3
+ * Use to let the user pick or drop one file; once chosen it shows the file name,
4
+ * size, a type icon (csv/json/txt/xlsx) and a delete button.
5
+ * Emits `files-dropped`, `files-input`, and `deleted-file`; exposes `resetInputFile`.
6
+ */
1
7
  interface Props {
2
8
  currentFileType?: any;
3
9
  allowedExtensions?: string[];
@@ -1,3 +1,8 @@
1
+ /**
2
+ * CobreWidgetState — a compact, centered placeholder for a widget's non-data state.
3
+ * Use inside small cards/widgets to show a warning, error, or info message with an
4
+ * icon, title, and optional description (e.g. "no data", "failed to load").
5
+ */
1
6
  interface Props {
2
7
  variant: "warning" | "error" | "info";
3
8
  icon: string;
@@ -1,3 +1,9 @@
1
+ /**
2
+ * CobreAccountCpButton — compact chip-style button representing an account or counterparty.
3
+ * Use to show a selectable account/counterparty with its logo, alias, and masked account number.
4
+ * The leading icon is derived from `id`: ids starting with `acc` show a wallet/bank logo,
5
+ * otherwise a counterparty (users) icon. Emits `click` with the `id` when pressed.
6
+ */
1
7
  interface Props {
2
8
  id: string;
3
9
  alias: string;
@@ -1,3 +1,9 @@
1
+ /**
2
+ * CobreAccountCpLogo — renders the logo/icon for an account or counterparty.
3
+ * Use inside lists, selects, and chips to show a bank logo or a generic icon.
4
+ * When `logo` starts with `PR` it renders a CobreBankLogo; otherwise `logo` is
5
+ * treated as an icon class name and rendered as an `<i>`.
6
+ */
1
7
  interface Props {
2
8
  logo: string;
3
9
  size?: 'xs' | 'sm' | 'md' | 'lg';
@@ -1,3 +1,8 @@
1
+ /**
2
+ * CobreAccountInfoField — displays an account number with optional unmask, copy, and edit actions.
3
+ * Use to show a (masked by default) account value alongside reveal/copy/edit icon buttons that
4
+ * appear on hover. Emits `copy` and `edit` with the account value when those actions are used.
5
+ */
1
6
  interface Props {
2
7
  account?: string;
3
8
  isEnabledUnmask?: boolean;
@@ -14,6 +14,12 @@ export interface CobreSelectableItem {
14
14
  isDisabled?: boolean;
15
15
  tooltipText?: string;
16
16
  }
17
+ /**
18
+ * CobreAccountOptionSelect — a single selectable row showing an entity's logo, title,
19
+ * subtitle, optional currency label, and a badge. Use as an option inside account or
20
+ * counterparty selects/dropdowns. An optional `tooltipText` adds a hover tooltip.
21
+ * Accepts any `CobreSelectableItem`, not just accounts or counterparties.
22
+ */
17
23
  interface Props {
18
24
  account: CobreSelectableItem;
19
25
  }
@@ -12,6 +12,12 @@ export interface Option {
12
12
  theme?: 'error';
13
13
  key?: string;
14
14
  }
15
+ /**
16
+ * CobreActionList — a panel listing clickable action items, each with an optional icon,
17
+ * inline action, divider, or custom slot content. Use for contextual menus, help panels,
18
+ * and option lists. Supports `header` and `footer` slots plus per-option named slots.
19
+ * Emits `clickOption` with the selected option and `close` when the close button is pressed.
20
+ */
15
21
  interface Props {
16
22
  options: Array<Option>;
17
23
  hasCloseButton?: boolean;
@@ -1,4 +1,10 @@
1
1
  type sizeAvatarType = 'small' | 'medium' | 'large';
2
+ /**
3
+ * CobreAvatarsGroup — renders a row of overlapping avatars, one per email.
4
+ * Use to show a set of people (e.g. participants) compactly. Each avatar shows the
5
+ * email's first letter; empty strings render an 'empty' placeholder avatar, and an
6
+ * empty list renders a single 'disabled' avatar.
7
+ */
2
8
  type __VLS_Props = {
3
9
  emailsList: string[];
4
10
  size: sizeAvatarType;
@@ -6,6 +6,11 @@ export interface BalanceCardItem {
6
6
  name: string;
7
7
  isStable: boolean;
8
8
  }
9
+ /**
10
+ * CobreBalanceCard — a draggable card showing a currency balance with its flag, label, and name.
11
+ * Use in balance overviews/dashboards to display one currency's amount. Renders a skeleton
12
+ * placeholder while `isLoading` is true. Stable coins (item.isStable) use a wider flag treatment.
13
+ */
9
14
  interface Props {
10
15
  item?: BalanceCardItem;
11
16
  isLoading?: boolean;
@@ -1,3 +1,9 @@
1
+ /**
2
+ * CobreCardIcon — a selectable, icon-led card used as a radio-style option.
3
+ * Use within a group where each card represents one choice; clicking emits
4
+ * `update:modelValue` with the card's value and the matching card renders active.
5
+ * Renders an `icon` slot or, when `geo` is set, a country flag beside the label.
6
+ */
1
7
  interface Props {
2
8
  label: string;
3
9
  cardValue: string | number;
@@ -1,3 +1,9 @@
1
+ /**
2
+ * CobreCopyTextBox — a pill that displays a text value with a copy button.
3
+ * Use to surface a short, copyable value (id, code, account number); clicking
4
+ * the button emits `copy` with the text. Shows a skeleton while `isLoading`,
5
+ * a dash when empty, and a check icon when the value matches `copied`.
6
+ */
1
7
  interface Props {
2
8
  text: string;
3
9
  isLoading?: boolean;
@@ -1,3 +1,9 @@
1
+ /**
2
+ * CobreEntityIdCopyButton — shows an entity id in monospace with a copy button.
3
+ * Use to display a copyable identifier inline; clicking the button emits `copy`
4
+ * with the id. Shows a skeleton placeholder while `isLoading`, and a check icon
5
+ * when the id matches `copied`.
6
+ */
1
7
  interface Props {
2
8
  id: string;
3
9
  isLoading?: boolean;
@@ -1,3 +1,8 @@
1
+ /**
2
+ * CobreFieldLogo — a bank logo paired with a label in a single inline row.
3
+ * Use to display a bank/account identifier alongside its logo (e.g. account fields).
4
+ * Provides an `end` slot for trailing content such as a masked account number.
5
+ */
1
6
  interface Props {
2
7
  label: string;
3
8
  idLogo: string;
@@ -1,5 +1,11 @@
1
1
  import { ButtonThemes } from '../../../types/button.types';
2
2
  import { IconTypeV3 } from '../../../types/icon.types';
3
+ /**
4
+ * CobreFlowResult — a centered result/status screen with icon, title, body and actions.
5
+ * Use at the end of a flow to show success/error/info/warning/otp outcomes with up to
6
+ * two action buttons and an optional close button. Provides a `content` slot for custom
7
+ * body content between the subtitle and the action footer.
8
+ */
3
9
  interface Props {
4
10
  title?: string;
5
11
  subtitle?: string;
@@ -1,3 +1,9 @@
1
+ /**
2
+ * CobreFormOtp — a 6-digit OTP entry form built on top of CobreFlowResult.
3
+ * Use to collect a one-time code; emits `onComplete` when all 6 digits are filled,
4
+ * `submit` with the value on confirm, and `cancel` on the secondary button. Exposes
5
+ * `clearInput()` to reset the fields. Provides a `bottom` slot below the OTP inputs.
6
+ */
1
7
  interface Props {
2
8
  title: string;
3
9
  description: string;
@@ -1,4 +1,10 @@
1
1
  import { CurrencyInputOptions } from 'vue-currency-input';
2
+ /**
3
+ * CobreInputAmount — a formatted money/amount input built on vue-currency-input.
4
+ * Use for entering monetary amounts with grouping separators and a leading dollar
5
+ * icon; validates the value against min/max and required rules and shows an inline
6
+ * error. For amounts that also need a currency selector, use CobreInputCurrency.
7
+ */
2
8
  interface Props {
3
9
  modelValue: string | number | undefined;
4
10
  placeholder: string;
@@ -4,6 +4,12 @@ interface Currency {
4
4
  label: string;
5
5
  geo: string;
6
6
  }
7
+ /**
8
+ * CobreInputCurrency — a formatted amount input (vue-currency-input) paired with a
9
+ * currency selector (CobreSelect showing a country flag per option). Use when the
10
+ * user must enter both an amount and pick its currency; for an amount-only field
11
+ * use CobreInputAmount. Emits update:amount and update:currency on changes.
12
+ */
7
13
  interface Props {
8
14
  modelValue: string | number | undefined;
9
15
  errorMsg?: string;
@@ -1,3 +1,9 @@
1
+ /**
2
+ * CobreInputDatePicker — a date (or date-range) field built on @vuepic/vue-datepicker.
3
+ * Use for picking a single date or a start/end range; time picking is disabled and
4
+ * selection auto-applies. Renders an optional label, tooltip and inline error, and
5
+ * validates that required (and both range) dates are filled.
6
+ */
1
7
  type __VLS_Props = {
2
8
  label: string;
3
9
  isRequired?: boolean;
@@ -1,4 +1,10 @@
1
1
  import { Indicative } from '@/components/atoms/CobreIndicative/CobreIndicative.vue';
2
+ /**
3
+ * CobreInputPhoneNumber — a phone number field with a leading country indicative
4
+ * (dial-code) selector (CobreIndicative). Use to capture phone numbers; input is
5
+ * numeric-only and validated against min/max length. Emits update:modelValue with
6
+ * an object of `{ number, indicativeValue }` whenever either part changes.
7
+ */
2
8
  interface Props {
3
9
  modelValue: string | undefined | null;
4
10
  indicativeModelValue?: string;
@@ -1,3 +1,9 @@
1
+ /**
2
+ * CobreInputUrl — a URL field with a fixed "https://" prefix shown inside the input.
3
+ * Use to capture web addresses; the stored model value always keeps the "https://"
4
+ * prefix while the user types only the rest. Validates URL shape plus min/max length
5
+ * and shows an inline error or info message.
6
+ */
1
7
  interface Props {
2
8
  modelValue: string | undefined | null;
3
9
  errorMsg?: string;
@@ -1,3 +1,4 @@
1
+ /** A single entry in the kebab menu's dropdown (rendered via CobreActionList). */
1
2
  export interface Option {
2
3
  id: string;
3
4
  icon?: string;
@@ -6,6 +7,11 @@ export interface Option {
6
7
  lineBottom?: boolean;
7
8
  disabled?: boolean;
8
9
  }
10
+ /**
11
+ * CobreKebabMenu — a vertical "more" (three-dots) icon button that opens a dropdown
12
+ * of actions. Use for row- or card-level overflow actions. Renders a CobreButton
13
+ * trigger and a CobreActionList of options; emits clickOption with the chosen Option.
14
+ */
9
15
  interface Props {
10
16
  options: Option[];
11
17
  }
@@ -1,3 +1,8 @@
1
+ /**
2
+ * CobreLogoField — a bank logo (CobreBankLogo) paired with a text label in a row.
3
+ * Use to display a bank/entity alongside its name, e.g. in lists or selected values.
4
+ * Provides an `end` slot for trailing content (icon, action) after the label.
5
+ */
1
6
  interface Props {
2
7
  label: string;
3
8
  idLogo: string;
@@ -1,5 +1,11 @@
1
1
  import { IconTypeV3 } from '../../../types/icon.types';
2
2
  import { ButtonThemes } from '../../../types/button.types';
3
+ /**
4
+ * CobreModalAction — a confirmation/result modal built on CobreModal + CobreFlowResult.
5
+ * Use for action dialogs that present a title, description, an icon and one or two
6
+ * action buttons (primary/secondary). Open/close it via the exposed `toggleModal`.
7
+ * Emits `clickPrimary`, `clickSecondary` and `close`.
8
+ */
3
9
  interface Props {
4
10
  title: string;
5
11
  description: string;
@@ -1,4 +1,11 @@
1
1
  type Option = Record<string, any>;
2
+ /**
3
+ * CobreMultiOptionsFilter — a dropdown chip that lets users pick multiple options.
4
+ * Renders a CobreChips trigger; opening it shows a checkbox list of `options`.
5
+ * The chip text summarises the selection (truncating with a "+N more" style label).
6
+ * Use inside toolbars/tables for multi-select filtering. Emits `clean` when cleared;
7
+ * the selected values are exposed via v-model. Provides an `option` slot per row.
8
+ */
2
9
  interface Props {
3
10
  options?: Option[];
4
11
  filterLabel?: string;
@@ -1,5 +1,6 @@
1
1
  import { Option } from '../CobreKebabMenu/CobreKebabMenu.vue';
2
2
  import { RowAction } from '../../atoms/CobreRowActions/interfaces/CobreRowActions.interface';
3
+ /** Definition of a single table column for CobreRowTable. */
3
4
  export interface Column {
4
5
  key: string;
5
6
  width: number;
@@ -9,10 +10,19 @@ export interface Column {
9
10
  class?: string;
10
11
  style?: string;
11
12
  }
13
+ /** A table data row: arbitrary key/value record keyed by column. */
12
14
  export interface Item {
13
15
  [key: string]: any;
14
16
  hovered?: boolean;
15
17
  }
18
+ /**
19
+ * CobreRowTable — a flexible row-based table for listing data with optional
20
+ * selection, navigation, kebab menus, row actions and per-column slots.
21
+ * Use to render tabular data where each column maps to a key in `data`; provide a
22
+ * named slot per column key for custom cell rendering. Shows skeletons while loading
23
+ * and an empty-results state when there is no data. Emits `selectItem`,
24
+ * `clickKebabOption` and `action`; selected rows are exposed via v-model:selectedRows.
25
+ */
16
26
  interface Props {
17
27
  displayedColumns: Column[];
18
28
  data: Item[];
@@ -1,4 +1,11 @@
1
1
  import 'vue-select/dist/vue-select.css';
2
+ /**
3
+ * CobreSelectTags — a multi-select built on vue-select that renders selections as
4
+ * removable tags. Use when users pick several options shown as chips inside the field.
5
+ * The search input is sanitised to allow only letters, numbers and `- _ @`.
6
+ * Forwards vue-select attrs and exposes `option`, `open-indicator`, `no-options`,
7
+ * `no-results`, `list-header`, `list-footer` and `spinner` slots.
8
+ */
2
9
  interface Props {
3
10
  labelName?: string;
4
11
  isRequired?: boolean;
@@ -1,3 +1,9 @@
1
+ /**
2
+ * CobreTableCellCopy — a truncating table cell with a hover copy button and tooltip.
3
+ * Use inside table cells to show text that truncates with ellipsis, reveals a copy
4
+ * button on hover, and shows the full value in a tooltip when it exceeds a threshold.
5
+ * Emits `copy` with the value to copy; provides a `content` slot after the text.
6
+ */
1
7
  interface Props {
2
8
  text?: string;
3
9
  allowCopy?: boolean;
@@ -1,3 +1,4 @@
1
+ /** A single step in a CobreTourTooltip guided tour. */
1
2
  export interface TourStep {
2
3
  title: string;
3
4
  description: string;
@@ -6,6 +7,12 @@ export interface TourStep {
6
7
  arrowSide?: 'right' | 'left' | 'top' | 'bottom';
7
8
  offsetY?: number;
8
9
  }
10
+ /**
11
+ * CobreTourTooltip — a guided onboarding tour that spotlights elements with a blurred
12
+ * overlay and shows a positioned card with prev/next/finish controls per step.
13
+ * Use to walk users through a feature; auto-dismisses when the target leaves the
14
+ * viewport. Emits `navigate`, `dismiss` and `finish`.
15
+ */
9
16
  interface Props {
10
17
  steps: TourStep[];
11
18
  prevLabel?: string;