@jameskabz/nextcraft-ui 0.7.5 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -25,17 +25,44 @@ module.exports = __toCommonJS(craft_filter_bar_exports);
25
25
  var import_jsx_runtime = require("react/jsx-runtime");
26
26
  var import_cn = require("../utils/cn");
27
27
  var import_craft_input = require("../components/craft-input");
28
+ var import_craft_select = require("../components/craft-select");
29
+ var import_craft_button = require("../components/craft-button");
28
30
  function CraftFilterBar({
29
31
  title,
30
32
  description,
31
33
  searchValue,
32
34
  onSearchChange,
33
35
  searchPlaceholder = "Search...",
36
+ showSearch = true,
34
37
  actions,
35
- filters,
38
+ selectFilters,
39
+ onSelectFiltersChange,
40
+ dateFilters,
41
+ onDateFiltersChange,
42
+ showFilters = true,
43
+ showClear = true,
44
+ clearLabel = "Clear filters",
45
+ onClearFilters,
36
46
  tone,
37
47
  className
38
48
  }) {
49
+ const hasSelects = Boolean(selectFilters && selectFilters.length > 0);
50
+ const hasDates = Boolean(dateFilters && dateFilters.length > 0);
51
+ const hasFilters = showFilters && (hasSelects || hasDates);
52
+ const updateSelectFilter = (index, value) => {
53
+ if (!selectFilters || !onSelectFiltersChange) return;
54
+ const next = selectFilters.map(
55
+ (filter, idx) => idx === index ? { ...filter, value } : filter
56
+ );
57
+ onSelectFiltersChange(next);
58
+ };
59
+ const updateDateFilter = (index, key, value) => {
60
+ if (!dateFilters || !onDateFiltersChange) return;
61
+ const next = dateFilters.map(
62
+ (filter, idx) => idx === index ? { ...filter, [key]: value } : filter
63
+ );
64
+ onDateFiltersChange(next);
65
+ };
39
66
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
40
67
  "div",
41
68
  {
@@ -50,10 +77,13 @@ function CraftFilterBar({
50
77
  title && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", { className: "text-lg font-semibold", children: title }),
51
78
  description && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-sm text-[rgb(var(--nc-fg-muted))]", children: description })
52
79
  ] }),
53
- actions && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "flex items-center gap-3", children: actions })
80
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center gap-3", children: [
81
+ actions,
82
+ showClear && onClearFilters ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_craft_button.CraftButton, { type: "button", variant: "ghost", onClick: onClearFilters, children: clearLabel }) : null
83
+ ] })
54
84
  ] }),
55
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "mt-4 grid gap-4 md:grid-cols-[minmax(0,1fr)_auto]", children: [
56
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
85
+ (showSearch || hasFilters) && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "mt-4 grid gap-4", children: [
86
+ showSearch && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
57
87
  import_craft_input.CraftInput,
58
88
  {
59
89
  type: "search",
@@ -63,7 +93,47 @@ function CraftFilterBar({
63
93
  tone
64
94
  }
65
95
  ),
66
- filters && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "flex flex-wrap items-center gap-3", children: filters })
96
+ hasFilters && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex flex-wrap items-end gap-3", children: [
97
+ selectFilters == null ? void 0 : selectFilters.map((filter, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("label", { className: "grid gap-2 text-xs", children: [
98
+ filter.label ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "text-[rgb(var(--nc-fg-muted))]", children: filter.label }) : null,
99
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
100
+ import_craft_select.CraftSelect,
101
+ {
102
+ value: filter.value,
103
+ disabled: filter.disabled,
104
+ onChange: (event) => updateSelectFilter(index, event.target.value),
105
+ children: [
106
+ filter.placeholder ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("option", { value: "", children: filter.placeholder }) : null,
107
+ filter.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("option", { value: option.value, children: option.label }, String(option.value)))
108
+ ]
109
+ }
110
+ )
111
+ ] }, filter.key)),
112
+ dateFilters == null ? void 0 : dateFilters.map((filter, index) => {
113
+ var _a, _b;
114
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "grid gap-2 text-xs", children: [
115
+ filter.label ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "text-[rgb(var(--nc-fg-muted))]", children: filter.label }) : null,
116
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center gap-2", children: [
117
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
118
+ import_craft_input.CraftInput,
119
+ {
120
+ type: "date",
121
+ value: (_a = filter.from) != null ? _a : "",
122
+ onChange: (event) => updateDateFilter(index, "from", event.target.value)
123
+ }
124
+ ),
125
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
126
+ import_craft_input.CraftInput,
127
+ {
128
+ type: "date",
129
+ value: (_b = filter.to) != null ? _b : "",
130
+ onChange: (event) => updateDateFilter(index, "to", event.target.value)
131
+ }
132
+ )
133
+ ] })
134
+ ] }, filter.key);
135
+ })
136
+ ] })
67
137
  ] })
68
138
  ]
69
139
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/craft-filter-bar.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils/cn\";\nimport type { ThemeName } from \"@/theme/theme-context\";\nimport { CraftInput } from \"@/components/craft-input\";\n\nexport type CraftFilterBarProps = {\n title?: React.ReactNode;\n description?: React.ReactNode;\n searchValue?: string;\n onSearchChange?: (value: string) => void;\n searchPlaceholder?: string;\n actions?: React.ReactNode;\n filters?: React.ReactNode;\n tone?: ThemeName;\n className?: string;\n};\n\nexport function CraftFilterBar({\n title,\n description,\n searchValue,\n onSearchChange,\n searchPlaceholder = \"Search...\",\n actions,\n filters,\n tone,\n className,\n}: CraftFilterBarProps) {\n return (\n <div\n className={cn(\n \"rounded-3xl border border-[rgb(var(--nc-border)/0.3)] bg-[rgb(var(--nc-surface)/0.12)] p-4 text-[rgb(var(--nc-fg))] shadow-[0_12px_36px_rgba(0,0,0,0.2)] backdrop-blur-2xl\",\n className\n )}\n data-nc-theme={tone}\n >\n <div className=\"flex flex-wrap items-center justify-between gap-4\">\n <div>\n {title && <h3 className=\"text-lg font-semibold\">{title}</h3>}\n {description && (\n <p className=\"text-sm text-[rgb(var(--nc-fg-muted))]\">\n {description}\n </p>\n )}\n </div>\n {actions && <div className=\"flex items-center gap-3\">{actions}</div>}\n </div>\n <div className=\"mt-4 grid gap-4 md:grid-cols-[minmax(0,1fr)_auto]\">\n <CraftInput\n type=\"search\"\n placeholder={searchPlaceholder}\n value={searchValue ?? \"\"}\n onChange={(event) => onSearchChange?.(event.target.value)}\n tone={tone}\n />\n {filters && <div className=\"flex flex-wrap items-center gap-3\">{filters}</div>}\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAwCQ;AApCR,gBAAmB;AAEnB,yBAA2B;AAcpB,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,oBAAoB;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAwB;AACtB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACA,iBAAe;AAAA,MAEf;AAAA,qDAAC,SAAI,WAAU,qDACb;AAAA,uDAAC,SACE;AAAA,qBAAS,4CAAC,QAAG,WAAU,yBAAyB,iBAAM;AAAA,YACtD,eACC,4CAAC,OAAE,WAAU,0CACV,uBACH;AAAA,aAEJ;AAAA,UACC,WAAW,4CAAC,SAAI,WAAU,2BAA2B,mBAAQ;AAAA,WAChE;AAAA,QACA,6CAAC,SAAI,WAAU,qDACb;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,MAAK;AAAA,cACL,aAAa;AAAA,cACb,OAAO,oCAAe;AAAA,cACtB,UAAU,CAAC,UAAU,iDAAiB,MAAM,OAAO;AAAA,cACnD;AAAA;AAAA,UACF;AAAA,UACC,WAAW,4CAAC,SAAI,WAAU,qCAAqC,mBAAQ;AAAA,WAC1E;AAAA;AAAA;AAAA,EACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../src/components/craft-filter-bar.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils/cn\";\nimport type { ThemeName } from \"@/theme/theme-context\";\nimport { CraftInput } from \"@/components/craft-input\";\nimport { CraftSelect } from \"@/components/craft-select\";\nimport { CraftButton } from \"@/components/craft-button\";\n\nexport type CraftFilterSelectOption = {\n label: React.ReactNode;\n value: string;\n};\n\nexport type CraftFilterSelect = {\n key: string;\n label?: React.ReactNode;\n value: string;\n placeholder?: string;\n options: CraftFilterSelectOption[];\n disabled?: boolean;\n};\n\nexport type CraftFilterDate = {\n key: string;\n label?: React.ReactNode;\n from?: string;\n to?: string;\n};\n\nexport type CraftFilterBarProps = {\n title?: React.ReactNode;\n description?: React.ReactNode;\n\n searchValue?: string;\n onSearchChange?: (value: string) => void;\n searchPlaceholder?: string;\n showSearch?: boolean;\n\n actions?: React.ReactNode;\n\n selectFilters?: CraftFilterSelect[];\n onSelectFiltersChange?: (filters: CraftFilterSelect[]) => void;\n\n dateFilters?: CraftFilterDate[];\n onDateFiltersChange?: (filters: CraftFilterDate[]) => void;\n\n showFilters?: boolean;\n showClear?: boolean;\n clearLabel?: React.ReactNode;\n onClearFilters?: () => void;\n\n tone?: ThemeName;\n className?: string;\n};\n\nexport function CraftFilterBar({\n title,\n description,\n searchValue,\n onSearchChange,\n searchPlaceholder = \"Search...\",\n showSearch = true,\n actions,\n selectFilters,\n onSelectFiltersChange,\n dateFilters,\n onDateFiltersChange,\n showFilters = true,\n showClear = true,\n clearLabel = \"Clear filters\",\n onClearFilters,\n tone,\n className,\n}: CraftFilterBarProps) {\n const hasSelects = Boolean(selectFilters && selectFilters.length > 0);\n const hasDates = Boolean(dateFilters && dateFilters.length > 0);\n const hasFilters = showFilters && (hasSelects || hasDates);\n\n const updateSelectFilter = (index: number, value: string) => {\n if (!selectFilters || !onSelectFiltersChange) return;\n const next = selectFilters.map((filter, idx) =>\n idx === index ? { ...filter, value } : filter\n );\n onSelectFiltersChange(next);\n };\n\n const updateDateFilter = (\n index: number,\n key: \"from\" | \"to\",\n value: string\n ) => {\n if (!dateFilters || !onDateFiltersChange) return;\n const next = dateFilters.map((filter, idx) =>\n idx === index ? { ...filter, [key]: value } : filter\n );\n onDateFiltersChange(next);\n };\n\n return (\n <div\n className={cn(\n \"rounded-3xl border border-[rgb(var(--nc-border)/0.3)] bg-[rgb(var(--nc-surface)/0.12)] p-4 text-[rgb(var(--nc-fg))] shadow-[0_12px_36px_rgba(0,0,0,0.2)] backdrop-blur-2xl\",\n className\n )}\n data-nc-theme={tone}\n >\n <div className=\"flex flex-wrap items-center justify-between gap-4\">\n <div>\n {title && <h3 className=\"text-lg font-semibold\">{title}</h3>}\n {description && (\n <p className=\"text-sm text-[rgb(var(--nc-fg-muted))]\">\n {description}\n </p>\n )}\n </div>\n <div className=\"flex items-center gap-3\">\n {actions}\n {showClear && onClearFilters ? (\n <CraftButton type=\"button\" variant=\"ghost\" onClick={onClearFilters}>\n {clearLabel}\n </CraftButton>\n ) : null}\n </div>\n </div>\n\n {(showSearch || hasFilters) && (\n <div className=\"mt-4 grid gap-4\">\n {showSearch && (\n <CraftInput\n type=\"search\"\n placeholder={searchPlaceholder}\n value={searchValue ?? \"\"}\n onChange={(event) => onSearchChange?.(event.target.value)}\n tone={tone}\n />\n )}\n\n {hasFilters && (\n <div className=\"flex flex-wrap items-end gap-3\">\n {selectFilters?.map((filter, index) => (\n <label key={filter.key} className=\"grid gap-2 text-xs\">\n {filter.label ? (\n <span className=\"text-[rgb(var(--nc-fg-muted))]\">\n {filter.label}\n </span>\n ) : null}\n <CraftSelect\n value={filter.value}\n disabled={filter.disabled}\n onChange={(event) =>\n updateSelectFilter(index, event.target.value)\n }\n >\n {filter.placeholder ? (\n <option value=\"\">{filter.placeholder}</option>\n ) : null}\n {filter.options.map((option) => (\n <option key={String(option.value)} value={option.value}>\n {option.label}\n </option>\n ))}\n </CraftSelect>\n </label>\n ))}\n\n {dateFilters?.map((filter, index) => (\n <div key={filter.key} className=\"grid gap-2 text-xs\">\n {filter.label ? (\n <span className=\"text-[rgb(var(--nc-fg-muted))]\">\n {filter.label}\n </span>\n ) : null}\n <div className=\"flex items-center gap-2\">\n <CraftInput\n type=\"date\"\n value={filter.from ?? \"\"}\n onChange={(event) =>\n updateDateFilter(index, \"from\", event.target.value)\n }\n />\n <CraftInput\n type=\"date\"\n value={filter.to ?? \"\"}\n onChange={(event) =>\n updateDateFilter(index, \"to\", event.target.value)\n }\n />\n </div>\n </div>\n ))}\n </div>\n )}\n </div>\n )}\n </div>\n );\n}\n"],"mappings":"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","names":[]}
@@ -2,17 +2,43 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import { ThemeName } from '../theme/theme-context.cjs';
4
4
 
