@zentauri-ui/zentauri-components 1.4.6 → 1.4.41

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 (77) hide show
  1. package/README.md +1 -64
  2. package/cli/registry.json +1 -3
  3. package/package.json +3 -3
  4. package/dist/ui/search/filter-search-suggestions.d.ts +0 -15
  5. package/dist/ui/search/filter-search-suggestions.d.ts.map +0 -1
  6. package/dist/ui/search/index.d.ts +0 -7
  7. package/dist/ui/search/index.d.ts.map +0 -1
  8. package/dist/ui/search/search-bar.d.ts +0 -6
  9. package/dist/ui/search/search-bar.d.ts.map +0 -1
  10. package/dist/ui/search/search-suggestion-list.d.ts +0 -6
  11. package/dist/ui/search/search-suggestion-list.d.ts.map +0 -1
  12. package/dist/ui/search/search-suggestion-utils.d.ts +0 -6
  13. package/dist/ui/search/search-suggestion-utils.d.ts.map +0 -1
  14. package/dist/ui/search/types.d.ts +0 -44
  15. package/dist/ui/search/types.d.ts.map +0 -1
  16. package/dist/ui/search.js +0 -199
  17. package/dist/ui/search.js.map +0 -1
  18. package/dist/ui/search.mjs +0 -194
  19. package/dist/ui/search.mjs.map +0 -1
  20. package/dist/ui/typography/blockquote-base.d.ts +0 -6
  21. package/dist/ui/typography/blockquote-base.d.ts.map +0 -1
  22. package/dist/ui/typography/blockquote.d.ts +0 -6
  23. package/dist/ui/typography/blockquote.d.ts.map +0 -1
  24. package/dist/ui/typography/code-block-base.d.ts +0 -6
  25. package/dist/ui/typography/code-block-base.d.ts.map +0 -1
  26. package/dist/ui/typography/code-block.d.ts +0 -6
  27. package/dist/ui/typography/code-block.d.ts.map +0 -1
  28. package/dist/ui/typography/heading-base.d.ts +0 -6
  29. package/dist/ui/typography/heading-base.d.ts.map +0 -1
  30. package/dist/ui/typography/heading.d.ts +0 -6
  31. package/dist/ui/typography/heading.d.ts.map +0 -1
  32. package/dist/ui/typography/index.d.ts +0 -9
  33. package/dist/ui/typography/index.d.ts.map +0 -1
  34. package/dist/ui/typography/inline-code-base.d.ts +0 -6
  35. package/dist/ui/typography/inline-code-base.d.ts.map +0 -1
  36. package/dist/ui/typography/inline-code.d.ts +0 -6
  37. package/dist/ui/typography/inline-code.d.ts.map +0 -1
  38. package/dist/ui/typography/list-base.d.ts +0 -10
  39. package/dist/ui/typography/list-base.d.ts.map +0 -1
  40. package/dist/ui/typography/list.d.ts +0 -12
  41. package/dist/ui/typography/list.d.ts.map +0 -1
  42. package/dist/ui/typography/text-base.d.ts +0 -6
  43. package/dist/ui/typography/text-base.d.ts.map +0 -1
  44. package/dist/ui/typography/text.d.ts +0 -6
  45. package/dist/ui/typography/text.d.ts.map +0 -1
  46. package/dist/ui/typography/types.d.ts +0 -56
  47. package/dist/ui/typography/types.d.ts.map +0 -1
  48. package/dist/ui/typography/variants.d.ts +0 -16
  49. package/dist/ui/typography/variants.d.ts.map +0 -1
  50. package/dist/ui/typography.js +0 -334
  51. package/dist/ui/typography.js.map +0 -1
  52. package/dist/ui/typography.mjs +0 -321
  53. package/dist/ui/typography.mjs.map +0 -1
  54. package/src/ui/search/filter-search-suggestions.test.ts +0 -48
  55. package/src/ui/search/filter-search-suggestions.ts +0 -43
  56. package/src/ui/search/index.ts +0 -11
  57. package/src/ui/search/search-bar.tsx +0 -83
  58. package/src/ui/search/search-suggestion-list.tsx +0 -103
  59. package/src/ui/search/search-suggestion-utils.test.ts +0 -9
  60. package/src/ui/search/search-suggestion-utils.ts +0 -8
  61. package/src/ui/search/types.ts +0 -52
  62. package/src/ui/typography/blockquote-base.tsx +0 -39
  63. package/src/ui/typography/blockquote.tsx +0 -8
  64. package/src/ui/typography/code-block-base.tsx +0 -37
  65. package/src/ui/typography/code-block.tsx +0 -8
  66. package/src/ui/typography/heading-base.tsx +0 -59
  67. package/src/ui/typography/heading.tsx +0 -8
  68. package/src/ui/typography/index.ts +0 -28
  69. package/src/ui/typography/inline-code-base.tsx +0 -27
  70. package/src/ui/typography/inline-code.tsx +0 -8
  71. package/src/ui/typography/list-base.tsx +0 -88
  72. package/src/ui/typography/list.tsx +0 -15
  73. package/src/ui/typography/text-base.tsx +0 -43
  74. package/src/ui/typography/text.tsx +0 -8
  75. package/src/ui/typography/types.ts +0 -90
  76. package/src/ui/typography/typography.test.tsx +0 -80
  77. package/src/ui/typography/variants.ts +0 -72
