reke-ui 0.1.2 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/README.md +21 -0
  2. package/cli/install-skills.mjs +169 -0
  3. package/custom-elements.json +272 -28
  4. package/dist/__type-checks__/no-lit-in-public-types.d.ts +2 -0
  5. package/dist/__type-checks__/no-lit-in-public-types.d.ts.map +1 -0
  6. package/dist/_virtual/_@oxc-project_runtime@0.137.0/helpers/esm/decorate.js +9 -0
  7. package/dist/components/reke-alert/reke-alert.d.ts.map +1 -1
  8. package/dist/components/reke-alert/reke-alert.js +32 -40
  9. package/dist/components/reke-alert/reke-alert.styles.js +7 -10
  10. package/dist/components/reke-badge/reke-badge.js +26 -40
  11. package/dist/components/reke-badge/reke-badge.styles.js +7 -10
  12. package/dist/components/reke-button/reke-button.d.ts.map +1 -1
  13. package/dist/components/reke-button/reke-button.js +41 -52
  14. package/dist/components/reke-button/reke-button.styles.js +7 -10
  15. package/dist/components/reke-card/reke-card.d.ts.map +1 -1
  16. package/dist/components/reke-card/reke-card.js +38 -58
  17. package/dist/components/reke-card/reke-card.styles.js +7 -10
  18. package/dist/components/reke-checkbox/reke-checkbox.js +40 -47
  19. package/dist/components/reke-checkbox/reke-checkbox.styles.d.ts.map +1 -1
  20. package/dist/components/reke-checkbox/reke-checkbox.styles.js +7 -9
  21. package/dist/components/reke-chip/reke-chip.d.ts.map +1 -1
  22. package/dist/components/reke-chip/reke-chip.js +42 -50
  23. package/dist/components/reke-chip/reke-chip.styles.d.ts.map +1 -1
  24. package/dist/components/reke-chip/reke-chip.styles.js +16 -13
  25. package/dist/components/reke-date-range/reke-date-range.d.ts.map +1 -1
  26. package/dist/components/reke-date-range/reke-date-range.js +240 -260
  27. package/dist/components/reke-date-range/reke-date-range.styles.d.ts.map +1 -1
  28. package/dist/components/reke-date-range/reke-date-range.styles.js +29 -16
  29. package/dist/components/reke-dialog/reke-dialog.d.ts.map +1 -1
  30. package/dist/components/reke-dialog/reke-dialog.js +52 -65
  31. package/dist/components/reke-dialog/reke-dialog.styles.d.ts.map +1 -1
  32. package/dist/components/reke-dialog/reke-dialog.styles.js +8 -10
  33. package/dist/components/reke-file-upload/reke-file-upload.d.ts.map +1 -1
  34. package/dist/components/reke-file-upload/reke-file-upload.js +62 -86
  35. package/dist/components/reke-file-upload/reke-file-upload.styles.js +7 -10
  36. package/dist/components/reke-input/reke-input.js +42 -61
  37. package/dist/components/reke-input/reke-input.styles.d.ts.map +1 -1
  38. package/dist/components/reke-input/reke-input.styles.js +8 -10
  39. package/dist/components/reke-select/reke-select.d.ts.map +1 -1
  40. package/dist/components/reke-select/reke-select.js +66 -89
  41. package/dist/components/reke-select/reke-select.styles.d.ts.map +1 -1
  42. package/dist/components/reke-select/reke-select.styles.js +9 -11
  43. package/dist/components/reke-table/reke-table.d.ts +134 -23
  44. package/dist/components/reke-table/reke-table.d.ts.map +1 -1
  45. package/dist/components/reke-table/reke-table.js +242 -143
  46. package/dist/components/reke-table/reke-table.styles.d.ts.map +1 -1
  47. package/dist/components/reke-table/reke-table.styles.js +67 -9
  48. package/dist/components/reke-textarea/reke-textarea.js +42 -61
  49. package/dist/components/reke-textarea/reke-textarea.styles.js +6 -9
  50. package/dist/components/reke-toast/reke-toast.d.ts.map +1 -1
  51. package/dist/components/reke-toast/reke-toast.js +50 -68
  52. package/dist/components/reke-toast/reke-toast.styles.d.ts.map +1 -1
  53. package/dist/components/reke-toast/reke-toast.styles.js +13 -12
  54. package/dist/components/reke-toggle/reke-toggle.js +36 -43
  55. package/dist/components/reke-toggle/reke-toggle.styles.js +7 -10
  56. package/dist/components/reke-tooltip/reke-tooltip.js +31 -47
  57. package/dist/components/reke-tooltip/reke-tooltip.styles.js +6 -9
  58. package/dist/index.d.ts +23 -23
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +15 -33
  61. package/dist/react-bridge/table.d.ts +58 -0
  62. package/dist/react-bridge/table.d.ts.map +1 -0
  63. package/dist/react-bridge/table.js +115 -0
  64. package/dist/react.d.ts +12 -26
  65. package/dist/react.d.ts.map +1 -1
  66. package/dist/react.js +110 -146
  67. package/dist/shared/base-element.js +13 -15
  68. package/dist/shared/tailwind-styles.js +6 -6
  69. package/dist/shared/tailwind.js +4 -0
  70. package/dist/tokens/reke-tokens.css +47 -0
  71. package/package.json +40 -20
  72. package/dist/shared/tailwind.css.js +0 -4