5
+ type CraftFilterSelectOption = {
6
+ label: React.ReactNode;
7
+ value: string;
8
+ };
9
+ type CraftFilterSelect = {
10
+ key: string;
11
+ label?: React.ReactNode;
12
+ value: string;
13
+ placeholder?: string;
14
+ options: CraftFilterSelectOption[];
15
+ disabled?: boolean;
16
+ };
17
+ type CraftFilterDate = {
18
+ key: string;
19
+ label?: React.ReactNode;
20
+ from?: string;
21
+ to?: string;
22
+ };
5
23
  type CraftFilterBarProps = {
6
24
  title?: React.ReactNode;
7
25
  description?: React.ReactNode;
8
26
  searchValue?: string;
9
27
  onSearchChange?: (value: string) => void;
10
28
  searchPlaceholder?: string;
29
+ showSearch?: boolean;
11
30
  actions?: React.ReactNode;
12
- filters?: React.ReactNode;
31
+ selectFilters?: CraftFilterSelect[];
32
+ onSelectFiltersChange?: (filters: CraftFilterSelect[]) => void;
33
+ dateFilters?: CraftFilterDate[];
34
+ onDateFiltersChange?: (filters: CraftFilterDate[]) => void;
35
+ showFilters?: boolean;
36
+ showClear?: boolean;
37
+ clearLabel?: React.ReactNode;
38
+ onClearFilters?: () => void;
13
39
  tone?: ThemeName;
14
40
  className?: string;
15
41
  };
16
- declare function CraftFilterBar({ title, description, searchValue, onSearchChange, searchPlaceholder, actions, filters, tone, className, }: CraftFilterBarProps): react_jsx_runtime.JSX.Element;
42
+ declare function CraftFilterBar({ title, description, searchValue, onSearchChange, searchPlaceholder, showSearch, actions, selectFilters, onSelectFiltersChange, dateFilters, onDateFiltersChange, showFilters, showClear, clearLabel, onClearFilters, tone, className, }: CraftFilterBarProps): react_jsx_runtime.JSX.Element;
17
43
 
18
- export { CraftFilterBar, type CraftFilterBarProps };
44
+ export { CraftFilterBar, type CraftFilterBarProps, type CraftFilterDate, type CraftFilterSelect, type CraftFilterSelectOption };
@@ -2,17 +2,43 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import { ThemeName } from '../theme/theme-context.js';
4
4
 
5
+ type CraftFilterSelectOption = {
6
+ label: React.ReactNode;
7
+ value: string;
8
+ };
9
+ type CraftFilterSelect = {
10
+ key: string;
11
+ label?: React.ReactNode;
12
+ value: string;
13
+ placeholder?: string;
14
+ options: CraftFilterSelectOption[];
15
+ disabled?: boolean;
16
+ };
17
+ type CraftFilterDate = {
18
+ key: string;
19
+ label?: React.ReactNode;
20
+ from?: string;
21
+ to?: string;
22
+ };
5
23
  type CraftFilterBarProps = {
6
24
  title?: React.ReactNode;
7
25
  description?: React.ReactNode;
8
26
  searchValue?: string;
9
27
  onSearchChange?: (value: string) => void;
10
28
  searchPlaceholder?: string;
29
+ showSearch?: boolean;
11
30
  actions?: React.ReactNode;
12
- filters?: React.ReactNode;
31
+ selectFilters?: CraftFilterSelect[];
32
+ onSelectFiltersChange?: (filters: CraftFilterSelect[]) => void;
33
+ dateFilters?: CraftFilterDate[];
34
+ onDateFiltersChange?: (filters: CraftFilterDate[]) => void;
35
+ showFilters?: boolean;
36
+ showClear?: boolean;
37
+ clearLabel?: React.ReactNode;
38
+ onClearFilters?: () => void;
13
39
  tone?: ThemeName;
14
40
  className?: string;
15
41
  };
16
- declare function CraftFilterBar({ title, description, searchValue, onSearchChange, searchPlaceholder, actions, filters, tone, className, }: CraftFilterBarProps): react_jsx_runtime.JSX.Element;
42
+ declare function CraftFilterBar({ title, description, searchValue, onSearchChange, searchPlaceholder, showSearch, actions, selectFilters, onSelectFiltersChange, dateFilters, onDateFiltersChange, showFilters, showClear, clearLabel, onClearFilters, tone, className, }: CraftFilterBarProps): react_jsx_runtime.JSX.Element;
17
43
 
18
- export { CraftFilterBar, type CraftFilterBarProps };
44
+ export { CraftFilterBar, type CraftFilterBarProps, type CraftFilterDate, type CraftFilterSelect, type CraftFilterSelectOption };
@@ -2,17 +2,44 @@
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import { cn } from "../utils/cn";
4
4
  import { CraftInput } from "../components/craft-input";
5
+ import { CraftSelect } from "../components/craft-select";
6
+ import { CraftButton } from "../components/craft-button";
5
7
  function CraftFilterBar({
6
8
  title,
7
9
  description,
8
10
  searchValue,
9
11
  onSearchChange,
10
12
  searchPlaceholder = "Search...",
13
+ showSearch = true,
11
14
  actions,
12
- filters,
15
+ selectFilters,
16
+ onSelectFiltersChange,
17
+ dateFilters,
18
+ onDateFiltersChange,
19
+ showFilters = true,
20
+ showClear = true,
21
+ clearLabel = "Clear filters",
22
+ onClearFilters,
13
23
  tone,
14
24
  className
15
25
  }) {
26
+ const hasSelects = Boolean(selectFilters && selectFilters.length > 0);
27
+ const hasDates = Boolean(dateFilters && dateFilters.length > 0);
28
+ const hasFilters = showFilters && (hasSelects || hasDates);
29
+ const updateSelectFilter = (index, value) => {
30
+ if (!selectFilters || !onSelectFiltersChange) return;
31
+ const next = selectFilters.map(
32
+ (filter, idx) => idx === index ? { ...filter, value } : filter
33
+ );
34
+ onSelectFiltersChange(next);
35
+ };
36
+ const updateDateFilter = (index, key, value) => {
37
+ if (!dateFilters || !onDateFiltersChange) return;
38
+ const next = dateFilters.map(
39
+ (filter, idx) => idx === index ? { ...filter, [key]: value } : filter
40
+ );
41
+ onDateFiltersChange(next);
42
+ };
16
43
  return /* @__PURE__ */ jsxs(
17
44
  "div",
18
45
  {
@@ -27,10 +54,13 @@ function CraftFilterBar({
27
54
  title && /* @__PURE__ */ jsx("h3", { className: "text-lg font-semibold", children: title }),
28
55
  description && /* @__PURE__ */ jsx("p", { className: "text-sm text-[rgb(var(--nc-fg-muted))]", children: description })
29
56
  ] }),
30
- actions && /* @__PURE__ */ jsx("div", { className: "flex items-center gap-3", children: actions })
57
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
58
+ actions,
59
+ showClear && onClearFilters ? /* @__PURE__ */ jsx(CraftButton, { type: "button", variant: "ghost", onClick: onClearFilters, children: clearLabel }) : null
60
+ ] })
31
61
  ] }),
