@redi.run/redi-components 0.0.8 → 0.0.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,73 +1,205 @@
1
- # React + TypeScript + Vite
1
+ ![redi.run](https://redi.run/wp-content/uploads/redi-logo-1.png)
2
2
 
3
- This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
3
+ # Redi-Components
4
4
 
5
- Currently, two official plugins are available:
6
5
 
7
- - [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) (or [oxc](https://oxc.rs) when used in [rolldown-vite](https://vite.dev/guide/rolldown)) for Fast Refresh
8
- - [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
6
+ [![Latest Release](https://gitlab.redi.run/redi/redi-components/-/badges/release.svg)](https://gitlab.redi.run/redi/redi-components/-/releases)
9
7
 
10
- ## React Compiler
11
8
 
12
- The React Compiler is currently not compatible with SWC. See [this issue](https://github.com/vitejs/vite-plugin-react/issues/428) for tracking the progress.
9
+ [![pipeline status](https://gitlab.redi.run/redi/redi-components/badges/main/pipeline.svg)](https://gitlab.redi.run/redi/redi-components/-/commits/main)
13
10
 
14
- ## Expanding the ESLint configuration
11
+ Small, reusable UI component library for Redi projects.
15
12
 
16
- If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:
13
+ Location
14
+ - redi/redi-components
17
15
 
18
- ```js
19
- export default defineConfig([
20
- globalIgnores(['dist']),
21
- {
22
- files: ['**/*.{ts,tsx}'],
23
- extends: [
24
- // Other configs...
25
-
26
- // Remove tseslint.configs.recommended and replace with this
27
- tseslint.configs.recommendedTypeChecked,
28
- // Alternatively, use this for stricter rules
29
- tseslint.configs.strictTypeChecked,
30
- // Optionally, add this for stylistic rules
31
- tseslint.configs.stylisticTypeChecked,
32
-
33
- // Other configs...
34
- ],
35
- languageOptions: {
36
- parserOptions: {
37
- project: ['./tsconfig.node.json', './tsconfig.app.json'],
38
- tsconfigRootDir: import.meta.dirname,
39
- },
40
- // other options...
41
- },
42
- },
43
- ])
16
+ This README describes installation, usage, API conventions, development, testing, publishing and contribution guidelines. Replace placeholder examples with concrete component names and props used in this repository.
17
+
18
+ ## Table of contents
19
+ - Quick Install
20
+ - Basic Usage
21
+ - API reference (how to document each component)
22
+ - Theming & Styling
23
+ - Accessibility
24
+ - Development
25
+ - Testing & CI
26
+ - Publishing
27
+ - Contributing
28
+ - License & Changelog
29
+ - Contact
30
+
31
+ ## Quick Install
32
+ Install from npm or local workspace.
33
+
34
+ npm:
35
+ ```bash
36
+ npm install @redi/redi-components
37
+ ```
38
+
39
+ yarn:
40
+ ```bash
41
+ yarn add @redi/redi-components
44
42
  ```
45
43
 
46
- You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:
44
+ pnpm:
45
+ ```bash
46
+ pnpm add @redi/redi-components
47
+ ```
48
+
49
+ Note any peer dependencies (React, Vue, etc.) in package.json and ensure they are installed in the host project:
50
+ ```bash
51
+ # example for React
52
+ npm install react react-dom
53
+ ```
54
+
55
+ ## Basic Usage
56
+ Provide short usage examples for supported frameworks. Replace with real component names.
57
+
58
+ React (ESM):
59
+ ```jsx
60
+ import React from 'react';
61
+ import { Button, Card } from '@redi/redi-components';
47
62
 
63
+ function App() {
64
+ return (
65
+ <div>
66
+ <Card>
67
+ <h3>Title</h3>
68
+ <p>Content</p>
69
+ <Button onClick={() => alert('clicked')}>Click</Button>
70
+ </Card>
71
+ </div>
72
+ );
73
+ }
74
+ ```
75
+
76
+ TypeScript:
77
+ - Types are exported from the package. Example:
78
+ ```ts
79
+ import type { ButtonProps } from '@redi/redi-components';
80
+ ```
81
+
82
+ Vanilla (if UMD build available):
83
+ ```html
84
+ <script src="redi-components.umd.js"></script>
85
+ <script>
86
+ const btn = new RediComponents.Button({ text: 'Click' });
87
+ document.body.appendChild(btn.render());
88
+ </script>
89
+ ```
90
+
91
+ ## API Reference (how to document each component)
92
+ For each component include:
93
+ - Name and purpose
94
+ - Import path
95
+ - Props / attributes (name, type, default, description)
96
+ - Events / callbacks
97
+ - Examples (JSX/TSX snippets)
98
+ - Accessibility notes
99
+ - CSS variables / classnames
100
+
101
+ Template:
102
+ ```md
103
+ ### ComponentName
104
+ Description.
105
+
106
+ Import:
48
107
  ```js
49
- // eslint.config.js
50
- import reactX from 'eslint-plugin-react-x'
51
- import reactDom from 'eslint-plugin-react-dom'
52
-
53
- export default defineConfig([
54
- globalIgnores(['dist']),
55
- {
56
- files: ['**/*.{ts,tsx}'],
57
- extends: [
58
- // Other configs...
59
- // Enable lint rules for React
60
- reactX.configs['recommended-typescript'],
61
- // Enable lint rules for React DOM
62
- reactDom.configs.recommended,
63
- ],
64
- languageOptions: {
65
- parserOptions: {
66
- project: ['./tsconfig.node.json', './tsconfig.app.json'],
67
- tsconfigRootDir: import.meta.dirname,
68
- },
69
- // other options...
70
- },
71
- },
72
- ])
108
+ import { ComponentName } from '@redi/redi-components';
73
109
  ```
110
+
111
+ Props:
112
+ - propName: type — default — description
113
+ - onEvent: (event) => void — — description
114
+
115
+ Example:
116
+ ```jsx
117
+ <ComponentName propName="value" onEvent={(e) => {}} />
118
+ ```
119
+ ```
120
+
121
+ ## Theming & Styling
122
+ - Explain CSS-in-JS strategy or CSS variables used.
123
+ - Provide tokens list (colors, spacing, typography).
124
+ - Show how to override styles:
125
+ - CSS variables
126
+ - Theme provider example
127
+ - Class override conventions
128
+
129
+ Example (CSS variables):
130
+ ```css
131
+ :root {
132
+ --redi-primary: #0b5fff;
133
+ }
134
+ ```
135
+
136
+ ## Accessibility
137
+ - Components must follow WCAG standards.
138
+ - Keyboard interactions documented per component.
139
+ - Use semantic HTML elements and ARIA attributes where necessary.
140
+ - Provide examples of screen-reader usage.
141
+
142
+ ## Development
143
+ Recommended project structure:
144
+ ```
145
+ /src
146
+ /components
147
+ /styles
148
+ index.ts
149
+ /package.json
150
+ /tsconfig.json
151
+ /rollup.config.js or /webpack.config.js
152
+ ```
153
+
154
+ Scripts (examples in package.json):
155
+ ```json
156
+ {
157
+ "build": "tsc && rollup -c",
158
+ "dev": "vite",
159
+ "test": "vitest",
160
+ "lint": "eslint . --ext .ts,.tsx,.js,.jsx",
161
+ "format": "prettier --write ."
162
+ }
163
+ ```
164
+
165
+ Tips:
166
+ - Use TypeScript and export types.
167
+ - Use Storybook or a docs site for live component examples.
168
+ - Keep components composable and documented.
169
+
170
+ ## Testing & CI
171
+ - Unit tests: Jest/Vitest + Testing Library for DOM tests.
172
+ - Snapshot tests for API stability.
173
+ - Accessibility tests using axe-core.
174
+ - Example GitHub Actions workflow:
175
+ - install
176
+ - build
177
+ - lint
178
+ - test
179
+ - publish (on tags)
180
+
181
+ ## Publishing
182
+ - Use semantic-release or manual versioning.
183
+ - Build artifacts: ESM, CJS, UMD (optional), and type declarations (.d.ts).
184
+ - Ensure package.json fields: main, module, types, files, sideEffects.
185
+ - Set up CHANGELOG.md and follow Conventional Commits for automation.
186
+
187
+ ## Contributing
188
+ - Fork -> branch -> PR.
189
+ - Follow commit message guidelines (Conventional Commits).
190
+ - Run tests and linters before PR.
191
+ - Include documentation and examples for new components or breaking changes.
192
+
193
+ ## Changelog & Versioning
194
+ - Follow semantic versioning (MAJOR.MINOR.PATCH).
195
+ - Maintain CHANGELOG.md with notable changes per release.
196
+
197
+ ## License
198
+ - Add license file (e.g., MIT) and reference in package.json.
199
+
200
+ ## Contact / Maintainers
201
+ - Provide maintainer names and preferred contact (email or GitHub handles).
202
+
203
+ ---
204
+
205
+ Fill in concrete component details (names, props, examples) within the API Reference section and update scripts/config files to match the repository toolchain used here.
@@ -1,3 +1,3 @@
1
1
  import { AdvancedTableProps } from './types';
2
- declare const AdvancedTable: <T extends Record<string, unknown>>({ data, columns, defaultSort, defaultFilters, defaultPageSize, pageSizeOptions, enableSorting, enableFiltering, enablePagination, enableExport, persistConfig, configKey, className, labels }: AdvancedTableProps<T>) => import("react/jsx-runtime").JSX.Element;
2
+ declare const AdvancedTable: <T extends Record<string, unknown>>({ data, columns, defaultSort, defaultFilters, defaultPageSize, pageSizeOptions, enableSorting, enableFiltering, enablePagination, enableExport, persistConfig, configKey, className, labels, }: AdvancedTableProps<T>) => import("react/jsx-runtime").JSX.Element;
3
3
  export default AdvancedTable;
@@ -9,7 +9,7 @@ declare const meta: {
9
9
  onRowClick: import('@vitest/spy').Mock<(...args: any[]) => any>;
10
10
  onConfigChange: import('@vitest/spy').Mock<(...args: any[]) => any>;
11
11
  };
12
- component: <T extends Record<string, unknown>>({ data, columns, defaultSort, defaultFilters, defaultPageSize, pageSizeOptions, enableSorting, enableFiltering, enablePagination, enableExport, persistConfig, configKey, className, labels }: import('./types').AdvancedTableProps<T>) => import("react/jsx-runtime").JSX.Element;
12
+ component: <T extends Record<string, unknown>>({ data, columns, defaultSort, defaultFilters, defaultPageSize, pageSizeOptions, enableSorting, enableFiltering, enablePagination, enableExport, persistConfig, configKey, className, labels, }: import('./types').AdvancedTableProps<T>) => import("react/jsx-runtime").JSX.Element;
13
13
  };
14
14
  export default meta;
15
15
  type Story = StoryObj<typeof meta>;
@@ -38,6 +38,7 @@ export interface TableConfig {
38
38
  export interface LabelsProps {
39
39
  configuration?: string;
40
40
  columnVisibility?: string;
41
+ clearAllFilters?: string;
41
42
  pagination?: {
42
43
  showingItems: string;
43
44
  to: string;
@@ -0,0 +1,2 @@
1
+ import { IconsProps } from '../components/Button';
2
+ export declare const CloseIcon: ({ color, size }: IconsProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,3 +1,3 @@
1
1
  /*! tailwindcss v4.1.15 | MIT License | https://tailwindcss.com */
2
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-gray-50:#f9fafb;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5dc;--color-gray-400:#99a1af;--color-gray-500:#6a7282;--color-white:#fff;--spacing:.25rem;--container-2xs:18rem;--container-xs:20rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--font-weight-medium:500;--font-weight-semibold:600;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-family-base:"Nunito Sans","Helvetica Neue",sans-serif;--color-redi-primary:#fa8c16;--color-redi-background:#f9fafb;--color-redi-text:#111827;--color-redi-primary-bg:#e68313;--color-redi-primary-bg-hover:#d97706;--color-redi-primary-bg-active:#f28d1a;--color-redi-primary-text:#fff9ed;--color-redi-secondary-bg:#fff9ed;--color-redi-secondary-bg-hover:#fae1b5;--color-redi-secondary-bg-active:#fae1b5;--color-redi-secondary-text:#fa8c16;--color-redi-tertiary-bg:#e5e7eb;--color-redi-tertiary-bg-hover:#d1d5db;--color-redi-tertiary-bg-active:#9ca3af;--color-redi-tertiary-text:#374151;--color-redi-link-text:#fa8c16;--color-redi-link-bg:#fff9ed;--color-redi-link-bg-active:#fae1b5;--color-redi-icon-text:#fa8c16;--color-redi-icon-bg:#fff9ed;--color-redi-icon-bg-active:#fae1b5;--color-redi-disabled-bg:#f1f1f1;--color-redi-disabled-text:#c4c4c4;--color-redi-disabled-border:#d1d5db}@supports (color:lab(0% 0 0)){:root,:host{--color-gray-50:lab(98.2596% -.247031 -.706708);--color-gray-200:lab(91.6229% -.159115 -2.26791);--color-gray-300:lab(85.1236% -.612289 -3.7138);--color-gray-400:lab(65.9269% -.832677 -8.17474);--color-gray-500:lab(47.7841% -.393182 -10.0268)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-0{top:calc(var(--spacing)*0)}.top-full{top:100%}.left-0{left:calc(var(--spacing)*0)}.z-10{z-index:10}.z-1000{z-index:1000}.mt-2{margin-top:calc(var(--spacing)*2)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.flex{display:flex}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.h-4{height:calc(var(--spacing)*4)}.max-h-\[600px\]{max-height:600px}.min-h-\[500px\]{min-height:500px}.w-4{width:calc(var(--spacing)*4)}.w-full{width:100%}.max-w-xs{max-width:var(--container-xs)}.min-w-2xs{min-width:var(--container-2xs)}.shrink-0{flex-shrink:0}.table-auto{table-layout:auto}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-x-1{column-gap:calc(var(--spacing)*1)}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border,.border-1{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-solid{--tw-border-style:solid;border-style:solid}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-400{border-color:var(--color-gray-400)}.border-gray-500{border-color:var(--color-gray-500)}.border-redi-primary{border-color:var(--color-redi-primary)}.border-t-gray-300{border-top-color:var(--color-gray-300)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-redi-background{background-color:var(--color-redi-background)}.bg-redi-primary-bg{background-color:var(--color-redi-primary-bg)}.bg-redi-secondary-bg{background-color:var(--color-redi-secondary-bg)}.bg-redi-tertiary-bg{background-color:var(--color-redi-tertiary-bg)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.p-0{padding:calc(var(--spacing)*0)}.p-4{padding:calc(var(--spacing)*4)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.text-left{text-align:left}.font-family-base{font-family:var(--font-family-base)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-redi-icon-text{color:var(--color-redi-icon-text)}.text-redi-link-text{color:var(--color-redi-link-text)}.text-redi-primary-text{color:var(--color-redi-primary-text)}.text-redi-secondary-text{color:var(--color-redi-secondary-text)}.text-redi-tertiary-text{color:var(--color-redi-tertiary-text)}.text-redi-text{color:var(--color-redi-text)}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.accent-redi-primary{accent-color:var(--color-redi-primary)}.opacity-50{opacity:.5}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.select-none{-webkit-user-select:none;user-select:none}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing)*0)}@media (hover:hover){.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-redi-icon-bg:hover{background-color:var(--color-redi-icon-bg)}.hover\:bg-redi-link-bg:hover{background-color:var(--color-redi-link-bg)}.hover\:bg-redi-primary-bg-hover:hover{background-color:var(--color-redi-primary-bg-hover)}.hover\:bg-redi-secondary-bg-hover:hover{background-color:var(--color-redi-secondary-bg-hover)}.hover\:bg-redi-tertiary-bg-hover:hover{background-color:var(--color-redi-tertiary-bg-hover)}}.active\:border-\[1px\]:active{border-style:var(--tw-border-style);border-width:1px}.active\:border-solid:active{--tw-border-style:solid;border-style:solid}.active\:border-white:active{border-color:var(--color-white)}.active\:ring-2:active{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.active\:ring-redi-icon-bg-active:active{--tw-ring-color:var(--color-redi-icon-bg-active)}.active\:ring-redi-link-bg-active:active{--tw-ring-color:var(--color-redi-link-bg-active)}.active\:ring-redi-primary-bg-active:active{--tw-ring-color:var(--color-redi-primary-bg-active)}.active\:ring-redi-secondary-bg-active:active{--tw-ring-color:var(--color-redi-secondary-bg-active)}.active\:ring-redi-tertiary-bg-active:active{--tw-ring-color:var(--color-redi-tertiary-bg-active)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-redi-disabled-border:disabled{border-color:var(--color-redi-disabled-border)}.disabled\:bg-redi-disabled-bg:disabled{background-color:var(--color-redi-disabled-bg)}.disabled\:text-redi-disabled-text:disabled{color:var(--color-redi-disabled-text)}@media (min-width:48rem){.md\:block{display:block}}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}._controls_1pwn9_1{background:#fafbfc;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}._leftControls_1pwn9_10{align-items:center;gap:12px;display:flex}._rightControls_1pwn9_16{align-items:center;gap:8px;display:flex}._configButton_1pwn9_23{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:14px;font-weight:500;display:flex}._configButton_1pwn9_23:hover{background:#f9fafb;border-color:#9ca3af}._configIcon_1pwn9_42{fill:currentColor;width:16px;height:16px}._configSection_1pwn9_49{margin-bottom:16px}._configSection_1pwn9_49:last-child{margin-bottom:0}._configSectionTitle_1pwn9_57{color:#374151;text-transform:uppercase;letter-spacing:.025em;margin-bottom:8px;font-size:13px;font-weight:600}._configOptions_1pwn9_66{flex-direction:column;gap:8px;display:flex}._configOption_1pwn9_66{align-items:center;gap:8px;display:flex}._configOption_1pwn9_66 input[type=checkbox]{accent-color:#3b82f6;width:16px;height:16px}._configOption_1pwn9_66 label{color:#374151;cursor:pointer;font-size:14px}._actionButton_1pwn9_91{cursor:pointer;color:#6b7280;background:#fff;border:1px solid #d1d5db;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}._actionButton_1pwn9_91:hover{color:#374151;background:#f9fafb;border-color:#9ca3af}._actionButton_1pwn9_91._export_1pwn9_110{color:#059669}._actionButton_1pwn9_91._export_1pwn9_110:hover{color:#047857;background:#f0fdf4;border-color:#059669}._actionButton_1pwn9_91._reset_1pwn9_120{color:#dc2626}._actionButton_1pwn9_91._reset_1pwn9_120:hover{color:#b91c1c;background:#fef2f2;border-color:#dc2626}._buttonIcon_1pwn9_130{fill:currentColor;width:18px;height:18px}._filtersContainer_1pwn9_137{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:16px 24px;display:none}._filtersContainer_1pwn9_137._active_1pwn9_145{display:block}._filterDropdownButton_1pwn9_177{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;justify-content:space-between;align-items:center;width:100%;padding:8px 12px;font-size:14px;display:flex}._filterDropdownButton_1pwn9_177:hover{border-color:#9ca3af}._filterDropdownIcon_1pwn9_200{fill:#6b7280;width:16px;height:16px}._filterModalHeader_1pwn9_212{border-bottom:1px solid #e5e7eb;padding:12px 16px}._filterOption_1pwn9_231{cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:8px 12px;display:flex}._filterOption_1pwn9_231._selected_1pwn9_250{background:#eff6ff}._filterOptionCheckbox_1pwn9_254{accent-color:#3b82f6;width:16px;height:16px}._filterOptionLabel_1pwn9_260{color:#374151;flex:1;font-size:14px}._filterApplyButton_1pwn9_285:hover{background:#2563eb}._tableWrapper_1pwn9_315{background:#fff;max-height:600px;position:relative;overflow:auto}._header_1pwn9_332{text-align:left;color:#374151;z-index:10;-webkit-user-select:none;user-select:none;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:0;font-weight:600;position:sticky;top:0}._header_1pwn9_332:hover{background:#f3f4f6}._header_1pwn9_332._dragging_1pwn9_349{opacity:.6;background:#e5e7eb}._header_1pwn9_332._dragOver_1pwn9_354{background:#dbeafe;border-left:2px solid #3b82f6}._headerContent_1pwn9_359{align-items:center;gap:8px;min-height:48px;padding:12px 16px;display:flex}._dragHandle_1pwn9_367{color:#9ca3af;cursor:grab;opacity:.7;font-size:14px}._dragHandle_1pwn9_367:hover{color:#6b7280;opacity:1}._header_1pwn9_332._dragging_1pwn9_349 ._dragHandle_1pwn9_367{cursor:grabbing;color:#3b82f6}._sortable_1pwn9_391{cursor:pointer;color:#374151;border-radius:4px;align-items:center;gap:6px;padding:4px 6px;font-size:14px;font-weight:600;display:flex}._filterButton_1pwn9_415{cursor:pointer;color:#6b7280;white-space:nowrap;background:0 0;border:1px solid #d1d5db;border-radius:4px;flex-shrink:0;align-items:center;gap:4px;min-width:0;padding:6px 10px;font-size:12px;display:flex;position:static}._filterButton_1pwn9_415:hover{color:#374151;background:#f9fafb;border-color:#9ca3af}._filterButton_1pwn9_415._active_1pwn9_145{color:#1d4ed8;background:#dbeafe;border-color:#3b82f6}._filterButton_1pwn9_415:focus{outline-offset:2px;background:#f9fafb;outline:2px solid #3b82f6}._filterButtonIcon_1pwn9_451{fill:currentColor;width:12px;height:12px}._filterModal_1pwn9_212{z-index:9999;background:#fff;border:1px solid #d1d5db;border-radius:6px;min-width:280px;margin-top:4px;display:block;position:absolute;top:100%;right:0;overflow:visible;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}._row_1pwn9_474{border-bottom:1px solid #f3f4f6}._row_1pwn9_474:nth-child(2n){background:#fafbfc}._row_1pwn9_474:nth-child(odd){background:#fff}._cell_1pwn9_486{color:#374151;vertical-align:middle;border-right:1px solid #f3f4f680;padding:12px 16px;font-weight:400;line-height:1.5;display:table-cell;position:static}._cell_1pwn9_486:last-child{border-right:none}._cell_1pwn9_486:first-child{color:#1f2937;font-weight:500}._statusBadge_1pwn9_507{text-transform:capitalize;border-radius:6px;align-items:center;padding:4px 8px;font-size:12px;font-weight:500;display:inline-flex}._pagination_1pwn9_543{justify-content:between;background:#fafbfc;border-top:1px solid #e5e7eb;align-items:center;gap:16px;padding:16px 24px;display:flex}._pageSizeSelect_1pwn9_575{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;min-width:70px;padding:6px 10px;font-size:14px}._pageButtons_1pwn9_591{align-items:center;gap:4px;display:flex}._pageButton_1pwn9_591{cursor:pointer;color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:4px;min-width:36px;padding:6px 12px;font-size:14px;font-weight:500}._pageButton_1pwn9_591:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}._pageButton_1pwn9_591._active_1pwn9_145:hover{background:#2563eb;border-color:#2563eb}@media (max-width:768px){._controls_1pwn9_1{flex-direction:column;align-items:stretch;gap:12px}._leftControls_1pwn9_10,._rightControls_1pwn9_16{justify-content:center}._filtersRow_1pwn9_149{flex-direction:column}._pagination_1pwn9_543{flex-direction:column;gap:12px}._pageButtons_1pwn9_591{justify-content:center}}._exportButton_1pwn9_659,._resetButton_1pwn9_660{cursor:pointer;letter-spacing:.025em;border:none;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:600;position:relative;overflow:hidden}._exportButton_1pwn9_659{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);box-shadow:0 4px 14px #10b98166}._exportButton_1pwn9_659:hover{box-shadow:0 8px 25px #10b98199}._resetButton_1pwn9_660{color:#fff;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);box-shadow:0 4px 14px #ef444466}._resetButton_1pwn9_660:hover{box-shadow:0 8px 25px #ef444499}._filtersContainer_1pwn9_137{background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);border-bottom:1px solid #e2e8f0cc;padding:24px 32px;position:relative}._filtersContainer_1pwn9_137:before{content:"";background:linear-gradient(90deg,#0000 0%,#6366f14d 50%,#0000 100%);height:1px;position:absolute;top:0;left:0;right:0}._filtersRow_1pwn9_149{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}._filterGroup_1pwn9_156{flex:1;min-width:200px;position:relative}._filterLabel_1pwn9_162{color:#374151;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:13px;font-weight:600;display:block}._filterDropdown_1pwn9_172{width:100%;position:relative}._filterDropdownButton_1pwn9_177{color:#374151;cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:12px;justify-content:space-between;align-items:center;width:100%;padding:12px 16px;font-size:14px;display:flex;box-shadow:0 1px 3px #0000001a}._filterDropdownButton_1pwn9_177:hover{border-color:#6366f1;box-shadow:0 4px 12px #6366f126}._filterDropdownButton_1pwn9_177._active_1pwn9_145{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}._filterDropdownIcon_1pwn9_200{width:16px;height:16px}._filterDropdownButton_1pwn9_177._active_1pwn9_145 ._filterDropdownIcon_1pwn9_200{transform:rotate(180deg)}._filterModal_1pwn9_212{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff;border:1px solid #e5e7eb;border-radius:16px;margin-top:8px;animation:.3s ease-out _filterModalSlideIn_1pwn9_1;position:absolute;top:100%;left:0;right:0;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}@keyframes _filterModalSlideIn_1pwn9_1{0%{opacity:0}to{opacity:1}}._filterModalHeader_1pwn9_212{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-bottom:1px solid #f3f4f6;padding:16px 20px}._filterSearchInput_1pwn9_217{border:1px solid #e5e7eb;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-size:14px}._filterSearchInput_1pwn9_217:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}._filterOptions_1pwn9_231{max-height:240px;padding:8px;overflow-y:auto}._filterOption_1pwn9_231{cursor:pointer;border-radius:8px;align-items:center;gap:12px;margin-bottom:4px;padding:12px 16px;display:flex}._filterOption_1pwn9_231:hover{background:#f8fafc}._filterOption_1pwn9_231._selected_1pwn9_250{background:linear-gradient(135deg,#ede9fe 0%,#e0e7ff 100%);border:1px solid #c7d2fe}._filterOptionCheckbox_1pwn9_254{accent-color:#6366f1;cursor:pointer;width:16px;height:16px}._filterOptionLabel_1pwn9_260{color:#374151;cursor:pointer;flex:1;font-size:14px}._filterOptionCount_1pwn9_266{color:#6b7280;background:#f3f4f6;border-radius:12px;padding:2px 8px;font-size:12px;font-weight:500}._filterModalActions_1pwn9_275{background:#fafafa;border-top:1px solid #f3f4f6;justify-content:space-between;gap:12px;padding:16px 20px;display:flex}._filterClearButton_1pwn9_284,._filterApplyButton_1pwn9_285{cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600}._filterClearButton_1pwn9_284{color:#6b7280;background:#f3f4f6}._filterClearButton_1pwn9_284:hover{color:#374151;background:#e5e7eb}._filterApplyButton_1pwn9_285{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);flex:1}._filterApplyButton_1pwn9_285:hover{box-shadow:0 4px 12px #6366f166}._tableWrapper_1pwn9_315{background:#fff;border-radius:0 0 16px 16px;max-height:600px;position:relative;overflow:auto}._tableWrapper_1pwn9_315:before{content:"";background:linear-gradient(90deg,#0000 0%,#e5e7eb 20% 80%,#0000 100%);height:1px;position:absolute;top:0;left:0;right:0}._table_1pwn9_315{border-collapse:collapse;table-layout:auto;width:100%;font-size:14px;position:relative}._pagination_1pwn9_543{background:#fafbfc;border-top:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}._paginationInfo_1pwn9_553{color:#6b7280;font-size:14px;font-weight:500}._paginationControls_1pwn9_560 label{color:#374151;align-items:center;gap:8px;font-size:14px;display:flex}._pageSizeSelect_1pwn9_575{background:#fff;border:1px solid #d1d5db;border-radius:4px;padding:6px 10px;font-size:14px}._pageButton_1pwn9_591{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;padding:8px 12px;font-size:14px;font-weight:500}._pageButton_1pwn9_591:hover{background:#f9fafb}._pageButton_1pwn9_591:disabled{color:#9ca3af;cursor:not-allowed;background:#f3f4f6}._pageButton_1pwn9_591._active_1pwn9_145{color:#fff;background:#3b82f6;border-color:#3b82f6}._columnTitle_1pwn9_384{flex:1;align-items:center;gap:8px;display:flex}._sortable_1pwn9_391{cursor:pointer;color:#1e293b;text-transform:uppercase;letter-spacing:.025em;border-radius:6px;align-items:center;gap:6px;padding:4px 8px;font-size:14px;font-weight:600;display:flex}._sortable_1pwn9_391:hover{color:#6366f1;background:#6366f11a}._sortIcon_1pwn9_408{color:#6366f1;font-size:16px;font-weight:700}._paginationInfo_1pwn9_553{color:#64748b;flex-shrink:0;font-size:14px;font-weight:500}._paginationControls_1pwn9_560{align-items:center;gap:20px;display:flex}._paginationControls_1pwn9_560 label{color:#374151;align-items:center;gap:12px;font-size:14px;font-weight:600;display:flex}._pageSizeSelect_1pwn9_575{cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:8px;min-width:80px;padding:8px 12px;font-size:14px;font-weight:500;box-shadow:0 1px 3px #0000001a}._pageSizeSelect_1pwn9_575:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 3px #6366f11a}._pageButton_1pwn9_591{cursor:pointer;color:#374151;background:#fff;border:2px solid #e5e7eb;border-radius:10px;min-width:44px;padding:10px 16px;font-size:14px;font-weight:600;position:relative;overflow:hidden}._pageButton_1pwn9_591:hover:not(:disabled){color:#6366f1;background:linear-gradient(135deg,#f0f4ff 0%,#e0f2fe 100%);border-color:#6366f1;box-shadow:0 4px 12px #6366f126}._pageButton_1pwn9_591:disabled{color:#d1d5db;cursor:not-allowed;opacity:.6;background:#f9fafb;border-color:#f3f4f6}._pageButton_1pwn9_591._active_1pwn9_145{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);border-color:#6366f1;box-shadow:0 4px 12px #6366f166}._pageButton_1pwn9_591._active_1pwn9_145:hover{background:linear-gradient(135deg,#4f46e5 0%,#4338ca 100%);border-color:#4f46e5;box-shadow:0 8px 25px #6366f199}._statusBadge_1pwn9_507{text-transform:uppercase;letter-spacing:.05em;border-radius:20px;align-items:center;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 2px 4px #0000001a}._statusBadge_1pwn9_507:before{content:"";background:linear-gradient(45deg,#fff3 0%,#0000 50%,#fff3 100%) 0 0/200% 200%;animation:2s infinite _shimmer_1pwn9_1;position:absolute;inset:0}@keyframes _shimmer_1pwn9_1{0%{background-position:-200% -200%}to{background-position:200% 200%}}._statusActive_1pwn9_517{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%)}._statusInactive_1pwn9_522{color:#fff;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%)}._statusPending_1pwn9_527{color:#fff;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)}._statusCompleted_1pwn9_532{color:#fff;background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%)}._statusDraft_1pwn9_537{color:#fff;background:linear-gradient(135deg,#6b7280 0%,#4b5563 100%)}@media (max-width:768px){._controls_1pwn9_1{flex-direction:column;align-items:stretch;gap:16px}._leftControls_1pwn9_10,._rightControls_1pwn9_16,._columnCheckboxes_1pwn9_1195{justify-content:center}._filtersRow_1pwn9_149{flex-direction:column}._pagination_1pwn9_543{flex-direction:column;gap:16px}._pageButtons_1pwn9_591{justify-content:center}}
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5dc;--color-gray-400:#99a1af;--color-gray-500:#6a7282;--color-gray-600:#4a5565;--color-white:#fff;--spacing:.25rem;--container-2xs:18rem;--container-xs:20rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-family-base:"Nunito Sans","Helvetica Neue",sans-serif;--color-redi-primary:#fa8c16;--color-redi-background:#f9fafb;--color-redi-text:#111827;--color-redi-primary-bg:#e68313;--color-redi-primary-bg-hover:#d97706;--color-redi-primary-bg-active:#f28d1a;--color-redi-primary-text:#fff9ed;--color-redi-secondary-bg:#fff9ed;--color-redi-secondary-bg-hover:#fae1b5;--color-redi-secondary-bg-active:#fae1b5;--color-redi-secondary-text:#fa8c16;--color-redi-tertiary-bg:#e5e7eb;--color-redi-tertiary-bg-hover:#d1d5db;--color-redi-tertiary-bg-active:#9ca3af;--color-redi-tertiary-text:#374151;--color-redi-link-text:#fa8c16;--color-redi-link-bg:#fff9ed;--color-redi-link-bg-active:#fae1b5;--color-redi-icon-text:#fa8c16;--color-redi-icon-bg:#fff9ed;--color-redi-icon-bg-active:#fae1b5;--color-redi-disabled-bg:#f1f1f1;--color-redi-disabled-text:#c4c4c4;--color-redi-disabled-border:#d1d5db}@supports (color:lab(0% 0 0)){:root,:host{--color-gray-50:lab(98.2596% -.247031 -.706708);--color-gray-100:lab(96.1596% -.082314 -1.13575);--color-gray-200:lab(91.6229% -.159115 -2.26791);--color-gray-300:lab(85.1236% -.612289 -3.7138);--color-gray-400:lab(65.9269% -.832677 -8.17474);--color-gray-500:lab(47.7841% -.393182 -10.0268);--color-gray-600:lab(35.6337% -1.58697 -10.8425)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-0{top:calc(var(--spacing)*0)}.top-full{top:100%}.left-0{left:calc(var(--spacing)*0)}.z-10{z-index:10}.z-1000{z-index:1000}.mt-2{margin-top:calc(var(--spacing)*2)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.table-cell{display:table-cell}.h-4{height:calc(var(--spacing)*4)}.max-h-\[600px\]{max-height:600px}.min-h-12{min-height:calc(var(--spacing)*12)}.min-h-\[500px\]{min-height:500px}.w-4{width:calc(var(--spacing)*4)}.w-full{width:100%}.max-w-xs{max-width:var(--container-xs)}.min-w-2xs{min-width:var(--container-2xs)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.table-auto{table-layout:auto}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-x-1{column-gap:calc(var(--spacing)*1)}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border,.border-1{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-solid{--tw-border-style:solid;border-style:solid}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-400{border-color:var(--color-gray-400)}.border-gray-500{border-color:var(--color-gray-500)}.border-redi-primary{border-color:var(--color-redi-primary)}.border-t-gray-300{border-top-color:var(--color-gray-300)}.border-r-gray-300{border-right-color:var(--color-gray-300)}.border-b-gray-100{border-bottom-color:var(--color-gray-100)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-redi-background{background-color:var(--color-redi-background)}.bg-redi-primary-bg{background-color:var(--color-redi-primary-bg)}.bg-redi-secondary-bg{background-color:var(--color-redi-secondary-bg)}.bg-redi-tertiary-bg{background-color:var(--color-redi-tertiary-bg)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.p-0{padding:calc(var(--spacing)*0)}.p-4{padding:calc(var(--spacing)*4)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.text-left{text-align:left}.align-middle{vertical-align:middle}.font-family-base{font-family:var(--font-family-base)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-gray-600{color:var(--color-gray-600)}.text-redi-icon-text{color:var(--color-redi-icon-text)}.text-redi-link-text{color:var(--color-redi-link-text)}.text-redi-primary-text{color:var(--color-redi-primary-text)}.text-redi-secondary-text{color:var(--color-redi-secondary-text)}.text-redi-tertiary-text{color:var(--color-redi-tertiary-text)}.text-redi-text{color:var(--color-redi-text)}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.accent-redi-primary{accent-color:var(--color-redi-primary)}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.select-none{-webkit-user-select:none;user-select:none}.first\:font-medium:first-child{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing)*0)}.last\:border-r-0:last-child{border-right-style:var(--tw-border-style);border-right-width:0}.odd\:bg-white:nth-child(odd){background-color:var(--color-white)}.even\:bg-gray-50:nth-child(2n){background-color:var(--color-gray-50)}@media (hover:hover){.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-redi-icon-bg:hover{background-color:var(--color-redi-icon-bg)}.hover\:bg-redi-link-bg:hover{background-color:var(--color-redi-link-bg)}.hover\:bg-redi-primary-bg-hover:hover{background-color:var(--color-redi-primary-bg-hover)}.hover\:bg-redi-secondary-bg-hover:hover{background-color:var(--color-redi-secondary-bg-hover)}.hover\:bg-redi-tertiary-bg-hover:hover{background-color:var(--color-redi-tertiary-bg-hover)}.hover\:bg-redi-text:hover{background-color:var(--color-redi-text)}.hover\:text-redi-link-text:hover{color:var(--color-redi-link-text)}.hover\:opacity-100:hover{opacity:1}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-redi-primary:focus{--tw-ring-color:var(--color-redi-primary)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:border-\[1px\]:active{border-style:var(--tw-border-style);border-width:1px}.active\:border-solid:active{--tw-border-style:solid;border-style:solid}.active\:border-white:active{border-color:var(--color-white)}.active\:ring-2:active{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.active\:ring-redi-icon-bg-active:active{--tw-ring-color:var(--color-redi-icon-bg-active)}.active\:ring-redi-link-bg-active:active{--tw-ring-color:var(--color-redi-link-bg-active)}.active\:ring-redi-primary-bg-active:active{--tw-ring-color:var(--color-redi-primary-bg-active)}.active\:ring-redi-secondary-bg-active:active{--tw-ring-color:var(--color-redi-secondary-bg-active)}.active\:ring-redi-tertiary-bg-active:active{--tw-ring-color:var(--color-redi-tertiary-bg-active)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-redi-disabled-border:disabled{border-color:var(--color-redi-disabled-border)}.disabled\:bg-redi-disabled-bg:disabled{background-color:var(--color-redi-disabled-bg)}.disabled\:text-redi-disabled-text:disabled{color:var(--color-redi-disabled-text)}@media (min-width:48rem){.md\:block{display:block}}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}._controls_1pwn9_1{background:#fafbfc;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}._leftControls_1pwn9_10{align-items:center;gap:12px;display:flex}._rightControls_1pwn9_16{align-items:center;gap:8px;display:flex}._configButton_1pwn9_23{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:14px;font-weight:500;display:flex}._configButton_1pwn9_23:hover{background:#f9fafb;border-color:#9ca3af}._configIcon_1pwn9_42{fill:currentColor;width:16px;height:16px}._configSection_1pwn9_49{margin-bottom:16px}._configSection_1pwn9_49:last-child{margin-bottom:0}._configSectionTitle_1pwn9_57{color:#374151;text-transform:uppercase;letter-spacing:.025em;margin-bottom:8px;font-size:13px;font-weight:600}._configOptions_1pwn9_66{flex-direction:column;gap:8px;display:flex}._configOption_1pwn9_66{align-items:center;gap:8px;display:flex}._configOption_1pwn9_66 input[type=checkbox]{accent-color:#3b82f6;width:16px;height:16px}._configOption_1pwn9_66 label{color:#374151;cursor:pointer;font-size:14px}._actionButton_1pwn9_91{cursor:pointer;color:#6b7280;background:#fff;border:1px solid #d1d5db;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}._actionButton_1pwn9_91:hover{color:#374151;background:#f9fafb;border-color:#9ca3af}._actionButton_1pwn9_91._export_1pwn9_110{color:#059669}._actionButton_1pwn9_91._export_1pwn9_110:hover{color:#047857;background:#f0fdf4;border-color:#059669}._actionButton_1pwn9_91._reset_1pwn9_120{color:#dc2626}._actionButton_1pwn9_91._reset_1pwn9_120:hover{color:#b91c1c;background:#fef2f2;border-color:#dc2626}._buttonIcon_1pwn9_130{fill:currentColor;width:18px;height:18px}._filtersContainer_1pwn9_137{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:16px 24px;display:none}._filtersContainer_1pwn9_137._active_1pwn9_145{display:block}._filterDropdownButton_1pwn9_177{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;justify-content:space-between;align-items:center;width:100%;padding:8px 12px;font-size:14px;display:flex}._filterDropdownButton_1pwn9_177:hover{border-color:#9ca3af}._filterDropdownIcon_1pwn9_200{fill:#6b7280;width:16px;height:16px}._filterModalHeader_1pwn9_212{border-bottom:1px solid #e5e7eb;padding:12px 16px}._filterOption_1pwn9_231{cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:8px 12px;display:flex}._filterOption_1pwn9_231._selected_1pwn9_250{background:#eff6ff}._filterOptionCheckbox_1pwn9_254{accent-color:#3b82f6;width:16px;height:16px}._filterOptionLabel_1pwn9_260{color:#374151;flex:1;font-size:14px}._filterApplyButton_1pwn9_285:hover{background:#2563eb}._tableWrapper_1pwn9_315{background:#fff;max-height:600px;position:relative;overflow:auto}._header_1pwn9_332{text-align:left;color:#374151;z-index:10;-webkit-user-select:none;user-select:none;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:0;font-weight:600;position:sticky;top:0}._header_1pwn9_332:hover{background:#f3f4f6}._header_1pwn9_332._dragging_1pwn9_349{opacity:.6;background:#e5e7eb}._header_1pwn9_332._dragOver_1pwn9_354{background:#dbeafe;border-left:2px solid #3b82f6}._headerContent_1pwn9_359{align-items:center;gap:8px;min-height:48px;padding:12px 16px;display:flex}._dragHandle_1pwn9_367{color:#9ca3af;cursor:grab;opacity:.7;font-size:14px}._dragHandle_1pwn9_367:hover{color:#6b7280;opacity:1}._header_1pwn9_332._dragging_1pwn9_349 ._dragHandle_1pwn9_367{cursor:grabbing;color:#3b82f6}._sortable_1pwn9_391{cursor:pointer;color:#374151;border-radius:4px;align-items:center;gap:6px;padding:4px 6px;font-size:14px;font-weight:600;display:flex}._filterButton_1pwn9_415{cursor:pointer;color:#6b7280;white-space:nowrap;background:0 0;border:1px solid #d1d5db;border-radius:4px;flex-shrink:0;align-items:center;gap:4px;min-width:0;padding:6px 10px;font-size:12px;display:flex;position:static}._filterButton_1pwn9_415:hover{color:#374151;background:#f9fafb;border-color:#9ca3af}._filterButton_1pwn9_415._active_1pwn9_145{color:#1d4ed8;background:#dbeafe;border-color:#3b82f6}._filterButton_1pwn9_415:focus{outline-offset:2px;background:#f9fafb;outline:2px solid #3b82f6}._filterButtonIcon_1pwn9_451{fill:currentColor;width:12px;height:12px}._filterModal_1pwn9_212{z-index:9999;background:#fff;border:1px solid #d1d5db;border-radius:6px;min-width:280px;margin-top:4px;display:block;position:absolute;top:100%;right:0;overflow:visible;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}._row_1pwn9_474{border-bottom:1px solid #f3f4f6}._row_1pwn9_474:nth-child(2n){background:#fafbfc}._row_1pwn9_474:nth-child(odd){background:#fff}._cell_1pwn9_486{color:#374151;vertical-align:middle;border-right:1px solid #f3f4f680;padding:12px 16px;font-weight:400;line-height:1.5;display:table-cell;position:static}._cell_1pwn9_486:last-child{border-right:none}._cell_1pwn9_486:first-child{color:#1f2937;font-weight:500}._statusBadge_1pwn9_507{text-transform:capitalize;border-radius:6px;align-items:center;padding:4px 8px;font-size:12px;font-weight:500;display:inline-flex}._pagination_1pwn9_543{justify-content:between;background:#fafbfc;border-top:1px solid #e5e7eb;align-items:center;gap:16px;padding:16px 24px;display:flex}._pageSizeSelect_1pwn9_575{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;min-width:70px;padding:6px 10px;font-size:14px}._pageButtons_1pwn9_591{align-items:center;gap:4px;display:flex}._pageButton_1pwn9_591{cursor:pointer;color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:4px;min-width:36px;padding:6px 12px;font-size:14px;font-weight:500}._pageButton_1pwn9_591:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}._pageButton_1pwn9_591._active_1pwn9_145:hover{background:#2563eb;border-color:#2563eb}@media (max-width:768px){._controls_1pwn9_1{flex-direction:column;align-items:stretch;gap:12px}._leftControls_1pwn9_10,._rightControls_1pwn9_16{justify-content:center}._filtersRow_1pwn9_149{flex-direction:column}._pagination_1pwn9_543{flex-direction:column;gap:12px}._pageButtons_1pwn9_591{justify-content:center}}._exportButton_1pwn9_659,._resetButton_1pwn9_660{cursor:pointer;letter-spacing:.025em;border:none;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:600;position:relative;overflow:hidden}._exportButton_1pwn9_659{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);box-shadow:0 4px 14px #10b98166}._exportButton_1pwn9_659:hover{box-shadow:0 8px 25px #10b98199}._resetButton_1pwn9_660{color:#fff;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);box-shadow:0 4px 14px #ef444466}._resetButton_1pwn9_660:hover{box-shadow:0 8px 25px #ef444499}._filtersContainer_1pwn9_137{background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);border-bottom:1px solid #e2e8f0cc;padding:24px 32px;position:relative}._filtersContainer_1pwn9_137:before{content:"";background:linear-gradient(90deg,#0000 0%,#6366f14d 50%,#0000 100%);height:1px;position:absolute;top:0;left:0;right:0}._filtersRow_1pwn9_149{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}._filterGroup_1pwn9_156{flex:1;min-width:200px;position:relative}._filterLabel_1pwn9_162{color:#374151;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:13px;font-weight:600;display:block}._filterDropdown_1pwn9_172{width:100%;position:relative}._filterDropdownButton_1pwn9_177{color:#374151;cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:12px;justify-content:space-between;align-items:center;width:100%;padding:12px 16px;font-size:14px;display:flex;box-shadow:0 1px 3px #0000001a}._filterDropdownButton_1pwn9_177:hover{border-color:#6366f1;box-shadow:0 4px 12px #6366f126}._filterDropdownButton_1pwn9_177._active_1pwn9_145{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}._filterDropdownIcon_1pwn9_200{width:16px;height:16px}._filterDropdownButton_1pwn9_177._active_1pwn9_145 ._filterDropdownIcon_1pwn9_200{transform:rotate(180deg)}._filterModal_1pwn9_212{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff;border:1px solid #e5e7eb;border-radius:16px;margin-top:8px;animation:.3s ease-out _filterModalSlideIn_1pwn9_1;position:absolute;top:100%;left:0;right:0;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}@keyframes _filterModalSlideIn_1pwn9_1{0%{opacity:0}to{opacity:1}}._filterModalHeader_1pwn9_212{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-bottom:1px solid #f3f4f6;padding:16px 20px}._filterSearchInput_1pwn9_217{border:1px solid #e5e7eb;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-size:14px}._filterSearchInput_1pwn9_217:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}._filterOptions_1pwn9_231{max-height:240px;padding:8px;overflow-y:auto}._filterOption_1pwn9_231{cursor:pointer;border-radius:8px;align-items:center;gap:12px;margin-bottom:4px;padding:12px 16px;display:flex}._filterOption_1pwn9_231:hover{background:#f8fafc}._filterOption_1pwn9_231._selected_1pwn9_250{background:linear-gradient(135deg,#ede9fe 0%,#e0e7ff 100%);border:1px solid #c7d2fe}._filterOptionCheckbox_1pwn9_254{accent-color:#6366f1;cursor:pointer;width:16px;height:16px}._filterOptionLabel_1pwn9_260{color:#374151;cursor:pointer;flex:1;font-size:14px}._filterOptionCount_1pwn9_266{color:#6b7280;background:#f3f4f6;border-radius:12px;padding:2px 8px;font-size:12px;font-weight:500}._filterModalActions_1pwn9_275{background:#fafafa;border-top:1px solid #f3f4f6;justify-content:space-between;gap:12px;padding:16px 20px;display:flex}._filterClearButton_1pwn9_284,._filterApplyButton_1pwn9_285{cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600}._filterClearButton_1pwn9_284{color:#6b7280;background:#f3f4f6}._filterClearButton_1pwn9_284:hover{color:#374151;background:#e5e7eb}._filterApplyButton_1pwn9_285{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);flex:1}._filterApplyButton_1pwn9_285:hover{box-shadow:0 4px 12px #6366f166}._tableWrapper_1pwn9_315{background:#fff;border-radius:0 0 16px 16px;max-height:600px;position:relative;overflow:auto}._tableWrapper_1pwn9_315:before{content:"";background:linear-gradient(90deg,#0000 0%,#e5e7eb 20% 80%,#0000 100%);height:1px;position:absolute;top:0;left:0;right:0}._table_1pwn9_315{border-collapse:collapse;table-layout:auto;width:100%;font-size:14px;position:relative}._pagination_1pwn9_543{background:#fafbfc;border-top:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}._paginationInfo_1pwn9_553{color:#6b7280;font-size:14px;font-weight:500}._paginationControls_1pwn9_560 label{color:#374151;align-items:center;gap:8px;font-size:14px;display:flex}._pageSizeSelect_1pwn9_575{background:#fff;border:1px solid #d1d5db;border-radius:4px;padding:6px 10px;font-size:14px}._pageButton_1pwn9_591{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;padding:8px 12px;font-size:14px;font-weight:500}._pageButton_1pwn9_591:hover{background:#f9fafb}._pageButton_1pwn9_591:disabled{color:#9ca3af;cursor:not-allowed;background:#f3f4f6}._pageButton_1pwn9_591._active_1pwn9_145{color:#fff;background:#3b82f6;border-color:#3b82f6}._columnTitle_1pwn9_384{flex:1;align-items:center;gap:8px;display:flex}._sortable_1pwn9_391{cursor:pointer;color:#1e293b;text-transform:uppercase;letter-spacing:.025em;border-radius:6px;align-items:center;gap:6px;padding:4px 8px;font-size:14px;font-weight:600;display:flex}._sortable_1pwn9_391:hover{color:#6366f1;background:#6366f11a}._sortIcon_1pwn9_408{color:#6366f1;font-size:16px;font-weight:700}._paginationInfo_1pwn9_553{color:#64748b;flex-shrink:0;font-size:14px;font-weight:500}._paginationControls_1pwn9_560{align-items:center;gap:20px;display:flex}._paginationControls_1pwn9_560 label{color:#374151;align-items:center;gap:12px;font-size:14px;font-weight:600;display:flex}._pageSizeSelect_1pwn9_575{cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:8px;min-width:80px;padding:8px 12px;font-size:14px;font-weight:500;box-shadow:0 1px 3px #0000001a}._pageSizeSelect_1pwn9_575:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 3px #6366f11a}._pageButton_1pwn9_591{cursor:pointer;color:#374151;background:#fff;border:2px solid #e5e7eb;border-radius:10px;min-width:44px;padding:10px 16px;font-size:14px;font-weight:600;position:relative;overflow:hidden}._pageButton_1pwn9_591:hover:not(:disabled){color:#6366f1;background:linear-gradient(135deg,#f0f4ff 0%,#e0f2fe 100%);border-color:#6366f1;box-shadow:0 4px 12px #6366f126}._pageButton_1pwn9_591:disabled{color:#d1d5db;cursor:not-allowed;opacity:.6;background:#f9fafb;border-color:#f3f4f6}._pageButton_1pwn9_591._active_1pwn9_145{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);border-color:#6366f1;box-shadow:0 4px 12px #6366f166}._pageButton_1pwn9_591._active_1pwn9_145:hover{background:linear-gradient(135deg,#4f46e5 0%,#4338ca 100%);border-color:#4f46e5;box-shadow:0 8px 25px #6366f199}._statusBadge_1pwn9_507{text-transform:uppercase;letter-spacing:.05em;border-radius:20px;align-items:center;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 2px 4px #0000001a}._statusBadge_1pwn9_507:before{content:"";background:linear-gradient(45deg,#fff3 0%,#0000 50%,#fff3 100%) 0 0/200% 200%;animation:2s infinite _shimmer_1pwn9_1;position:absolute;inset:0}@keyframes _shimmer_1pwn9_1{0%{background-position:-200% -200%}to{background-position:200% 200%}}._statusActive_1pwn9_517{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%)}._statusInactive_1pwn9_522{color:#fff;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%)}._statusPending_1pwn9_527{color:#fff;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%)}._statusCompleted_1pwn9_532{color:#fff;background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%)}._statusDraft_1pwn9_537{color:#fff;background:linear-gradient(135deg,#6b7280 0%,#4b5563 100%)}@media (max-width:768px){._controls_1pwn9_1{flex-direction:column;align-items:stretch;gap:16px}._leftControls_1pwn9_10,._rightControls_1pwn9_16,._columnCheckboxes_1pwn9_1195{justify-content:center}._filtersRow_1pwn9_149{flex-direction:column}._pagination_1pwn9_543{flex-direction:column;gap:16px}._pageButtons_1pwn9_591{justify-content:center}}
3
3
  /*$vite$:1*/
@@ -37,7 +37,18 @@ const DownloadIcon = ({ color: e, size: t = 24 }) => /* @__PURE__ */ jsx("svg",
37
37
  clipRule: "evenodd",
38
38
  fill: "currentColor"
39
39
  })
40
- }), formatCellValue = (e) => e == null ? "" : typeof e == "boolean" ? e ? "Sí" : "No" : typeof e == "number" ? e.toLocaleString() : e instanceof Date ? e.toLocaleDateString() : String(e);
40
+ }), formatCellValue = (e) => e == null ? "" : typeof e == "boolean" ? e ? "Sí" : "No" : typeof e == "number" ? e.toLocaleString() : e instanceof Date ? e.toLocaleDateString() : String(e), CloseIcon = ({ color: e, size: t = 20 }) => /* @__PURE__ */ jsx("svg", {
41
+ fill: e,
42
+ width: t,
43
+ height: t,
44
+ viewBox: "0 0 20 20",
45
+ children: /* @__PURE__ */ jsx("path", {
46
+ fillRule: "evenodd",
47
+ d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",
48
+ clipRule: "evenodd",
49
+ fill: "currentColor"
50
+ })
51
+ });
41
52
  var Button_default = ({ level: e = "primary", size: t = "medium", type: n = "button", posIcon: r = "left", disabled: i = !1, label: c, icon: l, children: u,...d }) => {
42
53
  let f = "disabled:text-redi-disabled-text disabled:border-redi-disabled-border disabled:cursor-not-allowed", p = {
43
54
  primary: `bg-redi-primary-bg hover:bg-redi-primary-bg-hover text-redi-primary-text active:ring-2 active:ring-redi-primary-bg-active active:border-[1px] active:border-white active:border-solid disabled:bg-redi-disabled-bg ${f}`,
@@ -148,7 +159,7 @@ var Button_default = ({ level: e = "primary", size: t = "medium", type: n = "but
148
159
  })
149
160
  ]
150
161
  }, e.value), AdvancedFilter_default = ({ label: e, options: n, textValue: a, selectedValues: c, onTextChange: l, onSelectionChange: u, onClose: d }) => {
151
- let [h, g] = useState(""), _ = useRef(null), v = n.filter((e) => e.value.toLowerCase().includes(h.toLowerCase()) || e.label.toLowerCase().includes(h.toLowerCase())), y = (e) => {
162
+ let [f, g] = useState(""), _ = useRef(null), v = n.filter((e) => e.value.toLowerCase().includes(f.toLowerCase()) || e.label.toLowerCase().includes(f.toLowerCase())), y = (e) => {
152
163
  let t = c.includes(e.value) ? c.filter((t) => t !== e.value) : [...c, e.value];
153
164
  u(t);
154
165
  }, b = () => {
@@ -181,7 +192,7 @@ var Button_default = ({ level: e = "primary", size: t = "medium", type: n = "but
181
192
  type: "text",
182
193
  className: AdvancedTable_module_default.filterSearchInput,
183
194
  placeholder: "Buscar opciones...",
184
- value: h,
195
+ value: f,
185
196
  onChange: (e) => g(e.target.value),
186
197
  style: { marginTop: "8px" }
187
198
  })]
@@ -320,13 +331,13 @@ const useAdvancedTable = (r) => {
320
331
  } catch (e) {
321
332
  console.warn("Error saving table config to cookies:", e);
322
333
  }
323
- }, [d, f]), g = m(), [_, v] = useState(g?.sortConfig || s || void 0), [x, S] = useState(g?.filters || c), [C, w] = useState(g?.columnOrder || o.map((e) => e.id)), [T, E] = useState(g?.hiddenColumns || []), [D, O] = useState({
334
+ }, [d, f]), g = m(), [_, v] = useState(g?.sortConfig || s || void 0), [y, S] = useState(g?.filters || c), [C, w] = useState(g?.columnOrder || o.map((e) => e.id)), [T, E] = useState(g?.hiddenColumns || []), [D, O] = useState({
324
335
  page: 1,
325
336
  pageSize: g?.pagination?.pageSize || l,
326
337
  total: a.length
327
338
  }), k = useMemo(() => {
328
339
  let e = [...a];
329
- return Object.entries(x).forEach(([t, n]) => {
340
+ return Object.entries(y).forEach(([t, n]) => {
330
341
  let r = o.find((e) => e.id === t);
331
342
  r && (e = e.filter((e) => {
332
343
  let t = typeof r.accessor == "function" ? r.accessor(e) : e[r.accessor], i = String(t || "").toLowerCase(), a = !0;
@@ -335,7 +346,7 @@ const useAdvancedTable = (r) => {
335
346
  }), e;
336
347
  }, [
337
348
  a,
338
- x,
349
+ y,
339
350
  o
340
351
  ]), A = useMemo(() => {
341
352
  if (!_) return k;
@@ -375,14 +386,14 @@ const useAdvancedTable = (r) => {
375
386
  }, [k.length]), useEffect(() => {
376
387
  let e = {
377
388
  sort: _,
378
- filters: x,
389
+ filters: y,
379
390
  columnOrder: C,
380
391
  hiddenColumns: T,
381
392
  pageSize: D.pageSize
382
393
  };
383
394
  h(e), p?.({
384
395
  sort: _,
385
- filters: x,
396
+ filters: y,
386
397
  pagination: D,
387
398
  columnOrder: C,
388
399
  hiddenColumns: T,
@@ -390,7 +401,7 @@ const useAdvancedTable = (r) => {
390
401
  });
391
402
  }, [
392
403
  _,
393
- x,
404
+ y,
394
405
  C,
395
406
  T,
396
407
  D.pageSize,
@@ -452,7 +463,7 @@ const useAdvancedTable = (r) => {
452
463
  filteredData: k,
453
464
  paginatedData: j,
454
465
  sortConfig: _,
455
- filters: x,
466
+ filters: y,
456
467
  pagination: D,
457
468
  columnOrder: C,
458
469
  hiddenColumns: T,
@@ -471,7 +482,7 @@ const useAdvancedTable = (r) => {
471
482
  allColumns: o
472
483
  };
473
484
  };
474
- var AdvancedTable_default = ({ data: e, columns: n, defaultSort: a, defaultFilters: m = {}, defaultPageSize: g = 10, pageSizeOptions: _ = [
485
+ var AdvancedTable_default = ({ data: e, columns: n, defaultSort: a, defaultFilters: m = {}, defaultPageSize: h = 10, pageSizeOptions: _ = [
475
486
  10,
476
487
  25,
477
488
  50,
@@ -480,7 +491,7 @@ var AdvancedTable_default = ({ data: e, columns: n, defaultSort: a, defaultFilte
480
491
  300,
481
492
  400,
482
493
  500
483
- ], enableSorting: v = !0, enableFiltering: y = !0, enablePagination: b = !0, enableExport: S = !0, persistConfig: C = !0, configKey: w = "advancedTable", className: T = "", labels: E = {
494
+ ], enableSorting: v = !0, enableFiltering: y = !0, enablePagination: b = !0, enableExport: x = !0, persistConfig: C = !0, configKey: w = "advancedTable", className: T = "", labels: E = {
484
495
  configuration: "Configuración",
485
496
  columnVisibility: "Columnas visibles",
486
497
  pagination: {
@@ -490,14 +501,15 @@ var AdvancedTable_default = ({ data: e, columns: n, defaultSort: a, defaultFilte
490
501
  items: "elementos",
491
502
  showPerPage: "Mostrar",
492
503
  perPageItems: "elementos"
493
- }
504
+ },
505
+ clearAllFilters: "Limpiar todos los filtros"
494
506
  } }) => {
495
507
  let [D, O] = useState(null), [k, A] = useState(null), [j, M] = useState(!1), [N, P] = useState(null), F = useRef(null), { state: I, orderedColumns: L, handleSort: R, handleFilter: z, clearAllFilters: B, handlePageChange: V, handlePageSizeChange: H, handleColumnReorder: U, handleToggleColumn: W } = useAdvancedTable({
496
508
  data: e,
497
509
  columns: n,
498
510
  defaultSort: a,
499
511
  defaultFilters: m,
500
- defaultPageSize: g,
512
+ defaultPageSize: h,
501
513
  pageSizeOptions: _,
502
514
  persistConfig: C,
503
515
  configKey: w
@@ -579,23 +591,15 @@ var AdvancedTable_default = ({ data: e, columns: n, defaultSort: a, defaultFilte
579
591
  })]
580
592
  })
581
593
  })]
582
- }), y && ae && /* @__PURE__ */ jsx("button", {
594
+ }), y && ae && /* @__PURE__ */ jsx(Button_default, {
595
+ level: "icon",
583
596
  onClick: B,
584
- className: `${AdvancedTable_module_default.actionButton} ${AdvancedTable_module_default.reset}`,
585
- title: "Limpiar todos los filtros",
586
- children: /* @__PURE__ */ jsx("svg", {
587
- className: AdvancedTable_module_default.buttonIcon,
588
- viewBox: "0 0 20 20",
589
- children: /* @__PURE__ */ jsx("path", {
590
- fillRule: "evenodd",
591
- d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",
592
- clipRule: "evenodd"
593
- })
594
- })
597
+ label: E.clearAllFilters,
598
+ children: /* @__PURE__ */ jsx(CloseIcon, { color: "white" })
595
599
  })]
596
600
  }), /* @__PURE__ */ jsx("div", {
597
- className: AdvancedTable_module_default.rightControls,
598
- children: S && /* @__PURE__ */ jsx(Button_default, {
601
+ className: "flex items-center gap-2",
602
+ children: x && /* @__PURE__ */ jsx(Button_default, {
599
603
  level: "secondary",
600
604
  onClick: ne,
601
605
  children: /* @__PURE__ */ jsx(DownloadIcon, { size: 18 })
@@ -615,23 +619,23 @@ var AdvancedTable_default = ({ data: e, columns: n, defaultSort: a, defaultFilte
615
619
  onDrop: (e) => ee(e, t),
616
620
  onDragEnd: te,
617
621
  children: /* @__PURE__ */ jsxs("div", {
618
- className: AdvancedTable_module_default.headerContent,
622
+ className: "flex items-center py-3 px-4 gap-2 min-h-12",
619
623
  children: [/* @__PURE__ */ jsx("div", {
620
- className: AdvancedTable_module_default.dragHandle,
624
+ className: "text-gray-600 cursor-grab opacity-70 hover:opacity-100 text-base",
621
625
  children: "⋮⋮"
622
626
  }), /* @__PURE__ */ jsxs("div", {
623
- className: AdvancedTable_module_default.columnTitle,
627
+ className: "flex flex-1 items-center gap-2",
624
628
  children: [/* @__PURE__ */ jsxs("span", {
625
- className: v ? AdvancedTable_module_default.sortable : "",
629
+ className: v ? "cursor-pointer py-1 px-1.5 rounded-sm flex items-center gap-1.5 text-sm font-semibold text-redi-text uppercase hover:bg-redi-text hover:text-redi-link-text" : "",
626
630
  onClick: (t) => {
627
631
  t.stopPropagation(), v && R(e.id);
628
632
  },
629
633
  children: [e.label, v && K?.column === e.id && /* @__PURE__ */ jsx("span", {
630
- className: AdvancedTable_module_default.sortIcon,
634
+ className: "font-bold text-redi-link-text text-base",
631
635
  children: K.direction === "asc" ? " ↑" : " ↓"
632
636
  })]
633
637
  }), y && /* @__PURE__ */ jsxs("div", {
634
- style: { position: "relative" },
638
+ className: "relative",
635
639
  children: [/* @__PURE__ */ jsx(Button_default, {
636
640
  level: "icon",
637
641
  onClick: (t) => {
@@ -652,14 +656,14 @@ var AdvancedTable_default = ({ data: e, columns: n, defaultSort: a, defaultFilte
652
656
  })]
653
657
  })
654
658
  }, e.id)) }) }), /* @__PURE__ */ jsx("tbody", { children: G.map((e, t) => /* @__PURE__ */ jsx("tr", {
655
- className: AdvancedTable_module_default.row,
659
+ className: "even:bg-gray-50 hover:bg-gray-100 border-b border-solid border-b-gray-100 odd:bg-white",
656
660
  children: L.map((n) => {
657
661
  let r = typeof n.accessor == "function" ? n.accessor(e) : e[n.accessor];
658
662
  return n.render ? /* @__PURE__ */ jsx("td", {
659
- className: AdvancedTable_module_default.cell,
663
+ className: "py-3 px-4 text-redi-text font-normal leading-6 align-middle border-r border-solid border-r-gray-300 static table-cell last:border-r-0 first:font-medium",
660
664
  children: n.render(r, e, t)
661
665
  }, n.id) : /* @__PURE__ */ jsx("td", {
662
- className: AdvancedTable_module_default.cell,
666
+ className: "py-3 px-4 text-redi-text font-normal leading-6 align-middle border-r border-solid border-r-gray-300 static table-cell last:border-r-0 first:font-medium",
663
667
  children: formatCellValue(r)
664
668
  }, n.id);
665
669
  })
@@ -694,7 +698,7 @@ var AdvancedTable_default = ({ data: e, columns: n, defaultSort: a, defaultFilte
694
698
  /* @__PURE__ */ jsx("select", {
695
699
  value: J.pageSize,
696
700
  onChange: (e) => H(Number(e.target.value)),
697
- className: AdvancedTable_module_default.pageSizeSelect,
701
+ className: "py-1.5 px-2.5 border border-solid border-gray-300 rounded-md bg-white text-redi-text focus:outline-none focus:ring-2 focus:ring-redi-primary",
698
702
  children: _.map((e) => /* @__PURE__ */ jsx("option", {
699
703
  value: e,
700
704
  children: e
@@ -1,3 +1,3 @@
1
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`react`),require(`react/jsx-runtime`)):typeof define==`function`&&define.amd?define([`exports`,`react`,`react/jsx-runtime`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e[`redi-components`]={},e.React,e[`react/jsxRuntime`]))})(this,function(e,t,n){var r=Object.create,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var s=o(t),l=0,u=s.length,d;l<u;l++)d=s[l],!c.call(e,d)&&d!==n&&i(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(r=a(t,d))||r.enumerable});return e},u=(e,t,n)=>(n=e==null?{}:r(s(e)),l(t||!e||!e.__esModule?i(n,`default`,{value:e,enumerable:!0}):n,e));t=u(t),n=u(n);let d=({color:e,size:t=24})=>(0,n.jsx)(`svg`,{width:t,height:t,viewBox:`0 0 20 20`,fill:e,children:(0,n.jsx)(`path`,{fillRule:`evenodd`,d:`M3 17a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm3.293-7.707a1 1 0 011.414 0L9 10.586V3a1 1 0 112 0v7.586l1.293-1.293a1 1 0 111.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z`,clipRule:`evenodd`,fill:`currentColor`})}),f=({color:e,size:t=20})=>(0,n.jsxs)(`svg`,{viewBox:`0 0 20 20`,fill:e,width:t,height:t,children:[(0,n.jsx)(`path`,{d:`M10 12a2 2 0 100-4 2 2 0 000 4z`,fill:`currentColor`}),(0,n.jsx)(`path`,{fillRule:`evenodd`,d:`M.458 10C1.732 5.943 5.522 3 10 3s8.268 2.943 9.542 7c-1.274 4.057-5.064 7-9.542 7S1.732 14.057.458 10zM14 10a4 4 0 11-8 0 4 4 0 018 0z`,clipRule:`evenodd`,fill:`currentColor`})]}),p=({color:e,size:t=24})=>(0,n.jsx)(`svg`,{fill:e,stroke:`currentColor`,viewBox:`0 0 24 24`,width:t,height:t,children:(0,n.jsx)(`path`,{fillRule:`evenodd`,d:`M3 3a1 1 0 011-1h12a1 1 0 011 1v3a1 1 0 01-.293.707L12 11.414V15a1 1 0 01-.293.707l-2 2A1 1 0 018 17v-5.586L3.293 6.707A1 1 0 013 6V3z`,clipRule:`evenodd`,fill:`currentColor`})}),m=e=>e==null?``:typeof e==`boolean`?e?`Sí`:`No`:typeof e==`number`?e.toLocaleString():e instanceof Date?e.toLocaleDateString():String(e);var h=({level:e=`primary`,size:t=`medium`,type:r=`button`,posIcon:i=`left`,disabled:a=!1,label:o,icon:s,children:c,...l})=>{let u=`disabled:text-redi-disabled-text disabled:border-redi-disabled-border disabled:cursor-not-allowed`,d={primary:`bg-redi-primary-bg hover:bg-redi-primary-bg-hover text-redi-primary-text active:ring-2 active:ring-redi-primary-bg-active active:border-[1px] active:border-white active:border-solid disabled:bg-redi-disabled-bg ${u}`,secondary:`bg-redi-secondary-bg hover:bg-redi-secondary-bg-hover text-redi-secondary-text active:ring-2 active:ring-redi-secondary-bg-active active:border-[1px] active:border-white active:border-solid border-1 border-solid disabled:bg-redi-disabled-bg ${u}`,tertiary:`bg-redi-tertiary-bg hover:bg-redi-tertiary-bg-hover text-redi-tertiary-text active:ring-2 active:ring-redi-tertiary-bg-active active:border-[1px] active:border-white active:border-solid disabled:bg-redi-disabled-bg ${u}`,link:`bg-transparent hover:bg-redi-link-bg text-redi-link-text active:ring-2 active:ring-redi-link-bg-active active:border-[1px] active:border-white active:border-solid underline underline-offset-4 ${u}`,icon:`bg-transparent hover:bg-redi-icon-bg text-redi-icon-text active:ring-2 active:ring-redi-icon-bg-active active:border-[1px] active:border-white active:border-solid ${u}`};return(0,n.jsx)(`button`,{type:r,name:`button-${o}`,disabled:a,className:`cursor-pointer rounded-lg font-family-base transition-all duration-200 ${d[e]} ${{small:`px-3 py-1 text-sm`,medium:`px-4 py-2 text-xs`,large:`px-6 py-3 text-lg`}[t]} flex gap-x-1 items-center justify-center`,...l,children:c||(0,n.jsxs)(n.Fragment,{children:[s&&i===`left`&&s,o&&e!==`icon`&&(0,n.jsx)(`span`,{children:o}),s&&i===`right`&&s]})})},g={controls:`_controls_1pwn9_1`,leftControls:`_leftControls_1pwn9_10`,rightControls:`_rightControls_1pwn9_16`,configButton:`_configButton_1pwn9_23`,configIcon:`_configIcon_1pwn9_42`,configSection:`_configSection_1pwn9_49`,configSectionTitle:`_configSectionTitle_1pwn9_57`,configOptions:`_configOptions_1pwn9_66`,configOption:`_configOption_1pwn9_66`,actionButton:`_actionButton_1pwn9_91`,export:`_export_1pwn9_110`,reset:`_reset_1pwn9_120`,buttonIcon:`_buttonIcon_1pwn9_130`,filtersContainer:`_filtersContainer_1pwn9_137`,active:`_active_1pwn9_145`,filtersRow:`_filtersRow_1pwn9_149`,filterGroup:`_filterGroup_1pwn9_156`,filterLabel:`_filterLabel_1pwn9_162`,filterDropdown:`_filterDropdown_1pwn9_172`,filterDropdownButton:`_filterDropdownButton_1pwn9_177`,filterDropdownIcon:`_filterDropdownIcon_1pwn9_200`,filterModalHeader:`_filterModalHeader_1pwn9_212`,filterSearchInput:`_filterSearchInput_1pwn9_217`,filterOptions:`_filterOptions_1pwn9_231`,filterOption:`_filterOption_1pwn9_231`,selected:`_selected_1pwn9_250`,filterOptionCheckbox:`_filterOptionCheckbox_1pwn9_254`,filterOptionLabel:`_filterOptionLabel_1pwn9_260`,filterOptionCount:`_filterOptionCount_1pwn9_266`,filterModalActions:`_filterModalActions_1pwn9_275`,filterClearButton:`_filterClearButton_1pwn9_284`,filterApplyButton:`_filterApplyButton_1pwn9_285`,tableWrapper:`_tableWrapper_1pwn9_315`,table:`_table_1pwn9_315`,header:`_header_1pwn9_332`,dragging:`_dragging_1pwn9_349`,dragOver:`_dragOver_1pwn9_354`,headerContent:`_headerContent_1pwn9_359`,dragHandle:`_dragHandle_1pwn9_367`,columnTitle:`_columnTitle_1pwn9_384`,sortable:`_sortable_1pwn9_391`,sortIcon:`_sortIcon_1pwn9_408`,filterButton:`_filterButton_1pwn9_415`,filterButtonIcon:`_filterButtonIcon_1pwn9_451`,filterModal:`_filterModal_1pwn9_212`,row:`_row_1pwn9_474`,cell:`_cell_1pwn9_486`,statusBadge:`_statusBadge_1pwn9_507`,statusActive:`_statusActive_1pwn9_517`,statusInactive:`_statusInactive_1pwn9_522`,statusPending:`_statusPending_1pwn9_527`,statusCompleted:`_statusCompleted_1pwn9_532`,statusDraft:`_statusDraft_1pwn9_537`,pagination:`_pagination_1pwn9_543`,paginationInfo:`_paginationInfo_1pwn9_553`,paginationControls:`_paginationControls_1pwn9_560`,pageSizeSelect:`_pageSizeSelect_1pwn9_575`,pageButtons:`_pageButtons_1pwn9_591`,pageButton:`_pageButton_1pwn9_591`,exportButton:`_exportButton_1pwn9_659`,resetButton:`_resetButton_1pwn9_660`,filterModalSlideIn:`_filterModalSlideIn_1pwn9_1`,shimmer:`_shimmer_1pwn9_1`,columnCheckboxes:`_columnCheckboxes_1pwn9_1195`},_=({option:e,selectedValues:t,handleOptionToggle:r})=>(0,n.jsxs)(`div`,{className:`${g.filterOption} ${t.includes(e.value)?g.selected:``}`,onClick:()=>r(e),children:[(0,n.jsx)(`input`,{type:`checkbox`,className:g.filterOptionCheckbox,checked:t.includes(e.value),onChange:()=>r(e),onClick:e=>e.stopPropagation()}),(0,n.jsx)(`span`,{className:g.filterOptionLabel,children:e.value}),(0,n.jsx)(`span`,{className:g.filterOptionCount,children:e.count})]},e.value),v=({label:e,options:r,textValue:i,selectedValues:a,onTextChange:o,onSelectionChange:s,onClose:c})=>{let[l,u]=(0,t.useState)(``),d=(0,t.useRef)(null),f=r.filter(e=>e.value.toLowerCase().includes(l.toLowerCase())||e.label.toLowerCase().includes(l.toLowerCase())),p=e=>{let t=a.includes(e.value)?a.filter(t=>t!==e.value):[...a,e.value];s(t)},m=()=>{let e=f.map(e=>e.value);s(e)},v=()=>{s([]),o(``)};return(0,t.useEffect)(()=>{let e=e=>{d.current&&!d.current.contains(e.target)&&c()};return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[c]),(0,n.jsxs)(`div`,{className:g.filterModal,ref:d,children:[(0,n.jsxs)(`div`,{className:g.filterModalHeader,children:[(0,n.jsx)(`input`,{type:`text`,className:g.filterSearchInput,placeholder:`Buscar texto en ${e.toLowerCase()}...`,value:i,onChange:e=>o(e.target.value),autoFocus:!0}),(0,n.jsx)(`input`,{type:`text`,className:g.filterSearchInput,placeholder:`Buscar opciones...`,value:l,onChange:e=>u(e.target.value),style:{marginTop:`8px`}})]}),(0,n.jsxs)(`div`,{className:g.filterOptions,children:[(0,n.jsxs)(`div`,{className:g.filterOption,style:{borderBottom:`1px solid #e5e7eb`,marginBottom:`4px`,paddingBottom:`8px`},children:[(0,n.jsx)(h,{onClick:m,size:`small`,level:`tertiary`,children:`Seleccionar todo`}),(0,n.jsx)(h,{onClick:v,size:`small`,level:`tertiary`,children:`Limpiar todo`})]}),f.map(e=>(0,n.jsx)(_,{option:e,selectedValues:a,handleOptionToggle:p},e.value)),f.length===0&&(0,n.jsx)(`div`,{className:g.filterOption,children:(0,n.jsx)(`span`,{className:g.filterOptionLabel,children:`No se encontraron opciones`})})]}),(0,n.jsxs)(`div`,{className:g.filterModalActions,children:[(0,n.jsx)(h,{onClick:v,level:`tertiary`,children:`Limpiar todo`}),(0,n.jsxs)(h,{onClick:c,level:`primary`,children:[`Aplicar (`,a.length+(i?1:0),`)`]})]})]})};
1
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`react`),require(`react/jsx-runtime`)):typeof define==`function`&&define.amd?define([`exports`,`react`,`react/jsx-runtime`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e[`redi-components`]={},e.React,e[`react/jsxRuntime`]))})(this,function(e,t,n){var r=Object.create,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var s=o(t),l=0,u=s.length,d;l<u;l++)d=s[l],!c.call(e,d)&&d!==n&&i(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(r=a(t,d))||r.enumerable});return e},u=(e,t,n)=>(n=e==null?{}:r(s(e)),l(t||!e||!e.__esModule?i(n,`default`,{value:e,enumerable:!0}):n,e));t=u(t),n=u(n);let d=({color:e,size:t=24})=>(0,n.jsx)(`svg`,{width:t,height:t,viewBox:`0 0 20 20`,fill:e,children:(0,n.jsx)(`path`,{fillRule:`evenodd`,d:`M3 17a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm3.293-7.707a1 1 0 011.414 0L9 10.586V3a1 1 0 112 0v7.586l1.293-1.293a1 1 0 111.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z`,clipRule:`evenodd`,fill:`currentColor`})}),f=({color:e,size:t=20})=>(0,n.jsxs)(`svg`,{viewBox:`0 0 20 20`,fill:e,width:t,height:t,children:[(0,n.jsx)(`path`,{d:`M10 12a2 2 0 100-4 2 2 0 000 4z`,fill:`currentColor`}),(0,n.jsx)(`path`,{fillRule:`evenodd`,d:`M.458 10C1.732 5.943 5.522 3 10 3s8.268 2.943 9.542 7c-1.274 4.057-5.064 7-9.542 7S1.732 14.057.458 10zM14 10a4 4 0 11-8 0 4 4 0 018 0z`,clipRule:`evenodd`,fill:`currentColor`})]}),p=({color:e,size:t=24})=>(0,n.jsx)(`svg`,{fill:e,stroke:`currentColor`,viewBox:`0 0 24 24`,width:t,height:t,children:(0,n.jsx)(`path`,{fillRule:`evenodd`,d:`M3 3a1 1 0 011-1h12a1 1 0 011 1v3a1 1 0 01-.293.707L12 11.414V15a1 1 0 01-.293.707l-2 2A1 1 0 018 17v-5.586L3.293 6.707A1 1 0 013 6V3z`,clipRule:`evenodd`,fill:`currentColor`})}),m=e=>e==null?``:typeof e==`boolean`?e?`Sí`:`No`:typeof e==`number`?e.toLocaleString():e instanceof Date?e.toLocaleDateString():String(e),h=({color:e,size:t=20})=>(0,n.jsx)(`svg`,{fill:e,width:t,height:t,viewBox:`0 0 20 20`,children:(0,n.jsx)(`path`,{fillRule:`evenodd`,d:`M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z`,clipRule:`evenodd`,fill:`currentColor`})});var g=({level:e=`primary`,size:t=`medium`,type:r=`button`,posIcon:i=`left`,disabled:a=!1,label:o,icon:s,children:c,...l})=>{let u=`disabled:text-redi-disabled-text disabled:border-redi-disabled-border disabled:cursor-not-allowed`,d={primary:`bg-redi-primary-bg hover:bg-redi-primary-bg-hover text-redi-primary-text active:ring-2 active:ring-redi-primary-bg-active active:border-[1px] active:border-white active:border-solid disabled:bg-redi-disabled-bg ${u}`,secondary:`bg-redi-secondary-bg hover:bg-redi-secondary-bg-hover text-redi-secondary-text active:ring-2 active:ring-redi-secondary-bg-active active:border-[1px] active:border-white active:border-solid border-1 border-solid disabled:bg-redi-disabled-bg ${u}`,tertiary:`bg-redi-tertiary-bg hover:bg-redi-tertiary-bg-hover text-redi-tertiary-text active:ring-2 active:ring-redi-tertiary-bg-active active:border-[1px] active:border-white active:border-solid disabled:bg-redi-disabled-bg ${u}`,link:`bg-transparent hover:bg-redi-link-bg text-redi-link-text active:ring-2 active:ring-redi-link-bg-active active:border-[1px] active:border-white active:border-solid underline underline-offset-4 ${u}`,icon:`bg-transparent hover:bg-redi-icon-bg text-redi-icon-text active:ring-2 active:ring-redi-icon-bg-active active:border-[1px] active:border-white active:border-solid ${u}`};return(0,n.jsx)(`button`,{type:r,name:`button-${o}`,disabled:a,className:`cursor-pointer rounded-lg font-family-base transition-all duration-200 ${d[e]} ${{small:`px-3 py-1 text-sm`,medium:`px-4 py-2 text-xs`,large:`px-6 py-3 text-lg`}[t]} flex gap-x-1 items-center justify-center`,...l,children:c||(0,n.jsxs)(n.Fragment,{children:[s&&i===`left`&&s,o&&e!==`icon`&&(0,n.jsx)(`span`,{children:o}),s&&i===`right`&&s]})})},_={controls:`_controls_1pwn9_1`,leftControls:`_leftControls_1pwn9_10`,rightControls:`_rightControls_1pwn9_16`,configButton:`_configButton_1pwn9_23`,configIcon:`_configIcon_1pwn9_42`,configSection:`_configSection_1pwn9_49`,configSectionTitle:`_configSectionTitle_1pwn9_57`,configOptions:`_configOptions_1pwn9_66`,configOption:`_configOption_1pwn9_66`,actionButton:`_actionButton_1pwn9_91`,export:`_export_1pwn9_110`,reset:`_reset_1pwn9_120`,buttonIcon:`_buttonIcon_1pwn9_130`,filtersContainer:`_filtersContainer_1pwn9_137`,active:`_active_1pwn9_145`,filtersRow:`_filtersRow_1pwn9_149`,filterGroup:`_filterGroup_1pwn9_156`,filterLabel:`_filterLabel_1pwn9_162`,filterDropdown:`_filterDropdown_1pwn9_172`,filterDropdownButton:`_filterDropdownButton_1pwn9_177`,filterDropdownIcon:`_filterDropdownIcon_1pwn9_200`,filterModalHeader:`_filterModalHeader_1pwn9_212`,filterSearchInput:`_filterSearchInput_1pwn9_217`,filterOptions:`_filterOptions_1pwn9_231`,filterOption:`_filterOption_1pwn9_231`,selected:`_selected_1pwn9_250`,filterOptionCheckbox:`_filterOptionCheckbox_1pwn9_254`,filterOptionLabel:`_filterOptionLabel_1pwn9_260`,filterOptionCount:`_filterOptionCount_1pwn9_266`,filterModalActions:`_filterModalActions_1pwn9_275`,filterClearButton:`_filterClearButton_1pwn9_284`,filterApplyButton:`_filterApplyButton_1pwn9_285`,tableWrapper:`_tableWrapper_1pwn9_315`,table:`_table_1pwn9_315`,header:`_header_1pwn9_332`,dragging:`_dragging_1pwn9_349`,dragOver:`_dragOver_1pwn9_354`,headerContent:`_headerContent_1pwn9_359`,dragHandle:`_dragHandle_1pwn9_367`,columnTitle:`_columnTitle_1pwn9_384`,sortable:`_sortable_1pwn9_391`,sortIcon:`_sortIcon_1pwn9_408`,filterButton:`_filterButton_1pwn9_415`,filterButtonIcon:`_filterButtonIcon_1pwn9_451`,filterModal:`_filterModal_1pwn9_212`,row:`_row_1pwn9_474`,cell:`_cell_1pwn9_486`,statusBadge:`_statusBadge_1pwn9_507`,statusActive:`_statusActive_1pwn9_517`,statusInactive:`_statusInactive_1pwn9_522`,statusPending:`_statusPending_1pwn9_527`,statusCompleted:`_statusCompleted_1pwn9_532`,statusDraft:`_statusDraft_1pwn9_537`,pagination:`_pagination_1pwn9_543`,paginationInfo:`_paginationInfo_1pwn9_553`,paginationControls:`_paginationControls_1pwn9_560`,pageSizeSelect:`_pageSizeSelect_1pwn9_575`,pageButtons:`_pageButtons_1pwn9_591`,pageButton:`_pageButton_1pwn9_591`,exportButton:`_exportButton_1pwn9_659`,resetButton:`_resetButton_1pwn9_660`,filterModalSlideIn:`_filterModalSlideIn_1pwn9_1`,shimmer:`_shimmer_1pwn9_1`,columnCheckboxes:`_columnCheckboxes_1pwn9_1195`},v=({option:e,selectedValues:t,handleOptionToggle:r})=>(0,n.jsxs)(`div`,{className:`${_.filterOption} ${t.includes(e.value)?_.selected:``}`,onClick:()=>r(e),children:[(0,n.jsx)(`input`,{type:`checkbox`,className:_.filterOptionCheckbox,checked:t.includes(e.value),onChange:()=>r(e),onClick:e=>e.stopPropagation()}),(0,n.jsx)(`span`,{className:_.filterOptionLabel,children:e.value}),(0,n.jsx)(`span`,{className:_.filterOptionCount,children:e.count})]},e.value),y=({label:e,options:r,textValue:i,selectedValues:a,onTextChange:o,onSelectionChange:s,onClose:c})=>{let[l,u]=(0,t.useState)(``),d=(0,t.useRef)(null),f=r.filter(e=>e.value.toLowerCase().includes(l.toLowerCase())||e.label.toLowerCase().includes(l.toLowerCase())),p=e=>{let t=a.includes(e.value)?a.filter(t=>t!==e.value):[...a,e.value];s(t)},m=()=>{let e=f.map(e=>e.value);s(e)},h=()=>{s([]),o(``)};return(0,t.useEffect)(()=>{let e=e=>{d.current&&!d.current.contains(e.target)&&c()};return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[c]),(0,n.jsxs)(`div`,{className:_.filterModal,ref:d,children:[(0,n.jsxs)(`div`,{className:_.filterModalHeader,children:[(0,n.jsx)(`input`,{type:`text`,className:_.filterSearchInput,placeholder:`Buscar texto en ${e.toLowerCase()}...`,value:i,onChange:e=>o(e.target.value),autoFocus:!0}),(0,n.jsx)(`input`,{type:`text`,className:_.filterSearchInput,placeholder:`Buscar opciones...`,value:l,onChange:e=>u(e.target.value),style:{marginTop:`8px`}})]}),(0,n.jsxs)(`div`,{className:_.filterOptions,children:[(0,n.jsxs)(`div`,{className:_.filterOption,style:{borderBottom:`1px solid #e5e7eb`,marginBottom:`4px`,paddingBottom:`8px`},children:[(0,n.jsx)(g,{onClick:m,size:`small`,level:`tertiary`,children:`Seleccionar todo`}),(0,n.jsx)(g,{onClick:h,size:`small`,level:`tertiary`,children:`Limpiar todo`})]}),f.map(e=>(0,n.jsx)(v,{option:e,selectedValues:a,handleOptionToggle:p},e.value)),f.length===0&&(0,n.jsx)(`div`,{className:_.filterOption,children:(0,n.jsx)(`span`,{className:_.filterOptionLabel,children:`No se encontraron opciones`})})]}),(0,n.jsxs)(`div`,{className:_.filterModalActions,children:[(0,n.jsx)(g,{onClick:h,level:`tertiary`,children:`Limpiar todo`}),(0,n.jsxs)(g,{onClick:c,level:`primary`,children:[`Aplicar (`,a.length+(i?1:0),`)`]})]})]})};
2
2
  /*! js-cookie v3.0.5 | MIT */
3
- function y(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)e[r]=n[r]}return e}var b={read:function(e){return e[0]===`"`&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function x(e,t){function n(n,r,i){if(!(typeof document>`u`)){i=y({},t,i),typeof i.expires==`number`&&(i.expires=new Date(Date.now()+i.expires*864e5)),i.expires&&=i.expires.toUTCString(),n=encodeURIComponent(n).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var a=``;for(var o in i)i[o]&&(a+=`; `+o,i[o]!==!0&&(a+=`=`+i[o].split(`;`)[0]));return document.cookie=n+`=`+e.write(r,n)+a}}function r(t){if(!(typeof document>`u`||arguments.length&&!t)){for(var n=document.cookie?document.cookie.split(`; `):[],r={},i=0;i<n.length;i++){var a=n[i].split(`=`),o=a.slice(1).join(`=`);try{var s=decodeURIComponent(a[0]);if(r[s]=e.read(o,s),t===s)break}catch{}}return t?r[t]:r}}return Object.create({set:n,get:r,remove:function(e,t){n(e,``,y({},t,{expires:-1}))},withAttributes:function(e){return x(this.converter,y({},this.attributes,e))},withConverter:function(e){return x(y({},this.converter,e),this.attributes)}},{attributes:{value:Object.freeze(t)},converter:{value:Object.freeze(e)}})}var S=x(b,{path:`/`}),C=30;let w=e=>{let{data:n,columns:r,defaultSort:i,defaultFilters:a={},defaultPageSize:o=10,pageSizeOptions:s=[10,25,50,100,200,300,400,500],persistConfig:c=!0,configKey:l=`advanced-table-config`,onConfigChange:u}=e,d=(0,t.useCallback)(()=>{if(!c)return null;try{let e=S.get(l);return e?JSON.parse(e):null}catch(e){return console.warn(`Error loading table config from cookies:`,e),null}},[c,l]),f=(0,t.useCallback)(e=>{if(c)try{S.set(l,JSON.stringify(e),{expires:C})}catch(e){console.warn(`Error saving table config to cookies:`,e)}},[c,l]),p=d(),[m,h]=(0,t.useState)(p?.sortConfig||i||void 0),[g,_]=(0,t.useState)(p?.filters||a),[v,y]=(0,t.useState)(p?.columnOrder||r.map(e=>e.id)),[b,x]=(0,t.useState)(p?.hiddenColumns||[]),[w,T]=(0,t.useState)({page:1,pageSize:p?.pagination?.pageSize||o,total:n.length}),E=(0,t.useMemo)(()=>{let e=[...n];return Object.entries(g).forEach(([t,n])=>{let i=r.find(e=>e.id===t);i&&(e=e.filter(e=>{let t=typeof i.accessor==`function`?i.accessor(e):e[i.accessor],r=String(t||``).toLowerCase(),a=!0;return n.type===`text`&&n.value&&(a&&=r.includes(String(n.value).toLowerCase())),n.type===`select`&&n.value&&(a&&=r===String(n.value).toLowerCase()),n.type===`multiselect`&&Array.isArray(n.value)&&n.value.length>0&&(a&&=n.value.some(e=>r===String(e).toLowerCase())),a}))}),e},[n,g,r]),D=(0,t.useMemo)(()=>{if(!m)return E;let e=r.find(e=>e.id===m.column);return e?[...E].sort((t,n)=>{let r=typeof e.accessor==`function`?e.accessor(t):t[e.accessor],i=typeof e.accessor==`function`?e.accessor(n):n[e.accessor];if(r==null)return 1;if(i==null)return-1;let a=0;if(typeof r==`number`&&typeof i==`number`)a=r-i;else if(typeof r==`boolean`&&typeof i==`boolean`)a=r===i?0:r?1:-1;else if(r instanceof Date&&i instanceof Date)a=r.getTime()-i.getTime();else{let e=String(r).toLowerCase(),t=String(i).toLowerCase();a=e.localeCompare(t)}return m.direction===`desc`?a*-1:a}):E},[E,m,r]),O=(0,t.useMemo)(()=>{let e=(w.page-1)*w.pageSize,t=e+w.pageSize;return D.slice(e,t)},[D,w.page,w.pageSize]);(0,t.useEffect)(()=>{T(e=>({...e,total:E.length,page:Math.min(e.page,Math.ceil(E.length/e.pageSize)||1)}))},[E.length]),(0,t.useEffect)(()=>{let e={sort:m,filters:g,columnOrder:v,hiddenColumns:b,pageSize:w.pageSize};f(e),u?.({sort:m,filters:g,pagination:w,columnOrder:v,hiddenColumns:b,columns:r})},[m,g,v,b,w.pageSize,f,u,w,r]);let k=(0,t.useCallback)(e=>{h(t=>t?.column===e?t.direction===`asc`?{column:e,direction:`desc`}:void 0:{column:e,direction:`asc`})},[]),A=(0,t.useCallback)((e,t,n=`text`)=>{_(r=>({...r,[e]:{type:n,value:t,options:r[e]?.options}})),T(e=>({...e,page:1}))},[]),j=(0,t.useCallback)(e=>{_(t=>{let n={...t};return delete n[e],n})},[]),M=(0,t.useCallback)(()=>{_({})},[]),N=(0,t.useCallback)(e=>{T(t=>({...t,page:e}))},[]),P=(0,t.useCallback)(e=>{T(t=>({...t,pageSize:e,page:1}))},[]),F=(0,t.useCallback)(e=>{y(e)},[]),I=(0,t.useCallback)(e=>{x(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[]),L=(0,t.useMemo)(()=>v.map(e=>r.find(t=>t.id===e)).filter(Boolean).filter(e=>!b.includes(e.id)),[v,r,b]);return{state:{data:n,filteredData:E,paginatedData:O,sortConfig:m,filters:g,pagination:w,columnOrder:v,hiddenColumns:b,loading:!1},orderedColumns:L,pageSizeOptions:s,handleSort:k,handleFilter:A,clearFilter:j,clearAllFilters:M,handlePageChange:N,handlePageSizeChange:P,handleColumnReorder:F,handleToggleColumn:I,allColumns:r}};e.AdvancedTable=({data:e,columns:r,defaultSort:i,defaultFilters:a={},defaultPageSize:o=10,pageSizeOptions:s=[10,25,50,100,200,300,400,500],enableSorting:c=!0,enableFiltering:l=!0,enablePagination:u=!0,enableExport:_=!0,persistConfig:y=!0,configKey:b=`advancedTable`,className:x=``,labels:S={configuration:`Configuración`,columnVisibility:`Columnas visibles`,pagination:{showingItems:`Mostrando`,to:`a`,of:`de`,items:`elementos`,showPerPage:`Mostrar`,perPageItems:`elementos`}}})=>{let[C,T]=(0,t.useState)(null),[E,D]=(0,t.useState)(null),[O,k]=(0,t.useState)(!1),[A,j]=(0,t.useState)(null),M=(0,t.useRef)(null),{state:N,orderedColumns:P,handleSort:F,handleFilter:I,clearAllFilters:L,handlePageChange:R,handlePageSizeChange:z,handleColumnReorder:B,handleToggleColumn:V}=w({data:e,columns:r,defaultSort:i,defaultFilters:a,defaultPageSize:o,pageSizeOptions:s,persistConfig:y,configKey:b}),{paginatedData:H,sortConfig:U,filters:W,pagination:G,hiddenColumns:K}=N,q=(e,t)=>{T(t),e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/html`,``)},J=(e,t)=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`,D(t)},Y=()=>{D(null)},X=(e,t)=>{if(e.preventDefault(),C!==null){if(C!==t){let e=[...N.columnOrder],[n]=e.splice(C,1);e.splice(t,0,n),B(e)}T(null),D(null)}},Z=()=>{T(null),D(null)},Q=()=>{},ee=e=>{j(A===e?null:e)},te=t=>{let n=r.find(e=>e.id===t);if(!n)return[];let i=new Map;return e.forEach(e=>{let t=typeof n.accessor==`function`?n.accessor(e):e[n.accessor],r=m(t);i.set(r,(i.get(r)||0)+1)}),Array.from(i.entries()).map(([e,t])=>({value:e,count:t,label:`${e} (${t})`})).sort((e,t)=>e.value.localeCompare(t.value))},ne=Object.values(W).some(e=>e.type===`text`&&e.value||e.type===`select`&&e.value||e.type===`multiselect`&&Array.isArray(e.value)&&e.value.length>0);(0,t.useEffect)(()=>{let e=e=>{M.current&&!M.current.contains(e.target)&&k(!1)};return O&&document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[O]);let $=Math.ceil(G.total/G.pageSize);return(0,n.jsxs)(`div`,{className:`w-full bg-redi-background border border-solid border-gray-500 rounded-xl overflow-hidden font-family-base shadow ${x}`,children:[(0,n.jsxs)(`div`,{className:`flex items-center justify-between p-4 bg-transparent border-b border-solid border-gray-400`,children:[(0,n.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,n.jsxs)(`div`,{className:`relative`,children:[(0,n.jsxs)(h,{level:`secondary`,onClick:()=>k(!O),children:[(0,n.jsx)(f,{}),(0,n.jsx)(`span`,{className:`hidden md:block`,children:S.configuration})]}),O&&(0,n.jsx)(`div`,{className:`absolute top-full left-0 bg-white border border-solid border-gray-300 rounded-md shadow-lg z-1000 mt-2 min-w-2xs max-w-xs opacity-100 visible p-4`,ref:M,children:(0,n.jsxs)(`div`,{className:`mb-4 last:mb-0`,children:[(0,n.jsx)(`div`,{className:`text-sm font-semibold text-redi-text mb-2 uppercase`,children:S.columnVisibility}),(0,n.jsx)(`div`,{className:`flex flex-col gap-2`,children:r.map(e=>(0,n.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,n.jsx)(`input`,{type:`checkbox`,className:`w-4 h-4 accent-redi-primary`,checked:!K.includes(e.id),onChange:()=>V(e.id)}),(0,n.jsx)(`label`,{children:e.label})]},e.id))})]})})]}),l&&ne&&(0,n.jsx)(`button`,{onClick:L,className:`${g.actionButton} ${g.reset}`,title:`Limpiar todos los filtros`,children:(0,n.jsx)(`svg`,{className:g.buttonIcon,viewBox:`0 0 20 20`,children:(0,n.jsx)(`path`,{fillRule:`evenodd`,d:`M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z`,clipRule:`evenodd`})})})]}),(0,n.jsx)(`div`,{className:g.rightControls,children:_&&(0,n.jsx)(h,{level:`secondary`,onClick:Q,children:(0,n.jsx)(d,{size:18})})})]}),(0,n.jsx)(`div`,{className:`overflow-x-auto max-h-[600px] min-h-[500px] overflow-y-auto bg-white relative`,children:(0,n.jsxs)(`table`,{className:`w-full border-collapse table-auto text-sm relative`,children:[(0,n.jsx)(`thead`,{children:(0,n.jsx)(`tr`,{children:P.map((e,t)=>(0,n.jsx)(`th`,{className:`bg-gray-50 border-b border-solid border-gray-200 text-left font-semibold text-redi-text p-0 sticky top-0 z-10 select-none hover:bg-gray-200 ${C===t?`opacity-50 bg-gray-300`:``} ${E===t?`bg-redi-primary-bg border-l border-solid border-redi-primary`:``}`,draggable:!0,onDragStart:e=>q(e,t),onDragOver:e=>J(e,t),onDragLeave:Y,onDrop:e=>X(e,t),onDragEnd:Z,children:(0,n.jsxs)(`div`,{className:g.headerContent,children:[(0,n.jsx)(`div`,{className:g.dragHandle,children:`⋮⋮`}),(0,n.jsxs)(`div`,{className:g.columnTitle,children:[(0,n.jsxs)(`span`,{className:c?g.sortable:``,onClick:t=>{t.stopPropagation(),c&&F(e.id)},children:[e.label,c&&U?.column===e.id&&(0,n.jsx)(`span`,{className:g.sortIcon,children:U.direction===`asc`?` ↑`:` ↓`})]}),l&&(0,n.jsxs)(`div`,{style:{position:`relative`},children:[(0,n.jsx)(h,{level:`icon`,onClick:t=>{t.stopPropagation(),ee(e.id)},children:(0,n.jsx)(p,{size:16})}),A===e.id&&(0,n.jsx)(v,{columnId:e.id,label:e.label,options:te(e.id),textValue:W[e.id]?.type===`text`?String(W[e.id].value||``):``,selectedValues:W[e.id]?.type===`multiselect`&&Array.isArray(W[e.id]?.value)?W[e.id].value:[],onTextChange:t=>I(e.id,t,`text`),onSelectionChange:t=>I(e.id,t,`multiselect`),onClose:()=>j(null)})]})]})]})},e.id))})}),(0,n.jsx)(`tbody`,{children:H.map((e,t)=>(0,n.jsx)(`tr`,{className:g.row,children:P.map(r=>{let i=typeof r.accessor==`function`?r.accessor(e):e[r.accessor];return r.render?(0,n.jsx)(`td`,{className:g.cell,children:r.render(i,e,t)},r.id):(0,n.jsx)(`td`,{className:g.cell,children:m(i)},r.id)})},t))})]})}),u&&(0,n.jsxs)(`div`,{className:`flex items-center justify-between py-4 px-6 bg-white border-t-gray-300 border-solid border-t gap-4`,children:[(0,n.jsx)(`div`,{className:`text-redi-text text-base font-medium shrink-0`,children:(0,n.jsxs)(`span`,{children:[S.pagination?.showingItems,` `,(G.page-1)*G.pageSize+1,` `,S.pagination?.to,` `,Math.min(G.page*G.pageSize,G.total),` `,S.pagination?.of,` `,G.total,` `,S.pagination?.items]})}),(0,n.jsxs)(`div`,{className:`flex items-center gap-5`,children:[(0,n.jsxs)(`label`,{className:`flex items-center gap-3 text-sm font-semibold text-redi-text`,children:[S.pagination?.showPerPage,(0,n.jsx)(`select`,{value:G.pageSize,onChange:e=>z(Number(e.target.value)),className:g.pageSizeSelect,children:s.map(e=>(0,n.jsx)(`option`,{value:e,children:e},e))}),S.pagination?.perPageItems]}),(0,n.jsxs)(`div`,{className:`flex gap-1 items-center`,children:[(0,n.jsx)(h,{level:`icon`,onClick:()=>R(1),disabled:G.page===1,children:`<<`}),(0,n.jsx)(h,{level:`icon`,onClick:()=>R(G.page-1),disabled:G.page===1,children:`<`}),Array.from({length:Math.min(3,$)},(e,t)=>{let r;return r=$<=3||G.page<=2?t+1:G.page>$-2?$-2+t:G.page-1+t,(0,n.jsx)(h,{level:G.page===r?`primary`:`secondary`,onClick:()=>R(r),children:r},r)}),(0,n.jsx)(h,{level:`icon`,onClick:()=>R(G.page+1),disabled:G.page===$,children:`>`}),(0,n.jsx)(h,{level:`icon`,onClick:()=>R($),disabled:G.page===$,children:`>>`})]})]})]})]})},e.Button=h});
3
+ function b(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)e[r]=n[r]}return e}var x={read:function(e){return e[0]===`"`&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function S(e,t){function n(n,r,i){if(!(typeof document>`u`)){i=b({},t,i),typeof i.expires==`number`&&(i.expires=new Date(Date.now()+i.expires*864e5)),i.expires&&=i.expires.toUTCString(),n=encodeURIComponent(n).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var a=``;for(var o in i)i[o]&&(a+=`; `+o,i[o]!==!0&&(a+=`=`+i[o].split(`;`)[0]));return document.cookie=n+`=`+e.write(r,n)+a}}function r(t){if(!(typeof document>`u`||arguments.length&&!t)){for(var n=document.cookie?document.cookie.split(`; `):[],r={},i=0;i<n.length;i++){var a=n[i].split(`=`),o=a.slice(1).join(`=`);try{var s=decodeURIComponent(a[0]);if(r[s]=e.read(o,s),t===s)break}catch{}}return t?r[t]:r}}return Object.create({set:n,get:r,remove:function(e,t){n(e,``,b({},t,{expires:-1}))},withAttributes:function(e){return S(this.converter,b({},this.attributes,e))},withConverter:function(e){return S(b({},this.converter,e),this.attributes)}},{attributes:{value:Object.freeze(t)},converter:{value:Object.freeze(e)}})}var C=S(x,{path:`/`}),w=30;let T=e=>{let{data:n,columns:r,defaultSort:i,defaultFilters:a={},defaultPageSize:o=10,pageSizeOptions:s=[10,25,50,100,200,300,400,500],persistConfig:c=!0,configKey:l=`advanced-table-config`,onConfigChange:u}=e,d=(0,t.useCallback)(()=>{if(!c)return null;try{let e=C.get(l);return e?JSON.parse(e):null}catch(e){return console.warn(`Error loading table config from cookies:`,e),null}},[c,l]),f=(0,t.useCallback)(e=>{if(c)try{C.set(l,JSON.stringify(e),{expires:w})}catch(e){console.warn(`Error saving table config to cookies:`,e)}},[c,l]),p=d(),[m,h]=(0,t.useState)(p?.sortConfig||i||void 0),[g,_]=(0,t.useState)(p?.filters||a),[v,y]=(0,t.useState)(p?.columnOrder||r.map(e=>e.id)),[b,x]=(0,t.useState)(p?.hiddenColumns||[]),[S,T]=(0,t.useState)({page:1,pageSize:p?.pagination?.pageSize||o,total:n.length}),E=(0,t.useMemo)(()=>{let e=[...n];return Object.entries(g).forEach(([t,n])=>{let i=r.find(e=>e.id===t);i&&(e=e.filter(e=>{let t=typeof i.accessor==`function`?i.accessor(e):e[i.accessor],r=String(t||``).toLowerCase(),a=!0;return n.type===`text`&&n.value&&(a&&=r.includes(String(n.value).toLowerCase())),n.type===`select`&&n.value&&(a&&=r===String(n.value).toLowerCase()),n.type===`multiselect`&&Array.isArray(n.value)&&n.value.length>0&&(a&&=n.value.some(e=>r===String(e).toLowerCase())),a}))}),e},[n,g,r]),D=(0,t.useMemo)(()=>{if(!m)return E;let e=r.find(e=>e.id===m.column);return e?[...E].sort((t,n)=>{let r=typeof e.accessor==`function`?e.accessor(t):t[e.accessor],i=typeof e.accessor==`function`?e.accessor(n):n[e.accessor];if(r==null)return 1;if(i==null)return-1;let a=0;if(typeof r==`number`&&typeof i==`number`)a=r-i;else if(typeof r==`boolean`&&typeof i==`boolean`)a=r===i?0:r?1:-1;else if(r instanceof Date&&i instanceof Date)a=r.getTime()-i.getTime();else{let e=String(r).toLowerCase(),t=String(i).toLowerCase();a=e.localeCompare(t)}return m.direction===`desc`?a*-1:a}):E},[E,m,r]),O=(0,t.useMemo)(()=>{let e=(S.page-1)*S.pageSize,t=e+S.pageSize;return D.slice(e,t)},[D,S.page,S.pageSize]);(0,t.useEffect)(()=>{T(e=>({...e,total:E.length,page:Math.min(e.page,Math.ceil(E.length/e.pageSize)||1)}))},[E.length]),(0,t.useEffect)(()=>{let e={sort:m,filters:g,columnOrder:v,hiddenColumns:b,pageSize:S.pageSize};f(e),u?.({sort:m,filters:g,pagination:S,columnOrder:v,hiddenColumns:b,columns:r})},[m,g,v,b,S.pageSize,f,u,S,r]);let k=(0,t.useCallback)(e=>{h(t=>t?.column===e?t.direction===`asc`?{column:e,direction:`desc`}:void 0:{column:e,direction:`asc`})},[]),A=(0,t.useCallback)((e,t,n=`text`)=>{_(r=>({...r,[e]:{type:n,value:t,options:r[e]?.options}})),T(e=>({...e,page:1}))},[]),j=(0,t.useCallback)(e=>{_(t=>{let n={...t};return delete n[e],n})},[]),M=(0,t.useCallback)(()=>{_({})},[]),N=(0,t.useCallback)(e=>{T(t=>({...t,page:e}))},[]),P=(0,t.useCallback)(e=>{T(t=>({...t,pageSize:e,page:1}))},[]),F=(0,t.useCallback)(e=>{y(e)},[]),I=(0,t.useCallback)(e=>{x(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[]),L=(0,t.useMemo)(()=>v.map(e=>r.find(t=>t.id===e)).filter(Boolean).filter(e=>!b.includes(e.id)),[v,r,b]);return{state:{data:n,filteredData:E,paginatedData:O,sortConfig:m,filters:g,pagination:S,columnOrder:v,hiddenColumns:b,loading:!1},orderedColumns:L,pageSizeOptions:s,handleSort:k,handleFilter:A,clearFilter:j,clearAllFilters:M,handlePageChange:N,handlePageSizeChange:P,handleColumnReorder:F,handleToggleColumn:I,allColumns:r}};e.AdvancedTable=({data:e,columns:r,defaultSort:i,defaultFilters:a={},defaultPageSize:o=10,pageSizeOptions:s=[10,25,50,100,200,300,400,500],enableSorting:c=!0,enableFiltering:l=!0,enablePagination:u=!0,enableExport:_=!0,persistConfig:v=!0,configKey:b=`advancedTable`,className:x=``,labels:S={configuration:`Configuración`,columnVisibility:`Columnas visibles`,pagination:{showingItems:`Mostrando`,to:`a`,of:`de`,items:`elementos`,showPerPage:`Mostrar`,perPageItems:`elementos`},clearAllFilters:`Limpiar todos los filtros`}})=>{let[C,w]=(0,t.useState)(null),[E,D]=(0,t.useState)(null),[O,k]=(0,t.useState)(!1),[A,j]=(0,t.useState)(null),M=(0,t.useRef)(null),{state:N,orderedColumns:P,handleSort:F,handleFilter:I,clearAllFilters:L,handlePageChange:R,handlePageSizeChange:z,handleColumnReorder:B,handleToggleColumn:V}=T({data:e,columns:r,defaultSort:i,defaultFilters:a,defaultPageSize:o,pageSizeOptions:s,persistConfig:v,configKey:b}),{paginatedData:H,sortConfig:U,filters:W,pagination:G,hiddenColumns:K}=N,q=(e,t)=>{w(t),e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/html`,``)},J=(e,t)=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`,D(t)},Y=()=>{D(null)},X=(e,t)=>{if(e.preventDefault(),C!==null){if(C!==t){let e=[...N.columnOrder],[n]=e.splice(C,1);e.splice(t,0,n),B(e)}w(null),D(null)}},Z=()=>{w(null),D(null)},Q=()=>{},ee=e=>{j(A===e?null:e)},te=t=>{let n=r.find(e=>e.id===t);if(!n)return[];let i=new Map;return e.forEach(e=>{let t=typeof n.accessor==`function`?n.accessor(e):e[n.accessor],r=m(t);i.set(r,(i.get(r)||0)+1)}),Array.from(i.entries()).map(([e,t])=>({value:e,count:t,label:`${e} (${t})`})).sort((e,t)=>e.value.localeCompare(t.value))},ne=Object.values(W).some(e=>e.type===`text`&&e.value||e.type===`select`&&e.value||e.type===`multiselect`&&Array.isArray(e.value)&&e.value.length>0);(0,t.useEffect)(()=>{let e=e=>{M.current&&!M.current.contains(e.target)&&k(!1)};return O&&document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[O]);let $=Math.ceil(G.total/G.pageSize);return(0,n.jsxs)(`div`,{className:`w-full bg-redi-background border border-solid border-gray-500 rounded-xl overflow-hidden font-family-base shadow ${x}`,children:[(0,n.jsxs)(`div`,{className:`flex items-center justify-between p-4 bg-transparent border-b border-solid border-gray-400`,children:[(0,n.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,n.jsxs)(`div`,{className:`relative`,children:[(0,n.jsxs)(g,{level:`secondary`,onClick:()=>k(!O),children:[(0,n.jsx)(f,{}),(0,n.jsx)(`span`,{className:`hidden md:block`,children:S.configuration})]}),O&&(0,n.jsx)(`div`,{className:`absolute top-full left-0 bg-white border border-solid border-gray-300 rounded-md shadow-lg z-1000 mt-2 min-w-2xs max-w-xs opacity-100 visible p-4`,ref:M,children:(0,n.jsxs)(`div`,{className:`mb-4 last:mb-0`,children:[(0,n.jsx)(`div`,{className:`text-sm font-semibold text-redi-text mb-2 uppercase`,children:S.columnVisibility}),(0,n.jsx)(`div`,{className:`flex flex-col gap-2`,children:r.map(e=>(0,n.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,n.jsx)(`input`,{type:`checkbox`,className:`w-4 h-4 accent-redi-primary`,checked:!K.includes(e.id),onChange:()=>V(e.id)}),(0,n.jsx)(`label`,{children:e.label})]},e.id))})]})})]}),l&&ne&&(0,n.jsx)(g,{level:`icon`,onClick:L,label:S.clearAllFilters,children:(0,n.jsx)(h,{color:`white`})})]}),(0,n.jsx)(`div`,{className:`flex items-center gap-2`,children:_&&(0,n.jsx)(g,{level:`secondary`,onClick:Q,children:(0,n.jsx)(d,{size:18})})})]}),(0,n.jsx)(`div`,{className:`overflow-x-auto max-h-[600px] min-h-[500px] overflow-y-auto bg-white relative`,children:(0,n.jsxs)(`table`,{className:`w-full border-collapse table-auto text-sm relative`,children:[(0,n.jsx)(`thead`,{children:(0,n.jsx)(`tr`,{children:P.map((e,t)=>(0,n.jsx)(`th`,{className:`bg-gray-50 border-b border-solid border-gray-200 text-left font-semibold text-redi-text p-0 sticky top-0 z-10 select-none hover:bg-gray-200 ${C===t?`opacity-50 bg-gray-300`:``} ${E===t?`bg-redi-primary-bg border-l border-solid border-redi-primary`:``}`,draggable:!0,onDragStart:e=>q(e,t),onDragOver:e=>J(e,t),onDragLeave:Y,onDrop:e=>X(e,t),onDragEnd:Z,children:(0,n.jsxs)(`div`,{className:`flex items-center py-3 px-4 gap-2 min-h-12`,children:[(0,n.jsx)(`div`,{className:`text-gray-600 cursor-grab opacity-70 hover:opacity-100 text-base`,children:`⋮⋮`}),(0,n.jsxs)(`div`,{className:`flex flex-1 items-center gap-2`,children:[(0,n.jsxs)(`span`,{className:c?`cursor-pointer py-1 px-1.5 rounded-sm flex items-center gap-1.5 text-sm font-semibold text-redi-text uppercase hover:bg-redi-text hover:text-redi-link-text`:``,onClick:t=>{t.stopPropagation(),c&&F(e.id)},children:[e.label,c&&U?.column===e.id&&(0,n.jsx)(`span`,{className:`font-bold text-redi-link-text text-base`,children:U.direction===`asc`?` ↑`:` ↓`})]}),l&&(0,n.jsxs)(`div`,{className:`relative`,children:[(0,n.jsx)(g,{level:`icon`,onClick:t=>{t.stopPropagation(),ee(e.id)},children:(0,n.jsx)(p,{size:16})}),A===e.id&&(0,n.jsx)(y,{columnId:e.id,label:e.label,options:te(e.id),textValue:W[e.id]?.type===`text`?String(W[e.id].value||``):``,selectedValues:W[e.id]?.type===`multiselect`&&Array.isArray(W[e.id]?.value)?W[e.id].value:[],onTextChange:t=>I(e.id,t,`text`),onSelectionChange:t=>I(e.id,t,`multiselect`),onClose:()=>j(null)})]})]})]})},e.id))})}),(0,n.jsx)(`tbody`,{children:H.map((e,t)=>(0,n.jsx)(`tr`,{className:`even:bg-gray-50 hover:bg-gray-100 border-b border-solid border-b-gray-100 odd:bg-white`,children:P.map(r=>{let i=typeof r.accessor==`function`?r.accessor(e):e[r.accessor];return r.render?(0,n.jsx)(`td`,{className:`py-3 px-4 text-redi-text font-normal leading-6 align-middle border-r border-solid border-r-gray-300 static table-cell last:border-r-0 first:font-medium`,children:r.render(i,e,t)},r.id):(0,n.jsx)(`td`,{className:`py-3 px-4 text-redi-text font-normal leading-6 align-middle border-r border-solid border-r-gray-300 static table-cell last:border-r-0 first:font-medium`,children:m(i)},r.id)})},t))})]})}),u&&(0,n.jsxs)(`div`,{className:`flex items-center justify-between py-4 px-6 bg-white border-t-gray-300 border-solid border-t gap-4`,children:[(0,n.jsx)(`div`,{className:`text-redi-text text-base font-medium shrink-0`,children:(0,n.jsxs)(`span`,{children:[S.pagination?.showingItems,` `,(G.page-1)*G.pageSize+1,` `,S.pagination?.to,` `,Math.min(G.page*G.pageSize,G.total),` `,S.pagination?.of,` `,G.total,` `,S.pagination?.items]})}),(0,n.jsxs)(`div`,{className:`flex items-center gap-5`,children:[(0,n.jsxs)(`label`,{className:`flex items-center gap-3 text-sm font-semibold text-redi-text`,children:[S.pagination?.showPerPage,(0,n.jsx)(`select`,{value:G.pageSize,onChange:e=>z(Number(e.target.value)),className:`py-1.5 px-2.5 border border-solid border-gray-300 rounded-md bg-white text-redi-text focus:outline-none focus:ring-2 focus:ring-redi-primary`,children:s.map(e=>(0,n.jsx)(`option`,{value:e,children:e},e))}),S.pagination?.perPageItems]}),(0,n.jsxs)(`div`,{className:`flex gap-1 items-center`,children:[(0,n.jsx)(g,{level:`icon`,onClick:()=>R(1),disabled:G.page===1,children:`<<`}),(0,n.jsx)(g,{level:`icon`,onClick:()=>R(G.page-1),disabled:G.page===1,children:`<`}),Array.from({length:Math.min(3,$)},(e,t)=>{let r;return r=$<=3||G.page<=2?t+1:G.page>$-2?$-2+t:G.page-1+t,(0,n.jsx)(g,{level:G.page===r?`primary`:`secondary`,onClick:()=>R(r),children:r},r)}),(0,n.jsx)(g,{level:`icon`,onClick:()=>R(G.page+1),disabled:G.page===$,children:`>`}),(0,n.jsx)(g,{level:`icon`,onClick:()=>R($),disabled:G.page===$,children:`>>`})]})]})]})]})},e.Button=g});
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@redi.run/redi-components",
3
3
  "description": "This project was created to define the style of the UI and improve the UX in all projects from REDI",
4
- "version": "0.0.8",
4
+ "version": "0.0.18",
5
5
  "type": "module",
6
6
  "author": {
7
7
  "name": "Jonathan Manchego Sosa",
@@ -46,8 +46,7 @@
46
46
  "storybook": "storybook dev -p 6006",
47
47
  "build-storybook": "storybook build",
48
48
  "test": "vitest --project=storybook",
49
- "release": "standard-version && git push --follow-tags --no-verify",
50
- "pre-push": "npm run release",
49
+ "release": "standard-version --commit-all --message 'chore(release): v%s'",
51
50
  "prepare": "husky",
52
51
  "release:clean-tags": "git tag -l | xargs git tag -d && git fetch --tags"
53
52
  },