@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 +192 -60
- package/dist/components/AdvancedTable/AdvancedTable.d.ts +1 -1
- package/dist/components/AdvancedTable/AdvancedTable.stories.d.ts +1 -1
- package/dist/components/AdvancedTable/types.d.ts +1 -0
- package/dist/icons/CloseIcon.d.ts +2 -0
- package/dist/redi-components.css +1 -1
- package/dist/redi-components.js +42 -38
- package/dist/redi-components.umd.cjs +2 -2
- package/package.json +2 -3
package/README.md
CHANGED
|
@@ -1,73 +1,205 @@
|
|
|
1
|
-
|
|
1
|
+

|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
# Redi-Components
|
|
4
4
|
|
|
5
|
-
Currently, two official plugins are available:
|
|
6
5
|
|
|
7
|
-
|
|
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
|
+
[](https://gitlab.redi.run/redi/redi-components/-/releases)
|
|
9
7
|
|
|
10
|
-
## React Compiler
|
|
11
8
|
|
|
12
|
-
|
|
9
|
+
[](https://gitlab.redi.run/redi/redi-components/-/commits/main)
|
|
13
10
|
|
|
14
|
-
|
|
11
|
+
Small, reusable UI component library for Redi projects.
|
|
15
12
|
|
|
16
|
-
|
|
13
|
+
Location
|
|
14
|
+
- redi/redi-components
|
|
17
15
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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>;
|
package/dist/redi-components.css
CHANGED
|
@@ -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*/
|
package/dist/redi-components.js
CHANGED
|
@@ -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 [
|
|
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:
|
|
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), [
|
|
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(
|
|
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
|
-
|
|
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:
|
|
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:
|
|
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
|
-
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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(
|
|
594
|
+
}), y && ae && /* @__PURE__ */ jsx(Button_default, {
|
|
595
|
+
level: "icon",
|
|
583
596
|
onClick: B,
|
|
584
|
-
|
|
585
|
-
|
|
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:
|
|
598
|
-
children:
|
|
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:
|
|
622
|
+
className: "flex items-center py-3 px-4 gap-2 min-h-12",
|
|
619
623
|
children: [/* @__PURE__ */ jsx("div", {
|
|
620
|
-
className:
|
|
624
|
+
className: "text-gray-600 cursor-grab opacity-70 hover:opacity-100 text-base",
|
|
621
625
|
children: "⋮⋮"
|
|
622
626
|
}), /* @__PURE__ */ jsxs("div", {
|
|
623
|
-
className:
|
|
627
|
+
className: "flex flex-1 items-center gap-2",
|
|
624
628
|
children: [/* @__PURE__ */ jsxs("span", {
|
|
625
|
-
className: v ?
|
|
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:
|
|
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
|
-
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
|
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.
|
|
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
|
|
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
|
},
|