32
- /* @__PURE__ */ jsxs("div", { className: "mt-4 grid gap-4 md:grid-cols-[minmax(0,1fr)_auto]", children: [
33
- /* @__PURE__ */ jsx(
62
+ (showSearch || hasFilters) && /* @__PURE__ */ jsxs("div", { className: "mt-4 grid gap-4", children: [
63
+ showSearch && /* @__PURE__ */ jsx(
34
64
  CraftInput,
35
65
  {
36
66
  type: "search",
@@ -40,7 +70,47 @@ function CraftFilterBar({
40
70
  tone
41
71
  }
42
72
  ),
43
- filters && /* @__PURE__ */ jsx("div", { className: "flex flex-wrap items-center gap-3", children: filters })
73
+ hasFilters && /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-end gap-3", children: [
74
+ selectFilters == null ? void 0 : selectFilters.map((filter, index) => /* @__PURE__ */ jsxs("label", { className: "grid gap-2 text-xs", children: [
75
+ filter.label ? /* @__PURE__ */ jsx("span", { className: "text-[rgb(var(--nc-fg-muted))]", children: filter.label }) : null,
76
+ /* @__PURE__ */ jsxs(
77
+ CraftSelect,
78
+ {
79
+ value: filter.value,
80
+ disabled: filter.disabled,
81
+ onChange: (event) => updateSelectFilter(index, event.target.value),
82
+ children: [
83
+ filter.placeholder ? /* @__PURE__ */ jsx("option", { value: "", children: filter.placeholder }) : null,
84
+ filter.options.map((option) => /* @__PURE__ */ jsx("option", { value: option.value, children: option.label }, String(option.value)))
85
+ ]
86
+ }
87
+ )
88
+ ] }, filter.key)),
89
+ dateFilters == null ? void 0 : dateFilters.map((filter, index) => {
90
+ var _a, _b;
91
+ return /* @__PURE__ */ jsxs("div", { className: "grid gap-2 text-xs", children: [
92
+ filter.label ? /* @__PURE__ */ jsx("span", { className: "text-[rgb(var(--nc-fg-muted))]", children: filter.label }) : null,
93
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
94
+ /* @__PURE__ */ jsx(
95
+ CraftInput,
96
+ {
97
+ type: "date",
98
+ value: (_a = filter.from) != null ? _a : "",
99
+ onChange: (event) => updateDateFilter(index, "from", event.target.value)
100
+ }
101
+ ),
102
+ /* @__PURE__ */ jsx(
103
+ CraftInput,
104
+ {
105
+ type: "date",
106
+ value: (_b = filter.to) != null ? _b : "",
107
+ onChange: (event) => updateDateFilter(index, "to", event.target.value)
108
+ }
109
+ )
110
+ ] })
111
+ ] }, filter.key);
112
+ })
113
+ ] })
44
114
  ] })
45
115
  ]