@@ -0,0 +1,58 @@
1
+ import type { TemplateResult } from 'lit';
2
+ import React from 'react';
3
+ import { type RekeTable, type RowKey, type TableColumn, type TableRow } from '../components/reke-table/reke-table.js';
4
+ export interface ReactTableColumn<TRow extends TableRow = TableRow> extends Omit<TableColumn, 'render'> {
5
+ /**
6
+ * Cell renderer. Return any of:
7
+ * - `ReactNode` (JSX) — bridged via React root, returned to Lit as a raw DOM node
8
+ * - `Node` / `HTMLElement` — passed through (escape hatch for hand-built DOM)
9
+ * - `string` / `TemplateResult` — passed through (Lit-native)
10
+ */
11
+ render?: (value: unknown, row: TRow, index: number) => React.ReactNode | TemplateResult | string | Node;
12
+ }
13
+ /** Expanded-row renderer. Return any `React.ReactNode`. */
14
+ export type ReactExpandedRowRenderer<TRow extends TableRow = TableRow> = (row: TRow, key: RowKey) => React.ReactNode;
15
+ export interface TableProps<TRow extends TableRow = TableRow> {
16
+ columns: ReactTableColumn<TRow>[];
17
+ rows: TRow[];
18
+ striped?: boolean;
19
+ dense?: boolean;
20
+ hoverable?: boolean;
21
+ bordered?: boolean;
22
+ borderless?: boolean;
23
+ /** Opt-in: render a leading chevron column with built-in a11y + keyboard activation. */
24
+ expandable?: boolean;
25
+ /** Opt-in: clicking a row toggles expand. The chevron, if present, calls `stopPropagation()`. */
26
+ expandOnRowClick?: boolean;
27
+ sortKey?: string;
28
+ sortDirection?: 'asc' | 'desc';
29
+ expandedRowRender?: ReactExpandedRowRenderer<TRow>;
30
+ expandedRows?: Set<RowKey>;
31
+ /**
32
+ * Returns a stable identifier for a row. Defaults to the row index (which
33
+ * causes remounts on sort). Prefer a domain id (e.g. `r => r.id`) so the
34
+ * expanded React root survives sorts, filters, and unrelated re-renders.
35
+ */
36
+ getRowKey?: (row: TRow, index: number) => RowKey;
37
+ onRekeRowClick?: (e: CustomEvent<{
38
+ row: unknown;
39
+ index: number;
40
+ }>) => void;
41
+ onRekeSort?: (e: CustomEvent<{
42
+ key: string;
43
+ direction: 'asc' | 'desc';
44
+ }>) => void;
45
+ onRekeRowExpand?: (e: CustomEvent<{
46
+ row: unknown;
47
+ index: number;
48
+ key: RowKey;
49
+ expanded: boolean;
50
+ }>) => void;
51
+ children?: React.ReactNode;
52
+ }
53
+ export declare const Table: <TRow extends TableRow = TableRow>(props: TableProps<TRow> & {
54
+ ref?: React.Ref<RekeTable>;
55
+ }) => React.ReactElement;
56
+ export type { Cleanup, ExpandedRowElement, GetRowKey, RowKey, TableColumn, TableRow, } from '../components/reke-table/reke-table.js';
57
+ export { RekeTable } from '../components/reke-table/reke-table.js';
58
+ //# sourceMappingURL=table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/react-bridge/table.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,KAAqC,MAAM,OAAO,CAAC;AAG1D,OAAO,EAEL,KAAK,SAAS,EAEd,KAAK,MAAM,EACX,KAAK,WAAW,EAChB,KAAK,QAAQ,EACd,MAAM,wCAAwC,CAAC;AAehD,MAAM,WAAW,gBAAgB,CAAC,IAAI,SAAS,QAAQ,GAAG,QAAQ,CAChE,SAAQ,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;IACnC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,CACP,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,IAAI,EACT,KAAK,EAAE,MAAM,KACV,KAAK,CAAC,SAAS,GAAG,cAAc,GAAG,MAAM,GAAG,IAAI,CAAC;CACvD;AAED,2DAA2D;AAC3D,MAAM,MAAM,wBAAwB,CAAC,IAAI,SAAS,QAAQ,GAAG,QAAQ,IAAI,CACvE,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,MAAM,KACR,KAAK,CAAC,SAAS,CAAC;AAErB,MAAM,WAAW,UAAU,CAAC,IAAI,SAAS,QAAQ,GAAG,QAAQ;IAC1D,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;IAClC,IAAI,EAAE,IAAI,EAAE,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,wFAAwF;IACxF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iGAAiG;IACjG,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC/B,iBAAiB,CAAC,EAAE,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACnD,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACjD,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,GAAG,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IAC3E,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IAClF,eAAe,CAAC,EAAE,CAChB,CAAC,EAAE,WAAW,CAAC;QAAE,GAAG,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,KAC5E,IAAI,CAAC;IACV,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAuMD,eAAO,MAAM,KAAK,EAAmC,CAAC,IAAI,SAAS,QAAQ,GAAG,QAAQ,EACpF,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;CAAE,KACrD,KAAK,CAAC,YAAY,CAAC;AAExB,YAAY,EACV,OAAO,EACP,kBAAkB,EAClB,SAAS,EACT,MAAM,EACN,WAAW,EACX,QAAQ,GACT,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC"}
@@ -0,0 +1,115 @@
1
+ import { RekeTable as e } from "../components/reke-table/reke-table.js";
2
+ import { createComponent as t } from "@lit/react";
3
+ import n, { useEffect as r, useMemo as i, useRef as a } from "react";
4
+ import { flushSync as o } from "react-dom";
5
+ import { createRoot as s } from "react-dom/client";
6
+ //#region src/react-bridge/table.ts
7
+ var c = t({
8
+ tagName: "reke-table",
9
+ elementClass: e,
10
+ react: n,
11
+ events: {
12
+ onRekeRowClick: "reke-row-click",
13
+ onRekeSort: "reke-sort",
14
+ onRekeRowExpand: "reke-row-expand"
15
+ }
16
+ });
17
+ function l(e) {
18
+ return e == null || typeof e == "string" || typeof e == "number" || e instanceof Node;
19
+ }
20
+ function u(e, t) {
21
+ try {
22
+ o(() => {
23
+ e.render(t);
24
+ });
25
+ } catch {
26
+ e.render(t);
27
+ }
28
+ }
29
+ function d(e) {
30
+ try {
31
+ e.unmount();
32
+ } catch {}
33
+ }
34
+ function f(e, t) {
35
+ let { columns: o, rows: f, expandedRowRender: p, getRowKey: m, children: h, ...g } = e, _ = a(/* @__PURE__ */ new Map()), v = a(/* @__PURE__ */ new Set()), y = a(/* @__PURE__ */ new Map()), b = a(p);
36
+ b.current = p, r(() => {
37
+ if (!p) return;
38
+ let e = y.current;
39
+ for (let [t, n] of e) {
40
+ let e;
41
+ for (let n = 0; n < f.length; n += 1) {
42
+ let r = f[n];
43
+ if (String(m ? m(r, n) : n) === t) {
44
+ e = r;
45
+ break;
46
+ }
47
+ }
48
+ if (!e) continue;
49
+ let r = p(e, t);
50
+ l(r) || u(n, r);
51
+ }
52
+ }), r(() => {
53
+ let e = _.current, t = y.current;
54
+ return () => {
55
+ for (let { root: t } of e.values()) d(t);
56
+ e.clear();
57
+ for (let e of t.values()) d(e);
58
+ t.clear();
59
+ };
60
+ }, []);
61
+ let x = (e, t) => String(m ? m(e, t) : t), S = (e) => {
62
+ let t = _.current.get(e);
63
+ if (!t) {
64
+ let n = document.createElement("div");
65
+ n.style.cssText = "display: contents;", t = {
66
+ root: s(n),
67
+ host: n
68
+ }, _.current.set(e, t);
69
+ }
70
+ return v.current.add(e), t;
71
+ };
72
+ v.current = /* @__PURE__ */ new Set();
73
+ let C = i(() => o.map((e) => e.render ? {
74
+ ...e,
75
+ render: (t, n, r) => {
76
+ let i = e.render?.(t, n, r);
77
+ if (l(i)) return i ?? "";
78
+ let a = S(`${x(n, r)}::cell::${e.key}`);
79
+ return u(a.root, i), a.host;
80
+ }
81
+ } : e), [o, m]), w = i(() => {
82
+ if (p) return (e, t, n) => {
83
+ let r = b.current;
84
+ if (!r) return;
85
+ let i = String(n), a = y.current.get(i);
86
+ a || (a = s(e), y.current.set(i, a));
87
+ let o = r(t, n);
88
+ if (!l(o)) u(a, o);
89
+ else if (o instanceof Node) return e.appendChild(o), () => {
90
+ o.parentNode === e && e.removeChild(o);
91
+ };
92
+ else if (typeof o == "string" || typeof o == "number") return e.textContent = String(o), () => {
93
+ e.textContent = "";
94
+ };
95
+ return () => {
96
+ let e = y.current.get(i);
97
+ e && (d(e), y.current.delete(i));
98
+ };
99
+ };
100
+ }, [!!p]);
101
+ return r(() => {
102
+ let e = v.current, t = _.current;
103
+ for (let [n, r] of t) e.has(n) || (d(r.root), t.delete(n));
104
+ }), n.createElement(c, {
105
+ ...g,
106
+ ref: t,
107
+ columns: C,
108
+ rows: f,
109
+ expandedRowElement: w,
110
+ getRowKey: m
111
+ }, h);
112
+ }
113
+ var p = n.forwardRef(f);
114
+ //#endregion
115
+ export { p as Table };
package/dist/react.d.ts CHANGED
@@ -1,20 +1,19 @@
1
1
  import { type EventName } from '@lit/react';
