@yoamigo.com/core 1.3.0 → 1.4.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.
- package/bin/icon-scanner-darwin-amd64 +0 -0
- package/bin/icon-scanner-darwin-arm64 +0 -0
- package/bin/icon-scanner-linux-amd64 +0 -0
- package/bin/icon-scanner-windows-amd64.exe +0 -0
- package/bin/icon-scanner.cjs +44 -0
- package/dist/icons-custom.d.ts +6011 -0
- package/dist/icons-custom.js +36 -0
- package/dist/icons.d.ts +2 -22
- package/dist/index.d.ts +186 -95
- package/dist/index.js +12572 -496
- package/dist/plugin.js +16 -0
- package/dist/prod.d.ts +89 -4
- package/dist/prod.js +220 -15
- package/dist/{icon-metadata-D-2LGr22.d.ts → useSafeTriangle-D5RnB8wa.d.ts} +74 -170
- package/package.json +11 -1
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// src/icons/custom-icons.tsx
|
|
2
|
+
import { forwardRef, createElement } from "react";
|
|
3
|
+
var appleMusicIconNode = [
|
|
4
|
+
[
|
|
5
|
+
"path",
|
|
6
|
+
{
|
|
7
|
+
d: "M23.994 6.124a9.23 9.23 0 00-.24-2.19c-.317-1.31-1.062-2.31-2.18-3.043a5.022 5.022 0 00-1.877-.726 10.496 10.496 0 00-1.564-.15c-.04-.003-.083-.01-.124-.013H5.986c-.152.01-.303.017-.455.026-.747.043-1.49.123-2.193.4-1.336.53-2.3 1.452-2.865 2.78-.192.448-.292.925-.363 1.408-.056.392-.088.785-.1 1.18 0 .032-.007.062-.01.093v12.223c.01.14.017.283.027.424.05.815.154 1.624.497 2.373.65 1.42 1.738 2.353 3.234 2.801.42.127.856.187 1.293.228.555.053 1.11.06 1.667.06h11.03a12.5 12.5 0 001.57-.1c.822-.106 1.596-.35 2.295-.81a5.046 5.046 0 001.88-2.207c.186-.42.293-.87.37-1.324.113-.675.138-1.358.137-2.04-.002-3.8 0-7.595-.003-11.393zm-6.423 3.99v5.712c0 .417-.058.827-.244 1.206-.29.59-.76.962-1.388 1.14-.35.1-.706.157-1.07.173-.95.045-1.773-.6-1.943-1.536a1.88 1.88 0 011.038-2.022c.323-.16.67-.25 1.018-.324.378-.082.758-.153 1.134-.24.274-.063.457-.23.51-.516a.904.904 0 00.02-.193c0-1.815 0-3.63-.002-5.443a.725.725 0 00-.026-.185c-.04-.15-.15-.243-.304-.234-.16.01-.318.035-.475.066-.76.15-1.52.303-2.28.456l-2.325.47-1.374.278c-.016.003-.032.01-.048.013-.277.077-.377.203-.39.49-.002.042 0 .086 0 .13-.002 2.602 0 5.204-.003 7.805 0 .42-.047.836-.215 1.227-.278.64-.77 1.04-1.434 1.233-.35.1-.71.16-1.075.172-.96.036-1.755-.6-1.92-1.544-.14-.812.23-1.685 1.154-2.075.357-.15.73-.232 1.108-.31.287-.06.575-.116.86-.177.383-.083.583-.323.6-.714v-.15c0-2.96 0-5.922.002-8.882 0-.123.013-.25.042-.37.07-.285.273-.448.546-.518.255-.066.515-.112.774-.165.733-.15 1.466-.296 2.2-.444l2.27-.46c.67-.134 1.34-.27 2.01-.403.22-.043.442-.088.663-.106.31-.025.523.17.554.482.008.073.012.148.012.223.002 1.91.002 3.822 0 5.732z",
|
|
8
|
+
key: "svg-0"
|
|
9
|
+
}
|
|
10
|
+
]
|
|
11
|
+
];
|
|
12
|
+
var IconBrandAppleMusic = forwardRef(
|
|
13
|
+
({ color = "currentColor", size = 24, className, style, title, ...rest }, ref) => createElement(
|
|
14
|
+
"svg",
|
|
15
|
+
{
|
|
16
|
+
ref,
|
|
17
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
18
|
+
width: size,
|
|
19
|
+
height: size,
|
|
20
|
+
viewBox: "0 0 24 24",
|
|
21
|
+
fill: color,
|
|
22
|
+
className,
|
|
23
|
+
style,
|
|
24
|
+
...rest
|
|
25
|
+
},
|
|
26
|
+
// Title element provides native browser tooltip on hover
|
|
27
|
+
title && createElement("title", { key: "title" }, title),
|
|
28
|
+
...appleMusicIconNode.map(([tag, attrs]) => createElement(tag, attrs))
|
|
29
|
+
)
|
|
30
|
+
);
|
|
31
|
+
IconBrandAppleMusic.displayName = "IconBrandAppleMusic";
|
|
32
|
+
var CUSTOM_ICON_NAMES = ["IconBrandAppleMusic"];
|
|
33
|
+
export {
|
|
34
|
+
CUSTOM_ICON_NAMES,
|
|
35
|
+
IconBrandAppleMusic
|
|
36
|
+
};
|
package/dist/icons.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import { SVGAttributes, CSSProperties } from 'react';
|
|
1
|
+
export { IconBrandAppleMusic } from './icons-custom.js';
|
|
3
2
|
export { default as IconAB } from '@tabler/icons-react/dist/esm/icons/IconAB.mjs';
|
|
4
3
|
export { default as IconAB2 } from '@tabler/icons-react/dist/esm/icons/IconAB2.mjs';
|
|
5
4
|
export { default as IconAbacus } from '@tabler/icons-react/dist/esm/icons/IconAbacus.mjs';
|
|
@@ -5987,23 +5986,4 @@ export { default as IconZoomScanFilled } from '@tabler/icons-react/dist/esm/icon
|
|
|
5987
5986
|
export { default as IconZzz } from '@tabler/icons-react/dist/esm/icons/IconZzz.mjs';
|
|
5988
5987
|
export { default as IconZzzOff } from '@tabler/icons-react/dist/esm/icons/IconZzzOff.mjs';
|
|
5989
5988
|
export { IconProps } from '@tabler/icons-react';
|
|
5990
|
-
|
|
5991
|
-
/**
|
|
5992
|
-
* Custom icon props - subset of Tabler IconProps that we actually use
|
|
5993
|
-
*/
|
|
5994
|
-
interface CustomIconProps extends Omit<SVGAttributes<SVGSVGElement>, 'stroke'> {
|
|
5995
|
-
size?: number | string;
|
|
5996
|
-
color?: string;
|
|
5997
|
-
className?: string;
|
|
5998
|
-
style?: CSSProperties;
|
|
5999
|
-
/** Tooltip text shown on hover */
|
|
6000
|
-
title?: string;
|
|
6001
|
-
}
|
|
6002
|
-
/**
|
|
6003
|
-
* Apple Music icon
|
|
6004
|
-
* Uses createElement instead of JSX to avoid bundler transformation issues.
|
|
6005
|
-
* This matches how Tabler icons are built internally.
|
|
6006
|
-
*/
|
|
6007
|
-
declare const IconBrandAppleMusic: React.ForwardRefExoticComponent<CustomIconProps & React.RefAttributes<SVGSVGElement>>;
|
|
6008
|
-
|
|
6009
|
-
export { IconBrandAppleMusic };
|
|
5989
|
+
import 'react';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { C as ChangeSource, Q as QueryFilter, b as CollectionRecord, o as CartItem, E as EditMode } from './cart-storage-DFdGPcwm.js';
|
|
2
2
|
export { a as CollectionClient, d as CollectionClientConfig, t as ContentStoreContextType, v as ContentStoreMode, p as ContentStoreProvider, L as ListOptions, c as ListResponse, S as SingleResponse, f as clearSessionId, g as getCollectionClient, n as getLocalCartItemCount, k as getLocalCartItems, e as getSessionId, i as initBuilderSelection, r as resetCollectionClient, q as useContentStore } from './cart-storage-DFdGPcwm.js';
|
|
3
|
-
export {
|
|
3
|
+
export { G as BackgroundConfig, H as BackgroundImageConfig, C as ContentStoreProviderProd, w as EmbedFieldValue, x as EmbedType, I as ImageFieldValue, g as MarkdownText, h as MarkdownTextProps, O as OverlayConfig, P as PageInfo, d as StaticImage, f as StaticImageProps, M as StaticText, S as StaticTextProps, V as VideoFieldValue, A as YaContainer, F as YaContainerProps, o as YaEmbed, r as YaEmbedProps, Y as YaImage, j as YaImageProps, y as YaLink, z as YaLinkProps, k as YaVideo, n as YaVideoProps, b as background, e as embed, i as image, l as link, B as parseBackgroundConfig, p as parseEmbedUrl, D as serializeBackgroundConfig, q as serializeEmbedValue, s as serializeImageValue, m as serializeVideoValue, t as text, a as useContentStoreProd, u as useSafeTriangle, v as video } from './useSafeTriangle-D5RnB8wa.js';
|
|
4
4
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
5
|
-
import React__default, { ReactNode } from 'react';
|
|
5
|
+
import React__default, { ReactNode, ComponentType } from 'react';
|
|
6
6
|
export { Link, LinkProps, NavigateFunction, RouteDefinition, Router, RouterProps, ScrollRestoration, createRouteDefinition, extractRouteParams, filePathToRoutePath, generatePath, sortRoutesBySpecificity, useNavigate } from './router.js';
|
|
7
7
|
export { Route, Switch, useLocation, useParams } from 'wouter';
|
|
8
8
|
export { A as AssetResolverFn, C as ContentRegistry, c as contentRegistry, a as getAllContent, g as getContent, h as hasContent, r as registerContent, b as resolveAssetUrl, s as setAssetResolver } from './asset-resolver-BnIvDkVv.js';
|
|
9
|
-
import '@tabler/icons-react';
|
|
9
|
+
import { IconProps } from '@tabler/icons-react';
|
|
10
10
|
|
|
11
11
|
/** Common HTML elements that YaText can render as */
|
|
12
12
|
type YaTextElement = 'span' | 'div' | 'p' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'label' | 'strong' | 'em';
|
|
@@ -100,40 +100,6 @@ interface SafeHtmlProps {
|
|
|
100
100
|
*/
|
|
101
101
|
declare function SafeHtml({ content, className, mode }: SafeHtmlProps): react_jsx_runtime.JSX.Element;
|
|
102
102
|
|
|
103
|
-
interface SafeTriangleBelowProps {
|
|
104
|
-
/** Ref to the trigger element */
|
|
105
|
-
triggerRef: React.RefObject<HTMLElement | null>;
|
|
106
|
-
/** Ref to the popover element */
|
|
107
|
-
popoverRef: React.RefObject<HTMLElement | null>;
|
|
108
|
-
/** Whether the popover is currently visible */
|
|
109
|
-
isVisible: boolean;
|
|
110
|
-
/** Called when mouse leaves the safe zone */
|
|
111
|
-
onLeave?: () => void;
|
|
112
|
-
/** Called when mouse stays inside the safe zone (cancels hide timeout) */
|
|
113
|
-
onStayInside?: () => void;
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* SafeTriangleBelow creates a safe zone between a trigger element and a popover,
|
|
117
|
-
* preventing the popover from closing when users move their mouse through the gap.
|
|
118
|
-
*
|
|
119
|
-
* The safe zone is a bounding box around both elements. Mouse position is tracked
|
|
120
|
-
* and onLeave is called when the mouse exits this zone.
|
|
121
|
-
*
|
|
122
|
-
* The SVG visualization is purely for debugging (pointer-events: none) -
|
|
123
|
-
* all mouse tracking is done via position checking, allowing clicks to pass through.
|
|
124
|
-
*
|
|
125
|
-
* Usage:
|
|
126
|
-
* ```tsx
|
|
127
|
-
* <SafeTriangleBelow
|
|
128
|
-
* triggerRef={triggerRef}
|
|
129
|
-
* popoverRef={popoverRef}
|
|
130
|
-
* isVisible={isOpen}
|
|
131
|
-
* onLeave={() => setIsOpen(false)}
|
|
132
|
-
* />
|
|
133
|
-
* ```
|
|
134
|
-
*/
|
|
135
|
-
declare function SafeTriangleBelow({ triggerRef, popoverRef, isVisible, onLeave, onStayInside, }: SafeTriangleBelowProps): null;
|
|
136
|
-
|
|
137
103
|
interface TooltipProps {
|
|
138
104
|
/** Tooltip content */
|
|
139
105
|
content: React.ReactNode;
|
|
@@ -1066,63 +1032,6 @@ interface AnimatedTextOptions {
|
|
|
1066
1032
|
*/
|
|
1067
1033
|
declare function useAnimatedText(fieldId: string, content: string, options?: AnimatedTextOptions): AnimatedTextResult;
|
|
1068
1034
|
|
|
1069
|
-
interface UseSafeTriangleOptions {
|
|
1070
|
-
/** Delay before showing popover (ms) */
|
|
1071
|
-
showDelay?: number;
|
|
1072
|
-
/** Delay before hiding popover after mouse leaves (ms) */
|
|
1073
|
-
hideDelay?: number;
|
|
1074
|
-
/** Whether the hook is enabled (for edit mode check) */
|
|
1075
|
-
enabled?: boolean;
|
|
1076
|
-
}
|
|
1077
|
-
interface UseSafeTriangleReturn<T extends HTMLElement, U extends HTMLElement> {
|
|
1078
|
-
/** Ref to attach to the trigger element */
|
|
1079
|
-
triggerRef: React.RefObject<T | null>;
|
|
1080
|
-
/** Ref to attach to the popover element */
|
|
1081
|
-
popoverRef: React.RefObject<U | null>;
|
|
1082
|
-
/** Whether the popover should be visible */
|
|
1083
|
-
isVisible: boolean;
|
|
1084
|
-
/** Event handlers to spread on the trigger container */
|
|
1085
|
-
handlers: {
|
|
1086
|
-
onMouseEnter: () => void;
|
|
1087
|
-
onMouseLeave: () => void;
|
|
1088
|
-
onFocus: () => void;
|
|
1089
|
-
};
|
|
1090
|
-
/** Props to spread on the SafeTriangleBelow component */
|
|
1091
|
-
triangleProps: {
|
|
1092
|
-
triggerRef: React.RefObject<T | null>;
|
|
1093
|
-
popoverRef: React.RefObject<U | null>;
|
|
1094
|
-
isVisible: boolean;
|
|
1095
|
-
onLeave: () => void;
|
|
1096
|
-
onStayInside: () => void;
|
|
1097
|
-
};
|
|
1098
|
-
/** Manually show the popover */
|
|
1099
|
-
show: () => void;
|
|
1100
|
-
/** Manually hide the popover */
|
|
1101
|
-
hide: () => void;
|
|
1102
|
-
}
|
|
1103
|
-
/**
|
|
1104
|
-
* Hook for managing safe triangle popover state.
|
|
1105
|
-
* Handles show/hide delays and provides all necessary refs and handlers.
|
|
1106
|
-
*
|
|
1107
|
-
* @example
|
|
1108
|
-
* ```tsx
|
|
1109
|
-
* const { triggerRef, popoverRef, isVisible, handlers, triangleProps } = useSafeTriangle()
|
|
1110
|
-
*
|
|
1111
|
-
* return (
|
|
1112
|
-
* <div>
|
|
1113
|
-
* <a ref={triggerRef} {...handlers}>
|
|
1114
|
-
* Hover me
|
|
1115
|
-
* </a>
|
|
1116
|
-
* {isVisible && (
|
|
1117
|
-
* <div ref={popoverRef}>Popover content</div>
|
|
1118
|
-
* )}
|
|
1119
|
-
* <SafeTriangleBelow {...triangleProps} />
|
|
1120
|
-
* </div>
|
|
1121
|
-
* )
|
|
1122
|
-
* ```
|
|
1123
|
-
*/
|
|
1124
|
-
declare function useSafeTriangle<T extends HTMLElement = HTMLElement, U extends HTMLElement = HTMLDivElement>(options?: UseSafeTriangleOptions): UseSafeTriangleReturn<T, U>;
|
|
1125
|
-
|
|
1126
1035
|
/**
|
|
1127
1036
|
* useContent - Unified Content Access Hook
|
|
1128
1037
|
*
|
|
@@ -1784,6 +1693,188 @@ interface UseSubscriptionStatusResult {
|
|
|
1784
1693
|
*/
|
|
1785
1694
|
declare function useSubscriptionStatus(options: UseSubscriptionStatusOptions): UseSubscriptionStatusResult;
|
|
1786
1695
|
|
|
1696
|
+
/**
|
|
1697
|
+
* DynamicIcon Component - Render icons by name with lazy loading
|
|
1698
|
+
*
|
|
1699
|
+
* This component loads Tabler icons dynamically to enable tree-shaking.
|
|
1700
|
+
* Icons are loaded on-demand and cached for subsequent renders.
|
|
1701
|
+
*
|
|
1702
|
+
* @example
|
|
1703
|
+
* ```tsx
|
|
1704
|
+
* // Basic usage
|
|
1705
|
+
* <DynamicIcon name="IconBrandTwitter" size={24} />
|
|
1706
|
+
*
|
|
1707
|
+
* // With custom styling
|
|
1708
|
+
* <DynamicIcon name="IconHeart" size={20} color="red" stroke={1.5} />
|
|
1709
|
+
*
|
|
1710
|
+
* // With fallback while loading
|
|
1711
|
+
* <DynamicIcon name="IconUser" size={24} fallback={<Spinner />} />
|
|
1712
|
+
* ```
|
|
1713
|
+
*/
|
|
1714
|
+
|
|
1715
|
+
interface DynamicIconProps extends Omit<IconProps, 'ref'> {
|
|
1716
|
+
/** Name of the Tabler icon (e.g., "IconBrandTwitter", "IconHeart") */
|
|
1717
|
+
name: string;
|
|
1718
|
+
/** Optional fallback element to show while loading */
|
|
1719
|
+
fallback?: React__default.ReactNode;
|
|
1720
|
+
/** Additional class name for the icon wrapper */
|
|
1721
|
+
className?: string;
|
|
1722
|
+
}
|
|
1723
|
+
/**
|
|
1724
|
+
* Renders a Tabler icon by name with lazy loading.
|
|
1725
|
+
*
|
|
1726
|
+
* The component first checks the cache for an already-loaded icon.
|
|
1727
|
+
* If not found, it dynamically imports the icon and caches it.
|
|
1728
|
+
*
|
|
1729
|
+
* For production builds where specific icons are known ahead of time,
|
|
1730
|
+
* consider pre-registering icons with `registerIcon()` for faster initial render.
|
|
1731
|
+
*/
|
|
1732
|
+
declare function DynamicIconComponent({ name, fallback, className, size, stroke, ...props }: DynamicIconProps): React__default.ReactElement | null;
|
|
1733
|
+
/**
|
|
1734
|
+
* Memoized DynamicIcon to prevent unnecessary re-renders.
|
|
1735
|
+
* Re-renders only when name or size/stroke props change.
|
|
1736
|
+
*/
|
|
1737
|
+
declare const DynamicIcon: React__default.MemoExoticComponent<typeof DynamicIconComponent>;
|
|
1738
|
+
|
|
1739
|
+
/**
|
|
1740
|
+
* Icon Registry - Dynamic import system with caching
|
|
1741
|
+
*
|
|
1742
|
+
* This module provides tree-shakeable icon loading:
|
|
1743
|
+
* - Pre-register icons for faster initial render (sync)
|
|
1744
|
+
* - Dynamic import for lazy loading (async)
|
|
1745
|
+
* - LRU-like cache to prevent memory bloat
|
|
1746
|
+
* - Static loaders generated at build time for Webpack compatibility
|
|
1747
|
+
*/
|
|
1748
|
+
|
|
1749
|
+
type IconComponent = ComponentType<IconProps>;
|
|
1750
|
+
type IconLoader = () => Promise<{
|
|
1751
|
+
default: IconComponent;
|
|
1752
|
+
}>;
|
|
1753
|
+
/**
|
|
1754
|
+
* Pre-register an icon with a custom loader.
|
|
1755
|
+
* Use this for icons that should be available immediately (e.g., commonly used icons).
|
|
1756
|
+
*
|
|
1757
|
+
* @example
|
|
1758
|
+
* ```ts
|
|
1759
|
+
* // Pre-register for faster loading
|
|
1760
|
+
* registerIcon('IconBrandTwitter', () => import('@tabler/icons-react').then(m => ({ default: m.IconBrandTwitter })))
|
|
1761
|
+
* ```
|
|
1762
|
+
*/
|
|
1763
|
+
declare function registerIcon(name: string, loader: IconLoader): void;
|
|
1764
|
+
/**
|
|
1765
|
+
* Pre-register multiple icons at once.
|
|
1766
|
+
*
|
|
1767
|
+
* @example
|
|
1768
|
+
* ```ts
|
|
1769
|
+
* registerIcons({
|
|
1770
|
+
* IconBrandTwitter: () => import('@tabler/icons-react').then(m => ({ default: m.IconBrandTwitter })),
|
|
1771
|
+
* IconBrandFacebook: () => import('@tabler/icons-react').then(m => ({ default: m.IconBrandFacebook })),
|
|
1772
|
+
* })
|
|
1773
|
+
* ```
|
|
1774
|
+
*/
|
|
1775
|
+
declare function registerIcons(loaders: Record<string, IconLoader>): void;
|
|
1776
|
+
/**
|
|
1777
|
+
* Get a cached icon component synchronously.
|
|
1778
|
+
* Returns null if the icon hasn't been loaded yet.
|
|
1779
|
+
*
|
|
1780
|
+
* @example
|
|
1781
|
+
* ```ts
|
|
1782
|
+
* const Icon = getIcon('IconBrandTwitter')
|
|
1783
|
+
* if (Icon) {
|
|
1784
|
+
* return <Icon size={24} />
|
|
1785
|
+
* }
|
|
1786
|
+
* ```
|
|
1787
|
+
*/
|
|
1788
|
+
declare function getIcon(name: string): IconComponent | null;
|
|
1789
|
+
/**
|
|
1790
|
+
* Load an icon dynamically with caching.
|
|
1791
|
+
* Uses pre-registered loader if available, otherwise falls back to dynamic import.
|
|
1792
|
+
*
|
|
1793
|
+
* @example
|
|
1794
|
+
* ```ts
|
|
1795
|
+
* const Icon = await loadIcon('IconBrandTwitter')
|
|
1796
|
+
* if (Icon) {
|
|
1797
|
+
* return <Icon size={24} />
|
|
1798
|
+
* }
|
|
1799
|
+
* ```
|
|
1800
|
+
*/
|
|
1801
|
+
declare function loadIcon(name: string): Promise<IconComponent | null>;
|
|
1802
|
+
/**
|
|
1803
|
+
* Preload multiple icons in parallel.
|
|
1804
|
+
* Useful for preloading icons that will be used soon.
|
|
1805
|
+
*
|
|
1806
|
+
* @example
|
|
1807
|
+
* ```ts
|
|
1808
|
+
* // Preload social icons before they're needed
|
|
1809
|
+
* await preloadIcons(['IconBrandTwitter', 'IconBrandFacebook', 'IconBrandInstagram'])
|
|
1810
|
+
* ```
|
|
1811
|
+
*/
|
|
1812
|
+
declare function preloadIcons(names: string[]): Promise<void>;
|
|
1813
|
+
/**
|
|
1814
|
+
* Check if an icon is loaded and cached.
|
|
1815
|
+
*/
|
|
1816
|
+
declare function isIconLoaded(name: string): boolean;
|
|
1817
|
+
|
|
1818
|
+
/**
|
|
1819
|
+
* Icon Metadata - Curated list of commonly used icons + all Tabler icons
|
|
1820
|
+
*
|
|
1821
|
+
* This file contains metadata (strings) for search/filtering.
|
|
1822
|
+
* Actual icon components are loaded dynamically via icon-registry.ts
|
|
1823
|
+
*
|
|
1824
|
+
* Categories:
|
|
1825
|
+
* - brand: Social media and brand logos
|
|
1826
|
+
* - communication: Email, phone, chat
|
|
1827
|
+
* - media: Play, pause, volume, music
|
|
1828
|
+
* - navigation: Arrows, menu, home
|
|
1829
|
+
* - commerce: Cart, payment, shipping
|
|
1830
|
+
* - ui: Common UI elements
|
|
1831
|
+
* - files: Documents, folders
|
|
1832
|
+
* - weather: Weather icons
|
|
1833
|
+
* - misc: Miscellaneous useful icons
|
|
1834
|
+
*
|
|
1835
|
+
* Search Features:
|
|
1836
|
+
* - Keyword matching (exact substring)
|
|
1837
|
+
* - Alias matching (common abbreviations, rebrands)
|
|
1838
|
+
* - Fuzzy matching (typo tolerance via Levenshtein distance)
|
|
1839
|
+
* - All ~6000 Tabler icons available (auto-categorized by name)
|
|
1840
|
+
*/
|
|
1841
|
+
type IconCategory = 'brand' | 'communication' | 'media' | 'navigation' | 'commerce' | 'ui' | 'files' | 'weather' | 'misc';
|
|
1842
|
+
interface IconMeta {
|
|
1843
|
+
name: string;
|
|
1844
|
+
category: IconCategory;
|
|
1845
|
+
keywords: string[];
|
|
1846
|
+
}
|
|
1847
|
+
/**
|
|
1848
|
+
* Curated list of ~150 commonly used icons
|
|
1849
|
+
* These cover most website builder use cases
|
|
1850
|
+
*/
|
|
1851
|
+
declare const ICON_METADATA: IconMeta[];
|
|
1852
|
+
/**
|
|
1853
|
+
* Category display names for the icon picker UI
|
|
1854
|
+
*/
|
|
1855
|
+
declare const ICON_CATEGORIES: Record<IconCategory, string>;
|
|
1856
|
+
/**
|
|
1857
|
+
* Get icons by category (from all icons)
|
|
1858
|
+
*/
|
|
1859
|
+
declare function getIconsByCategory(category: IconCategory): IconMeta[];
|
|
1860
|
+
/**
|
|
1861
|
+
* Search icons by keyword, alias, or fuzzy name match
|
|
1862
|
+
* Searches all ~6000 Tabler icons
|
|
1863
|
+
* @param query - Search query
|
|
1864
|
+
* @param limit - Maximum number of results (default: 150 for performance)
|
|
1865
|
+
*/
|
|
1866
|
+
declare function searchIcons(query: string, limit?: number): IconMeta[];
|
|
1867
|
+
/**
|
|
1868
|
+
* Get icon metadata by name
|
|
1869
|
+
*/
|
|
1870
|
+
declare function getIconMeta(name: string): IconMeta | undefined;
|
|
1871
|
+
/**
|
|
1872
|
+
* Get human-readable label from icon name
|
|
1873
|
+
* e.g., "IconBrandTwitter" -> "Twitter"
|
|
1874
|
+
* e.g., "IconShoppingCart" -> "Shopping Cart"
|
|
1875
|
+
*/
|
|
1876
|
+
declare function getIconLabel(name: string): string;
|
|
1877
|
+
|
|
1787
1878
|
interface IconPickerProps {
|
|
1788
1879
|
/** Currently selected icon name (e.g., "IconBrandTwitter") */
|
|
1789
1880
|
value: string | null;
|
|
@@ -1799,4 +1890,4 @@ declare function getIconPickerLabel(value: string | null): string;
|
|
|
1799
1890
|
|
|
1800
1891
|
declare function IconPicker({ value, onChange, onClose }: IconPickerProps): react_jsx_runtime.JSX.Element;
|
|
1801
1892
|
|
|
1802
|
-
export { type AIEditContextValue, AIEditProvider, type AccessRule, type AnimatedTextOptions, type AnimatedTextResult, type AnimationConfig, type AnimationMetadata, type AnimationOptions, type AnimationPhase, type AnimationResult, type AnimationState, type AnimationStrategy, type AnyField, type AssetAccessInfo, CartItem, CartProvider, type CartProviderProps, type CheckoutOptions, type CheckoutResult, type CheckoutSessionStatus, type CollectionContentContextValue, CollectionContentProvider, type CollectionContentProviderProps, type CollectionData, CollectionDetailPage, type CollectionDetailPageProps, type CollectionDetailRenderProps, CollectionItem, type CollectionItemProps, type CollectionItemRenderProps, CollectionList, type CollectionListData, CollectionListPage, type CollectionListPageProps, type CollectionListPaginationProps, type CollectionListProps, type CollectionListRenderProps, CollectionRecord, type ContainerField, type ContentHandle, type CustomerPortalParams, type CustomerPortalResult, type EmbedField, IconPicker, type IconPickerProps, type ImageField, type ImageValue, type LinkField, type LinkValue, type Product, QueryFilter, SafeHtml, type SafeHtmlProps,
|
|
1893
|
+
export { type AIEditContextValue, AIEditProvider, type AccessRule, type AnimatedTextOptions, type AnimatedTextResult, type AnimationConfig, type AnimationMetadata, type AnimationOptions, type AnimationPhase, type AnimationResult, type AnimationState, type AnimationStrategy, type AnyField, type AssetAccessInfo, CartItem, CartProvider, type CartProviderProps, type CheckoutOptions, type CheckoutResult, type CheckoutSessionStatus, type CollectionContentContextValue, CollectionContentProvider, type CollectionContentProviderProps, type CollectionData, CollectionDetailPage, type CollectionDetailPageProps, type CollectionDetailRenderProps, CollectionItem, type CollectionItemProps, type CollectionItemRenderProps, CollectionList, type CollectionListData, CollectionListPage, type CollectionListPageProps, type CollectionListPaginationProps, type CollectionListProps, type CollectionListRenderProps, CollectionRecord, type ContainerField, type ContentHandle, type CustomerPortalParams, type CustomerPortalResult, DynamicIcon, type DynamicIconProps, type EmbedField, ICON_CATEGORIES, ICON_METADATA, type IconCategory, type IconComponent, type IconLoader, type IconMeta, IconPicker, type IconPickerProps, type ImageField, type ImageValue, type LinkField, type LinkValue, type Product, QueryFilter, SafeHtml, type SafeHtmlProps, type SubscribeParams, type SubscribeResult, type SubscriptionDetails, type SubscriptionPrice, type SubscriptionProduct, type SubscriptionStatusResult, type SubscriptionStatusType, type SubscriptionTier, type TextAnimationMetadata, type TextDiff, type TextField, Tooltip, type TooltipProps, type UseCartOptions, type UseCartResult, type UseCheckoutOptions, type UseCheckoutResult, type UseCheckoutStatusOptions, type UseCheckoutStatusResult, type UseCollectionListOptions, type UseCollectionListResult, type UseCollectionRecordOptions, type UseCollectionRecordResult, type UseCustomerPortalOptions, type UseCustomerPortalResult, type UseProductOptions, type UseProductResult, type UseProductsOptions, type UseProductsResult, type UseSubscriptionOptions, type UseSubscriptionResult, type UseSubscriptionStatusOptions, type UseSubscriptionStatusResult, type UseSubscriptionTiersOptions, type UseSubscriptionTiersResult, type VideoField, YaIcon, type YaIconProps, YaProtectedMedia, type YaProtectedMediaProps, YaText, type YaTextProps, buildIntermediateText, calculateAnimationTiming, computeTextDiff, containsHtml, getIcon, getIconLabel, getIconMeta, getIconPickerLabel, getIconsByCategory, getTextCursorPosition, imageCrossfadeStrategy, isIconLoaded, linkTransitionStrategy, loadIcon, parseFieldValue, preloadIcons, registerIcon, registerIcons, searchIcons, stringifyFieldValue, stripHtml, textTypingStrategy, useAIEditAnimation, useAIEditContext, useAIEditContextOptional, useAnimatedText, useCart, useCartContext, useCheckout, useCheckoutStatus, useCollectionContent, useCollectionList, useCollectionRecord, useContent, useCustomerPortal, useOptionalCartContext, useProduct, useProducts, useSubscription, useSubscriptionStatus, useSubscriptionTiers };
|