46
116
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/craft-filter-bar.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils/cn\";\nimport type { ThemeName } from \"@/theme/theme-context\";\nimport { CraftInput } from \"@/components/craft-input\";\n\nexport type CraftFilterBarProps = {\n title?: React.ReactNode;\n description?: React.ReactNode;\n searchValue?: string;\n onSearchChange?: (value: string) => void;\n searchPlaceholder?: string;\n actions?: React.ReactNode;\n filters?: React.ReactNode;\n tone?: ThemeName;\n className?: string;\n};\n\nexport function CraftFilterBar({\n title,\n description,\n searchValue,\n onSearchChange,\n searchPlaceholder = \"Search...\",\n actions,\n filters,\n tone,\n className,\n}: CraftFilterBarProps) {\n return (\n <div\n className={cn(\n \"rounded-3xl border border-[rgb(var(--nc-border)/0.3)] bg-[rgb(var(--nc-surface)/0.12)] p-4 text-[rgb(var(--nc-fg))] shadow-[0_12px_36px_rgba(0,0,0,0.2)] backdrop-blur-2xl\",\n className\n )}\n data-nc-theme={tone}\n >\n <div className=\"flex flex-wrap items-center justify-between gap-4\">\n <div>\n {title && <h3 className=\"text-lg font-semibold\">{title}</h3>}\n {description && (\n <p className=\"text-sm text-[rgb(var(--nc-fg-muted))]\">\n {description}\n </p>\n )}\n </div>\n {actions && <div className=\"flex items-center gap-3\">{actions}</div>}\n </div>\n <div className=\"mt-4 grid gap-4 md:grid-cols-[minmax(0,1fr)_auto]\">\n <CraftInput\n type=\"search\"\n placeholder={searchPlaceholder}\n value={searchValue ?? \"\"}\n onChange={(event) => onSearchChange?.(event.target.value)}\n tone={tone}\n />\n {filters && <div className=\"flex flex-wrap items-center gap-3\">{filters}</div>}\n </div>\n </div>\n );\n}\n"],"mappings":";AAwCQ,SACY,KADZ;AApCR,SAAS,UAAU;AAEnB,SAAS,kBAAkB;AAcpB,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,oBAAoB;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAwB;AACtB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACA,iBAAe;AAAA,MAEf;AAAA,6BAAC,SAAI,WAAU,qDACb;AAAA,+BAAC,SACE;AAAA,qBAAS,oBAAC,QAAG,WAAU,yBAAyB,iBAAM;AAAA,YACtD,eACC,oBAAC,OAAE,WAAU,0CACV,uBACH;AAAA,aAEJ;AAAA,UACC,WAAW,oBAAC,SAAI,WAAU,2BAA2B,mBAAQ;AAAA,WAChE;AAAA,QACA,qBAAC,SAAI,WAAU,qDACb;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,MAAK;AAAA,cACL,aAAa;AAAA,cACb,OAAO,oCAAe;AAAA,cACtB,UAAU,CAAC,UAAU,iDAAiB,MAAM,OAAO;AAAA,cACnD;AAAA;AAAA,UACF;AAAA,UACC,WAAW,oBAAC,SAAI,WAAU,qCAAqC,mBAAQ;AAAA,WAC1E;AAAA;AAAA;AAAA,EACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../src/components/craft-filter-bar.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils/cn\";\nimport type { ThemeName } from \"@/theme/theme-context\";\nimport { CraftInput } from \"@/components/craft-input\";\nimport { CraftSelect } from \"@/components/craft-select\";\nimport { CraftButton } from \"@/components/craft-button\";\n\nexport type CraftFilterSelectOption = {\n label: React.ReactNode;\n value: string;\n};\n\nexport type CraftFilterSelect = {\n key: string;\n label?: React.ReactNode;\n value: string;\n placeholder?: string;\n options: CraftFilterSelectOption[];\n disabled?: boolean;\n};\n\nexport type CraftFilterDate = {\n key: string;\n label?: React.ReactNode;\n from?: string;\n to?: string;\n};\n\nexport type CraftFilterBarProps = {\n title?: React.ReactNode;\n description?: React.ReactNode;\n\n searchValue?: string;\n onSearchChange?: (value: string) => void;\n searchPlaceholder?: string;\n showSearch?: boolean;\n\n actions?: React.ReactNode;\n\n selectFilters?: CraftFilterSelect[];\n onSelectFiltersChange?: (filters: CraftFilterSelect[]) => void;\n\n dateFilters?: CraftFilterDate[];\n onDateFiltersChange?: (filters: CraftFilterDate[]) => void;\n\n showFilters?: boolean;\n showClear?: boolean;\n clearLabel?: React.ReactNode;\n onClearFilters?: () => void;\n\n tone?: ThemeName;\n className?: string;\n};\n\nexport function CraftFilterBar({\n title,\n description,\n searchValue,\n onSearchChange,\n searchPlaceholder = \"Search...\",\n showSearch = true,\n actions,\n selectFilters,\n onSelectFiltersChange,\n dateFilters,\n onDateFiltersChange,\n showFilters = true,\n showClear = true,\n clearLabel = \"Clear filters\",\n onClearFilters,\n tone,\n className,\n}: CraftFilterBarProps) {\n const hasSelects = Boolean(selectFilters && selectFilters.length > 0);\n const hasDates = Boolean(dateFilters && dateFilters.length > 0);\n const hasFilters = showFilters && (hasSelects || hasDates);\n\n const updateSelectFilter = (index: number, value: string) => {\n if (!selectFilters || !onSelectFiltersChange) return;\n const next = selectFilters.map((filter, idx) =>\n idx === index ? { ...filter, value } : filter\n );\n onSelectFiltersChange(next);\n };\n\n const updateDateFilter = (\n index: number,\n key: \"from\" | \"to\",\n value: string\n ) => {\n if (!dateFilters || !onDateFiltersChange) return;\n const next = dateFilters.map((filter, idx) =>\n idx === index ? { ...filter, [key]: value } : filter\n );\n onDateFiltersChange(next);\n };\n\n return (\n <div\n className={cn(\n \"rounded-3xl border border-[rgb(var(--nc-border)/0.3)] bg-[rgb(var(--nc-surface)/0.12)] p-4 text-[rgb(var(--nc-fg))] shadow-[0_12px_36px_rgba(0,0,0,0.2)] backdrop-blur-2xl\",\n className\n )}\n data-nc-theme={tone}\n >\n <div className=\"flex flex-wrap items-center justify-between gap-4\">\n <div>\n {title && <h3 className=\"text-lg font-semibold\">{title}</h3>}\n {description && (\n <p className=\"text-sm text-[rgb(var(--nc-fg-muted))]\">\n {description}\n </p>\n )}\n </div>\n <div className=\"flex items-center gap-3\">\n {actions}\n {showClear && onClearFilters ? (\n <CraftButton type=\"button\" variant=\"ghost\" onClick={onClearFilters}>\n {clearLabel}\n </CraftButton>\n ) : null}\n </div>\n </div>\n\n {(showSearch || hasFilters) && (\n <div className=\"mt-4 grid gap-4\">\n {showSearch && (\n <CraftInput\n type=\"search\"\n placeholder={searchPlaceholder}\n value={searchValue ?? \"\"}\n onChange={(event) => onSearchChange?.(event.target.value)}\n tone={tone}\n />\n )}\n\n {hasFilters && (\n <div className=\"flex flex-wrap items-end gap-3\">\n {selectFilters?.map((filter, index) => (\n <label key={filter.key} className=\"grid gap-2 text-xs\">\n {filter.label ? (\n <span className=\"text-[rgb(var(--nc-fg-muted))]\">\n {filter.label}\n </span>\n ) : null}\n <CraftSelect\n value={filter.value}\n disabled={filter.disabled}\n onChange={(event) =>\n updateSelectFilter(index, event.target.value)\n }\n >\n {filter.placeholder ? (\n <option value=\"\">{filter.placeholder}</option>\n ) : null}\n {filter.options.map((option) => (\n <option key={String(option.value)} value={option.value}>\n {option.label}\n </option>\n ))}\n </CraftSelect>\n </label>\n ))}\n\n {dateFilters?.map((filter, index) => (\n <div key={filter.key} className=\"grid gap-2 text-xs\">\n {filter.label ? (\n <span className=\"text-[rgb(var(--nc-fg-muted))]\">\n {filter.label}\n </span>\n ) : null}\n <div className=\"flex items-center gap-2\">\n <CraftInput\n type=\"date\"\n value={filter.from ?? \"\"}\n onChange={(event) =>\n updateDateFilter(index, \"from\", event.target.value)\n }\n />\n <CraftInput\n type=\"date\"\n value={filter.to ?? \"\"}\n onChange={(event) =>\n updateDateFilter(index, \"to\", event.target.value)\n }\n />\n </div>\n </div>\n ))}\n </div>\n )}\n </div>\n )}\n </div>\n );\n}\n"],"mappings":"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","names":[]}
package/dist/index.cjs CHANGED
@@ -33,6 +33,7 @@ __export(index_exports, {
33
33
  CraftCreateEditDrawer: () => import_craft_create_edit_drawer.CraftCreateEditDrawer,
34
34
  CraftCurrencyInput: () => import_craft_currency_input.CraftCurrencyInput,
35
35
  CraftDataTable: () => import_craft_data_table.CraftDataTable,
36
+ CraftDataTableFilters: () => import_craft_data_table_filters.CraftDataTableFilters,
36
37
  CraftDataTableHeader: () => import_craft_data_table_header.CraftDataTableHeader,
37
38
  CraftDataTablePagination: () => import_craft_data_table_pagination.CraftDataTablePagination,
38
39
  CraftDatePicker: () => import_craft_date_picker.CraftDatePicker,
@@ -110,6 +111,7 @@ var import_craft_confirm_dialog = require("./components/craft-confirm-dialog");
110
111
  var import_craft_create_edit_drawer = require("./components/craft-create-edit-drawer");
111
112
  var import_craft_filter_bar = require("./components/craft-filter-bar");
112
113
  var import_craft_table_toolbar = require("./components/craft-table-toolbar");
114
+ var import_craft_data_table_filters = require("./components/craft-data-table-filters");
113
115
  var import_craft_data_table = require("./components/craft-data-table");
114
116
  var import_craft_data_table_header = require("./components/craft-data-table-header");
115
117
  var import_craft_data_table_pagination = require("./components/craft-data-table-pagination");
@@ -144,6 +146,7 @@ var import_theme_context = require("./theme/theme-context");
144
146
  CraftCreateEditDrawer,
145
147
  CraftCurrencyInput,
146
148
  CraftDataTable,
149
+ CraftDataTableFilters,
147
150
  CraftDataTableHeader,
148
151
  CraftDataTablePagination,
149
152
  CraftDatePicker,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export { CraftButton } from \"./components/craft-button\";\nexport type { CraftButtonProps } from \"./components/craft-button\";\n\nexport { GlassCard } from \"./components/glass-card\";\nexport type { GlassCardProps } from \"./components/glass-card\";\n\nexport { CraftInput } from \"./components/craft-input\";\nexport type { CraftInputProps } from \"./components/craft-input\";\n\nexport { CraftTextarea } from \"./components/craft-textarea\";\nexport type { CraftTextareaProps } from \"./components/craft-textarea\";\n\nexport { CraftSelect } from \"./components/craft-select\";\nexport type { CraftSelectProps } from \"./components/craft-select\";\n\nexport { CraftCheckbox } from \"./components/craft-checkbox\";\nexport type { CraftCheckboxProps } from \"./components/craft-checkbox\";\n\nexport { CraftSwitch } from \"./components/craft-switch\";\nexport type { CraftSwitchProps } from \"./components/craft-switch\";\n\nexport { CraftBadge } from \"./components/craft-badge\";\nexport type { CraftBadgeProps } from \"./components/craft-badge\";\n\nexport { CraftAlert } from \"./components/craft-alert\";\nexport type { CraftAlertProps } from \"./components/craft-alert\";\n\nexport { CraftErrorState } from \"./components/craft-error-state\";\nexport type { CraftErrorStateProps } from \"./components/craft-error-state\";\n\nexport { CraftLoadingState } from \"./components/craft-loading-state\";\nexport type { CraftLoadingStateProps } from \"./components/craft-loading-state\";\n\nexport { CraftCard } from \"./components/craft-card\";\nexport type { CraftCardProps } from \"./components/craft-card\";\n\nexport { CraftModal } from \"./components/craft-modal\";\nexport type { CraftModalProps } from \"./components/craft-modal\";\n\nexport { CraftDrawer } from \"./components/craft-drawer\";\nexport type { CraftDrawerProps } from \"./components/craft-drawer\";\n\nexport { CraftTabs } from \"./components/craft-tabs\";\nexport type { CraftTabsProps } from \"./components/craft-tabs\";\n\nexport { CraftTooltip } from \"./components/craft-tooltip\";\nexport type { CraftTooltipProps } from \"./components/craft-tooltip\";\n\nexport { CraftToastHost, useCraftToast } from \"./components/craft-toast\";\nexport type { CraftToast, CraftToastHostProps } from \"./components/craft-toast\";\n\nexport { CraftSkeleton } from \"./components/craft-skeleton\";\nexport type { CraftSkeletonProps } from \"./components/craft-skeleton\";\n\nexport { CraftEmptyState } from \"./components/craft-empty-state\";\nexport type { CraftEmptyStateProps } from \"./components/craft-empty-state\";\n\nexport { CraftPopover } from \"./components/craft-popover\";\nexport type { CraftPopoverProps } from \"./components/craft-popover\";\n\nexport { CraftDropdownMenu } from \"./components/craft-dropdown-menu\";\nexport type { CraftDropdownMenuProps, CraftDropdownItem } from \"./components/craft-dropdown-menu\";\n\nexport { CraftCommandPalette } from \"./components/craft-command-palette\";\nexport type { CraftCommandPaletteProps, CraftCommandItem } from \"./components/craft-command-palette\";\n\nexport { CraftLink } from \"./components/craft-link\";\nexport type { CraftLinkProps } from \"./components/craft-link\";\n\nexport { CraftStatCard } from \"./components/craft-stat-card\";\nexport type { CraftStatCardProps } from \"./components/craft-stat-card\";\n\nexport { CraftDatePicker } from \"./components/craft-date-picker\";\nexport type { CraftDatePickerProps } from \"./components/craft-date-picker\";\n\nexport { CraftIcon, CraftIconProvider } from \"./components/craft-icon\";\nexport type {\n CraftIconProps,\n CraftIconProviderProps,\n CraftIconRegistry,\n} from \"./components/craft-icon\";\n\nexport { CraftNumberInput } from \"./components/craft-number-input\";\nexport type { CraftNumberInputProps } from \"./components/craft-number-input\";\n\nexport { CraftCurrencyInput } from \"./components/craft-currency-input\";\nexport type { CraftCurrencyInputProps } from \"./components/craft-currency-input\";\n\nexport { CraftForm } from \"./components/craft-form\";\nexport type { CraftFormProps } from \"./components/craft-form\";\n\nexport { CraftFormModal } from \"./components/craft-form-modal\";\nexport type { CraftFormModalProps, CraftFormModalField } from \"./components/craft-form-modal\";\n\nexport { CraftFormField } from \"./components/craft-form-field\";\nexport type { CraftFormFieldProps, CraftFormFieldOption, CraftFormFieldType } from \"./components/craft-form-field\";\n\n\nexport { CraftConfirmDialog } from \"./components/craft-confirm-dialog\";\nexport type { CraftConfirmDialogProps } from \"./components/craft-confirm-dialog\";\n\nexport { CraftCreateEditDrawer } from \"./components/craft-create-edit-drawer\";\nexport type { CraftCreateEditDrawerProps } from \"./components/craft-create-edit-drawer\";\n\nexport { CraftFilterBar } from \"./components/craft-filter-bar\";\nexport type { CraftFilterBarProps } from \"./components/craft-filter-bar\";\n\nexport { CraftTableToolbar } from \"./components/craft-table-toolbar\";\nexport type { CraftTableToolbarProps } from \"./components/craft-table-toolbar\";\n\nexport { CraftDataTable } from \"./components/craft-data-table\";\nexport type {\n CraftDataTableProps,\n CraftDataTableColumn,\n CraftDataTableSort,\n CraftDataTableAction,\n} from \"./components/craft-data-table\";\nexport { CraftDataTableHeader } from \"./components/craft-data-table-header\";\nexport type { CraftDataTableHeaderProps } from \"./components/craft-data-table-header\";\nexport { CraftDataTablePagination } from \"./components/craft-data-table-pagination\";\nexport type { CraftDataTablePaginationProps } from \"./components/craft-data-table-pagination\";\nexport { CraftLoader } from \"./components/craft-loader\";\nexport type { CraftLoaderProps } from \"./components/craft-loader\";\n\nexport { CraftPagination } from \"./components/craft-pagination\";\nexport type { CraftPaginationProps } from \"./components/craft-pagination\";\n\nexport { AppShell } from \"./components/layout/app-shell\";\nexport type { AppShellProps } from \"./components/layout/app-shell\";\n\nexport { AppTemplate } from \"./components/layout/app-template\";\nexport type { AppTemplateProps } from \"./components/layout/app-template\";\n\nexport type {\n LayoutConfig,\n LayoutSidebarItem,\n LayoutBreadcrumbItem,\n LayoutIconName,\n} from \"./components/layout/layout-config\";\nexport { layoutConfigSchema } from \"./components/layout/layout-config\";\n\nexport { Sidebar } from \"./components/layout/sidebar\";\nexport type { SidebarProps, SidebarItem } from \"./components/layout/sidebar\";\n\nexport { TopNav } from \"./components/layout/top-nav\";\nexport type { TopNavProps } from \"./components/layout/top-nav\";\n\nexport { PageHeader } from \"./components/layout/page-header\";\nexport type { PageHeaderProps } from \"./components/layout/page-header\";\n\nexport { Breadcrumbs } from \"./components/layout/breadcrumbs\";\nexport type { BreadcrumbsProps, BreadcrumbItem } from \"./components/layout/breadcrumbs\";\n\nexport { AuthLayout } from \"./components/layout/auth-layout\";\nexport type { AuthLayoutProps } from \"./components/layout/auth-layout\";\n\nexport { Container } from \"./components/layout/container\";\nexport type { ContainerProps } from \"./components/layout/container\";\n\nexport { Grid } from \"./components/layout/grid\";\nexport type { GridProps } from \"./components/layout/grid\";\n\nexport { ThemeSwitcher } from \"./components/theme-switcher\";\nexport type { ThemeSwitcherProps } from \"./components/theme-switcher\";\n\nexport { ThemeProvider, useTheme } from \"./theme/theme-context\";\nexport type { ThemeName, ThemeMode } from \"./theme/theme-context\";\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAA4B;AAG5B,wBAA0B;AAG1B,yBAA2B;AAG3B,4BAA8B;AAG9B,0BAA4B;AAG5B,4BAA8B;AAG9B,0BAA4B;AAG5B,yBAA2B;AAG3B,yBAA2B;AAG3B,+BAAgC;AAGhC,iCAAkC;AAGlC,wBAA0B;AAG1B,yBAA2B;AAG3B,0BAA4B;AAG5B,wBAA0B;AAG1B,2BAA6B;AAG7B,yBAA8C;AAG9C,4BAA8B;AAG9B,+BAAgC;AAGhC,2BAA6B;AAG7B,iCAAkC;AAGlC,mCAAoC;AAGpC,wBAA0B;AAG1B,6BAA8B;AAG9B,+BAAgC;AAGhC,wBAA6C;AAO7C,gCAAiC;AAGjC,kCAAmC;AAGnC,wBAA0B;AAG1B,8BAA+B;AAG/B,8BAA+B;AAI/B,kCAAmC;AAGnC,sCAAsC;AAGtC,8BAA+B;AAG/B,iCAAkC;AAGlC,8BAA+B;AAO/B,qCAAqC;AAErC,yCAAyC;AAEzC,0BAA4B;AAG5B,8BAAgC;AAGhC,uBAAyB;AAGzB,0BAA4B;AAS5B,2BAAmC;AAEnC,qBAAwB;AAGxB,qBAAuB;AAGvB,yBAA2B;AAG3B,yBAA4B;AAG5B,yBAA2B;AAG3B,uBAA0B;AAG1B,kBAAqB;AAGrB,4BAA8B;AAG9B,2BAAwC;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export { CraftButton } from \"./components/craft-button\";\nexport type { CraftButtonProps } from \"./components/craft-button\";\n\nexport { GlassCard } from \"./components/glass-card\";\nexport type { GlassCardProps } from \"./components/glass-card\";\n\nexport { CraftInput } from \"./components/craft-input\";\nexport type { CraftInputProps } from \"./components/craft-input\";\n\nexport { CraftTextarea } from \"./components/craft-textarea\";\nexport type { CraftTextareaProps } from \"./components/craft-textarea\";\n\nexport { CraftSelect } from \"./components/craft-select\";\nexport type { CraftSelectProps } from \"./components/craft-select\";\n\nexport { CraftCheckbox } from \"./components/craft-checkbox\";\nexport type { CraftCheckboxProps } from \"./components/craft-checkbox\";\n\nexport { CraftSwitch } from \"./components/craft-switch\";\nexport type { CraftSwitchProps } from \"./components/craft-switch\";\n\nexport { CraftBadge } from \"./components/craft-badge\";\nexport type { CraftBadgeProps } from \"./components/craft-badge\";\n\nexport { CraftAlert } from \"./components/craft-alert\";\nexport type { CraftAlertProps } from \"./components/craft-alert\";\n\nexport { CraftErrorState } from \"./components/craft-error-state\";\nexport type { CraftErrorStateProps } from \"./components/craft-error-state\";\n\nexport { CraftLoadingState } from \"./components/craft-loading-state\";\nexport type { CraftLoadingStateProps } from \"./components/craft-loading-state\";\n\nexport { CraftCard } from \"./components/craft-card\";\nexport type { CraftCardProps } from \"./components/craft-card\";\n\nexport { CraftModal } from \"./components/craft-modal\";\nexport type { CraftModalProps } from \"./components/craft-modal\";\n\nexport { CraftDrawer } from \"./components/craft-drawer\";\nexport type { CraftDrawerProps } from \"./components/craft-drawer\";\n\nexport { CraftTabs } from \"./components/craft-tabs\";\nexport type { CraftTabsProps } from \"./components/craft-tabs\";\n\nexport { CraftTooltip } from \"./components/craft-tooltip\";\nexport type { CraftTooltipProps } from \"./components/craft-tooltip\";\n\nexport { CraftToastHost, useCraftToast } from \"./components/craft-toast\";\nexport type { CraftToast, CraftToastHostProps } from \"./components/craft-toast\";\n\nexport { CraftSkeleton } from \"./components/craft-skeleton\";\nexport type { CraftSkeletonProps } from \"./components/craft-skeleton\";\n\nexport { CraftEmptyState } from \"./components/craft-empty-state\";\nexport type { CraftEmptyStateProps } from \"./components/craft-empty-state\";\n\nexport { CraftPopover } from \"./components/craft-popover\";\nexport type { CraftPopoverProps } from \"./components/craft-popover\";\n\nexport { CraftDropdownMenu } from \"./components/craft-dropdown-menu\";\nexport type { CraftDropdownMenuProps, CraftDropdownItem } from \"./components/craft-dropdown-menu\";\n\nexport { CraftCommandPalette } from \"./components/craft-command-palette\";\nexport type { CraftCommandPaletteProps, CraftCommandItem } from \"./components/craft-command-palette\";\n\nexport { CraftLink } from \"./components/craft-link\";\nexport type { CraftLinkProps } from \"./components/craft-link\";\n\nexport { CraftStatCard } from \"./components/craft-stat-card\";\nexport type { CraftStatCardProps } from \"./components/craft-stat-card\";\n\nexport { CraftDatePicker } from \"./components/craft-date-picker\";\nexport type { CraftDatePickerProps } from \"./components/craft-date-picker\";\n\nexport { CraftIcon, CraftIconProvider } from \"./components/craft-icon\";\nexport type {\n CraftIconProps,\n CraftIconProviderProps,\n CraftIconRegistry,\n} from \"./components/craft-icon\";\n\nexport { CraftNumberInput } from \"./components/craft-number-input\";\nexport type { CraftNumberInputProps } from \"./components/craft-number-input\";\n\nexport { CraftCurrencyInput } from \"./components/craft-currency-input\";\nexport type { CraftCurrencyInputProps } from \"./components/craft-currency-input\";\n\nexport { CraftForm } from \"./components/craft-form\";\nexport type { CraftFormProps } from \"./components/craft-form\";\n\nexport { CraftFormModal } from \"./components/craft-form-modal\";\nexport type { CraftFormModalProps, CraftFormModalField } from \"./components/craft-form-modal\";\n\nexport { CraftFormField } from \"./components/craft-form-field\";\nexport type { CraftFormFieldProps, CraftFormFieldOption, CraftFormFieldType } from \"./components/craft-form-field\";\n\n\nexport { CraftConfirmDialog } from \"./components/craft-confirm-dialog\";\nexport type { CraftConfirmDialogProps } from \"./components/craft-confirm-dialog\";\n\nexport { CraftCreateEditDrawer } from \"./components/craft-create-edit-drawer\";\nexport type { CraftCreateEditDrawerProps } from \"./components/craft-create-edit-drawer\";\n\nexport { CraftFilterBar } from \"./components/craft-filter-bar\";\nexport type { CraftFilterBarProps } from \"./components/craft-filter-bar\";\n\nexport { CraftTableToolbar } from \"./components/craft-table-toolbar\";\nexport type { CraftTableToolbarProps } from \"./components/craft-table-toolbar\";\n\nexport { CraftDataTableFilters } from \"./components/craft-data-table-filters\";\nexport type {\n CraftDataTableFiltersProps,\n CraftDataTableFilterSelect,\n CraftDataTableFilterSelectOption,\n CraftDataTableFilterDate,\n} from \"./components/craft-data-table-filters\";\n\nexport { CraftDataTable } from \"./components/craft-data-table\";\nexport type {\n CraftDataTableProps,\n CraftDataTableColumn,\n CraftDataTableSort,\n CraftDataTableAction,\n} from \"./components/craft-data-table\";\nexport { CraftDataTableHeader } from \"./components/craft-data-table-header\";\nexport type { CraftDataTableHeaderProps } from \"./components/craft-data-table-header\";\nexport { CraftDataTablePagination } from \"./components/craft-data-table-pagination\";\nexport type { CraftDataTablePaginationProps } from \"./components/craft-data-table-pagination\";\nexport { CraftLoader } from \"./components/craft-loader\";\nexport type { CraftLoaderProps } from \"./components/craft-loader\";\n\nexport { CraftPagination } from \"./components/craft-pagination\";\nexport type { CraftPaginationProps } from \"./components/craft-pagination\";\n\nexport { AppShell } from \"./components/layout/app-shell\";\nexport type { AppShellProps } from \"./components/layout/app-shell\";\n\nexport { AppTemplate } from \"./components/layout/app-template\";\nexport type { AppTemplateProps } from \"./components/layout/app-template\";\n\nexport type {\n LayoutConfig,\n LayoutSidebarItem,\n LayoutBreadcrumbItem,\n LayoutIconName,\n} from \"./components/layout/layout-config\";\nexport { layoutConfigSchema } from \"./components/layout/layout-config\";\n\nexport { Sidebar } from \"./components/layout/sidebar\";\nexport type { SidebarProps, SidebarItem } from \"./components/layout/sidebar\";\n\nexport { TopNav } from \"./components/layout/top-nav\";\nexport type { TopNavProps } from \"./components/layout/top-nav\";\n\nexport { PageHeader } from \"./components/layout/page-header\";\nexport type { PageHeaderProps } from \"./components/layout/page-header\";\n\nexport { Breadcrumbs } from \"./components/layout/breadcrumbs\";\nexport type { BreadcrumbsProps, BreadcrumbItem } from \"./components/layout/breadcrumbs\";\n\nexport { AuthLayout } from \"./components/layout/auth-layout\";\nexport type { AuthLayoutProps } from \"./components/layout/auth-layout\";\n\nexport { Container } from \"./components/layout/container\";\nexport type { ContainerProps } from \"./components/layout/container\";\n\nexport { Grid } from \"./components/layout/grid\";\nexport type { GridProps } from \"./components/layout/grid\";\n\nexport { ThemeSwitcher } from \"./components/theme-switcher\";\nexport type { ThemeSwitcherProps } from \"./components/theme-switcher\";\n\nexport { ThemeProvider, useTheme } from \"./theme/theme-context\";\nexport type { ThemeName, ThemeMode } from \"./theme/theme-context\";\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAA4B;AAG5B,wBAA0B;AAG1B,yBAA2B;AAG3B,4BAA8B;AAG9B,0BAA4B;AAG5B,4BAA8B;AAG9B,0BAA4B;AAG5B,yBAA2B;AAG3B,yBAA2B;AAG3B,+BAAgC;AAGhC,iCAAkC;AAGlC,wBAA0B;AAG1B,yBAA2B;AAG3B,0BAA4B;AAG5B,wBAA0B;AAG1B,2BAA6B;AAG7B,yBAA8C;AAG9C,4BAA8B;AAG9B,+BAAgC;AAGhC,2BAA6B;AAG7B,iCAAkC;AAGlC,mCAAoC;AAGpC,wBAA0B;AAG1B,6BAA8B;AAG9B,+BAAgC;AAGhC,wBAA6C;AAO7C,gCAAiC;AAGjC,kCAAmC;AAGnC,wBAA0B;AAG1B,8BAA+B;AAG/B,8BAA+B;AAI/B,kCAAmC;AAGnC,sCAAsC;AAGtC,8BAA+B;AAG/B,iCAAkC;AAGlC,sCAAsC;AAQtC,8BAA+B;AAO/B,qCAAqC;AAErC,yCAAyC;AAEzC,0BAA4B;AAG5B,8BAAgC;AAGhC,uBAAyB;AAGzB,0BAA4B;AAS5B,2BAAmC;AAEnC,qBAAwB;AAGxB,qBAAuB;AAGvB,yBAA2B;AAG3B,yBAA4B;AAG5B,yBAA2B;AAG3B,uBAA0B;AAG1B,kBAAqB;AAGrB,4BAA8B;AAG9B,2BAAwC;","names":[]}
package/dist/index.d.cts CHANGED
@@ -33,6 +33,7 @@ export { CraftConfirmDialog, CraftConfirmDialogProps } from './components/craft-
33
33
  export { CraftCreateEditDrawer, CraftCreateEditDrawerProps } from './components/craft-create-edit-drawer.cjs';
34
34
  export { CraftFilterBar, CraftFilterBarProps } from './components/craft-filter-bar.cjs';
35
35
  export { CraftTableToolbar, CraftTableToolbarProps } from './components/craft-table-toolbar.cjs';
36
+ export { CraftDataTableFilterDate, CraftDataTableFilterSelect, CraftDataTableFilterSelectOption, CraftDataTableFilters, CraftDataTableFiltersProps } from './components/craft-data-table-filters.cjs';
36
37
  export { CraftDataTable, CraftDataTableAction, CraftDataTableColumn, CraftDataTableProps, CraftDataTableSort } from './components/craft-data-table.cjs';
37
38
  export { CraftDataTableHeader, CraftDataTableHeaderProps } from './components/craft-data-table-header.cjs';
38
39
  export { CraftDataTablePagination, CraftDataTablePaginationProps } from './components/craft-data-table-pagination.cjs';
package/dist/index.d.ts CHANGED
@@ -33,6 +33,7 @@ export { CraftConfirmDialog, CraftConfirmDialogProps } from './components/craft-
33
33
  export { CraftCreateEditDrawer, CraftCreateEditDrawerProps } from './components/craft-create-edit-drawer.js';
34
34
  export { CraftFilterBar, CraftFilterBarProps } from './components/craft-filter-bar.js';
35
35
  export { CraftTableToolbar, CraftTableToolbarProps } from './components/craft-table-toolbar.js';
36
+ export { CraftDataTableFilterDate, CraftDataTableFilterSelect, CraftDataTableFilterSelectOption, CraftDataTableFilters, CraftDataTableFiltersProps } from './components/craft-data-table-filters.js';
36
37
  export { CraftDataTable, CraftDataTableAction, CraftDataTableColumn, CraftDataTableProps, CraftDataTableSort } from './components/craft-data-table.js';
37
38
  export { CraftDataTableHeader, CraftDataTableHeaderProps } from './components/craft-data-table-header.js';
38
39
  export { CraftDataTablePagination, CraftDataTablePaginationProps } from './components/craft-data-table-pagination.js';
package/dist/index.js CHANGED
@@ -33,6 +33,7 @@ import { CraftConfirmDialog } from "./components/craft-confirm-dialog";
33
33
  import { CraftCreateEditDrawer } from "./components/craft-create-edit-drawer";
34
34
  import { CraftFilterBar } from "./components/craft-filter-bar";
35
35
  import { CraftTableToolbar } from "./components/craft-table-toolbar";
36
+ import { CraftDataTableFilters } from "./components/craft-data-table-filters";
36
37
  import { CraftDataTable } from "./components/craft-data-table";
37
38
  import { CraftDataTableHeader } from "./components/craft-data-table-header";
38
39
  import { CraftDataTablePagination } from "./components/craft-data-table-pagination";
@@ -66,6 +67,7 @@ export {
66
67
  CraftCreateEditDrawer,
67
68
  CraftCurrencyInput,
68
69
  CraftDataTable,
70
+ CraftDataTableFilters,
69
71
  CraftDataTableHeader,
70
72
  CraftDataTablePagination,
71
73
  CraftDatePicker,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export { CraftButton } from \"./components/craft-button\";\nexport type { CraftButtonProps } from \"./components/craft-button\";\n\nexport { GlassCard } from \"./components/glass-card\";\nexport type { GlassCardProps } from \"./components/glass-card\";\n\nexport { CraftInput } from \"./components/craft-input\";\nexport type { CraftInputProps } from \"./components/craft-input\";\n\nexport { CraftTextarea } from \"./components/craft-textarea\";\nexport type { CraftTextareaProps } from \"./components/craft-textarea\";\n\nexport { CraftSelect } from \"./components/craft-select\";\nexport type { CraftSelectProps } from \"./components/craft-select\";\n\nexport { CraftCheckbox } from \"./components/craft-checkbox\";\nexport type { CraftCheckboxProps } from \"./components/craft-checkbox\";\n\nexport { CraftSwitch } from \"./components/craft-switch\";\nexport type { CraftSwitchProps } from \"./components/craft-switch\";\n\nexport { CraftBadge } from \"./components/craft-badge\";\nexport type { CraftBadgeProps } from \"./components/craft-badge\";\n\nexport { CraftAlert } from \"./components/craft-alert\";\nexport type { CraftAlertProps } from \"./components/craft-alert\";\n\nexport { CraftErrorState } from \"./components/craft-error-state\";\nexport type { CraftErrorStateProps } from \"./components/craft-error-state\";\n\nexport { CraftLoadingState } from \"./components/craft-loading-state\";\nexport type { CraftLoadingStateProps } from \"./components/craft-loading-state\";\n\nexport { CraftCard } from \"./components/craft-card\";\nexport type { CraftCardProps } from \"./components/craft-card\";\n\nexport { CraftModal } from \"./components/craft-modal\";\nexport type { CraftModalProps } from \"./components/craft-modal\";\n\nexport { CraftDrawer } from \"./components/craft-drawer\";\nexport type { CraftDrawerProps } from \"./components/craft-drawer\";\n\nexport { CraftTabs } from \"./components/craft-tabs\";\nexport type { CraftTabsProps } from \"./components/craft-tabs\";\n\nexport { CraftTooltip } from \"./components/craft-tooltip\";\nexport type { CraftTooltipProps } from \"./components/craft-tooltip\";\n\nexport { CraftToastHost, useCraftToast } from \"./components/craft-toast\";\nexport type { CraftToast, CraftToastHostProps } from \"./components/craft-toast\";\n\nexport { CraftSkeleton } from \"./components/craft-skeleton\";\nexport type { CraftSkeletonProps } from \"./components/craft-skeleton\";\n\nexport { CraftEmptyState } from \"./components/craft-empty-state\";\nexport type { CraftEmptyStateProps } from \"./components/craft-empty-state\";\n\nexport { CraftPopover } from \"./components/craft-popover\";\nexport type { CraftPopoverProps } from \"./components/craft-popover\";\n\nexport { CraftDropdownMenu } from \"./components/craft-dropdown-menu\";\nexport type { CraftDropdownMenuProps, CraftDropdownItem } from \"./components/craft-dropdown-menu\";\n\nexport { CraftCommandPalette } from \"./components/craft-command-palette\";\nexport type { CraftCommandPaletteProps, CraftCommandItem } from \"./components/craft-command-palette\";\n\nexport { CraftLink } from \"./components/craft-link\";\nexport type { CraftLinkProps } from \"./components/craft-link\";\n\nexport { CraftStatCard } from \"./components/craft-stat-card\";\nexport type { CraftStatCardProps } from \"./components/craft-stat-card\";\n\nexport { CraftDatePicker } from \"./components/craft-date-picker\";\nexport type { CraftDatePickerProps } from \"./components/craft-date-picker\";\n\nexport { CraftIcon, CraftIconProvider } from \"./components/craft-icon\";\nexport type {\n CraftIconProps,\n CraftIconProviderProps,\n CraftIconRegistry,\n} from \"./components/craft-icon\";\n\nexport { CraftNumberInput } from \"./components/craft-number-input\";\nexport type { CraftNumberInputProps } from \"./components/craft-number-input\";\n\nexport { CraftCurrencyInput } from \"./components/craft-currency-input\";\nexport type { CraftCurrencyInputProps } from \"./components/craft-currency-input\";\n\nexport { CraftForm } from \"./components/craft-form\";\nexport type { CraftFormProps } from \"./components/craft-form\";\n\nexport { CraftFormModal } from \"./components/craft-form-modal\";\nexport type { CraftFormModalProps, CraftFormModalField } from \"./components/craft-form-modal\";\n\nexport { CraftFormField } from \"./components/craft-form-field\";\nexport type { CraftFormFieldProps, CraftFormFieldOption, CraftFormFieldType } from \"./components/craft-form-field\";\n\n\nexport { CraftConfirmDialog } from \"./components/craft-confirm-dialog\";\nexport type { CraftConfirmDialogProps } from \"./components/craft-confirm-dialog\";\n\nexport { CraftCreateEditDrawer } from \"./components/craft-create-edit-drawer\";\nexport type { CraftCreateEditDrawerProps } from \"./components/craft-create-edit-drawer\";\n\nexport { CraftFilterBar } from \"./components/craft-filter-bar\";\nexport type { CraftFilterBarProps } from \"./components/craft-filter-bar\";\n\nexport { CraftTableToolbar } from \"./components/craft-table-toolbar\";\nexport type { CraftTableToolbarProps } from \"./components/craft-table-toolbar\";\n\nexport { CraftDataTable } from \"./components/craft-data-table\";\nexport type {\n CraftDataTableProps,\n CraftDataTableColumn,\n CraftDataTableSort,\n CraftDataTableAction,\n} from \"./components/craft-data-table\";\nexport { CraftDataTableHeader } from \"./components/craft-data-table-header\";\nexport type { CraftDataTableHeaderProps } from \"./components/craft-data-table-header\";\nexport { CraftDataTablePagination } from \"./components/craft-data-table-pagination\";\nexport type { CraftDataTablePaginationProps } from \"./components/craft-data-table-pagination\";\nexport { CraftLoader } from \"./components/craft-loader\";\nexport type { CraftLoaderProps } from \"./components/craft-loader\";\n\nexport { CraftPagination } from \"./components/craft-pagination\";\nexport type { CraftPaginationProps } from \"./components/craft-pagination\";\n\nexport { AppShell } from \"./components/layout/app-shell\";\nexport type { AppShellProps } from \"./components/layout/app-shell\";\n\nexport { AppTemplate } from \"./components/layout/app-template\";\nexport type { AppTemplateProps } from \"./components/layout/app-template\";\n\nexport type {\n LayoutConfig,\n LayoutSidebarItem,\n LayoutBreadcrumbItem,\n LayoutIconName,\n} from \"./components/layout/layout-config\";\nexport { layoutConfigSchema } from \"./components/layout/layout-config\";\n\nexport { Sidebar } from \"./components/layout/sidebar\";\nexport type { SidebarProps, SidebarItem } from \"./components/layout/sidebar\";\n\nexport { TopNav } from \"./components/layout/top-nav\";\nexport type { TopNavProps } from \"./components/layout/top-nav\";\n\nexport { PageHeader } from \"./components/layout/page-header\";\nexport type { PageHeaderProps } from \"./components/layout/page-header\";\n\nexport { Breadcrumbs } from \"./components/layout/breadcrumbs\";\nexport type { BreadcrumbsProps, BreadcrumbItem } from \"./components/layout/breadcrumbs\";\n\nexport { AuthLayout } from \"./components/layout/auth-layout\";\nexport type { AuthLayoutProps } from \"./components/layout/auth-layout\";\n\nexport { Container } from \"./components/layout/container\";\nexport type { ContainerProps } from \"./components/layout/container\";\n\nexport { Grid } from \"./components/layout/grid\";\nexport type { GridProps } from \"./components/layout/grid\";\n\nexport { ThemeSwitcher } from \"./components/theme-switcher\";\nexport type { ThemeSwitcherProps } from \"./components/theme-switcher\";\n\nexport { ThemeProvider, useTheme } from \"./theme/theme-context\";\nexport type { ThemeName, ThemeMode } from \"./theme/theme-context\";\n"],"mappings":"AAAA,SAAS,mBAAmB;AAG5B,SAAS,iBAAiB;AAG1B,SAAS,kBAAkB;AAG3B,SAAS,qBAAqB;AAG9B,SAAS,mBAAmB;AAG5B,SAAS,qBAAqB;AAG9B,SAAS,mBAAmB;AAG5B,SAAS,kBAAkB;AAG3B,SAAS,kBAAkB;AAG3B,SAAS,uBAAuB;AAGhC,SAAS,yBAAyB;AAGlC,SAAS,iBAAiB;AAG1B,SAAS,kBAAkB;AAG3B,SAAS,mBAAmB;AAG5B,SAAS,iBAAiB;AAG1B,SAAS,oBAAoB;AAG7B,SAAS,gBAAgB,qBAAqB;AAG9C,SAAS,qBAAqB;AAG9B,SAAS,uBAAuB;AAGhC,SAAS,oBAAoB;AAG7B,SAAS,yBAAyB;AAGlC,SAAS,2BAA2B;AAGpC,SAAS,iBAAiB;AAG1B,SAAS,qBAAqB;AAG9B,SAAS,uBAAuB;AAGhC,SAAS,WAAW,yBAAyB;AAO7C,SAAS,wBAAwB;AAGjC,SAAS,0BAA0B;AAGnC,SAAS,iBAAiB;AAG1B,SAAS,sBAAsB;AAG/B,SAAS,sBAAsB;AAI/B,SAAS,0BAA0B;AAGnC,SAAS,6BAA6B;AAGtC,SAAS,sBAAsB;AAG/B,SAAS,yBAAyB;AAGlC,SAAS,sBAAsB;AAO/B,SAAS,4BAA4B;AAErC,SAAS,gCAAgC;AAEzC,SAAS,mBAAmB;AAG5B,SAAS,uBAAuB;AAGhC,SAAS,gBAAgB;AAGzB,SAAS,mBAAmB;AAS5B,SAAS,0BAA0B;AAEnC,SAAS,eAAe;AAGxB,SAAS,cAAc;AAGvB,SAAS,kBAAkB;AAG3B,SAAS,mBAAmB;AAG5B,SAAS,kBAAkB;AAG3B,SAAS,iBAAiB;AAG1B,SAAS,YAAY;AAGrB,SAAS,qBAAqB;AAG9B,SAAS,eAAe,gBAAgB;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export { CraftButton } from \"./components/craft-button\";\nexport type { CraftButtonProps } from \"./components/craft-button\";\n\nexport { GlassCard } from \"./components/glass-card\";\nexport type { GlassCardProps } from \"./components/glass-card\";\n\nexport { CraftInput } from \"./components/craft-input\";\nexport type { CraftInputProps } from \"./components/craft-input\";\n\nexport { CraftTextarea } from \"./components/craft-textarea\";\nexport type { CraftTextareaProps } from \"./components/craft-textarea\";\n\nexport { CraftSelect } from \"./components/craft-select\";\nexport type { CraftSelectProps } from \"./components/craft-select\";\n\nexport { CraftCheckbox } from \"./components/craft-checkbox\";\nexport type { CraftCheckboxProps } from \"./components/craft-checkbox\";\n\nexport { CraftSwitch } from \"./components/craft-switch\";\nexport type { CraftSwitchProps } from \"./components/craft-switch\";\n\nexport { CraftBadge } from \"./components/craft-badge\";\nexport type { CraftBadgeProps } from \"./components/craft-badge\";\n\nexport { CraftAlert } from \"./components/craft-alert\";\nexport type { CraftAlertProps } from \"./components/craft-alert\";\n\nexport { CraftErrorState } from \"./components/craft-error-state\";\nexport type { CraftErrorStateProps } from \"./components/craft-error-state\";\n\nexport { CraftLoadingState } from \"./components/craft-loading-state\";\nexport type { CraftLoadingStateProps } from \"./components/craft-loading-state\";\n\nexport { CraftCard } from \"./components/craft-card\";\nexport type { CraftCardProps } from \"./components/craft-card\";\n\nexport { CraftModal } from \"./components/craft-modal\";\nexport type { CraftModalProps } from \"./components/craft-modal\";\n\nexport { CraftDrawer } from \"./components/craft-drawer\";\nexport type { CraftDrawerProps } from \"./components/craft-drawer\";\n\nexport { CraftTabs } from \"./components/craft-tabs\";\nexport type { CraftTabsProps } from \"./components/craft-tabs\";\n\nexport { CraftTooltip } from \"./components/craft-tooltip\";\nexport type { CraftTooltipProps } from \"./components/craft-tooltip\";\n\nexport { CraftToastHost, useCraftToast } from \"./components/craft-toast\";\nexport type { CraftToast, CraftToastHostProps } from \"./components/craft-toast\";\n\nexport { CraftSkeleton } from \"./components/craft-skeleton\";\nexport type { CraftSkeletonProps } from \"./components/craft-skeleton\";\n\nexport { CraftEmptyState } from \"./components/craft-empty-state\";\nexport type { CraftEmptyStateProps } from \"./components/craft-empty-state\";\n\nexport { CraftPopover } from \"./components/craft-popover\";\nexport type { CraftPopoverProps } from \"./components/craft-popover\";\n\nexport { CraftDropdownMenu } from \"./components/craft-dropdown-menu\";\nexport type { CraftDropdownMenuProps, CraftDropdownItem } from \"./components/craft-dropdown-menu\";\n\nexport { CraftCommandPalette } from \"./components/craft-command-palette\";\nexport type { CraftCommandPaletteProps, CraftCommandItem } from \"./components/craft-command-palette\";\n\nexport { CraftLink } from \"./components/craft-link\";\nexport type { CraftLinkProps } from \"./components/craft-link\";\n\nexport { CraftStatCard } from \"./components/craft-stat-card\";\nexport type { CraftStatCardProps } from \"./components/craft-stat-card\";\n\nexport { CraftDatePicker } from \"./components/craft-date-picker\";\nexport type { CraftDatePickerProps } from \"./components/craft-date-picker\";\n\nexport { CraftIcon, CraftIconProvider } from \"./components/craft-icon\";\nexport type {\n CraftIconProps,\n CraftIconProviderProps,\n CraftIconRegistry,\n} from \"./components/craft-icon\";\n\nexport { CraftNumberInput } from \"./components/craft-number-input\";\nexport type { CraftNumberInputProps } from \"./components/craft-number-input\";\n\nexport { CraftCurrencyInput } from \"./components/craft-currency-input\";\nexport type { CraftCurrencyInputProps } from \"./components/craft-currency-input\";\n\nexport { CraftForm } from \"./components/craft-form\";\nexport type { CraftFormProps } from \"./components/craft-form\";\n\nexport { CraftFormModal } from \"./components/craft-form-modal\";\nexport type { CraftFormModalProps, CraftFormModalField } from \"./components/craft-form-modal\";\n\nexport { CraftFormField } from \"./components/craft-form-field\";\nexport type { CraftFormFieldProps, CraftFormFieldOption, CraftFormFieldType } from \"./components/craft-form-field\";\n\n\nexport { CraftConfirmDialog } from \"./components/craft-confirm-dialog\";\nexport type { CraftConfirmDialogProps } from \"./components/craft-confirm-dialog\";\n\nexport { CraftCreateEditDrawer } from \"./components/craft-create-edit-drawer\";\nexport type { CraftCreateEditDrawerProps } from \"./components/craft-create-edit-drawer\";\n\nexport { CraftFilterBar } from \"./components/craft-filter-bar\";\nexport type { CraftFilterBarProps } from \"./components/craft-filter-bar\";\n\nexport { CraftTableToolbar } from \"./components/craft-table-toolbar\";\nexport type { CraftTableToolbarProps } from \"./components/craft-table-toolbar\";\n\nexport { CraftDataTableFilters } from \"./components/craft-data-table-filters\";\nexport type {\n CraftDataTableFiltersProps,\n CraftDataTableFilterSelect,\n CraftDataTableFilterSelectOption,\n CraftDataTableFilterDate,\n} from \"./components/craft-data-table-filters\";\n\nexport { CraftDataTable } from \"./components/craft-data-table\";\nexport type {\n CraftDataTableProps,\n CraftDataTableColumn,\n CraftDataTableSort,\n CraftDataTableAction,\n} from \"./components/craft-data-table\";\nexport { CraftDataTableHeader } from \"./components/craft-data-table-header\";\nexport type { CraftDataTableHeaderProps } from \"./components/craft-data-table-header\";\nexport { CraftDataTablePagination } from \"./components/craft-data-table-pagination\";\nexport type { CraftDataTablePaginationProps } from \"./components/craft-data-table-pagination\";\nexport { CraftLoader } from \"./components/craft-loader\";\nexport type { CraftLoaderProps } from \"./components/craft-loader\";\n\nexport { CraftPagination } from \"./components/craft-pagination\";\nexport type { CraftPaginationProps } from \"./components/craft-pagination\";\n\nexport { AppShell } from \"./components/layout/app-shell\";\nexport type { AppShellProps } from \"./components/layout/app-shell\";\n\nexport { AppTemplate } from \"./components/layout/app-template\";\nexport type { AppTemplateProps } from \"./components/layout/app-template\";\n\nexport type {\n LayoutConfig,\n LayoutSidebarItem,\n LayoutBreadcrumbItem,\n LayoutIconName,\n} from \"./components/layout/layout-config\";\nexport { layoutConfigSchema } from \"./components/layout/layout-config\";\n\nexport { Sidebar } from \"./components/layout/sidebar\";\nexport type { SidebarProps, SidebarItem } from \"./components/layout/sidebar\";\n\nexport { TopNav } from \"./components/layout/top-nav\";\nexport type { TopNavProps } from \"./components/layout/top-nav\";\n\nexport { PageHeader } from \"./components/layout/page-header\";\nexport type { PageHeaderProps } from \"./components/layout/page-header\";\n\nexport { Breadcrumbs } from \"./components/layout/breadcrumbs\";\nexport type { BreadcrumbsProps, BreadcrumbItem } from \"./components/layout/breadcrumbs\";\n\nexport { AuthLayout } from \"./components/layout/auth-layout\";\nexport type { AuthLayoutProps } from \"./components/layout/auth-layout\";\n\nexport { Container } from \"./components/layout/container\";\nexport type { ContainerProps } from \"./components/layout/container\";\n\nexport { Grid } from \"./components/layout/grid\";\nexport type { GridProps } from \"./components/layout/grid\";\n\nexport { ThemeSwitcher } from \"./components/theme-switcher\";\nexport type { ThemeSwitcherProps } from \"./components/theme-switcher\";\n\nexport { ThemeProvider, useTheme } from \"./theme/theme-context\";\nexport type { ThemeName, ThemeMode } from \"./theme/theme-context\";\n"],"mappings":"AAAA,SAAS,mBAAmB;AAG5B,SAAS,iBAAiB;AAG1B,SAAS,kBAAkB;AAG3B,SAAS,qBAAqB;AAG9B,SAAS,mBAAmB;AAG5B,SAAS,qBAAqB;AAG9B,SAAS,mBAAmB;AAG5B,SAAS,kBAAkB;AAG3B,SAAS,kBAAkB;AAG3B,SAAS,uBAAuB;AAGhC,SAAS,yBAAyB;AAGlC,SAAS,iBAAiB;AAG1B,SAAS,kBAAkB;AAG3B,SAAS,mBAAmB;AAG5B,SAAS,iBAAiB;AAG1B,SAAS,oBAAoB;AAG7B,SAAS,gBAAgB,qBAAqB;AAG9C,SAAS,qBAAqB;AAG9B,SAAS,uBAAuB;AAGhC,SAAS,oBAAoB;AAG7B,SAAS,yBAAyB;AAGlC,SAAS,2BAA2B;AAGpC,SAAS,iBAAiB;AAG1B,SAAS,qBAAqB;AAG9B,SAAS,uBAAuB;AAGhC,SAAS,WAAW,yBAAyB;AAO7C,SAAS,wBAAwB;AAGjC,SAAS,0BAA0B;AAGnC,SAAS,iBAAiB;AAG1B,SAAS,sBAAsB;AAG/B,SAAS,sBAAsB;AAI/B,SAAS,0BAA0B;AAGnC,SAAS,6BAA6B;AAGtC,SAAS,sBAAsB;AAG/B,SAAS,yBAAyB;AAGlC,SAAS,6BAA6B;AAQtC,SAAS,sBAAsB;AAO/B,SAAS,4BAA4B;AAErC,SAAS,gCAAgC;AAEzC,SAAS,mBAAmB;AAG5B,SAAS,uBAAuB;AAGhC,SAAS,gBAAgB;AAGzB,SAAS,mBAAmB;AAS5B,SAAS,0BAA0B;AAEnC,SAAS,eAAe;AAGxB,SAAS,cAAc;AAGvB,SAAS,kBAAkB;AAG3B,SAAS,mBAAmB;AAG5B,SAAS,kBAAkB;AAG3B,SAAS,iBAAiB;AAG1B,SAAS,YAAY;AAGrB,SAAS,qBAAqB;AAG9B,SAAS,eAAe,gBAAgB;","names":[]}