2
- import { RekeButton } from './components/reke-button/reke-button.js';
3
- import { RekeInput } from './components/reke-input/reke-input.js';
4
- import { RekeTextarea } from './components/reke-textarea/reke-textarea.js';
5
- import { RekeCheckbox } from './components/reke-checkbox/reke-checkbox.js';
6
- import { RekeToggle } from './components/reke-toggle/reke-toggle.js';
2
+ import { RekeAlert } from './components/reke-alert/reke-alert.js';
7
3
  import { RekeBadge } from './components/reke-badge/reke-badge.js';
4
+ import { RekeButton } from './components/reke-button/reke-button.js';
8
5
  import { RekeCard } from './components/reke-card/reke-card.js';
9
- import { RekeTooltip } from './components/reke-tooltip/reke-tooltip.js';
10
- import { RekeDialog } from './components/reke-dialog/reke-dialog.js';
11
- import { RekeSelect } from './components/reke-select/reke-select.js';
12
- import { RekeTable } from './components/reke-table/reke-table.js';
6
+ import { RekeCheckbox } from './components/reke-checkbox/reke-checkbox.js';
7
+ import { RekeChip } from './components/reke-chip/reke-chip.js';
13
8
  import { RekeDateRange } from './components/reke-date-range/reke-date-range.js';
