@producteca/producteca-ui-kit 1.54.0 → 1.56.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -17,7 +17,10 @@ export interface DraggableProps {
17
17
  label?: string;
18
18
  value?: DraggableListValue;
19
19
  onChange?: (event: ChangeEvent<HTMLInputElement>) => void;
20
- canRemove?: () => boolean;
20
+ /** Si se define, se evalúa por cada item para permitir o no eliminar. Recibe el item. */
21
+ canRemove?: (item: DraggableItem) => boolean;
22
+ /** Si es false, no se muestra el botón de eliminar. Por defecto true. */
23
+ showRemoveAction?: boolean;
21
24
  itemComponent?: ComponentType<DraggableComponentProps & Record<string, unknown>>;
22
25
  componentProps?: Record<string, unknown>;
23
26
  input?: ReduxFormInput;
@@ -6,10 +6,11 @@ interface DraggableRowProps {
6
6
  item: DraggableItem;
7
7
  isRemoving?: boolean;
8
8
  onRemove: (id: string) => void;
9
- canRemove?: () => boolean;
9
+ canRemove?: (item: DraggableItem) => boolean;
10
+ showRemoveAction?: boolean;
10
11
  component?: DraggableProps['itemComponent'];
11
12
  componentProps?: Record<string, unknown>;
12
13
  onSelectValue: (id: string, value: string) => void;
13
14
  }
14
- export declare const DraggableRow: React.MemoExoticComponent<({ item, isAdding, onRemove, canRemove, component, isRemoving, onSelectValue, componentProps, }: DraggableRowProps) => import("react/jsx-runtime").JSX.Element>;
15
+ export declare const DraggableRow: React.MemoExoticComponent<({ item, isAdding, onRemove, canRemove, showRemoveAction, component, isRemoving, onSelectValue, componentProps, }: DraggableRowProps) => import("react/jsx-runtime").JSX.Element>;
15
16
  export {};
@@ -14,7 +14,7 @@ export declare const saveBarExample = "\n## Uso del componente\n\nEl componente
14
14
  export declare const checkboxInputReduxFormExample = "\n### Ejemplo con Redux Form (Field):\n\n```tsx\n<Field\n name=\"cancelSales\"\n component={CheckboxInput}\n props={{\n name: 'cancelSales',\n label: 'Cancelar ventas',\n title: 'Opciones de sincronizaci\u00F3n',\n }}\n/>\n```\n";
15
15
  export declare const breadcrumbItemFormat = "\n ## Formato de BreadcrumbItem\n\n El componente Breadcrumb acepta un array de objetos `BreadcrumbItem` con las siguientes propiedades:\n\n ### Propiedades disponibles:\n\n - **`text`** (string, requerido): El texto que se muestra para el item del breadcrumb\n - **`onClick`** (function, opcional): Funci\u00F3n que se ejecuta al hacer click en el item\n - **`isActive`** (boolean, opcional): Indica si el item est\u00E1 activo. Por defecto, el \u00FAltimo item se considera activo\n - **`href`** (string, opcional): URL del enlace (actualmente no implementado en el renderizado)\n\n ### Comportamiento:\n\n - Los items con `onClick` se renderizan como botones clickeables\n - Los items sin `onClick` se renderizan como texto est\u00E1tico\n - El \u00FAltimo item siempre se considera activo (a menos que se especifique `isActive: true` en otro item)\n - Cada item se separa autom\u00E1ticamente con el s\u00EDmbolo \">\"\n\n ### Ejemplo de uso:\n\n ```tsx\n const breadcrumbItems = [\n { text: 'Dashboard' },\n { text: 'Productos', onClick: () => navigate('/products') },\n { text: 'Detalles', isActive: true }\n ]\n\n <Breadcrumb items={breadcrumbItems} />\n ```\n";
16
16
  export declare const menuItems = "Lista de \u00EDtems que se mostrar\u00E1n en el men\u00FA.\n \n**Tipo:** `MenuActionItem[]`\n\n```ts\ninterface MenuActionItem {\n label: React.ReactNode\n icon?: React.ReactElement\n onClick?: () => void\n selected?: boolean\n disabled?: boolean\n}\n```\n";
17
- export declare const draggableListExample = "\n## Uso del componente\n\nEl componente `DraggableList` permite crear listas de items arrastrables con un componente personalizado para cada item.\n\n**`value`** acepta dos formatos:\n- **string[]**: `[\"valor1\", \"valor2\"]` \u2014 `onChange` devuelve un array de strings.\n- **{ id, value }[]**: `[{ id: 'item-1', value: 'valor1' }, ...]` \u2014 `onChange` devuelve el mismo formato de objetos.\n\n### Ejemplo con objetos (id + value):\n\n```tsx\n<DraggableList\n label=\"Seleccionar un deposito\"\n addLabel=\"+ Agregar\"\n itemComponent={SelectField}\n componentProps={{\n placeholder: 'Seleccionar...',\n options: [\n { value: 'option1', label: 'Opci\u00F3n 1' },\n { value: 'option2', label: 'Opci\u00F3n 2' },\n ],\n size: 'md',\n }}\n value={[\n { id: 'item-1', value: 'option1' },\n { id: 'item-2', value: 'option2' },\n ]}\n onChange={(event) => console.log('Items actualizados:', event.target.value)}\n/>\n```\n\n### Ejemplo con array de strings:\n\n```tsx\n<DraggableList\n label=\"Nombres\"\n addLabel=\"+ Agregar\"\n itemComponent={FormField}\n componentProps={{ placeholder: 'Texto', size: 'md', type: 'text' }}\n value={['Uno', 'Dos']}\n onChange={(event) => setValues(event.target.value)}\n/>\n```\n\n### Ejemplo con Redux Form (Field):\n\n```tsx\n<Field\n name=\"warehouses\"\n component={DraggableList}\n itemComponent={FormField}\n label=\"Dep\u00F3sitos\"\n addLabel=\"+ Agregar\"\n componentProps={{\n placeholder: 'Nombre del dep\u00F3sito',\n size: 'md',\n type: 'text',\n }}\n value={[\n { id: 'item-1', value: 'Texto 1' },\n { id: 'item-2', value: 'Texto 2' },\n ]}\n/>\n```\n";
17
+ export declare const draggableListExample = "\n## Uso del componente\n\nEl componente `DraggableList` permite crear listas de items arrastrables con un componente personalizado para cada item.\n\n**`value`** acepta dos formatos:\n- **string[]**: `[\"valor1\", \"valor2\"]` \u2014 `onChange` devuelve un array de strings.\n- **{ id, value }[]**: `[{ id: 'item-1', value: 'valor1' }, ...]` \u2014 `onChange` devuelve el mismo formato de objetos.\n\n**`canRemove`**: funci\u00F3n opcional `(item: DraggableItem) => boolean`. Se eval\u00FAa por cada item; si devuelve `false`, el bot\u00F3n de eliminar se muestra deshabilitado para ese item.\n\n**`showRemoveAction`**: si es `false`, no se muestra el bot\u00F3n de eliminar en ninguna fila. Por defecto `true`.\n\n### Ejemplo con objetos (id + value):\n\n```tsx\n<DraggableList\n label=\"Seleccionar un deposito\"\n addLabel=\"+ Agregar\"\n itemComponent={SelectField}\n componentProps={{\n placeholder: 'Seleccionar...',\n options: [\n { value: 'option1', label: 'Opci\u00F3n 1' },\n { value: 'option2', label: 'Opci\u00F3n 2' },\n ],\n size: 'md',\n }}\n value={[\n { id: 'item-1', value: 'option1' },\n { id: 'item-2', value: 'option2' },\n ]}\n onChange={(event) => console.log('Items actualizados:', event.target.value)}\n/>\n```\n\n### Ejemplo con array de strings:\n\n```tsx\n<DraggableList\n label=\"Nombres\"\n addLabel=\"+ Agregar\"\n itemComponent={FormField}\n componentProps={{ placeholder: 'Texto', size: 'md', type: 'text' }}\n value={['Uno', 'Dos']}\n onChange={(event) => setValues(event.target.value)}\n/>\n```\n\n### Ejemplo con Redux Form (Field):\n\n```tsx\n<Field\n name=\"warehouses\"\n component={DraggableList}\n itemComponent={FormField}\n label=\"Dep\u00F3sitos\"\n addLabel=\"+ Agregar\"\n componentProps={{\n placeholder: 'Nombre del dep\u00F3sito',\n size: 'md',\n type: 'text',\n }}\n value={[\n { id: 'item-1', value: 'Texto 1' },\n { id: 'item-2', value: 'Texto 2' },\n ]}\n/>\n```\n";
18
18
  export declare const switchInputExample = "\n## Uso del componente\n\nEl componente `SwitchInput` / `SwitchInputGroup` muestra switches (toggle) individuales o en grupo. Soporta tama\u00F1os `sm`, `md`, `lg` e integraci\u00F3n con Redux Form.\n\n### Ejemplo b\u00E1sico (grupo):\n\n```tsx\n<SwitchInputGroup\n name=\"options\"\n title=\"Opciones\"\n size=\"md\"\n items={[\n { id: '1', label: 'Opci\u00F3n 1' },\n { id: '2', label: 'Opci\u00F3n 2' },\n { id: '3', label: 'Opci\u00F3n 3', disabled: true },\n ]}\n onChange={(event) => handleChange(event.target.value)}\n/>\n```\n\n### Ejemplo (un solo switch):\n\n```tsx\nconst [checked, setChecked] = React.useState(false)\n\n<SwitchInput\n name=\"toggle\"\n checked={checked}\n onChange={(e) => setChecked(e.target.checked)}\n label=\"Activar\"\n title=\"Configuraci\u00F3n\"\n/>\n```\n";
19
19
  export declare const linkExample = "\n## Uso del componente\n\nEl componente `Link` renderiza un enlace con estilos del design system. Soporta tama\u00F1os (`sm`, `md`, `lg`), decoraci\u00F3n (`none`, `underline`) y estado `disabled`.\n\n### Ejemplo b\u00E1sico:\n\n```tsx\n<Link href=\"/productos\" size=\"md\">\n Ver productos\n</Link>\n```\n\n### Con underline y tama\u00F1o:\n\n```tsx\n<Link href=\"/historial\" decoration=\"underline\" size=\"lg\">\n Historial de cambios\n</Link>\n```\n";
20
20
  export declare const alertExample = "\n## Uso del componente\n\nEl componente `Alert` muestra mensajes de feedback con variantes `success`, `error`, `warning` e `info`. Soporta \u00EDcono personalizado y link de acci\u00F3n.\n\n### Ejemplo b\u00E1sico:\n\n```tsx\n<Alert\n variant=\"success\"\n message=\"Operaci\u00F3n completada correctamente.\"\n/>\n```\n\n### Con link:\n\n```tsx\n<Alert\n variant=\"info\"\n message=\"Revis\u00E1 tu bandeja de entrada.\"\n link={{\n text: 'No volver a mostrar',\n href: '#',\n }}\n/>\n```\n";
@@ -100,6 +100,8 @@ declare const _default: {
100
100
  addLabel: string;
101
101
  label: string;
102
102
  componentProps: string;
103
+ canRemove: string;
104
+ showRemoveAction: string;
103
105
  };
104
106
  formField: {
105
107
  example: string;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,35 @@
1
+ import { default as React } from 'react';
2
+
3
+ type DemoComponent = () => React.ReactElement;
4
+ export declare const DemoButton: DemoComponent;
5
+ export declare const DemoLink: DemoComponent;
6
+ export declare const DemoCard: DemoComponent;
7
+ export declare const DemoAlert: DemoComponent;
8
+ export declare const DemoChip: DemoComponent;
9
+ export declare const DemoFormField: DemoComponent;
10
+ export declare const DemoSelectField: DemoComponent;
11
+ export declare const DemoCheckboxInput: DemoComponent;
12
+ export declare const DemoSwitchInput: DemoComponent;
13
+ export declare const DemoSearcher: DemoComponent;
14
+ export declare const DemoDatePicker: DemoComponent;
15
+ export declare const DemoDateRangePicker: DemoComponent;
16
+ export declare const DemoTabs: DemoComponent;
17
+ export declare const DemoBreadcrumb: DemoComponent;
18
+ export declare const DemoImage: DemoComponent;
19
+ export declare const DemoDropdown: DemoComponent;
20
+ export declare const DemoTooltip: DemoComponent;
21
+ export declare const DemoSpinner: DemoComponent;
22
+ export declare const DemoProgressbar: DemoComponent;
23
+ export declare const DemoEmptyState: DemoComponent;
24
+ export declare const DemoActionBar: DemoComponent;
25
+ export declare const DemoHeaderSection: DemoComponent;
26
+ export declare const DemoCopyButton: DemoComponent;
27
+ export declare const DemoConditionalOperator: DemoComponent;
28
+ export declare const DemoLinkWithIcon: DemoComponent;
29
+ export declare const DemoIconWithIdentifier: DemoComponent;
30
+ export declare const DemoSidebar: DemoComponent;
31
+ export declare const DemoDraggableList: DemoComponent;
32
+ export declare const DemoWarningModal: DemoComponent;
33
+ export declare const DemoMenuAction: DemoComponent;
34
+ export declare const ComponentDemos: Record<string, DemoComponent>;
35
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+
3
+ export declare const PlaygroundSidebar: React.MemoExoticComponent<() => import("react/jsx-runtime").JSX.Element>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+
3
+ export declare const PlaygroundView: React.MemoExoticComponent<() => import("react/jsx-runtime").JSX.Element>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ export interface PlaygroundSection {
2
+ id: string;
3
+ title: string;
4
+ category: string;
5
+ }
6
+ export declare const PLAYGROUND_SECTIONS: PlaygroundSection[];
7
+ export declare const _getCategoriesWithSections: () => {
8
+ category: string;
9
+ sections: PlaygroundSection[];
10
+ }[];