package/dist/styles.css CHANGED
@@ -796,6 +796,9 @@
796
796
  .border-\[rgb\(var\(--nc-accent-1\)\/0\.25\)\] {
797
797
  border-color: rgb(var(--nc-accent-1)/0.25);
798
798
  }
799
+ .border-\[rgb\(var\(--nc-accent-1\)\/0\.35\)\] {
800
+ border-color: rgb(var(--nc-accent-1)/0.35);
801
+ }
799
802
  .border-\[rgb\(var\(--nc-accent-1\)\/0\.45\)\] {
800
803
  border-color: rgb(var(--nc-accent-1)/0.45);
801
804
  }
@@ -987,6 +990,10 @@
987
990
  --tw-gradient-from: rgb(var(--nc-accent-1));
988
991
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
989
992
  }
993
+ .from-\[rgb\(var\(--nc-accent-1\)\/0\.08\)\] {
994
+ --tw-gradient-from: rgb(var(--nc-accent-1)/0.08);
995
+ --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
996
+ }
990
997
  .from-\[rgb\(var\(--nc-accent-1\)\/0\.15\)\] {
991
998
  --tw-gradient-from: rgb(var(--nc-accent-1)/0.15);
992
999
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
@@ -996,6 +1003,11 @@
996
1003
  --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
997
1004
  --tw-gradient-stops: var(--tw-gradient-via-stops);
998
1005
  }