9
+ import { RekeDialog } from './components/reke-dialog/reke-dialog.js';
14
10
  import { RekeFileUpload } from './components/reke-file-upload/reke-file-upload.js';
15
- import { RekeAlert } from './components/reke-alert/reke-alert.js';
11
+ import { RekeInput } from './components/reke-input/reke-input.js';
12
+ import { RekeSelect } from './components/reke-select/reke-select.js';
13
+ import { RekeTextarea } from './components/reke-textarea/reke-textarea.js';
16
14
  import { RekeToast } from './components/reke-toast/reke-toast.js';
17
- import { RekeChip } from './components/reke-chip/reke-chip.js';
15
+ import { RekeToggle } from './components/reke-toggle/reke-toggle.js';
16
+ import { RekeTooltip } from './components/reke-tooltip/reke-tooltip.js';
18
17
  export declare const Button: import("@lit/react").ReactWebComponent<RekeButton, {
19
18
  onRekeClick: EventName<CustomEvent>;
20
19
  }>;
@@ -55,21 +54,8 @@ export declare const Select: import("@lit/react").ReactWebComponent<RekeSelect,
55
54
  value: string;
56
55
  }>>;
57
56
  }>;
58
- export declare const Table: import("@lit/react").ReactWebComponent<RekeTable, {
59
- onRekeRowClick: EventName<CustomEvent<{
60
- row: unknown;
61
- index: number;
62
- }>>;
63
- onRekeSort: EventName<CustomEvent<{
64
- key: string;
65
- direction: "asc" | "desc";
66
- }>>;
67
- onRekeRowExpand: EventName<CustomEvent<{
68
- row: unknown;
69
- index: number;
70
- expanded: boolean;
71
- }>>;
72
- }>;
57
+ export type { ReactExpandedRowRenderer, ReactTableColumn, TableColumn, TableProps, TableRow, } from './react-bridge/table.js';
58
+ export { Table } from './react-bridge/table.js';
73
59
  export declare const DateRange: import("@lit/react").ReactWebComponent<RekeDateRange, {
74
60
  onRekeChange: EventName<CustomEvent<{
75
61
  from: string;
@@ -1 +1 @@
1
- {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"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"}
package/dist/react.js CHANGED
@@ -1,148 +1,112 @@
1
- import { createComponent as e } from "@lit/react";
2
- import t from "react";
3
- import { RekeButton as a } from "./components/reke-button/reke-button.js";
4
- import { RekeInput as o } from "./components/reke-input/reke-input.js";
5
- import { RekeTextarea as r } from "./components/reke-textarea/reke-textarea.js";
6
- import { RekeCheckbox as n } from "./components/reke-checkbox/reke-checkbox.js";
7
- import { RekeToggle as k } from "./components/reke-toggle/reke-toggle.js";
8
- import { RekeBadge as s } from "./components/reke-badge/reke-badge.js";
9
- import { RekeCard as l } from "./components/reke-card/reke-card.js";
10
- import { RekeTooltip as m } from "./components/reke-tooltip/reke-tooltip.js";
11
- import { RekeDialog as c } from "./components/reke-dialog/reke-dialog.js";
12
- import { RekeSelect as i } from "./components/reke-select/reke-select.js";
13
- import { RekeTable as g } from "./components/reke-table/reke-table.js";
14
- import { RekeDateRange as R } from "./components/reke-date-range/reke-date-range.js";
15
- import { RekeFileUpload as p } from "./components/reke-file-upload/reke-file-upload.js";
16
- import { RekeAlert as C } from "./components/reke-alert/reke-alert.js";
1
+ import { RekeAlert as e } from "./components/reke-alert/reke-alert.js";
2
+ import { RekeBadge as t } from "./components/reke-badge/reke-badge.js";
3
+ import { RekeButton as n } from "./components/reke-button/reke-button.js";
4
+ import { RekeCard as r } from "./components/reke-card/reke-card.js";
5
+ import { RekeCheckbox as i } from "./components/reke-checkbox/reke-checkbox.js";
6
+ import { RekeChip as a } from "./components/reke-chip/reke-chip.js";
7
+ import { RekeDateRange as o } from "./components/reke-date-range/reke-date-range.js";
8
+ import { RekeDialog as s } from "./components/reke-dialog/reke-dialog.js";
9
+ import { RekeFileUpload as c } from "./components/reke-file-upload/reke-file-upload.js";
10
+ import { RekeInput as l } from "./components/reke-input/reke-input.js";
11
+ import { RekeSelect as u } from "./components/reke-select/reke-select.js";
12
+ import { RekeTextarea as d } from "./components/reke-textarea/reke-textarea.js";
17
13
  import { RekeToast as f } from "./components/reke-toast/reke-toast.js";
18
- import { RekeChip as h } from "./components/reke-chip/reke-chip.js";
19
- const q = e({
20
- tagName: "reke-button",
21
- elementClass: a,
22
- react: t,
23
- events: {
24
- onRekeClick: "reke-click"
25
- }
26
- }), y = e({
27
- tagName: "reke-input",
28
- elementClass: o,
29
- react: t,
30
- events: {
31
- onRekeInput: "reke-input",
32
- onRekeChange: "reke-change"
33
- }
34
- }), z = e({
35
- tagName: "reke-textarea",
36
- elementClass: r,
37
- react: t,
38
- events: {
39
- onRekeInput: "reke-input",
40
- onRekeChange: "reke-change"
41
- }
42
- }), G = e({
43
- tagName: "reke-checkbox",
44
- elementClass: n,
45
- react: t,
46
- events: {
47
- onRekeChange: "reke-change"
48
- }
49
- }), H = e({
50
- tagName: "reke-toggle",
51
- elementClass: k,
52
- react: t,
53
- events: {
54
- onRekeChange: "reke-change"
55
- }
56
- }), J = e({
57
- tagName: "reke-badge",
58
- elementClass: s,
59
- react: t
60
- }), K = e({
61
- tagName: "reke-card",
62
- elementClass: l,
63
- react: t
64
- }), L = e({
65
- tagName: "reke-tooltip",
66
- elementClass: m,
67
- react: t
68
- }), M = e({
69
- tagName: "reke-dialog",
70
- elementClass: c,
71
- react: t,
72
- events: {
73
- onRekeClose: "reke-close"
74
- }
75
- }), O = e({
76
- tagName: "reke-select",
77
- elementClass: i,
78
- react: t,
79
- events: {
80
- onRekeChange: "reke-change"
81
- }
82
- }), Q = e({
83
- tagName: "reke-table",
84
- elementClass: g,
85
- react: t,
86
- events: {
87
- onRekeRowClick: "reke-row-click",
88
- onRekeSort: "reke-sort",
89
- onRekeRowExpand: "reke-row-expand"
90
- }
91
- }), V = e({
92
- tagName: "reke-date-range",
93
- elementClass: R,
94
- react: t,
95
- events: {
96
- onRekeChange: "reke-change",
97
- onRekePreset: "reke-preset"
98
- }
99
- }), W = e({
100
- tagName: "reke-file-upload",
101
- elementClass: p,
102
- react: t,
103
- events: {
104
- onRekeFileSelect: "reke-file-select",
105
- onRekeFileClear: "reke-file-clear"
106
- }
107
- }), X = e({
108
- tagName: "reke-alert",
109
- elementClass: C,
110
- react: t,
111
- events: {
112
- onRekeClose: "reke-close"
113
- }
114
- }), Y = e({
115
- tagName: "reke-toast",
116
- elementClass: f,
117
- react: t,
118
- events: {
119
- onRekeClose: "reke-close",
120
- onRekeAction: "reke-action"
121
- }
122
- }), Z = e({
123
- tagName: "reke-chip",
124
- elementClass: h,
125
- react: t,
126
- events: {
127
- onRekeClick: "reke-click",
128
- onRekeDismiss: "reke-dismiss"
129
- }
14
+ import { RekeToggle as p } from "./components/reke-toggle/reke-toggle.js";
15
+ import { RekeTooltip as m } from "./components/reke-tooltip/reke-tooltip.js";
16
+ import { Table as h } from "./react-bridge/table.js";
17
+ import { createComponent as g } from "@lit/react";
18
+ import _ from "react";
19
+ //#region src/react.ts
20
+ var v = g({
21
+ tagName: "reke-button",
22
+ elementClass: n,
23
+ react: _,
24
+ events: { onRekeClick: "reke-click" }
25
+ }), y = g({
26
+ tagName: "reke-input",
27
+ elementClass: l,
28
+ react: _,
29
+ events: {
30
+ onRekeInput: "reke-input",
31
+ onRekeChange: "reke-change"
32
+ }
33
+ }), b = g({
34
+ tagName: "reke-textarea",
35
+ elementClass: d,
36
+ react: _,
37
+ events: {
38
+ onRekeInput: "reke-input",
39
+ onRekeChange: "reke-change"
40
+ }
41
+ }), x = g({
42
+ tagName: "reke-checkbox",
43
+ elementClass: i,
44
+ react: _,
45
+ events: { onRekeChange: "reke-change" }
46
+ }), S = g({
47
+ tagName: "reke-toggle",
48
+ elementClass: p,
49
+ react: _,
50
+ events: { onRekeChange: "reke-change" }
51
+ }), C = g({
52
+ tagName: "reke-badge",
53
+ elementClass: t,
54
+ react: _
55
+ }), w = g({
56
+ tagName: "reke-card",
57
+ elementClass: r,
58
+ react: _
59
+ }), T = g({
60
+ tagName: "reke-tooltip",
61
+ elementClass: m,
62
+ react: _
63
+ }), E = g({
64
+ tagName: "reke-dialog",
65
+ elementClass: s,
66
+ react: _,
67
+ events: { onRekeClose: "reke-close" }
68
+ }), D = g({
69
+ tagName: "reke-select",
70
+ elementClass: u,
71
+ react: _,
72
+ events: { onRekeChange: "reke-change" }
73
+ }), O = g({
74
+ tagName: "reke-date-range",
75
+ elementClass: o,
76
+ react: _,
77
+ events: {
78
+ onRekeChange: "reke-change",
79
+ onRekePreset: "reke-preset"
80
+ }
81
+ }), k = g({
82
+ tagName: "reke-file-upload",
83
+ elementClass: c,
84
+ react: _,
85
+ events: {
86
+ onRekeFileSelect: "reke-file-select",
87
+ onRekeFileClear: "reke-file-clear"
88
+ }
89
+ }), A = g({
90
+ tagName: "reke-alert",
91
+ elementClass: e,
92
+ react: _,
93
+ events: { onRekeClose: "reke-close" }
94
+ }), j = g({
95
+ tagName: "reke-toast",
96
+ elementClass: f,
97
+ react: _,
98
+ events: {
99
+ onRekeClose: "reke-close",
100
+ onRekeAction: "reke-action"
101
+ }
102
+ }), M = g({
103
+ tagName: "reke-chip",
104
+ elementClass: a,
105
+ react: _,
106
+ events: {
107
+ onRekeClick: "reke-click",
108
+ onRekeDismiss: "reke-dismiss"
109
+ }
130
110
  });
131
- export {
132
- X as Alert,
133
- J as Badge,
134
- q as Button,
135
- K as Card,
136
- G as Checkbox,
137
- Z as Chip,
138
- V as DateRange,
139
- M as Dialog,
140
- W as FileUpload,
141
- y as Input,
142
- O as Select,
143
- Q as Table,
144
- z as Textarea,
145
- Y as Toast,
146
- H as Toggle,
147
- L as Tooltip
148
- };
111
+ //#endregion
112
+ export { A as Alert, C as Badge, v as Button, w as Card, x as Checkbox, M as Chip, O as DateRange, E as Dialog, k as FileUpload, y as Input, D as Select, h as Table, b as Textarea, j as Toast, S as Toggle, T as Tooltip };
@@ -1,16 +1,14 @@
1
- import { LitElement as n } from "lit";
2
- class m extends n {
3
- emit(e, t) {
4
- return this.dispatchEvent(
5
- new CustomEvent(e, {
6
- bubbles: !0,
7
- composed: !0,
8
- cancelable: !0,
9
- detail: t
10
- })
11
- );
12
- }
13
- }
14
- export {
15
- m as RekeElement
1
+ import { LitElement as e } from "lit";
2
+ //#region src/shared/base-element.ts
3
+ var t = class extends e {
4
+ emit(e, t) {
5
+ return this.dispatchEvent(new CustomEvent(e, {
6
+ bubbles: !0,
7
+ composed: !0,
8
+ cancelable: !0,
9
+ detail: t
10
+ }));
11
+ }
16
12
  };
13
+ //#endregion
14
+ export { t as RekeElement };
@@ -1,6 +1,6 @@
1
- import t from "./tailwind.css.js";
2
- import { unsafeCSS as i } from "lit";
3
- const S = i(t);
4
- export {
5
- S as tailwindStyles
6
- };
1
+ import e from "./tailwind.js";
2
+ import { unsafeCSS as t } from "lit";
3
+ //#region src/shared/tailwind-styles.ts
4
+ var n = t(e);
5
+ //#endregion
6
+ export { n as tailwindStyles };
@@ -0,0 +1,4 @@
1
+ //#region src/shared/tailwind.css?inline
2
+ var e = "/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */\n@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-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-outline-style:solid;--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-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia: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;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--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)}}@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{.collapse{visibility:collapse}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.flex-shrink{flex-shrink:1}.grow{flex-grow:1}.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,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.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)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + 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)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}@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-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-outline-style{syntax:\"*\";inherits:false;initial-value:solid}@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-backdrop-blur{syntax:\"*\";inherits:false}@property --tw-backdrop-brightness{syntax:\"*\";inherits:false}@property --tw-backdrop-contrast{syntax:\"*\";inherits:false}@property --tw-backdrop-grayscale{syntax:\"*\";inherits:false}@property --tw-backdrop-hue-rotate{syntax:\"*\";inherits:false}@property --tw-backdrop-invert{syntax:\"*\";inherits:false}@property --tw-backdrop-opacity{syntax:\"*\";inherits:false}@property --tw-backdrop-saturate{syntax:\"*\";inherits:false}@property --tw-backdrop-sepia{syntax:\"*\";inherits:false}";
3
+ //#endregion
4
+ export { e as default };
@@ -48,6 +48,16 @@
48
48
  /* Radii */
49
49
  --reke-radius: 4px;
50
50
 
51
+ /* Form control surface (override to theme inputs/selects) */
52
+ --reke-color-input-bg: var(--reke-color-surface);
53
+ --reke-shadow-input: none;
54
+
55
+ /* Scrollbar */
56
+ --reke-scrollbar-thumb: var(--reke-color-text-muted);
57
+ --reke-scrollbar-thumb-hover: var(--reke-color-text-ghost);
58
+ --reke-scrollbar-track: color-mix(in srgb, var(--reke-color-surface) 50%, transparent);
59
+ --reke-scrollbar-width: 8px;
60
+
51
61
  /* Transitions — consistent speeds across all components */
52
62
  --reke-transition-fast: 0.12s ease;
53
63
  --reke-transition-normal: 0.2s ease;
@@ -106,6 +116,43 @@
106
116
  --reke-shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
107
117
  }
108
118
 
119
+ /* ===== Global scrollbar styling ===== */
120
+
121
+ /* Standard (Firefox, Chrome 121+) */
122
+ * {
123
+ scrollbar-color: var(--reke-scrollbar-thumb) var(--reke-scrollbar-track);
124
+ scrollbar-width: thin;
125
+ }
126
+
127
+ /* WebKit (Chrome, Safari, Edge) — more elaborate design */
128
+ ::-webkit-scrollbar {
129
+ width: var(--reke-scrollbar-width);
130
+ height: var(--reke-scrollbar-width);
131
+ }
132
+
133
+ ::-webkit-scrollbar-track {
134
+ background: var(--reke-scrollbar-track);
135
+ border-radius: 999px;
136
+ }
137
+
138
+ ::-webkit-scrollbar-thumb {
139
+ background: var(--reke-scrollbar-thumb);
140
+ border-radius: 999px;
141
+ border: 2px solid transparent;
142
+ background-clip: content-box;
143
+ transition: background 0.2s ease;
144
+ }
145
+
146
+ ::-webkit-scrollbar-thumb:hover {
147
+ background: var(--reke-scrollbar-thumb-hover);
148
+ border-color: transparent;
149
+ background-clip: content-box;
150
+ }
151
+
152
+ ::-webkit-scrollbar-corner {
153
+ background: transparent;
154
+ }
155
+
109
156
  /* ===== Auto-detect OS preference (opt-in) ===== */
110
157
 
111
158
  @media (prefers-color-scheme: light) {