Package not found. Please check the package name and try again.
@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
|
},
|