@regardio/react 0.4.5 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +5 -5
- package/dist/{components/background-slideshow.js → background-slideshow/index.js} +2 -11
- package/dist/{components/blurry-gradient.js → blurry-gradient/index.js} +15 -9
- package/dist/{components/carousel.d.ts → carousel/index.d.ts} +17 -9
- package/dist/{components/carousel.js → carousel/index.js} +34 -30
- package/dist/{components/countdown.js → countdown/index.js} +2 -11
- package/dist/{components/generic-error.js → generic-error/index.js} +1 -1
- package/dist/grid/index.d.ts +1196 -0
- package/dist/grid/index.js +239 -0
- package/dist/heading/index.d.ts +24 -0
- package/dist/{components/heading.js → heading/index.js} +15 -34
- package/dist/highlight/index.d.ts +13 -0
- package/dist/{components/highlight.js → highlight/index.js} +9 -17
- package/dist/hooks/{use-current-route-data.js → use-current-route-data/index.js} +1 -1
- package/dist/hooks/{use-focus-search.js → use-focus-search/index.js} +1 -1
- package/dist/hooks/{use-matches-data.js → use-matches-data/index.js} +1 -1
- package/dist/hooks/{use-media-query.js → use-media-query/index.js} +1 -1
- package/dist/hooks/{use-mobile.js → use-mobile/index.js} +1 -1
- package/dist/hooks/use-nonce/index.d.ts +6 -0
- package/dist/hooks/use-nonce/index.js +8 -0
- package/dist/hooks/{use-orientation.d.ts → use-orientation/index.d.ts} +1 -1
- package/dist/hooks/{use-orientation.js → use-orientation/index.js} +1 -1
- package/dist/hooks/{use-user.js → use-user/index.js} +1 -1
- package/dist/{components/icon-button.js → icon-button/index.js} +1 -1
- package/dist/{components/if.js → if/index.js} +1 -1
- package/dist/{components/iframe.js → iframe/index.js} +2 -11
- package/dist/{components/link.d.ts → link/index.d.ts} +19 -13
- package/dist/{components/link.js → link/index.js} +31 -36
- package/dist/list/index.d.ts +69 -0
- package/dist/list/index.js +65 -0
- package/dist/{components/markdown-container.js → markdown-container/index.js} +3 -67
- package/dist/{components/password-input.js → password-input/index.js} +2 -11
- package/dist/{components/picture.js → picture/index.js} +2 -11
- package/dist/{components/protected-email.d.ts → protected-email/index.d.ts} +1 -1
- package/dist/{components/protected-email.js → protected-email/index.js} +1 -1
- package/dist/text/index.d.ts +20 -0
- package/dist/text/index.js +38 -0
- package/dist/utils/author/index.d.ts +3 -0
- package/dist/utils/author/index.js +33 -0
- package/dist/utils/text/index.d.ts +15 -0
- package/dist/utils/text/index.js +73 -0
- package/package.json +124 -26
- package/src/{stories/BackgroundSlideshow.stories.tsx → background-slideshow/background-slideshow.stories.tsx} +1 -1
- package/src/{components → background-slideshow}/background-slideshow.tsx +3 -1
- package/src/background-slideshow/index.ts +2 -0
- package/src/{stories/BlurryGradient.stories.tsx → blurry-gradient/blurry-gradient.stories.tsx} +1 -1
- package/src/{components → blurry-gradient}/blurry-gradient.tsx +14 -8
- package/src/blurry-gradient/index.ts +2 -0
- package/src/carousel/carousel-content.tsx +16 -0
- package/src/carousel/carousel-item.tsx +23 -0
- package/src/carousel/carousel-next.tsx +22 -0
- package/src/carousel/carousel-previous.tsx +22 -0
- package/src/{components/carousel.tsx → carousel/carousel-root.tsx} +8 -78
- package/src/carousel/carousel.stories.tsx +89 -0
- package/src/carousel/index.parts.ts +5 -0
- package/src/carousel/index.ts +4 -0
- package/src/{stories/Countdown.stories.tsx → countdown/countdown.stories.tsx} +1 -1
- package/src/{components → countdown}/countdown.tsx +3 -7
- package/src/countdown/index.ts +1 -0
- package/src/{stories/GenericError.stories.tsx → generic-error/generic-error.stories.tsx} +1 -1
- package/src/{components → generic-error}/generic-error.tsx +2 -0
- package/src/generic-error/index.ts +2 -0
- package/src/grid/grid-item.tsx +188 -0
- package/src/grid/grid-root.tsx +72 -0
- package/src/grid/grid.stories.tsx +236 -0
- package/src/grid/index.parts.ts +2 -0
- package/src/grid/index.ts +5 -0
- package/src/{stories/Heading.stories.tsx → heading/heading.stories.tsx} +1 -1
- package/src/{components → heading}/heading.tsx +17 -25
- package/src/heading/index.ts +2 -0
- package/src/{stories/Highlight.stories.tsx → highlight/highlight.stories.tsx} +1 -1
- package/src/{components → highlight}/highlight.tsx +13 -9
- package/src/highlight/index.ts +2 -0
- package/src/hooks/use-current-route-data/index.ts +1 -0
- package/src/hooks/use-focus-search/index.ts +1 -0
- package/src/hooks/use-matches-data/index.ts +1 -0
- package/src/hooks/use-media-query/index.ts +1 -0
- package/src/hooks/use-mobile/index.ts +1 -0
- package/src/hooks/use-nonce/index.ts +1 -0
- package/src/hooks/use-orientation/index.ts +1 -0
- package/src/hooks/use-user/index.ts +2 -0
- package/src/{stories/IconButton.stories.tsx → icon-button/icon-button.stories.tsx} +1 -1
- package/src/icon-button/index.ts +2 -0
- package/src/{stories/If.stories.tsx → if/if.stories.tsx} +1 -1
- package/src/if/index.ts +1 -0
- package/src/{stories/Iframe.stories.tsx → iframe/iframe.stories.tsx} +1 -1
- package/src/{components → iframe}/iframe.tsx +1 -1
- package/src/iframe/index.ts +2 -0
- package/src/link/index.ts +2 -0
- package/src/{stories/Link.stories.tsx → link/link.stories.tsx} +1 -1
- package/src/{components → link}/link.tsx +39 -28
- package/src/list/index.parts.ts +2 -0
- package/src/list/index.ts +4 -0
- package/src/list/list-item.tsx +63 -0
- package/src/list/list-root-context.ts +21 -0
- package/src/list/list-root.tsx +81 -0
- package/src/list/list.css +32 -0
- package/src/list/list.stories.tsx +119 -0
- package/src/list/list.test.tsx +168 -0
- package/src/markdown-container/index.ts +2 -0
- package/src/{stories/MarkdownContainer.stories.tsx → markdown-container/markdown-container.stories.tsx} +1 -1
- package/src/{components → markdown-container}/markdown-container.tsx +3 -1
- package/src/password-input/index.ts +2 -0
- package/src/{stories/PasswordInput.stories.tsx → password-input/password-input.stories.tsx} +1 -1
- package/src/{components → password-input}/password-input.tsx +4 -4
- package/src/picture/index.ts +2 -0
- package/src/{stories/Picture.stories.tsx → picture/picture.stories.tsx} +1 -1
- package/src/{components → picture}/picture.tsx +2 -4
- package/src/protected-email/index.ts +2 -0
- package/src/{stories/ProtectedEmail.stories.tsx → protected-email/protected-email.stories.tsx} +1 -1
- package/src/{components → protected-email}/protected-email.tsx +3 -1
- package/src/tailwind.css +10 -0
- package/src/text/index.ts +2 -0
- package/src/{stories/Text.stories.tsx → text/text.stories.tsx} +1 -1
- package/src/text/text.tsx +46 -0
- package/src/utils/author/author.tsx +36 -0
- package/src/utils/author/index.ts +1 -0
- package/src/utils/text/index.ts +1 -0
- package/src/utils/text/text.tsx +103 -0
- package/dist/components/box.d.ts +0 -20
- package/dist/components/box.js +0 -50
- package/dist/components/definition-list.d.ts +0 -43
- package/dist/components/definition-list.js +0 -89
- package/dist/components/heading.d.ts +0 -27
- package/dist/components/highlight.d.ts +0 -19
- package/dist/components/item.d.ts +0 -70
- package/dist/components/item.js +0 -512
- package/dist/components/leaflet-map.d.ts +0 -34
- package/dist/components/leaflet-map.js +0 -201
- package/dist/components/list-item.d.ts +0 -19
- package/dist/components/list-item.js +0 -37
- package/dist/components/maptiler-map.d.ts +0 -27
- package/dist/components/maptiler-map.js +0 -129
- package/dist/components/text.d.ts +0 -20
- package/dist/components/text.js +0 -45
- package/dist/components/unordered-list.d.ts +0 -19
- package/dist/components/unordered-list.js +0 -39
- package/dist/hooks/use-nonce.d.ts +0 -12
- package/dist/hooks/use-nonce.js +0 -13
- package/dist/utils/author.d.ts +0 -9
- package/dist/utils/author.js +0 -55
- package/dist/utils/cn.d.ts +0 -9
- package/dist/utils/cn.js +0 -14
- package/dist/utils/is-route-active.d.ts +0 -19
- package/dist/utils/is-route-active.js +0 -56
- package/dist/utils/text.d.ts +0 -24
- package/dist/utils/text.js +0 -127
- package/src/components/box.tsx +0 -45
- package/src/components/definition-list.tsx +0 -90
- package/src/components/item.tsx +0 -340
- package/src/components/leaflet-map.tsx +0 -294
- package/src/components/link.test.tsx +0 -387
- package/src/components/list-item.tsx +0 -30
- package/src/components/maptiler-map.tsx +0 -181
- package/src/components/text.tsx +0 -38
- package/src/components/unordered-list.tsx +0 -32
- package/src/hooks/use-nonce.test.ts +0 -35
- package/src/stories/Box.stories.tsx +0 -83
- package/src/stories/Carousel.stories.tsx +0 -95
- package/src/stories/DefinitionList.stories.tsx +0 -51
- package/src/stories/Item.stories.tsx +0 -79
- package/src/stories/ListItem.stories.tsx +0 -38
- package/src/stories/UnorderedList.stories.tsx +0 -73
- package/src/styles/tailwind.css +0 -7
- package/src/test-setup.ts +0 -1
- package/src/utils/author.test.ts +0 -54
- package/src/utils/author.tsx +0 -73
- package/src/utils/cn.test.ts +0 -48
- package/src/utils/cn.ts +0 -14
- package/src/utils/is-route-active.test.ts +0 -80
- package/src/utils/is-route-active.ts +0 -100
- package/src/utils/text.test.ts +0 -152
- package/src/utils/text.tsx +0 -209
- package/src/vite-env.d.ts +0 -1
- /package/dist/{components/background-slideshow.d.ts → background-slideshow/index.d.ts} +0 -0
- /package/dist/{components/blurry-gradient.d.ts → blurry-gradient/index.d.ts} +0 -0
- /package/dist/{components/countdown.d.ts → countdown/index.d.ts} +0 -0
- /package/dist/{components/generic-error.d.ts → generic-error/index.d.ts} +0 -0
- /package/dist/hooks/{use-current-route-data.d.ts → use-current-route-data/index.d.ts} +0 -0
- /package/dist/hooks/{use-focus-search.d.ts → use-focus-search/index.d.ts} +0 -0
- /package/dist/hooks/{use-matches-data.d.ts → use-matches-data/index.d.ts} +0 -0
- /package/dist/hooks/{use-media-query.d.ts → use-media-query/index.d.ts} +0 -0
- /package/dist/hooks/{use-mobile.d.ts → use-mobile/index.d.ts} +0 -0
- /package/dist/hooks/{use-user.d.ts → use-user/index.d.ts} +0 -0
- /package/dist/{components/icon-button.d.ts → icon-button/index.d.ts} +0 -0
- /package/dist/{components/if.d.ts → if/index.d.ts} +0 -0
- /package/dist/{components/iframe.d.ts → iframe/index.d.ts} +0 -0
- /package/dist/{components/markdown-container.d.ts → markdown-container/index.d.ts} +0 -0
- /package/dist/{components/password-input.d.ts → password-input/index.d.ts} +0 -0
- /package/dist/{components/picture.d.ts → picture/index.d.ts} +0 -0
- /package/src/hooks/{use-current-route-data.ts → use-current-route-data/use-current-route-data.ts} +0 -0
- /package/src/hooks/{use-focus-search.ts → use-focus-search/use-focus-search.ts} +0 -0
- /package/src/hooks/{use-matches-data.ts → use-matches-data/use-matches-data.ts} +0 -0
- /package/src/hooks/{use-media-query.ts → use-media-query/use-media-query.ts} +0 -0
- /package/src/hooks/{use-mobile.ts → use-mobile/use-mobile.ts} +0 -0
- /package/src/hooks/{use-nonce.ts → use-nonce/use-nonce.ts} +0 -0
- /package/src/hooks/{use-orientation.ts → use-orientation/use-orientation.ts} +0 -0
- /package/src/hooks/{use-user.tsx → use-user/use-user.tsx} +0 -0
- /package/src/{components → icon-button}/icon-button.tsx +0 -0
- /package/src/{components → if}/if.tsx +0 -0
- /package/src/{styles/storybook.css → storybook.css} +0 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ComponentPropsWithoutRef, ReactNode, ForwardedRef } from 'react';
|
|
3
|
+
|
|
4
|
+
type ListItemElement = 'li' | 'dd' | 'dt' | 'div' | 'span';
|
|
5
|
+
type ListItemProps<T extends ListItemElement = 'li'> = Omit<ComponentPropsWithoutRef<T>, 'children'> & {
|
|
6
|
+
/**
|
|
7
|
+
* The element type to render.
|
|
8
|
+
* Falls back to the defaultItemElement from ListRoot context, or 'li'.
|
|
9
|
+
*/
|
|
10
|
+
render?: T;
|
|
11
|
+
/**
|
|
12
|
+
* The content of the list item.
|
|
13
|
+
*/
|
|
14
|
+
children?: ReactNode;
|
|
15
|
+
};
|
|
16
|
+
declare function ListItemImpl<T extends ListItemElement = 'li'>(props: ListItemProps<T>, ref: ForwardedRef<HTMLElement>): react_jsx_runtime.JSX.Element;
|
|
17
|
+
declare const ListItem: <T extends ListItemElement = "li">(props: ListItemProps<T> & {
|
|
18
|
+
ref?: ForwardedRef<HTMLElement>;
|
|
19
|
+
}) => ReturnType<typeof ListItemImpl>;
|
|
20
|
+
declare namespace ListItem {
|
|
21
|
+
type Props<T extends ListItemElement = 'li'> = ListItemProps<T>;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
interface ListRootContextValue {
|
|
25
|
+
/**
|
|
26
|
+
* Default element type for list items.
|
|
27
|
+
* @default 'li'
|
|
28
|
+
*/
|
|
29
|
+
defaultItemElement: 'li' | 'dd' | 'dt' | 'div' | 'span';
|
|
30
|
+
/**
|
|
31
|
+
* Default className to apply to all list items.
|
|
32
|
+
*/
|
|
33
|
+
defaultItemClassName?: string;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
type ListRootElement = 'ul' | 'ol' | 'dl' | 'div' | 'menu' | 'nav';
|
|
37
|
+
type ListRootProps<T extends ListRootElement = 'ul'> = Omit<ComponentPropsWithoutRef<T>, 'children'> & {
|
|
38
|
+
/**
|
|
39
|
+
* The element type to render.
|
|
40
|
+
* @default 'ul'
|
|
41
|
+
*/
|
|
42
|
+
render?: T;
|
|
43
|
+
/**
|
|
44
|
+
* The content of the list.
|
|
45
|
+
*/
|
|
46
|
+
children?: ReactNode;
|
|
47
|
+
/**
|
|
48
|
+
* Default element type for list items.
|
|
49
|
+
* When render is 'dl', defaults to 'dd'. Otherwise defaults to 'li'.
|
|
50
|
+
*/
|
|
51
|
+
defaultItemElement?: ListRootContextValue['defaultItemElement'];
|
|
52
|
+
/**
|
|
53
|
+
* Default className to apply to all list items.
|
|
54
|
+
*/
|
|
55
|
+
defaultItemClassName?: string;
|
|
56
|
+
};
|
|
57
|
+
declare function ListRootImpl<T extends ListRootElement = 'ul'>(props: ListRootProps<T>, ref: ForwardedRef<HTMLElement>): react_jsx_runtime.JSX.Element;
|
|
58
|
+
declare const ListRoot: <T extends ListRootElement = "ul">(props: ListRootProps<T> & {
|
|
59
|
+
ref?: ForwardedRef<HTMLElement>;
|
|
60
|
+
}) => ReturnType<typeof ListRootImpl>;
|
|
61
|
+
declare namespace ListRoot {
|
|
62
|
+
type Props<T extends ListRootElement = 'ul'> = ListRootProps<T>;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
declare namespace index_parts {
|
|
66
|
+
export { ListItem as Item, ListRoot as Root };
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export { index_parts as List, type ListItemProps, type ListRootContextValue, type ListRootProps };
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { createContext, forwardRef, useMemo, useContext } from 'react';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
// src/list/index.parts.ts
|
|
11
|
+
var index_parts_exports = {};
|
|
12
|
+
__export(index_parts_exports, {
|
|
13
|
+
Item: () => ListItem,
|
|
14
|
+
Root: () => ListRoot
|
|
15
|
+
});
|
|
16
|
+
var ListRootContext = createContext(void 0);
|
|
17
|
+
function useListRootContext() {
|
|
18
|
+
return useContext(ListRootContext);
|
|
19
|
+
}
|
|
20
|
+
function ListItemImpl(props, ref) {
|
|
21
|
+
const context = useListRootContext();
|
|
22
|
+
const { render, children, className, ...elementProps } = props;
|
|
23
|
+
const resolvedElement = render ?? context?.defaultItemElement ?? "li";
|
|
24
|
+
const resolvedClassName = context?.defaultItemClassName ? className ? `${context.defaultItemClassName} ${className}` : context.defaultItemClassName : className;
|
|
25
|
+
const Component = resolvedElement;
|
|
26
|
+
return /* @__PURE__ */ jsx(
|
|
27
|
+
Component,
|
|
28
|
+
{
|
|
29
|
+
className: resolvedClassName,
|
|
30
|
+
ref,
|
|
31
|
+
...elementProps,
|
|
32
|
+
children
|
|
33
|
+
}
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
var ListItem = forwardRef(ListItemImpl);
|
|
37
|
+
function ListRootImpl(props, ref) {
|
|
38
|
+
const {
|
|
39
|
+
render = "ul",
|
|
40
|
+
children,
|
|
41
|
+
defaultItemElement,
|
|
42
|
+
defaultItemClassName,
|
|
43
|
+
...elementProps
|
|
44
|
+
} = props;
|
|
45
|
+
const resolvedDefaultItemElement = defaultItemElement ?? (render === "dl" ? "dd" : "li");
|
|
46
|
+
const contextValue = useMemo(
|
|
47
|
+
() => ({
|
|
48
|
+
defaultItemClassName,
|
|
49
|
+
defaultItemElement: resolvedDefaultItemElement
|
|
50
|
+
}),
|
|
51
|
+
[resolvedDefaultItemElement, defaultItemClassName]
|
|
52
|
+
);
|
|
53
|
+
const Component = render;
|
|
54
|
+
return /* @__PURE__ */ jsx(ListRootContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(
|
|
55
|
+
Component,
|
|
56
|
+
{
|
|
57
|
+
ref,
|
|
58
|
+
...elementProps,
|
|
59
|
+
children
|
|
60
|
+
}
|
|
61
|
+
) });
|
|
62
|
+
}
|
|
63
|
+
var ListRoot = forwardRef(ListRootImpl);
|
|
64
|
+
|
|
65
|
+
export { index_parts_exports as List };
|
|
@@ -1,22 +1,11 @@
|
|
|
1
1
|
import { MDXProvider } from '@mdx-js/react';
|
|
2
|
+
import { cn } from '@regardio/tailwind/utils';
|
|
2
3
|
import Markdown from 'markdown-to-jsx';
|
|
3
|
-
import {
|
|
4
|
-
import { twMerge } from 'fluid-tailwindcss/tailwind-merge';
|
|
4
|
+
import { typographicQuotes, replaceShyInString } from '@regardio/js/text';
|
|
5
5
|
import React, { isValidElement, cloneElement } from 'react';
|
|
6
6
|
import { jsx } from 'react/jsx-runtime';
|
|
7
7
|
|
|
8
|
-
// src/
|
|
9
|
-
var { cva, compose } = defineConfig({
|
|
10
|
-
hooks: {
|
|
11
|
-
onComplete: (className) => {
|
|
12
|
-
return twMerge(className);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
var cn = (...inputs) => twMerge(cx(inputs));
|
|
17
|
-
function replaceShyInString(input) {
|
|
18
|
-
return input.replace(/­/g, "\xAD");
|
|
19
|
-
}
|
|
8
|
+
// src/markdown-container/markdown-container.tsx
|
|
20
9
|
function replaceShyInReactNode(node) {
|
|
21
10
|
if (typeof node === "string") {
|
|
22
11
|
return node.replace(/\u00AD/g, "");
|
|
@@ -43,59 +32,6 @@ function shy(input) {
|
|
|
43
32
|
}
|
|
44
33
|
return replaceShyInReactNode(input);
|
|
45
34
|
}
|
|
46
|
-
var quoteStyles = {
|
|
47
|
-
cs: { close: "\u201D", closeSingle: "\u2019", open: "\u201E", openSingle: "\u201A" },
|
|
48
|
-
// Danish, Norwegian - » « › ‹
|
|
49
|
-
da: { close: "\xAB", closeSingle: "\u203A", open: "\xBB", openSingle: "\u2039" },
|
|
50
|
-
// German (Germany, Austria) - „ " ‚ '
|
|
51
|
-
de: { close: "\u201D", closeSingle: "\u2019", open: "\u201E", openSingle: "\u201A" },
|
|
52
|
-
// German (Switzerland) - « » ‹ ›
|
|
53
|
-
"de-ch": { close: "\xBB", closeSingle: "\u203A", open: "\xAB", openSingle: "\u2039" },
|
|
54
|
-
// English (US, UK, etc.) - " " ' '
|
|
55
|
-
en: { close: "\u201D", closeSingle: "\u2019", open: "\u201C", openSingle: "\u2018" },
|
|
56
|
-
// Spanish, Italian, Portuguese - « » " "
|
|
57
|
-
es: { close: "\xBB", closeSingle: "\u201D", open: "\xAB", openSingle: "\u201C" },
|
|
58
|
-
fi: { close: "\u201D", closeSingle: "\u2019", open: "\u201D", openSingle: "\u2019" },
|
|
59
|
-
// French - « » ‹ › (with spaces)
|
|
60
|
-
fr: { close: " \xBB", closeSingle: " \u203A", open: "\xAB ", openSingle: "\u2039 " },
|
|
61
|
-
hu: { close: "\u201D", closeSingle: "\u2019", open: "\u201E", openSingle: "\u201A" },
|
|
62
|
-
it: { close: "\xBB", closeSingle: "\u201D", open: "\xAB", openSingle: "\u201C" },
|
|
63
|
-
// Japanese - 「 」 『 』
|
|
64
|
-
ja: { close: "\u300D", closeSingle: "\u300F", open: "\u300C", openSingle: "\u300E" },
|
|
65
|
-
// Dutch - ' ' ' '
|
|
66
|
-
nl: { close: "\u2019", closeSingle: "\u2019", open: "\u2018", openSingle: "\u2018" },
|
|
67
|
-
no: { close: "\xAB", closeSingle: "\u203A", open: "\xBB", openSingle: "\u2039" },
|
|
68
|
-
// Polish, Czech, Hungarian - „ " ‚ '
|
|
69
|
-
pl: { close: "\u201D", closeSingle: "\u2019", open: "\u201E", openSingle: "\u201A" },
|
|
70
|
-
pt: { close: "\xBB", closeSingle: "\u201D", open: "\xAB", openSingle: "\u201C" },
|
|
71
|
-
// Russian - « » ‚ '
|
|
72
|
-
ru: { close: "\xBB", closeSingle: "\u2019", open: "\xAB", openSingle: "\u201A" },
|
|
73
|
-
// Swedish, Finnish - " " ' '
|
|
74
|
-
sv: { close: "\u201D", closeSingle: "\u2019", open: "\u201D", openSingle: "\u2019" },
|
|
75
|
-
// Chinese - 「 」 『 』
|
|
76
|
-
zh: { close: "\u300D", closeSingle: "\u300F", open: "\u300C", openSingle: "\u300E" }
|
|
77
|
-
};
|
|
78
|
-
function getQuoteStyle(locale) {
|
|
79
|
-
const normalized = locale.toLowerCase();
|
|
80
|
-
const exactMatch = quoteStyles[normalized];
|
|
81
|
-
if (exactMatch) {
|
|
82
|
-
return exactMatch;
|
|
83
|
-
}
|
|
84
|
-
const baseLanguage = normalized.split("-")[0];
|
|
85
|
-
if (baseLanguage) {
|
|
86
|
-
const baseMatch = quoteStyles[baseLanguage];
|
|
87
|
-
if (baseMatch) {
|
|
88
|
-
return baseMatch;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
return quoteStyles.en;
|
|
92
|
-
}
|
|
93
|
-
function typographicQuotes(text, locale) {
|
|
94
|
-
const style = getQuoteStyle(locale);
|
|
95
|
-
let result = text.replace(/"([^"]*)"/g, `${style.open}$1${style.close}`);
|
|
96
|
-
result = result.replace(/'([^']*)'/g, `${style.openSingle}$1${style.closeSingle}`);
|
|
97
|
-
return result;
|
|
98
|
-
}
|
|
99
35
|
function replaceSpecialChars(text, locale) {
|
|
100
36
|
return shy(typographicQuotes(text, locale));
|
|
101
37
|
}
|
|
@@ -1,19 +1,10 @@
|
|
|
1
1
|
import { Button } from '@base-ui/react/button';
|
|
2
2
|
import { Input } from '@base-ui/react/input';
|
|
3
|
+
import { cn } from '@regardio/tailwind/utils';
|
|
3
4
|
import { useState } from 'react';
|
|
4
|
-
import { defineConfig, cx } from 'cva';
|
|
5
|
-
import { twMerge } from 'fluid-tailwindcss/tailwind-merge';
|
|
6
5
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
7
6
|
|
|
8
|
-
// src/
|
|
9
|
-
var { cva, compose } = defineConfig({
|
|
10
|
-
hooks: {
|
|
11
|
-
onComplete: (className) => {
|
|
12
|
-
return twMerge(className);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
var cn = (...inputs) => twMerge(cx(inputs));
|
|
7
|
+
// src/password-input/password-input.tsx
|
|
17
8
|
var PasswordInput = ({ className, ...props }) => {
|
|
18
9
|
const [showPassword, setShowPassword] = useState(false);
|
|
19
10
|
const togglePasswordVisibility = () => {
|
|
@@ -1,16 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { twMerge } from 'fluid-tailwindcss/tailwind-merge';
|
|
1
|
+
import { cn } from '@regardio/tailwind/utils';
|
|
3
2
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
4
3
|
|
|
5
|
-
// src/
|
|
6
|
-
var { cva, compose } = defineConfig({
|
|
7
|
-
hooks: {
|
|
8
|
-
onComplete: (className) => {
|
|
9
|
-
return twMerge(className);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
});
|
|
13
|
-
var cn = (...inputs) => twMerge(cx(inputs));
|
|
4
|
+
// src/picture/picture.tsx
|
|
14
5
|
var screenSizeVariants = {
|
|
15
6
|
lg: 1280,
|
|
16
7
|
max: 1920,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useState, useEffect } from 'react';
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
3
|
|
|
4
|
-
// src/
|
|
4
|
+
// src/protected-email/protected-email.tsx
|
|
5
5
|
function ProtectedEmail({ username, domain, text, className }) {
|
|
6
6
|
const [mounted, setMounted] = useState(false);
|
|
7
7
|
useEffect(() => {
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ComponentProps } from 'react';
|
|
3
|
+
|
|
4
|
+
declare const themeColorVariants: {
|
|
5
|
+
readonly primary: readonly [];
|
|
6
|
+
};
|
|
7
|
+
declare const textVariants: {
|
|
8
|
+
readonly code: readonly ["font-light", "font-monospace"];
|
|
9
|
+
readonly primary: readonly [];
|
|
10
|
+
readonly subtitle: readonly ["text-lg"];
|
|
11
|
+
};
|
|
12
|
+
type TextThemeColor = keyof typeof themeColorVariants;
|
|
13
|
+
type TextVariant = keyof typeof textVariants;
|
|
14
|
+
interface TextProps extends ComponentProps<'p'> {
|
|
15
|
+
themeColor?: TextThemeColor;
|
|
16
|
+
variant?: TextVariant;
|
|
17
|
+
}
|
|
18
|
+
declare const Text: ({ children, className, variant, themeColor }: TextProps) => react_jsx_runtime.JSX.Element;
|
|
19
|
+
|
|
20
|
+
export { Text, type TextProps };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { tv } from '@regardio/tailwind/utils';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
|
|
4
|
+
// src/text/text.tsx
|
|
5
|
+
var themeColorVariants = {
|
|
6
|
+
primary: []
|
|
7
|
+
};
|
|
8
|
+
var textVariants = {
|
|
9
|
+
code: ["font-light", "font-monospace"],
|
|
10
|
+
primary: [],
|
|
11
|
+
subtitle: ["text-lg"]
|
|
12
|
+
};
|
|
13
|
+
var text = tv({
|
|
14
|
+
base: ["relative", "block"],
|
|
15
|
+
defaultVariants: {
|
|
16
|
+
themeColor: "primary",
|
|
17
|
+
variant: "primary"
|
|
18
|
+
},
|
|
19
|
+
variants: {
|
|
20
|
+
themeColor: themeColorVariants,
|
|
21
|
+
variant: textVariants
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
var Text = ({ children, className, variant, themeColor }) => {
|
|
25
|
+
return /* @__PURE__ */ jsx(
|
|
26
|
+
"div",
|
|
27
|
+
{
|
|
28
|
+
className: text({
|
|
29
|
+
className,
|
|
30
|
+
themeColor,
|
|
31
|
+
variant
|
|
32
|
+
}),
|
|
33
|
+
children
|
|
34
|
+
}
|
|
35
|
+
);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export { Text };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { parseAuthorString } from '@regardio/js/text';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
|
|
4
|
+
// src/utils/author/author.tsx
|
|
5
|
+
function generateLinkFromAuthorString(input) {
|
|
6
|
+
const match = parseAuthorString(input);
|
|
7
|
+
if (match.name) {
|
|
8
|
+
if (match.email) {
|
|
9
|
+
return /* @__PURE__ */ jsx(
|
|
10
|
+
"a",
|
|
11
|
+
{
|
|
12
|
+
className: "u-email p-name",
|
|
13
|
+
href: `mailto:${match.email}`,
|
|
14
|
+
children: match.name
|
|
15
|
+
}
|
|
16
|
+
);
|
|
17
|
+
}
|
|
18
|
+
if (match.url && (match.url.startsWith("/") || match.url.startsWith("http"))) {
|
|
19
|
+
return /* @__PURE__ */ jsx(
|
|
20
|
+
"a",
|
|
21
|
+
{
|
|
22
|
+
className: "u-url p-name",
|
|
23
|
+
href: match.url,
|
|
24
|
+
children: match.name
|
|
25
|
+
}
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
return /* @__PURE__ */ jsx("span", { className: "p-name", children: match.name });
|
|
29
|
+
}
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export { generateLinkFromAuthorString };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
|
|
3
|
+
declare const lowerCaseSzett: (text: ReactNode | string, _returnType?: "string") => ReactNode;
|
|
4
|
+
declare function shy(input: string | ReactNode | null): string | ReactNode | null;
|
|
5
|
+
/**
|
|
6
|
+
* Replace special characters in text: typographic quotes and soft hyphens.
|
|
7
|
+
* This is a React-aware version that handles ReactNode trees.
|
|
8
|
+
*/
|
|
9
|
+
declare function replaceSpecialChars(text: string, locale: string): string | ReactNode | null;
|
|
10
|
+
/**
|
|
11
|
+
* Wrap sentences in span elements
|
|
12
|
+
*/
|
|
13
|
+
declare function wrapSentences(text: string): ReactNode;
|
|
14
|
+
|
|
15
|
+
export { lowerCaseSzett, replaceSpecialChars, shy, wrapSentences };
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { replaceShyInString, typographicQuotes, splitIntoSentences } from '@regardio/js/text';
|
|
2
|
+
import React, { isValidElement, cloneElement } from 'react';
|
|
3
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
// src/utils/text/text.tsx
|
|
6
|
+
var lowerCaseSzett = (text, _returnType) => {
|
|
7
|
+
const processString = (str) => {
|
|
8
|
+
const parts = str.split(/(ß)/g);
|
|
9
|
+
return parts.map(
|
|
10
|
+
(part, index) => part === "\xDF" ? /* @__PURE__ */ jsx(
|
|
11
|
+
"span",
|
|
12
|
+
{
|
|
13
|
+
className: "lowercase",
|
|
14
|
+
children: part
|
|
15
|
+
},
|
|
16
|
+
index.toString()
|
|
17
|
+
) : part
|
|
18
|
+
);
|
|
19
|
+
};
|
|
20
|
+
if (typeof text === "string") {
|
|
21
|
+
return processString(text);
|
|
22
|
+
}
|
|
23
|
+
if (isValidElement(text)) {
|
|
24
|
+
const element = text;
|
|
25
|
+
const { children, ...props } = element.props;
|
|
26
|
+
return cloneElement(element, {
|
|
27
|
+
...props,
|
|
28
|
+
children: lowerCaseSzett(children)
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
if (Array.isArray(text)) {
|
|
32
|
+
return text.map((child, index) => /* @__PURE__ */ jsx(React.Fragment, { children: lowerCaseSzett(child) }, index.toString()));
|
|
33
|
+
}
|
|
34
|
+
return text;
|
|
35
|
+
};
|
|
36
|
+
function replaceShyInReactNode(node) {
|
|
37
|
+
if (typeof node === "string") {
|
|
38
|
+
return node.replace(/\u00AD/g, "");
|
|
39
|
+
}
|
|
40
|
+
if (isValidElement(node)) {
|
|
41
|
+
const element = node;
|
|
42
|
+
const { children, ...props } = element.props;
|
|
43
|
+
return cloneElement(element, {
|
|
44
|
+
...props,
|
|
45
|
+
children: replaceShyInReactNode(children)
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
if (Array.isArray(node)) {
|
|
49
|
+
return node.map((child, index) => /* @__PURE__ */ jsx(React.Fragment, { children: replaceShyInReactNode(child) }, index.toString()));
|
|
50
|
+
}
|
|
51
|
+
return node;
|
|
52
|
+
}
|
|
53
|
+
function shy(input) {
|
|
54
|
+
if (input === null) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
if (typeof input === "string") {
|
|
58
|
+
return replaceShyInString(input);
|
|
59
|
+
}
|
|
60
|
+
return replaceShyInReactNode(input);
|
|
61
|
+
}
|
|
62
|
+
function replaceSpecialChars(text, locale) {
|
|
63
|
+
return shy(typographicQuotes(text, locale));
|
|
64
|
+
}
|
|
65
|
+
function wrapSentences(text) {
|
|
66
|
+
const sentences = splitIntoSentences(text);
|
|
67
|
+
return sentences.map((sentence, index) => /* @__PURE__ */ jsxs("span", { children: [
|
|
68
|
+
sentence,
|
|
69
|
+
" "
|
|
70
|
+
] }, index.toString()));
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export { lowerCaseSzett, replaceSpecialChars, shy, wrapSentences };
|
package/package.json
CHANGED
|
@@ -9,13 +9,12 @@
|
|
|
9
9
|
"@maptiler/leaflet-maptilersdk": "4.1.1",
|
|
10
10
|
"@maptiler/sdk": "3.9.0",
|
|
11
11
|
"@mdx-js/react": "3.1.1",
|
|
12
|
-
"@regardio/js": "0.
|
|
13
|
-
"@
|
|
12
|
+
"@regardio/js": "0.5.0",
|
|
13
|
+
"@regardio/tailwind": "0.1.2",
|
|
14
|
+
"@supabase/supabase-js": "2.90.0",
|
|
14
15
|
"cmdk": "1.1.1",
|
|
15
|
-
"cva": "beta",
|
|
16
16
|
"embla-carousel": "8.6.0",
|
|
17
17
|
"embla-carousel-react": "8.6.0",
|
|
18
|
-
"fluid-tailwindcss": "1.0.5",
|
|
19
18
|
"input-otp": "1.4.2",
|
|
20
19
|
"intl-parse-accept-language": "1.0.0",
|
|
21
20
|
"leaflet": "alpha",
|
|
@@ -25,15 +24,15 @@
|
|
|
25
24
|
"react-day-picker": "9.13.0",
|
|
26
25
|
"react-dom": "19.2.3",
|
|
27
26
|
"react-hook-form": "7.70.0",
|
|
28
|
-
"react-resizable-panels": "4.
|
|
27
|
+
"react-resizable-panels": "4.3.0",
|
|
29
28
|
"react-router": "7.11.0",
|
|
30
|
-
"tailwind-
|
|
29
|
+
"tailwind-variants": "3.2.2",
|
|
31
30
|
"vaul": "1.1.2",
|
|
32
31
|
"zod": "4.3.5"
|
|
33
32
|
},
|
|
34
33
|
"description": "Regardio React UI components",
|
|
35
34
|
"devDependencies": {
|
|
36
|
-
"@regardio/dev": "1.
|
|
35
|
+
"@regardio/dev": "1.10.3",
|
|
37
36
|
"@storybook/addon-a11y": "10.1.11",
|
|
38
37
|
"@storybook/addon-docs": "10.1.11",
|
|
39
38
|
"@storybook/addon-vitest": "10.1.11",
|
|
@@ -51,30 +50,130 @@
|
|
|
51
50
|
"@vitest/coverage-v8": "4.0.16",
|
|
52
51
|
"@vitest/ui": "4.0.16",
|
|
53
52
|
"jsdom": "27.4.0",
|
|
54
|
-
"playwright": "
|
|
53
|
+
"playwright": "1.57.0",
|
|
55
54
|
"storybook": "10.1.11",
|
|
56
55
|
"tailwindcss": "4.1.18",
|
|
57
56
|
"tsup": "8.5.1",
|
|
58
57
|
"typescript": "5.9.3",
|
|
59
|
-
"vite": "7.3.
|
|
58
|
+
"vite": "7.3.1",
|
|
60
59
|
"vitest": "4.0.16"
|
|
61
60
|
},
|
|
62
61
|
"engines": {
|
|
63
62
|
"node": ">=18"
|
|
64
63
|
},
|
|
65
64
|
"exports": {
|
|
66
|
-
"./
|
|
67
|
-
"import": "./dist/
|
|
68
|
-
"types": "./dist/
|
|
69
|
-
},
|
|
70
|
-
"./
|
|
71
|
-
"import": "./dist/
|
|
72
|
-
"types": "./dist/
|
|
73
|
-
},
|
|
74
|
-
"./
|
|
75
|
-
|
|
76
|
-
"
|
|
77
|
-
|
|
65
|
+
"./background-slideshow": {
|
|
66
|
+
"import": "./dist/background-slideshow/index.js",
|
|
67
|
+
"types": "./dist/background-slideshow/index.d.ts"
|
|
68
|
+
},
|
|
69
|
+
"./blurry-gradient": {
|
|
70
|
+
"import": "./dist/blurry-gradient/index.js",
|
|
71
|
+
"types": "./dist/blurry-gradient/index.d.ts"
|
|
72
|
+
},
|
|
73
|
+
"./carousel": {
|
|
74
|
+
"import": "./dist/carousel/index.js",
|
|
75
|
+
"types": "./dist/carousel/index.d.ts"
|
|
76
|
+
},
|
|
77
|
+
"./countdown": {
|
|
78
|
+
"import": "./dist/countdown/index.js",
|
|
79
|
+
"types": "./dist/countdown/index.d.ts"
|
|
80
|
+
},
|
|
81
|
+
"./generic-error": {
|
|
82
|
+
"import": "./dist/generic-error/index.js",
|
|
83
|
+
"types": "./dist/generic-error/index.d.ts"
|
|
84
|
+
},
|
|
85
|
+
"./grid": {
|
|
86
|
+
"import": "./dist/grid/index.js",
|
|
87
|
+
"types": "./dist/grid/index.d.ts"
|
|
88
|
+
},
|
|
89
|
+
"./heading": {
|
|
90
|
+
"import": "./dist/heading/index.js",
|
|
91
|
+
"types": "./dist/heading/index.d.ts"
|
|
92
|
+
},
|
|
93
|
+
"./highlight": {
|
|
94
|
+
"import": "./dist/highlight/index.js",
|
|
95
|
+
"types": "./dist/highlight/index.d.ts"
|
|
96
|
+
},
|
|
97
|
+
"./hooks/use-current-route-data": {
|
|
98
|
+
"import": "./dist/hooks/use-current-route-data/index.js",
|
|
99
|
+
"types": "./dist/hooks/use-current-route-data/index.d.ts"
|
|
100
|
+
},
|
|
101
|
+
"./hooks/use-focus-search": {
|
|
102
|
+
"import": "./dist/hooks/use-focus-search/index.js",
|
|
103
|
+
"types": "./dist/hooks/use-focus-search/index.d.ts"
|
|
104
|
+
},
|
|
105
|
+
"./hooks/use-matches-data": {
|
|
106
|
+
"import": "./dist/hooks/use-matches-data/index.js",
|
|
107
|
+
"types": "./dist/hooks/use-matches-data/index.d.ts"
|
|
108
|
+
},
|
|
109
|
+
"./hooks/use-media-query": {
|
|
110
|
+
"import": "./dist/hooks/use-media-query/index.js",
|
|
111
|
+
"types": "./dist/hooks/use-media-query/index.d.ts"
|
|
112
|
+
},
|
|
113
|
+
"./hooks/use-mobile": {
|
|
114
|
+
"import": "./dist/hooks/use-mobile/index.js",
|
|
115
|
+
"types": "./dist/hooks/use-mobile/index.d.ts"
|
|
116
|
+
},
|
|
117
|
+
"./hooks/use-nonce": {
|
|
118
|
+
"import": "./dist/hooks/use-nonce/index.js",
|
|
119
|
+
"types": "./dist/hooks/use-nonce/index.d.ts"
|
|
120
|
+
},
|
|
121
|
+
"./hooks/use-orientation": {
|
|
122
|
+
"import": "./dist/hooks/use-orientation/index.js",
|
|
123
|
+
"types": "./dist/hooks/use-orientation/index.d.ts"
|
|
124
|
+
},
|
|
125
|
+
"./hooks/use-user": {
|
|
126
|
+
"import": "./dist/hooks/use-user/index.js",
|
|
127
|
+
"types": "./dist/hooks/use-user/index.d.ts"
|
|
128
|
+
},
|
|
129
|
+
"./icon-button": {
|
|
130
|
+
"import": "./dist/icon-button/index.js",
|
|
131
|
+
"types": "./dist/icon-button/index.d.ts"
|
|
132
|
+
},
|
|
133
|
+
"./if": {
|
|
134
|
+
"import": "./dist/if/index.js",
|
|
135
|
+
"types": "./dist/if/index.d.ts"
|
|
136
|
+
},
|
|
137
|
+
"./iframe": {
|
|
138
|
+
"import": "./dist/iframe/index.js",
|
|
139
|
+
"types": "./dist/iframe/index.d.ts"
|
|
140
|
+
},
|
|
141
|
+
"./link": {
|
|
142
|
+
"import": "./dist/link/index.js",
|
|
143
|
+
"types": "./dist/link/index.d.ts"
|
|
144
|
+
},
|
|
145
|
+
"./list": {
|
|
146
|
+
"import": "./dist/list/index.js",
|
|
147
|
+
"types": "./dist/list/index.d.ts"
|
|
148
|
+
},
|
|
149
|
+
"./markdown-container": {
|
|
150
|
+
"import": "./dist/markdown-container/index.js",
|
|
151
|
+
"types": "./dist/markdown-container/index.d.ts"
|
|
152
|
+
},
|
|
153
|
+
"./password-input": {
|
|
154
|
+
"import": "./dist/password-input/index.js",
|
|
155
|
+
"types": "./dist/password-input/index.d.ts"
|
|
156
|
+
},
|
|
157
|
+
"./picture": {
|
|
158
|
+
"import": "./dist/picture/index.js",
|
|
159
|
+
"types": "./dist/picture/index.d.ts"
|
|
160
|
+
},
|
|
161
|
+
"./protected-email": {
|
|
162
|
+
"import": "./dist/protected-email/index.js",
|
|
163
|
+
"types": "./dist/protected-email/index.d.ts"
|
|
164
|
+
},
|
|
165
|
+
"./tailwind.css": "./src/tailwind.css",
|
|
166
|
+
"./text": {
|
|
167
|
+
"import": "./dist/text/index.js",
|
|
168
|
+
"types": "./dist/text/index.d.ts"
|
|
169
|
+
},
|
|
170
|
+
"./utils/author": {
|
|
171
|
+
"import": "./dist/utils/author/index.js",
|
|
172
|
+
"types": "./dist/utils/author/index.d.ts"
|
|
173
|
+
},
|
|
174
|
+
"./utils/text": {
|
|
175
|
+
"import": "./dist/utils/text/index.js",
|
|
176
|
+
"types": "./dist/utils/text/index.d.ts"
|
|
78
177
|
}
|
|
79
178
|
},
|
|
80
179
|
"files": ["dist", "src"],
|
|
@@ -87,12 +186,11 @@
|
|
|
87
186
|
"access": "public"
|
|
88
187
|
},
|
|
89
188
|
"repository": {
|
|
90
|
-
"directory": "packages/react",
|
|
91
189
|
"type": "git",
|
|
92
|
-
"url": "https://github.com/regardio/react.git"
|
|
190
|
+
"url": "git+https://github.com/regardio/react.git"
|
|
93
191
|
},
|
|
94
192
|
"scripts": {
|
|
95
|
-
"build": "tsup",
|
|
193
|
+
"build": "tsup && post-build-exports --preserve \"./tailwind.css\" && pnpm fix",
|
|
96
194
|
"clean": "exec-clean .turbo dist",
|
|
97
195
|
"dev": "tsup --watch",
|
|
98
196
|
"fix": "exec-p fix:*",
|
|
@@ -112,7 +210,7 @@
|
|
|
112
210
|
"typecheck": "exec-tsc --noEmit",
|
|
113
211
|
"version": "flow-changeset version"
|
|
114
212
|
},
|
|
115
|
-
"sideEffects": ["./src/
|
|
213
|
+
"sideEffects": ["./src/tailwind.css"],
|
|
116
214
|
"type": "module",
|
|
117
|
-
"version": "0.
|
|
215
|
+
"version": "0.5.1"
|
|
118
216
|
}
|