1006
+ .via-\[rgb\(var\(--nc-accent-2\)\/0\.05\)\] {
1007
+ --tw-gradient-via: rgb(var(--nc-accent-2)/0.05);
1008
+ --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
1009
+ --tw-gradient-stops: var(--tw-gradient-via-stops);
1010
+ }
999
1011
  .via-\[rgb\(var\(--nc-accent-2\)\/0\.10\)\] {
1000
1012
  --tw-gradient-via: rgb(var(--nc-accent-2)/0.10);
1001
1013
  --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
@@ -1005,6 +1017,10 @@
1005
1017
  --tw-gradient-to: rgb(var(--nc-accent-3));
1006
1018
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
1007
1019
  }
1020
+ .to-\[rgb\(var\(--nc-accent-3\)\/0\.08\)\] {
1021
+ --tw-gradient-to: rgb(var(--nc-accent-3)/0.08);
1022
+ --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
1023
+ }
1008
1024
  .to-\[rgb\(var\(--nc-accent-3\)\/0\.15\)\] {
1009
1025
  --tw-gradient-to: rgb(var(--nc-accent-3)/0.15);
1010
1026
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
@@ -2182,11 +2198,6 @@
2182
2198
  grid-template-columns: repeat(3, minmax(0, 1fr));
2183
2199
  }
2184
2200
  }
2185
- .md\:grid-cols-\[minmax\(0\,1fr\)_auto\] {
2186
- @media (width >= 48rem) {
2187
- grid-template-columns: minmax(0,1fr) auto;
2188
- }
2189
- }
2190
2201
  .lg\:sticky {
2191
2202
  @media (width >= 64rem) {
2192
2203
  position: sticky;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jameskabz/nextcraft-ui",
3
- "version": "0.7.5",
3
+ "version": "0.8.0",
4
4
  "description": "Next.js + Tailwind UI components with a bold, crafted aesthetic.",
5
5
  "private": false,
6
6
  "license": "MIT",