@@ -1,194 +0,0 @@
1
- "use client";
2
- import { inputVariants } from '../chunk-AOEI4V3W.mjs';
3
- import { cn } from '../chunk-DFEZH7TC.mjs';
4
- import { useId, Fragment } from 'react';
5
- import { jsxs, jsx } from 'react/jsx-runtime';
6
-
7
- var SearchBar = function SearchBar2({
8
- value,
9
- onValueChange,
10
- leadingSlot,
11
- className,
12
- inputClassName,
13
- appearance = "default",
14
- inputSize = "md",
15
- ring = true,
16
- id,
17
- onChange,
18
- disabled,
19
- type,
20
- comboboxListboxId,
21
- comboboxActiveOptionId,
22
- comboboxExpanded,
23
- ref,
24
- ...rest
25
- }) {
26
- const generatedId = useId();
27
- const controlId = id ?? generatedId;
28
- const combobox = Boolean(comboboxListboxId);
29
- return /* @__PURE__ */ jsxs(
30
- "div",
31
- {
32
- "data-slot": "search-bar",
33
- className: cn("relative flex w-full min-w-0 items-center", className),
34
- children: [
35
- leadingSlot ? /* @__PURE__ */ jsx(
36
- "span",
37
- {
38
- className: "pointer-events-none absolute left-3 top-1/2 z-1 flex -translate-y-1/2 text-slate-400 [&_svg]:size-4",
39
- "aria-hidden": true,
40
- children: leadingSlot
41
- }
42
- ) : null,
43
- /* @__PURE__ */ jsx(
44
- "input",
45
- {
46
- ref,
47
- id: controlId,
48
- type: type ?? "search",
49
- autoComplete: "off",
50
- spellCheck: false,
51
- disabled,
52
- value,
53
- "data-slot": "search-bar-input",
54
- className: cn(
55
- inputVariants({ appearance, size: inputSize, ring, as: "input" }),
56
- leadingSlot ? "pl-10" : null,
57
- inputClassName
58
- ),
59
- onChange: (event) => {
60
- onChange?.(event);
61
- onValueChange?.(event.target.value);
62
- },
63
- ...combobox ? {
64
- role: "combobox",
65
- "aria-autocomplete": "list",
66
- "aria-controls": comboboxListboxId,
67
- "aria-expanded": comboboxExpanded ?? false,
68
- ...comboboxActiveOptionId ? { "aria-activedescendant": comboboxActiveOptionId } : {}
69
- } : {},
70
- ...rest
71
- }
72
- )
73
- ]
74
- }
75
- );
76
- };
77
- SearchBar.displayName = "SearchBar";
78
-
79
- // src/ui/search/search-suggestion-utils.ts
80
- function searchSuggestionOptionDomId(listboxId, itemId) {
81
- const safe = itemId.replace(/[^a-zA-Z0-9_-]/g, "_");
82
- return `${listboxId}_opt_${safe}`;
83
- }
84
- var rowClassName = "flex w-full flex-col gap-0.5 rounded-lg px-3 py-2.5 text-left text-sm transition-colors hover:bg-white/5 focus-visible:bg-white/5 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-cyan-400/50";
85
- function SearchSuggestionList({
86
- items,
87
- onSelect,
88
- activeId,
89
- onActiveIdChange,
90
- listboxId,
91
- className,
92
- listClassName,
93
- emptyLabel
94
- }) {
95
- if (items.length === 0) {
96
- return /* @__PURE__ */ jsx(
97
- "div",
98
- {
99
- "data-slot": "search-suggestion-list-empty",
100
- className: cn("px-1 py-6 text-center text-sm text-slate-500", className),
101
- children: emptyLabel ?? "No matches."
102
- }
103
- );
104
- }
105
- const useListbox = Boolean(listboxId);
106
- const rows = [];
107
- let lastGroupSeen;
108
- for (const item of items) {
109
- const showGroup = Boolean(item.group && item.group !== lastGroupSeen);
110
- if (item.group) {
111
- lastGroupSeen = item.group;
112
- }
113
- rows.push({ item, showGroup });
114
- }
115
- return /* @__PURE__ */ jsx(
116
- "nav",
117
- {
118
- "data-slot": "search-suggestion-list",
119
- "aria-label": "Search results",
120
- className: cn("flex max-h-[min(50vh,360px)] flex-col gap-1 overflow-y-auto pr-1", className),
121
- children: /* @__PURE__ */ jsx(
122
- "div",
123
- {
124
- ...useListbox ? {
125
- id: listboxId,
126
- role: "listbox"
127
- } : {},
128
- className: cn("flex flex-col gap-0.5", listClassName),
129
- children: rows.map(({ item, showGroup }) => {
130
- const isActive = activeId === item.id;
131
- const optionDomId = useListbox && listboxId ? searchSuggestionOptionDomId(listboxId, item.id) : void 0;
132
- return /* @__PURE__ */ jsxs(Fragment, { children: [
133
- showGroup ? /* @__PURE__ */ jsx(
134
- "div",
135
- {
136
- role: "presentation",
137
- className: "sticky top-0 z-1 bg-slate-950/95 px-2 pb-1 pt-2 text-xs font-semibold uppercase tracking-wide text-slate-500 backdrop-blur-sm",
138
- children: item.group
139
- }
140
- ) : null,
141
- /* @__PURE__ */ jsxs(
142
- "button",
143
- {
144
- type: "button",
145
- id: optionDomId,
146
- role: useListbox ? "option" : void 0,
147
- "aria-selected": useListbox ? isActive : void 0,
148
- "data-active": isActive ? "" : void 0,
149
- className: cn(rowClassName, isActive ? "bg-white/5" : null),
150
- onMouseEnter: () => onActiveIdChange?.(item.id),
151
- onFocus: () => onActiveIdChange?.(item.id),
152
- onClick: () => onSelect(item.id),
153
- children: [
154
- /* @__PURE__ */ jsx("span", { className: "font-medium text-slate-100", children: item.label }),
155
- item.description ? /* @__PURE__ */ jsx("span", { className: "truncate text-xs text-slate-500", children: item.description }) : null
156
- ]
157
- }
158
- )
159
- ] }, item.id);
160
- })
161
- }
162
- )
163
- }
164
- );
165
- }
166
- SearchSuggestionList.displayName = "SearchSuggestionList";
167
-
168
- // src/ui/search/filter-search-suggestions.ts
169
- function filterSearchSuggestions({
170
- query,
171
- items,
172
- options = { maxResults: 20 }
173
- }) {
174
- const maxResults = options.maxResults ?? 20;
175
- const normalized = query.trim().toLowerCase();
176
- if (!normalized) {
177
- return [];
178
- }
179
- const matches = [];
180
- for (const item of items) {
181
- const isMatch = item.label.toLowerCase().includes(normalized) || item.description?.toLowerCase().includes(normalized) || item.href?.toLowerCase().includes(normalized) || item.keywords?.some((k) => k.toLowerCase().includes(normalized));
182
- if (isMatch) {
183
- matches.push(item);
184
- if (matches.length >= maxResults || maxResults <= 0) {
185
- break;
186
- }
187
- }
188
- }
189
- return matches;
190
- }
191
-
192
- export { SearchBar, SearchSuggestionList, filterSearchSuggestions, searchSuggestionOptionDomId };
193
- //# sourceMappingURL=search.mjs.map
194
- //# sourceMappingURL=search.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/ui/search/search-bar.tsx","../../src/ui/search/search-suggestion-utils.ts","../../src/ui/search/search-suggestion-list.tsx","../../src/ui/search/filter-search-suggestions.ts"],"names":["SearchBar","jsx","jsxs"],"mappings":"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","file":"search.mjs","sourcesContent":["\"use client\";\n\nimport { useId } from \"react\";\n\nimport { cn } from \"../../lib/utils\";\nimport { inputVariants } from \"../inputs/variants\";\n\nimport type { SearchBarProps } from \"./types\";\n\nexport const SearchBar = function SearchBar(\n {\n value,\n onValueChange,\n leadingSlot,\n className,\n inputClassName,\n appearance = \"default\",\n inputSize = \"md\",\n ring = true,\n id,\n onChange,\n disabled,\n type,\n comboboxListboxId,\n comboboxActiveOptionId,\n comboboxExpanded,\n ref,\n ...rest\n }: SearchBarProps,\n) {\n const generatedId = useId();\n const controlId = id ?? generatedId;\n const combobox = Boolean(comboboxListboxId);\n\n return (\n <div\n data-slot=\"search-bar\"\n className={cn(\"relative flex w-full min-w-0 items-center\", className)}\n >\n {leadingSlot ? (\n <span\n className=\"pointer-events-none absolute left-3 top-1/2 z-1 flex -translate-y-1/2 text-slate-400 [&_svg]:size-4\"\n aria-hidden\n >\n {leadingSlot}\n </span>\n ) : null}\n <input\n ref={ref}\n id={controlId}\n type={type ?? \"search\"}\n autoComplete=\"off\"\n spellCheck={false}\n disabled={disabled}\n value={value}\n data-slot=\"search-bar-input\"\n className={cn(\n inputVariants({ appearance, size: inputSize, ring, as: \"input\" }),\n leadingSlot ? \"pl-10\" : null,\n inputClassName,\n )}\n onChange={(event) => {\n onChange?.(event);\n onValueChange?.(event.target.value);\n }}\n {...(combobox\n ? {\n role: \"combobox\" as const,\n \"aria-autocomplete\": \"list\" as const,\n \"aria-controls\": comboboxListboxId,\n \"aria-expanded\": comboboxExpanded ?? false,\n ...(comboboxActiveOptionId\n ? { \"aria-activedescendant\": comboboxActiveOptionId }\n : {}),\n }\n : {})}\n {...rest}\n />\n </div>\n );\n}\n\nSearchBar.displayName = \"SearchBar\";\n","/**\n * Builds a stable DOM id for a listbox option so `aria-activedescendant` on the combobox\n * input can reference it. Safe for href-like `itemId` strings.\n */\nexport function searchSuggestionOptionDomId(listboxId: string, itemId: string): string {\n const safe = itemId.replace(/[^a-zA-Z0-9_-]/g, \"_\");\n return `${listboxId}_opt_${safe}`;\n}\n","\"use client\";\n\nimport { Fragment } from \"react\";\n\nimport { cn } from \"../../lib/utils\";\nimport { searchSuggestionOptionDomId } from \"./search-suggestion-utils\";\n\nimport type { SearchSuggestionListProps } from \"./types\";\n\nconst rowClassName =\n \"flex w-full flex-col gap-0.5 rounded-lg px-3 py-2.5 text-left text-sm transition-colors hover:bg-white/5 focus-visible:bg-white/5 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-cyan-400/50\";\n\nexport function SearchSuggestionList({\n items,\n onSelect,\n activeId,\n onActiveIdChange,\n listboxId,\n className,\n listClassName,\n emptyLabel,\n}: SearchSuggestionListProps) {\n if (items.length === 0) {\n return (\n <div\n data-slot=\"search-suggestion-list-empty\"\n className={cn(\"px-1 py-6 text-center text-sm text-slate-500\", className)}\n >\n {emptyLabel ?? \"No matches.\"}\n </div>\n );\n }\n\n const useListbox = Boolean(listboxId);\n\n const rows: Array<{\n item: (typeof items)[number];\n showGroup: boolean;\n }> = [];\n let lastGroupSeen: string | undefined;\n for (const item of items) {\n const showGroup = Boolean(item.group && item.group !== lastGroupSeen);\n if (item.group) {\n lastGroupSeen = item.group;\n }\n rows.push({ item, showGroup });\n }\n\n return (\n <nav\n data-slot=\"search-suggestion-list\"\n aria-label=\"Search results\"\n className={cn(\"flex max-h-[min(50vh,360px)] flex-col gap-1 overflow-y-auto pr-1\", className)}\n >\n <div\n {...(useListbox\n ? {\n id: listboxId,\n role: \"listbox\" as const,\n }\n : {})}\n className={cn(\"flex flex-col gap-0.5\", listClassName)}\n >\n {rows.map(({ item, showGroup }) => {\n const isActive = activeId === item.id;\n const optionDomId =\n useListbox && listboxId ? searchSuggestionOptionDomId(listboxId, item.id) : undefined;\n return (\n <Fragment key={item.id}>\n {showGroup ? (\n <div\n role=\"presentation\"\n className=\"sticky top-0 z-1 bg-slate-950/95 px-2 pb-1 pt-2 text-xs font-semibold uppercase tracking-wide text-slate-500 backdrop-blur-sm\"\n >\n {item.group}\n </div>\n ) : null}\n <button\n type=\"button\"\n id={optionDomId}\n role={useListbox ? \"option\" : undefined}\n aria-selected={useListbox ? isActive : undefined}\n data-active={isActive ? \"\" : undefined}\n className={cn(rowClassName, isActive ? \"bg-white/5\" : null)}\n onMouseEnter={() => onActiveIdChange?.(item.id)}\n onFocus={() => onActiveIdChange?.(item.id)}\n onClick={() => onSelect(item.id)}\n >\n <span className=\"font-medium text-slate-100\">{item.label}</span>\n {item.description ? (\n <span className=\"truncate text-xs text-slate-500\">{item.description}</span>\n ) : null}\n </button>\n </Fragment>\n );\n })}\n </div>\n </nav>\n );\n}\n\nSearchSuggestionList.displayName = \"SearchSuggestionList\";\n\n","import type { SearchFilterable } from \"./types\";\n\nexport type FilterSearchSuggestionsOptions = {\n /** Maximum number of matches returned. */\n maxResults?: number;\n};\n\n/**\n * Returns items whose label, description, href, or keywords contain the query (case-insensitive).\n * Whitespace-only query matches no items.\n */\nexport function filterSearchSuggestions<T extends SearchFilterable>({\n query,\n items,\n options = { maxResults: 20 },\n}: {\n query: string;\n items: readonly T[];\n options?: FilterSearchSuggestionsOptions;\n}): T[] {\n const maxResults = options.maxResults ?? 20;\n const normalized = query.trim().toLowerCase();\n if (!normalized) {\n return [];\n }\n\n const matches: T[] = [];\n for (const item of items) {\n const isMatch =\n item.label.toLowerCase().includes(normalized) ||\n (item.description?.toLowerCase().includes(normalized)) ||\n (item.href?.toLowerCase().includes(normalized)) ||\n (item.keywords?.some((k) => k.toLowerCase().includes(normalized)));\n\n if (isMatch) {\n matches.push(item);\n if (matches.length >= maxResults || maxResults <= 0) {\n break;\n }\n }\n }\n return matches;\n}\n"]}
@@ -1,6 +0,0 @@
1
- import type { BlockquoteProps } from "./types";
2
- export declare const BlockquoteBase: {
3
- (props: BlockquoteProps): import("react/jsx-runtime").JSX.Element;
4
- displayName: string;
5
- };
6
- //# sourceMappingURL=blockquote-base.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"blockquote-base.d.ts","sourceRoot":"","sources":["../../../src/ui/typography/blockquote-base.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG/C,eAAO,MAAM,cAAc;YAAW,eAAe;;CA6BpD,CAAC"}
@@ -1,6 +0,0 @@
1
- import type { BlockquoteProps } from "./types";
2
- export declare const Blockquote: {
3
- (props: BlockquoteProps): import("react/jsx-runtime").JSX.Element;
4
- displayName: string;
5
- };
6
- //# sourceMappingURL=blockquote.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"blockquote.d.ts","sourceRoot":"","sources":["../../../src/ui/typography/blockquote.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,UAAU;YAAW,eAAe;;CAEhD,CAAC"}
@@ -1,6 +0,0 @@
1
- import type { CodeBlockProps } from "./types";
2
- export declare const CodeBlockBase: {
3
- (props: CodeBlockProps): import("react/jsx-runtime").JSX.Element;
4
- displayName: string;
5
- };
6
- //# sourceMappingURL=code-block-base.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"code-block-base.d.ts","sourceRoot":"","sources":["../../../src/ui/typography/code-block-base.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9C,eAAO,MAAM,aAAa;YAAW,cAAc;;CA2BlD,CAAC"}
@@ -1,6 +0,0 @@
1
- import type { CodeBlockProps } from "./types";
2
- export declare const CodeBlock: {
3
- (props: CodeBlockProps): import("react/jsx-runtime").JSX.Element;
4
- displayName: string;
5
- };
6
- //# sourceMappingURL=code-block.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"code-block.d.ts","sourceRoot":"","sources":["../../../src/ui/typography/code-block.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,eAAO,MAAM,SAAS;YAAW,cAAc;;CAE9C,CAAC"}
@@ -1,6 +0,0 @@
1
- import type { HeadingProps } from "./types";
2
- export declare const HeadingBase: {
3
- (props: HeadingProps): import("react/jsx-runtime").JSX.Element;
4
- displayName: string;
5
- };
6
- //# sourceMappingURL=heading-base.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"heading-base.d.ts","sourceRoot":"","sources":["../../../src/ui/typography/heading-base.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAe5C,eAAO,MAAM,WAAW;YAAW,YAAY;;CAqC9C,CAAC"}
@@ -1,6 +0,0 @@
1
- import type { HeadingProps } from "./types";
2
- export declare const Heading: {
3
- (props: HeadingProps): import("react/jsx-runtime").JSX.Element;
4
- displayName: string;
5
- };
6
- //# sourceMappingURL=heading.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"heading.d.ts","sourceRoot":"","sources":["../../../src/ui/typography/heading.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,eAAO,MAAM,OAAO;YAAW,YAAY;;CAE1C,CAAC"}
@@ -1,9 +0,0 @@
1
- export { Heading } from "./heading";
2
- export { Text } from "./text";
3
- export { List, ListItem } from "./list";
4
- export { Blockquote } from "./blockquote";
5
- export { InlineCode } from "./inline-code";
6
- export { CodeBlock } from "./code-block";
7
- export type { BlockquoteProps, CodeBlockProps, HeadingLevel, HeadingProps, InlineCodeProps, ListItemProps, ListProps, TextElement, TextProps, TypographyTone, UnorderedMarker, } from "./types";
8
- export { headingLevelVariants, orderedListVariants, textSizeVariants, typographyToneVariants, unorderedListMarkerVariants, } from "./variants";
9
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/typography/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,YAAY,EACV,eAAe,EACf,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,aAAa,EACb,SAAS,EACT,WAAW,EACX,SAAS,EACT,cAAc,EACd,eAAe,GAChB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,YAAY,CAAC"}
@@ -1,6 +0,0 @@
1
- import type { InlineCodeProps } from "./types";
2
- export declare const InlineCodeBase: {
3
- (props: InlineCodeProps): import("react/jsx-runtime").JSX.Element;
4
- displayName: string;
5
- };
6
- //# sourceMappingURL=inline-code-base.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inline-code-base.d.ts","sourceRoot":"","sources":["../../../src/ui/typography/inline-code-base.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG/C,eAAO,MAAM,cAAc;YAAW,eAAe;;CAiBpD,CAAC"}
@@ -1,6 +0,0 @@
1
- import type { InlineCodeProps } from "./types";
2
- export declare const InlineCode: {
3
- (props: InlineCodeProps): import("react/jsx-runtime").JSX.Element;
4
- displayName: string;
5
- };
6
- //# sourceMappingURL=inline-code.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inline-code.d.ts","sourceRoot":"","sources":["../../../src/ui/typography/inline-code.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,UAAU;YAAW,eAAe;;CAEhD,CAAC"}
@@ -1,10 +0,0 @@
1
- import type { ListProps, ListItemProps } from "./types";
2
- export declare function ListBase(props: ListProps): import("react/jsx-runtime").JSX.Element;
3
- export declare namespace ListBase {
4
- var displayName: string;
5
- }
6
- export declare function ListItemBase(props: ListItemProps): import("react/jsx-runtime").JSX.Element;
7
- export declare namespace ListItemBase {
8
- var displayName: string;
9
- }
10
- //# sourceMappingURL=list-base.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-base.d.ts","sourceRoot":"","sources":["../../../src/ui/typography/list-base.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAOxD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,2CA2DxC;yBA3De,QAAQ;;;AA+DxB,wBAAgB,YAAY,CAAC,KAAK,EAAE,aAAa,2CAahD;yBAbe,YAAY"}
@@ -1,12 +0,0 @@
1
- import type { ListProps } from "./types";
2
- import { ListItemBase } from "./list-base";
3
- export declare const ListItem: typeof ListItemBase;
4
- declare function ListRoot(props: ListProps): import("react/jsx-runtime").JSX.Element;
5
- declare namespace ListRoot {
6
- var displayName: string;
7
- }
8
- export declare const List: typeof ListRoot & {
9
- Item: typeof ListItemBase;
10
- };
11
- export {};
12
- //# sourceMappingURL=list.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/ui/typography/list.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAY,YAAY,EAAE,MAAM,aAAa,CAAC;AAErD,eAAO,MAAM,QAAQ,qBAAe,CAAC;AAErC,iBAAS,QAAQ,CAAC,KAAK,EAAE,SAAS,2CAEjC;kBAFQ,QAAQ;;;AAIjB,eAAO,MAAM,IAAI;;CAEf,CAAC"}
@@ -1,6 +0,0 @@
1
- import type { TextProps } from "./types";
2
- export declare const TextBase: {
3
- (props: TextProps): import("react/jsx-runtime").JSX.Element;
4
- displayName: string;
5
- };
6
- //# sourceMappingURL=text-base.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"text-base.d.ts","sourceRoot":"","sources":["../../../src/ui/typography/text-base.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGzC,eAAO,MAAM,QAAQ;YAAW,SAAS;;CAmCxC,CAAC"}
@@ -1,6 +0,0 @@
1
- import type { TextProps } from "./types";
2
- export declare const Text: {
3
- (props: TextProps): import("react/jsx-runtime").JSX.Element;
4
- displayName: string;
5
- };
6
- //# sourceMappingURL=text.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/ui/typography/text.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,eAAO,MAAM,IAAI;YAAW,SAAS;;CAEpC,CAAC"}
@@ -1,56 +0,0 @@
1
- import type { VariantProps } from "class-variance-authority";
2
- import type { ComponentProps, HTMLAttributes, RefObject } from "react";
3
- import type { textSizeVariants, typographyToneVariants, unorderedListMarkerVariants } from "./variants";
4
- export type TypographyTone = NonNullable<VariantProps<typeof typographyToneVariants>["tone"]>;
5
- export type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
6
- export type HeadingProps = Omit<ComponentProps<"h1">, "color"> & {
7
- level: HeadingLevel;
8
- /** Visual scale; defaults to `level`. */
9
- displayLevel?: HeadingLevel;
10
- tone?: TypographyTone;
11
- bold?: boolean;
12
- italic?: boolean;
13
- underline?: boolean;
14
- strikethrough?: boolean;
15
- ref?: RefObject<HTMLHeadingElement>;
16
- };
17
- export type TextElement = "p" | "span" | "div" | "label";
18
- export type TextProps = Omit<HTMLAttributes<HTMLElement>, "color"> & {
19
- as?: TextElement;
20
- size?: NonNullable<VariantProps<typeof textSizeVariants>["size"]>;
21
- tone?: TypographyTone;
22
- bold?: boolean;
23
- italic?: boolean;
24
- underline?: boolean;
25
- strikethrough?: boolean;
26
- highlight?: boolean;
27
- };
28
- export type UnorderedMarker = NonNullable<VariantProps<typeof unorderedListMarkerVariants>["marker"]>;
29
- export type ListProps = (Omit<ComponentProps<"ul">, "color"> & {
30
- ordered?: false;
31
- marker?: UnorderedMarker;
32
- tone?: TypographyTone;
33
- }) | (Omit<ComponentProps<"ol">, "color"> & {
34
- ordered: true;
35
- marker?: undefined;
36
- tone?: TypographyTone;
37
- });
38
- export type ListItemProps = ComponentProps<"li"> & {
39
- ref?: RefObject<HTMLLIElement>;
40
- };
41
- export type BlockquoteProps = ComponentProps<"blockquote"> & {
42
- tone?: TypographyTone;
43
- /** Attribution label shown in a footer (distinct from the HTML `cite` URL attribute). */
44
- attribution?: string;
45
- ref?: RefObject<HTMLQuoteElement>;
46
- };
47
- export type InlineCodeProps = Omit<ComponentProps<"code">, "color"> & {
48
- tone?: TypographyTone;
49
- };
50
- export type CodeBlockProps = Omit<ComponentProps<"pre">, "color"> & {
51
- tone?: TypographyTone;
52
- /** Hint for stacked highlighting stacks / aria-labels. */
53
- language?: string;
54
- ref?: RefObject<HTMLPreElement>;
55
- };
56
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ui/typography/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,SAAS,EACV,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EACV,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,EAC5B,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,cAAc,GAAG,WAAW,CACtC,YAAY,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CACpD,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEjD,MAAM,MAAM,YAAY,GAAG,IAAI,CAC7B,cAAc,CAAC,IAAI,CAAC,EACpB,OAAO,CACR,GAAG;IACF,KAAK,EAAE,YAAY,CAAC;IACpB,yCAAyC;IACzC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,GAAG,CAAC,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,GAAG,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC;AAEzD,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,GAAG;IACnE,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB,IAAI,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAClE,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,WAAW,CACvC,YAAY,CAAC,OAAO,2BAA2B,CAAC,CAAC,QAAQ,CAAC,CAC3D,CAAC;AAEF,MAAM,MAAM,SAAS,GACjB,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG;IACrC,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB,CAAC,GACF,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG;IACrC,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB,CAAC,CAAC;AAEP,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG;IACjD,GAAG,CAAC,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,YAAY,CAAC,GAAG;IAC3D,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,yFAAyF;IACzF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,cAAc,CAAC,MAAM,CAAC,EACtB,OAAO,CACR,GAAG;IACF,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,cAAc,CAAC,KAAK,CAAC,EACrB,OAAO,CACR,GAAG;IACF,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;CACjC,CAAC"}
@@ -1,16 +0,0 @@
1
- /** Semantic text colors aligned with slate/cyan/violet accents used across the kit (dark-first). */
2
- export declare const typographyToneVariants: (props?: ({
3
- tone?: "error" | "default" | "secondary" | "destructive" | "success" | "warning" | "info" | "muted" | "primary" | "accent" | "gradient-pink-violet" | "gradient-cyan-violet" | "gradient-cyan-blue" | "gradient-cyan-green" | "gradient-cyan-orange" | "gradient-cyan-red" | "gradient-cyan-purple" | "gradient-cyan-pink" | null | undefined;
4
- } & import("class-variance-authority/types").ClassProp) | undefined) => string;
5
- export declare const headingLevelVariants: (props?: ({
6
- level?: 1 | 2 | 3 | 4 | 6 | 5 | null | undefined;
7
- } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
- export declare const textSizeVariants: (props?: ({
9
- size?: "base" | "sm" | "lg" | null | undefined;
10
- } & import("class-variance-authority/types").ClassProp) | undefined) => string;
11
- /** Marker style for unordered lists; ignored when `ordered` is true (decimal numbering). */
12
- export declare const unorderedListMarkerVariants: (props?: ({
13
- marker?: "circle" | "none" | "disc" | null | undefined;
14
- } & import("class-variance-authority/types").ClassProp) | undefined) => string;
15
- export declare const orderedListVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
16
- //# sourceMappingURL=variants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"variants.d.ts","sourceRoot":"","sources":["../../../src/ui/typography/variants.ts"],"names":[],"mappings":"AAEA,oGAAoG;AACpG,eAAO,MAAM,sBAAsB;;8EA0BjC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;8EAW/B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;8EAW3B,CAAC;AAEH,4FAA4F;AAC5F,eAAO,MAAM,2BAA2B;;8EAWtC,CAAC;AAEH,eAAO,MAAM,mBAAmB,oFAAqC,CAAC"}