@julseb-lib/react 0.1.11 → 0.1.13
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/README.md +195 -8
- package/dist/index.css +57 -116
- package/dist/julseb-lib-react.cjs.js +12 -12
- package/dist/julseb-lib-react.es.js +1868 -1794
- package/dist/julseb-lib-react.umd.js +12 -12
- package/dist/lib/Variables.ts +20 -19
- package/dist/lib/components/Accordion/Accordion.tsx +1 -1
- package/dist/lib/components/Accordion/AccordionContent.tsx +2 -2
- package/dist/lib/components/Accordion/AccordionTitle.tsx +4 -3
- package/dist/lib/components/Alert/Alert.tsx +2 -2
- package/dist/lib/components/Autocomplete/Autocomplete.tsx +1 -1
- package/dist/lib/components/Avatar/Avatar.tsx +3 -7
- package/dist/lib/components/BackToTop/BackToTop.tsx +4 -3
- package/dist/lib/components/Badge/Badge.tsx +1 -1
- package/dist/lib/components/Breadcrumbs/Breadcrumbs.tsx +1 -1
- package/dist/lib/components/Burger/Burger.tsx +11 -4
- package/dist/lib/components/Button/Button.tsx +5 -4
- package/dist/lib/components/ButtonGroup/ButtonGroup.tsx +4 -2
- package/dist/lib/components/ButtonIcon/ButtonFn.tsx +3 -1
- package/dist/lib/components/ButtonIcon/ButtonIcon.tsx +9 -2
- package/dist/lib/components/CodeContainer/CodeContainer.tsx +5 -5
- package/dist/lib/components/Cover/Cover.tsx +1 -1
- package/dist/lib/components/DragList/DragList.tsx +1 -1
- package/dist/lib/components/DragList/DragListItem.tsx +4 -3
- package/dist/lib/components/Drawer/Drawer.tsx +1 -1
- package/dist/lib/components/Dropdown/Dropdown.tsx +1 -1
- package/dist/lib/components/Fade/Fade.tsx +4 -4
- package/dist/lib/components/Fieldset/Fieldset.tsx +2 -2
- package/dist/lib/components/Footer/Footer.tsx +103 -0
- package/dist/lib/components/Footer/index.ts +1 -0
- package/dist/lib/components/Footer/types.ts +54 -0
- package/dist/lib/components/Form/Form.tsx +1 -1
- package/dist/lib/components/Header/Header.tsx +15 -6
- package/dist/lib/components/Header/types.ts +1 -1
- package/dist/lib/components/Image/Image.tsx +1 -1
- package/dist/lib/components/Input/Input.tsx +2 -2
- package/dist/lib/components/Input/templates/ColorInput.tsx +4 -0
- package/dist/lib/components/InputCheck/InputCheck.tsx +2 -2
- package/dist/lib/components/InputComponents/InputButton.tsx +7 -2
- package/dist/lib/components/InputComponents/classes.ts +1 -1
- package/dist/lib/components/InputContainer/InputContainer.tsx +1 -1
- package/dist/lib/components/InputCounter/InputCounter.tsx +2 -2
- package/dist/lib/components/InputImage/InputImage.tsx +1 -1
- package/dist/lib/components/InputPhone/InputPhone.tsx +1 -1
- package/dist/lib/components/InputPin/InputPin.tsx +3 -1
- package/dist/lib/components/InputSlider/InputSlider.tsx +1 -1
- package/dist/lib/components/Key/Key.tsx +2 -2
- package/dist/lib/components/ListGroup/ListGroup.tsx +1 -1
- package/dist/lib/components/ListGroup/ListGroupItem.tsx +1 -1
- package/dist/lib/components/ListGroup/ListGroupTitle.tsx +1 -1
- package/dist/lib/components/Loader/Loader.tsx +1 -1
- package/dist/lib/components/Loader/templates/LoaderOne.tsx +1 -1
- package/dist/lib/components/Loader/templates/LoaderThree.tsx +3 -3
- package/dist/lib/components/Loader/templates/LoaderTwo.tsx +2 -2
- package/dist/lib/components/MarkdownContainer/MarkdownContainer.tsx +2 -2
- package/dist/lib/components/Meta/Meta.tsx +125 -0
- package/dist/lib/components/Meta/index.ts +1 -0
- package/dist/lib/components/Meta/types.ts +35 -0
- package/dist/lib/components/Modal/Modal.tsx +1 -1
- package/dist/lib/components/PageLayout/PageLayout.tsx +64 -0
- package/dist/lib/components/PageLayout/index.ts +1 -0
- package/dist/lib/components/PageLayout/types.ts +29 -0
- package/dist/lib/components/PageLoading/PageLoading.tsx +1 -1
- package/dist/lib/components/Pagination/Pagination.tsx +1 -1
- package/dist/lib/components/Pagination/PaginationButton.tsx +1 -1
- package/dist/lib/components/Paginator/Paginator.tsx +1 -1
- package/dist/lib/components/ProgressBar/ProgressBar.tsx +4 -7
- package/dist/lib/components/ProgressBar/types.ts +1 -1
- package/dist/lib/components/ProgressCircle/ProgressCircle.tsx +7 -3
- package/dist/lib/components/ProgressCircle/types.ts +1 -2
- package/dist/lib/components/Rating/Rating.tsx +1 -1
- package/dist/lib/components/Select/Select.tsx +1 -1
- package/dist/lib/components/Skeleton/Skeleton.tsx +5 -2
- package/dist/lib/components/Skeleton/SkeletonCard.tsx +4 -1
- package/dist/lib/components/Slideshow/Slideshow.tsx +1 -1
- package/dist/lib/components/Slideshow/SlideshowPagination.tsx +1 -1
- package/dist/lib/components/SrOnly/SrOnly.tsx +33 -0
- package/dist/lib/components/SrOnly/index.ts +1 -0
- package/dist/lib/components/SrOnly/types.ts +7 -0
- package/dist/lib/components/Sticky/Sticky.tsx +8 -8
- package/dist/lib/components/Table/Table.tsx +8 -5
- package/dist/lib/components/Tabs/Tabs.tsx +1 -1
- package/dist/lib/components/Tabs/TabsButton.tsx +4 -2
- package/dist/lib/components/Tabs/TabsButtonsContainer.tsx +1 -1
- package/dist/lib/components/Tabs/TabsContainer.tsx +1 -1
- package/dist/lib/components/Tabs/TabsContent.tsx +1 -1
- package/dist/lib/components/Tag/Tag.tsx +1 -1
- package/dist/lib/components/Text/templates/Blockquote.tsx +1 -1
- package/dist/lib/components/Text/templates/Dl.tsx +1 -1
- package/dist/lib/components/Text/templates/H1.tsx +2 -2
- package/dist/lib/components/Text/templates/H2.tsx +2 -2
- package/dist/lib/components/Text/templates/H3.tsx +2 -2
- package/dist/lib/components/Text/templates/H4.tsx +2 -2
- package/dist/lib/components/Text/templates/H5.tsx +2 -2
- package/dist/lib/components/Text/templates/H6.tsx +1 -1
- package/dist/lib/components/Text/templates/Ol.tsx +1 -1
- package/dist/lib/components/Text/templates/P.tsx +1 -1
- package/dist/lib/components/Text/templates/Small.tsx +1 -1
- package/dist/lib/components/Text/templates/Ul.tsx +1 -1
- package/dist/lib/components/Toast/Toast.tsx +5 -4
- package/dist/lib/components/Tooltip/Tooltip.tsx +29 -22
- package/dist/lib/components/Wrapper/Wrapper.tsx +1 -1
- package/dist/lib/index.css +57 -116
- package/dist/lib/index.ts +4 -1
- package/dist/lib/types/components-items-props.ts +1 -24
- package/dist/lib/types/components-props.ts +4 -1
- package/dist/lib/types/global.ts +11 -13
- package/dist/lib/utils/design-tokens.ts +2 -7
- package/dist/lib/utils/gen-gap.ts +21 -21
- package/dist/lib/utils/gen-ring-color.ts +21 -0
- package/dist/lib/utils/index.ts +1 -0
- package/package.json +3 -9
- package/dist/lib/components/IconMenu/IconMenu.module.css +0 -239
- package/dist/lib/components/IconMenu/IconMenu.tsx +0 -101
- package/dist/lib/components/IconMenu/IconMenuItem.tsx +0 -53
- package/dist/lib/components/IconMenu/index.ts +0 -1
- package/dist/lib/components/IconMenu/types.ts +0 -48
- package/dist/react.css +0 -1
|
@@ -2,7 +2,7 @@ import { type FC } from "react"
|
|
|
2
2
|
import { BiX } from "react-icons/bi"
|
|
3
3
|
import { Text } from "../Text"
|
|
4
4
|
import { Loader } from "../Loader"
|
|
5
|
-
import { clsx, genTextColorHover } from "../../utils"
|
|
5
|
+
import { clsx, genRingColor, genTextColorHover } from "../../utils"
|
|
6
6
|
import { genToastColors } from "./utils"
|
|
7
7
|
import type { ILibToast } from "./types"
|
|
8
8
|
|
|
@@ -19,11 +19,11 @@ import type { ILibToast } from "./types"
|
|
|
19
19
|
* closeToast={handleClose}
|
|
20
20
|
* />
|
|
21
21
|
*
|
|
22
|
-
* @extends
|
|
22
|
+
* @extends HTMLDivElement
|
|
23
23
|
*
|
|
24
24
|
* @prop {string} [props.className] - Additional CSS classes to apply to the toast container.
|
|
25
25
|
* @prop {React.ElementType} [props.element="div"] - HTML element type to render as the container.
|
|
26
|
-
* @prop {React.Ref<
|
|
26
|
+
* @prop {React.Ref<HTMLDivElement>} [props.ref] - Ref to the toast element.
|
|
27
27
|
* @prop {React.ReactNode} [props.body] - Body content to display below the title.
|
|
28
28
|
* @prop {React.ReactNode} [props.title] - Title content to display in the toast header.
|
|
29
29
|
* @prop {"success" | "error" | "warning" | "info" | "loading"} [props.status="success"] - Status type that determines the toast appearance and behavior.
|
|
@@ -85,8 +85,9 @@ export const Toast: FC<ILibToast> = ({
|
|
|
85
85
|
<button
|
|
86
86
|
onClick={closeToast}
|
|
87
87
|
className={clsx(
|
|
88
|
-
"inline-flex justify-center items-center size-6",
|
|
88
|
+
"inline-flex justify-center items-center rounded-md outline-none size-6",
|
|
89
89
|
genTextColorHover["gray"],
|
|
90
|
+
genRingColor["gray"],
|
|
90
91
|
"toast-close-button",
|
|
91
92
|
)}
|
|
92
93
|
>
|
|
@@ -9,36 +9,43 @@ import type {
|
|
|
9
9
|
} from "../../types"
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
|
-
* Tooltip component for displaying contextual information on hover or click.
|
|
12
|
+
* Tooltip component for displaying contextual information on hover or click interactions.
|
|
13
13
|
*
|
|
14
14
|
* @component
|
|
15
|
-
* @example
|
|
16
|
-
* <Tooltip tooltip="Hello world!" position="top" trigger="hover" backgroundColor="black" textColor="white" />
|
|
17
15
|
*
|
|
18
|
-
* @
|
|
16
|
+
* @example
|
|
17
|
+
* <Tooltip
|
|
18
|
+
* tooltip="This is a helpful tooltip"
|
|
19
|
+
* position="top"
|
|
20
|
+
* trigger="hover"
|
|
21
|
+
* backgroundColor="black-80"
|
|
22
|
+
* textColor="white"
|
|
23
|
+
* >
|
|
24
|
+
* <button>Hover me</button>
|
|
25
|
+
* </Tooltip>
|
|
19
26
|
*
|
|
20
27
|
* @extends HTMLDivElement
|
|
21
28
|
*
|
|
22
|
-
* @prop {
|
|
23
|
-
* @prop {
|
|
24
|
-
* @prop {
|
|
25
|
-
* @prop {React.
|
|
26
|
-
* @prop {
|
|
27
|
-
* @prop {
|
|
28
|
-
* @prop {
|
|
29
|
-
* @prop {
|
|
30
|
-
* @prop {
|
|
31
|
-
* @prop {
|
|
32
|
-
* @prop {
|
|
33
|
-
* @prop {
|
|
34
|
-
* @prop {
|
|
35
|
-
* @prop {
|
|
36
|
-
* @prop {function} [props.
|
|
37
|
-
* @prop {function} [props.
|
|
38
|
-
* @prop {function} [props.onMouseLeave] - Mouse leave event handler.
|
|
39
|
-
* @prop {object} [props.rest] - Additional props spread to the tooltip container.
|
|
29
|
+
* @prop {string} [props.className] - Additional CSS classes to apply to the tooltip container.
|
|
30
|
+
* @prop {React.ElementType} [props.element="div"] - HTML element type to render as the container.
|
|
31
|
+
* @prop {React.Ref<HTMLDivElement>} [props.ref] - Ref to the tooltip container element.
|
|
32
|
+
* @prop {React.ReactNode} [props.children] - The element that triggers the tooltip on interaction.
|
|
33
|
+
* @prop {string} [props.tooltip] - The tooltip text content to display.
|
|
34
|
+
* @prop {"top" | "bottom" | "left" | "right"} [props.position="top"] - Position of the tooltip relative to the trigger element.
|
|
35
|
+
* @prop {boolean} [props.hideArrow] - Whether to hide the tooltip arrow pointer.
|
|
36
|
+
* @prop {"hover" | "click"} [props.trigger="hover"] - Event that triggers the tooltip display.
|
|
37
|
+
* @prop {LibAllColorsAndOverlays} [props.backgroundColor="black-80"] - Background color for the tooltip.
|
|
38
|
+
* @prop {LibAllColors} [props.textColor="white"] - Text color for the tooltip content.
|
|
39
|
+
* @prop {LibSpacers} [props.offset="xs"] - Distance offset between tooltip and trigger element.
|
|
40
|
+
* @prop {string} [props.tooltipClasses] - Additional CSS classes for the tooltip element.
|
|
41
|
+
* @prop {React.CSSProperties} [props.tooltipStyle] - Additional inline styles for the tooltip element.
|
|
42
|
+
* @prop {function} [props.onClick] - Click event handler for the trigger element.
|
|
43
|
+
* @prop {function} [props.onMouseEnter] - Mouse enter event handler for the trigger element.
|
|
44
|
+
* @prop {function} [props.onMouseLeave] - Mouse leave event handler for the trigger element.
|
|
40
45
|
*
|
|
41
46
|
* @returns {JSX.Element} The rendered Tooltip component.
|
|
47
|
+
*
|
|
48
|
+
* @see https://doc-julseb-lib-react.vercel.app/components/tooltip
|
|
42
49
|
*/
|
|
43
50
|
export const Tooltip: FC<ILibTooltip> = ({
|
|
44
51
|
className,
|
|
@@ -43,7 +43,7 @@ export const Wrapper: FC<ILibWrapper> = ({
|
|
|
43
43
|
<Element
|
|
44
44
|
ref={ref}
|
|
45
45
|
className={clsx(
|
|
46
|
-
"z-10 relative flex sm:flex-row flex-col justify-stretch sm:justify-center-safe gap-
|
|
46
|
+
"z-10 relative flex sm:flex-row flex-col justify-stretch sm:justify-center-safe gap-5 px-4 md:px-5 lg:px-12 w-full",
|
|
47
47
|
(genBgAllColors as any)[backgroundColor],
|
|
48
48
|
genMinHeight[minHeight],
|
|
49
49
|
genGap[gap],
|
package/dist/lib/index.css
CHANGED
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
:root {
|
|
6
6
|
--font-lato: "Lato", sans-serif;
|
|
7
|
-
--font-
|
|
7
|
+
--font-sans: var(--font-lato);
|
|
8
|
+
--font-mono: monospace;
|
|
8
9
|
}
|
|
9
10
|
|
|
10
11
|
@theme {
|
|
@@ -78,10 +79,6 @@
|
|
|
78
79
|
--color-background: var(--color-white);
|
|
79
80
|
--color-font: var(--color-black);
|
|
80
81
|
|
|
81
|
-
--font-lato: "Lato", sans-serif;
|
|
82
|
-
--font-family-body: var(--font-lato);
|
|
83
|
-
--font-family-code: monospace;
|
|
84
|
-
|
|
85
82
|
--font-weight-thin: 100;
|
|
86
83
|
--font-weight-light: 300;
|
|
87
84
|
--font-weight-normal: 400;
|
|
@@ -103,7 +100,16 @@
|
|
|
103
100
|
rgba(255, 255, 255, 0.35) 100%
|
|
104
101
|
);
|
|
105
102
|
|
|
106
|
-
--
|
|
103
|
+
--font-sans: var(--font-lato);
|
|
104
|
+
--font-mono: monospace;
|
|
105
|
+
|
|
106
|
+
--spacer-2xs: 4px;
|
|
107
|
+
--spacer-xs: 8px;
|
|
108
|
+
--spacer-sm: 12px;
|
|
109
|
+
--spacer-md: 16px;
|
|
110
|
+
--spacer-lg: 24px;
|
|
111
|
+
--spacer-xl: 32px;
|
|
112
|
+
--spacer-2xl: 48px;
|
|
107
113
|
|
|
108
114
|
--main-default: 600px;
|
|
109
115
|
--main-large: 800px;
|
|
@@ -112,64 +118,54 @@
|
|
|
112
118
|
--aside-default: 250px;
|
|
113
119
|
--aside-small: 200px;
|
|
114
120
|
|
|
115
|
-
--shadow-
|
|
116
|
-
0px 10px 14px 8px rgba(0, 0, 0, 0.2), 0px 4px 4px rgba(0, 0, 0, 0.3);
|
|
117
|
-
--shadow-xl:
|
|
118
|
-
0px 8px 12px 6px rgba(0, 0, 0, 0.15), 0px 4px 4px rgba(0, 0, 0, 0.3);
|
|
119
|
-
--shadow-lg:
|
|
120
|
-
0px 6px 10px 4px rgba(0, 0, 0, 0.15), 0px 2px 3px rgba(0, 0, 0, 0.3);
|
|
121
|
-
--shadow-md:
|
|
122
|
-
0px 4px 8px 3px rgba(0, 0, 0, 0.15), 0px 1px 3px rgba(0, 0, 0, 0.3);
|
|
123
|
-
--shadow-sm:
|
|
124
|
-
0px 1px 2px rgba(0, 0, 0, 0.3), 0px 2px 6px 2px rgba(0, 0, 0, 0.15);
|
|
121
|
+
--shadow-2xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);
|
|
125
122
|
--shadow-xs:
|
|
126
123
|
0px 1px 2px rgba(0, 0, 0, 0.3), 0px 1px 3px 1px rgba(0, 0, 0, 0.15);
|
|
127
|
-
--shadow-
|
|
124
|
+
--shadow-sm:
|
|
125
|
+
0px 1px 2px rgba(0, 0, 0, 0.3), 0px 2px 6px 2px rgba(0, 0, 0, 0.15);
|
|
126
|
+
--shadow-md:
|
|
127
|
+
0px 4px 8px 3px rgba(0, 0, 0, 0.15), 0px 1px 3px rgba(0, 0, 0, 0.3);
|
|
128
|
+
--shadow-lg:
|
|
129
|
+
0px 6px 10px 4px rgba(0, 0, 0, 0.15), 0px 2px 3px rgba(0, 0, 0, 0.3);
|
|
130
|
+
--shadow-xl:
|
|
131
|
+
0px 8px 12px 6px rgba(0, 0, 0, 0.15), 0px 4px 4px rgba(0, 0, 0, 0.3);
|
|
132
|
+
--shadow-2xl:
|
|
133
|
+
0px 10px 14px 8px rgba(0, 0, 0, 0.2), 0px 4px 4px rgba(0, 0, 0, 0.3);
|
|
128
134
|
--shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.06);
|
|
129
135
|
--shadow-none: none;
|
|
130
136
|
|
|
131
|
-
--spacer-2xs: 4px;
|
|
132
|
-
--spacer-xs: 8px;
|
|
133
|
-
--spacer-sm: 12px;
|
|
134
|
-
--spacer-md: 16px;
|
|
135
|
-
--spacer-lg: 24px;
|
|
136
|
-
--spacer-xl: 32px;
|
|
137
|
-
--spacer-2xl: 48px;
|
|
138
|
-
|
|
139
137
|
--animate-cubic-bezier: cubic-bezier(0.5, 0, 0.5, 1);
|
|
140
138
|
|
|
141
|
-
--
|
|
142
|
-
--
|
|
143
|
-
--
|
|
144
|
-
|
|
145
|
-
--
|
|
146
|
-
--
|
|
147
|
-
--
|
|
148
|
-
--
|
|
149
|
-
--
|
|
150
|
-
--
|
|
151
|
-
--
|
|
152
|
-
--
|
|
153
|
-
--
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
body {
|
|
159
|
-
font-family: var(--font-family-body);
|
|
160
|
-
}
|
|
139
|
+
--transition-short: all 200ms ease;
|
|
140
|
+
--transition-long: all 500ms ease;
|
|
141
|
+
--transition-bezier: all 500ms cubic-bezier(0.25, 0.75, 0, 0.66);
|
|
142
|
+
|
|
143
|
+
--text-display-h1: 5rem;
|
|
144
|
+
--text-display-h2: 4rem;
|
|
145
|
+
--text-display-h3: 3.5rem;
|
|
146
|
+
--text-display-h4: 3rem;
|
|
147
|
+
--text-display-h5: 2.5rem;
|
|
148
|
+
--text-h1: 2.5rem;
|
|
149
|
+
--text-h2: 2rem;
|
|
150
|
+
--text-h3: 1.8rem;
|
|
151
|
+
--text-h4: 1.5rem;
|
|
152
|
+
--text-h5: 1.3rem;
|
|
153
|
+
--text-h6: 1.1rem;
|
|
154
|
+
--text-body: 1rem;
|
|
155
|
+
--text-small: 0.875rem;
|
|
161
156
|
}
|
|
162
157
|
|
|
163
158
|
/*====================== Common styles ======================*/
|
|
164
159
|
|
|
165
160
|
html,
|
|
166
161
|
body {
|
|
167
|
-
font-family: var(--font-
|
|
162
|
+
font-family: var(--font-sans);
|
|
168
163
|
width: 100%;
|
|
169
164
|
min-height: 100vh;
|
|
170
165
|
background-color: var(--color-background);
|
|
171
166
|
color: var(--color-font);
|
|
172
167
|
max-width: 100dvw;
|
|
168
|
+
line-height: var(--leading-normal);
|
|
173
169
|
|
|
174
170
|
&.dark {
|
|
175
171
|
--color-background: var(--color-black);
|
|
@@ -184,7 +180,7 @@ body {
|
|
|
184
180
|
a,
|
|
185
181
|
button {
|
|
186
182
|
cursor: pointer;
|
|
187
|
-
transition:
|
|
183
|
+
transition: var(--transition-short);
|
|
188
184
|
|
|
189
185
|
&:disabled {
|
|
190
186
|
cursor: not-allowed;
|
|
@@ -198,73 +194,73 @@ button {
|
|
|
198
194
|
max-width: 100%;
|
|
199
195
|
}
|
|
200
196
|
|
|
201
|
-
.no-scrollbar::-webkit-scrollbar {
|
|
202
|
-
display: none;
|
|
203
|
-
}
|
|
204
|
-
|
|
205
197
|
.no-scrollbar {
|
|
206
198
|
-ms-overflow-style: none;
|
|
207
199
|
scrollbar-width: none;
|
|
200
|
+
|
|
201
|
+
&::-webkit-scrollbar {
|
|
202
|
+
display: none;
|
|
203
|
+
}
|
|
208
204
|
}
|
|
209
205
|
|
|
210
206
|
/*====================== Fonts ======================*/
|
|
211
207
|
|
|
212
208
|
.lato-thin {
|
|
213
|
-
font-family: var(--font-
|
|
209
|
+
font-family: var(--font-sans);
|
|
214
210
|
font-weight: var(--font-weight-thin);
|
|
215
211
|
font-style: normal;
|
|
216
212
|
}
|
|
217
213
|
|
|
218
214
|
.lato-light {
|
|
219
|
-
font-family: var(--font-
|
|
215
|
+
font-family: var(--font-sans);
|
|
220
216
|
font-weight: var(--font-weight-light);
|
|
221
217
|
font-style: normal;
|
|
222
218
|
}
|
|
223
219
|
|
|
224
220
|
.lato-regular {
|
|
225
|
-
font-family: var(--font-
|
|
221
|
+
font-family: var(--font-sans);
|
|
226
222
|
font-weight: var(--font-weight-normal);
|
|
227
223
|
font-style: normal;
|
|
228
224
|
}
|
|
229
225
|
|
|
230
226
|
.lato-bold {
|
|
231
|
-
font-family: var(--font-
|
|
227
|
+
font-family: var(--font-sans);
|
|
232
228
|
font-weight: var(--font-weight-bold);
|
|
233
229
|
font-style: normal;
|
|
234
230
|
}
|
|
235
231
|
|
|
236
232
|
.lato-black {
|
|
237
|
-
font-family: var(--font-
|
|
233
|
+
font-family: var(--font-sans);
|
|
238
234
|
font-weight: var(--font-weight-black);
|
|
239
235
|
font-style: normal;
|
|
240
236
|
}
|
|
241
237
|
|
|
242
238
|
.lato-thin-italic {
|
|
243
|
-
font-family: var(--font-
|
|
239
|
+
font-family: var(--font-sans);
|
|
244
240
|
font-weight: var(--font-weight-thin);
|
|
245
241
|
font-style: italic;
|
|
246
242
|
}
|
|
247
243
|
|
|
248
244
|
.lato-light-italic {
|
|
249
|
-
font-family: var(--font-
|
|
245
|
+
font-family: var(--font-sans);
|
|
250
246
|
font-weight: var(--font-weight-light);
|
|
251
247
|
font-style: italic;
|
|
252
248
|
}
|
|
253
249
|
|
|
254
250
|
.lato-regular-italic {
|
|
255
|
-
font-family: var(--font-
|
|
251
|
+
font-family: var(--font-sans);
|
|
256
252
|
font-weight: var(--font-weight-normal);
|
|
257
253
|
font-style: italic;
|
|
258
254
|
}
|
|
259
255
|
|
|
260
256
|
.lato-bold-italic {
|
|
261
|
-
font-family: var(--font-
|
|
257
|
+
font-family: var(--font-sans);
|
|
262
258
|
font-weight: var(--font-weight-bold);
|
|
263
259
|
font-style: italic;
|
|
264
260
|
}
|
|
265
261
|
|
|
266
262
|
.lato-black-italic {
|
|
267
|
-
font-family: var(--font-
|
|
263
|
+
font-family: var(--font-sans);
|
|
268
264
|
font-weight: var(--font-weight-black);
|
|
269
265
|
font-style: italic;
|
|
270
266
|
}
|
|
@@ -363,24 +359,6 @@ button {
|
|
|
363
359
|
}
|
|
364
360
|
}
|
|
365
361
|
|
|
366
|
-
.animate-shine {
|
|
367
|
-
position: relative;
|
|
368
|
-
overflow: hidden;
|
|
369
|
-
|
|
370
|
-
&:before {
|
|
371
|
-
content: "";
|
|
372
|
-
position: absolute;
|
|
373
|
-
top: -200px;
|
|
374
|
-
bottom: -200px;
|
|
375
|
-
background-color: var(--color-white);
|
|
376
|
-
opacity: 0.7;
|
|
377
|
-
filter: blur(20px);
|
|
378
|
-
width: 100px;
|
|
379
|
-
transform: skew(-15deg);
|
|
380
|
-
animation: shine 2000ms ease-in-out infinite;
|
|
381
|
-
}
|
|
382
|
-
}
|
|
383
|
-
|
|
384
362
|
@keyframes spin {
|
|
385
363
|
from {
|
|
386
364
|
transform: rotate(0deg);
|
|
@@ -391,15 +369,6 @@ button {
|
|
|
391
369
|
}
|
|
392
370
|
}
|
|
393
371
|
|
|
394
|
-
.animate-spin {
|
|
395
|
-
animation: spin 1200ms linear infinite;
|
|
396
|
-
}
|
|
397
|
-
|
|
398
|
-
.animate-bezier {
|
|
399
|
-
animation: spin 1200ms var(--animate-cubic-bezier) infinite;
|
|
400
|
-
animation-delay: var(--spinner-delay);
|
|
401
|
-
}
|
|
402
|
-
|
|
403
372
|
@keyframes loader-pulse {
|
|
404
373
|
0%,
|
|
405
374
|
100% {
|
|
@@ -411,30 +380,6 @@ button {
|
|
|
411
380
|
}
|
|
412
381
|
}
|
|
413
382
|
|
|
414
|
-
.dot {
|
|
415
|
-
animation: loader-pulse 1200ms linear infinite;
|
|
416
|
-
animation-delay: var(--dot-delay);
|
|
417
|
-
}
|
|
418
|
-
|
|
419
|
-
input::-webkit-slider-thumb {
|
|
420
|
-
box-shadow: var(--shadow-lg);
|
|
421
|
-
}
|
|
422
|
-
|
|
423
|
-
@keyframes toast-timer-animation {
|
|
424
|
-
0% {
|
|
425
|
-
width: 100%;
|
|
426
|
-
}
|
|
427
|
-
|
|
428
|
-
100% {
|
|
429
|
-
width: 0;
|
|
430
|
-
}
|
|
431
|
-
}
|
|
432
|
-
|
|
433
|
-
.toast-timer {
|
|
434
|
-
animation: toast-timer-animation var(--toast-timer-duration) linear
|
|
435
|
-
forwards;
|
|
436
|
-
}
|
|
437
|
-
|
|
438
383
|
.Toastify__progress-bar--bg {
|
|
439
384
|
background-color: transparent !important;
|
|
440
385
|
}
|
|
@@ -448,8 +393,4 @@ button {
|
|
|
448
393
|
width: var(--meter-value);
|
|
449
394
|
}
|
|
450
395
|
}
|
|
451
|
-
|
|
452
|
-
.progress-bar-animated:before {
|
|
453
|
-
animation: progress-bar calc(var(--progress-speed) * 50ms) ease forwards;
|
|
454
|
-
}
|
|
455
396
|
}
|
package/dist/lib/index.ts
CHANGED
|
@@ -122,5 +122,8 @@ export * from "./components/Fade"
|
|
|
122
122
|
export * from "./components/BackToTop"
|
|
123
123
|
export * from "./components/Drawer"
|
|
124
124
|
export * from "./components/Header"
|
|
125
|
-
export * from "./components/
|
|
125
|
+
export * from "./components/Footer"
|
|
126
|
+
export * from "./components/Meta"
|
|
127
|
+
export * from "./components/PageLayout"
|
|
128
|
+
export * from "./components/SrOnly"
|
|
126
129
|
/* Prepend here - DO NOT REMOVE */
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
ButtonHTMLAttributes,
|
|
3
|
-
ElementType,
|
|
4
|
-
RefObject,
|
|
5
|
-
ReactElement,
|
|
6
|
-
} from "react"
|
|
1
|
+
import type { ButtonHTMLAttributes, ElementType, RefObject } from "react"
|
|
7
2
|
import type { ClassNames, ReactChildren } from "./global"
|
|
8
3
|
|
|
9
4
|
/**
|
|
@@ -187,21 +182,3 @@ export type LibMdEditorOptions = {
|
|
|
187
182
|
viewLive?: boolean
|
|
188
183
|
viewPreview?: boolean
|
|
189
184
|
}
|
|
190
|
-
|
|
191
|
-
/**
|
|
192
|
-
* @description Props for button items within IconMenu components, combining base item functionality with button-specific properties.
|
|
193
|
-
*
|
|
194
|
-
* @extends LibItemBase<HTMLButtonElement>
|
|
195
|
-
* @extends ButtonHTMLAttributes<HTMLButtonElement>
|
|
196
|
-
* @prop {ElementType} [element] - HTML element type to render as the container.
|
|
197
|
-
* @prop {RefObject<HTMLButtonElement>} [ref] - Ref to the button element.
|
|
198
|
-
* @prop {string} [id] - Unique identifier for the menu item.
|
|
199
|
-
* @prop {string} label - Text label displayed for the menu item.
|
|
200
|
-
* @prop {ReactElement} icon - Icon element displayed alongside the label.
|
|
201
|
-
*/
|
|
202
|
-
export interface LibIconMenuItem
|
|
203
|
-
extends LibItemBase<HTMLButtonElement>,
|
|
204
|
-
Omit<ButtonHTMLAttributes<HTMLButtonElement>, "className"> {
|
|
205
|
-
label: string
|
|
206
|
-
icon: ReactElement
|
|
207
|
-
}
|
|
@@ -59,5 +59,8 @@ export * from "../components/Fade/types"
|
|
|
59
59
|
export * from "../components/BackToTop/types"
|
|
60
60
|
export * from "../components/Drawer/types"
|
|
61
61
|
export * from "../components/Header/types"
|
|
62
|
-
export * from "../components/
|
|
62
|
+
export * from "../components/Footer/types"
|
|
63
|
+
export * from "../components/Meta/types"
|
|
64
|
+
export * from "../components/PageLayout/types"
|
|
65
|
+
export * from "../components/SrOnly/types"
|
|
63
66
|
/* Prepend here - DO NOT REMOVE */
|
package/dist/lib/types/global.ts
CHANGED
|
@@ -563,25 +563,23 @@ export type LibHeaderPosition = Extract<
|
|
|
563
563
|
>
|
|
564
564
|
|
|
565
565
|
/**
|
|
566
|
-
* @description All
|
|
567
|
-
* @type {"
|
|
566
|
+
* @description All footer direction tokens available in the library for controlling the layout direction of footer content.
|
|
567
|
+
* @type {"horizontal" | "vertical"}
|
|
568
568
|
* @example
|
|
569
|
-
* direction="
|
|
570
|
-
* direction="
|
|
571
|
-
* direction="left"
|
|
572
|
-
* direction="right"
|
|
569
|
+
* direction="horizontal"
|
|
570
|
+
* direction="vertical"
|
|
573
571
|
*/
|
|
574
|
-
export type
|
|
575
|
-
keyof typeof designTokens.libIconMenuDirections
|
|
572
|
+
export type LibFooterDirection = keyof typeof designTokens.libFooterDirection
|
|
576
573
|
|
|
577
574
|
/**
|
|
578
|
-
* @description All
|
|
579
|
-
* @type {"
|
|
575
|
+
* @description All footer links separator tokens available in the library for controlling the visual separator between footer links.
|
|
576
|
+
* @type {"dot" | "dash"}
|
|
580
577
|
* @example
|
|
581
|
-
*
|
|
582
|
-
*
|
|
578
|
+
* separator="dot"
|
|
579
|
+
* separator="dash"
|
|
583
580
|
*/
|
|
584
|
-
export type
|
|
581
|
+
export type LibFooterLinksSeparator =
|
|
582
|
+
keyof typeof designTokens.libFooterLinksSeparator
|
|
585
583
|
|
|
586
584
|
/**
|
|
587
585
|
* @description Type of values for InputPin component representing a collection of pin input values.
|
|
@@ -534,14 +534,9 @@ export const designTokens = {
|
|
|
534
534
|
|
|
535
535
|
libNavMobileVariants: { full: "full", top: "top", drawer: "drawer" },
|
|
536
536
|
|
|
537
|
-
|
|
538
|
-
left: "left",
|
|
539
|
-
up: "up",
|
|
540
|
-
right: "right",
|
|
541
|
-
down: "down",
|
|
542
|
-
},
|
|
537
|
+
libFooterDirection: { horizontal: "horizontal", vertical: "vertical" },
|
|
543
538
|
|
|
544
|
-
|
|
539
|
+
libFooterLinksSeparator: { dot: "dot", dash: "dash" },
|
|
545
540
|
|
|
546
541
|
libCountryCodes: {
|
|
547
542
|
af: "af",
|
|
@@ -1,34 +1,34 @@
|
|
|
1
1
|
import type { LibSpacers } from "../types"
|
|
2
2
|
|
|
3
3
|
export const genGap: Record<LibSpacers, string> = {
|
|
4
|
-
"2xl": "gap-
|
|
5
|
-
xl: "gap-
|
|
6
|
-
lg: "gap-
|
|
7
|
-
md: "gap-
|
|
8
|
-
sm: "gap-
|
|
9
|
-
xs: "gap-
|
|
10
|
-
"2xs": "gap-
|
|
4
|
+
"2xl": "gap-12",
|
|
5
|
+
xl: "gap-8",
|
|
6
|
+
lg: "gap-5",
|
|
7
|
+
md: "gap-4",
|
|
8
|
+
sm: "gap-3",
|
|
9
|
+
xs: "gap-2",
|
|
10
|
+
"2xs": "gap-1",
|
|
11
11
|
"0px": "0px",
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
export const genRowGap: Record<LibSpacers, string> = {
|
|
15
|
-
"2xl": "gap-y-
|
|
16
|
-
xl: "gap-y-
|
|
17
|
-
lg: "gap-y-
|
|
18
|
-
md: "gap-y-
|
|
19
|
-
sm: "gap-y-
|
|
20
|
-
xs: "gap-y-
|
|
21
|
-
"2xs": "gap-y-
|
|
15
|
+
"2xl": "gap-y-12",
|
|
16
|
+
xl: "gap-y-8",
|
|
17
|
+
lg: "gap-y-5",
|
|
18
|
+
md: "gap-y-4",
|
|
19
|
+
sm: "gap-y-3",
|
|
20
|
+
xs: "gap-y-2",
|
|
21
|
+
"2xs": "gap-y-1",
|
|
22
22
|
"0px": "0px",
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
export const genColGap: Record<LibSpacers, string> = {
|
|
26
|
-
"2xl": "gap-x-
|
|
27
|
-
xl: "gap-x-
|
|
28
|
-
lg: "gap-x-
|
|
29
|
-
md: "gap-x-
|
|
30
|
-
sm: "gap-x-
|
|
31
|
-
xs: "gap-x-
|
|
32
|
-
"2xs": "gap-x-
|
|
26
|
+
"2xl": "gap-x-12",
|
|
27
|
+
xl: "gap-x-8",
|
|
28
|
+
lg: "gap-x-5",
|
|
29
|
+
md: "gap-x-4",
|
|
30
|
+
sm: "gap-x-3",
|
|
31
|
+
xs: "gap-x-2",
|
|
32
|
+
"2xs": "gap-x-1",
|
|
33
33
|
"0px": "0px",
|
|
34
34
|
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { LibColorsHover } from "../types"
|
|
2
|
+
|
|
3
|
+
export const genRingColor: Record<LibColorsHover, string> = {
|
|
4
|
+
primary: "focus:ring-1 focus:ring-primary-800",
|
|
5
|
+
secondary: "focus:ring-1 focus:ring-secondary-800",
|
|
6
|
+
success: "focus:ring-1 focus:ring-success-800",
|
|
7
|
+
danger: "focus:ring-1 focus:ring-danger-800",
|
|
8
|
+
warning: "focus:ring-1 focus:ring-warning-800",
|
|
9
|
+
gray: "focus:ring-1 focus:ring-gray-800",
|
|
10
|
+
white: "focus:ring-1 focus:ring-gray-500",
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export const genRingColorChildren: Record<LibColorsHover, string> = {
|
|
14
|
+
primary: "[&>*]:focus:ring-1 [&>*]:focus:ring-primary-800",
|
|
15
|
+
secondary: "[&>*]:focus:ring-1 [&>*]:focus:ring-secondary-800",
|
|
16
|
+
success: "[&>*]:focus:ring-1 [&>*]:focus:ring-success-800",
|
|
17
|
+
danger: "[&>*]:focus:ring-1 [&>*]:focus:ring-danger-800",
|
|
18
|
+
warning: "[&>*]:focus:ring-1 [&>*]:focus:ring-warning-800",
|
|
19
|
+
gray: "[&>*]:focus:ring-1 [&>*]:focus:ring-gray-800",
|
|
20
|
+
white: "[&>*]:focus:ring-1 [&>*]:focus:ring-gray-500",
|
|
21
|
+
}
|
package/dist/lib/utils/index.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@julseb-lib/react",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.13",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"scripts": {
|
|
@@ -18,16 +18,10 @@
|
|
|
18
18
|
"plop:st": "yarn plop subtype",
|
|
19
19
|
"plop:g": "yarn plop generator",
|
|
20
20
|
"plop:d": "yarn plop demo",
|
|
21
|
-
"cy": "cypress",
|
|
22
|
-
"cy:open": "cypress open",
|
|
23
|
-
"cy:ct:run": "cypress run --component --browser electron",
|
|
24
|
-
"cy:ct:open": "cypress open --component --browser electron",
|
|
25
|
-
"docgen": "react-docgen -o ./src/data/docgen.json ./src/lib/components/**/*.tsx",
|
|
26
|
-
"cssgen": "cssjson src/lib/index.css --output src/data/styles.json",
|
|
27
21
|
"check-errors": "tsc --noEmit"
|
|
28
22
|
},
|
|
29
23
|
"dependencies": {
|
|
30
|
-
"@julseb-lib/utils": "^0.0.
|
|
24
|
+
"@julseb-lib/utils": "^0.0.14",
|
|
31
25
|
"@tailwindcss/forms": "^0.5.10",
|
|
32
26
|
"@tailwindcss/postcss": "^4.1.11",
|
|
33
27
|
"@tailwindcss/vite": "^4.1.11",
|
|
@@ -37,7 +31,6 @@
|
|
|
37
31
|
"postcss": "^8.5.6",
|
|
38
32
|
"react": "^19.1.0",
|
|
39
33
|
"react-dom": "^19.1.0",
|
|
40
|
-
"react-helmet-async": "^2.0.5",
|
|
41
34
|
"react-icons": "^5.5.0",
|
|
42
35
|
"react-router-dom": "^7.6.3",
|
|
43
36
|
"react-syntax-highlighter": "^15.6.1",
|
|
@@ -59,6 +52,7 @@
|
|
|
59
52
|
"@typescript-eslint/eslint-plugin": "^8.35.1",
|
|
60
53
|
"@typescript-eslint/parser": "^8.35.1",
|
|
61
54
|
"@vitejs/plugin-react": "^4.6.0",
|
|
55
|
+
"axios": "^1.10.0",
|
|
62
56
|
"cross-env": "^7.0.3",
|
|
63
57
|
"cssjson-cli": "^1.0.1",
|
|
64
58
|
"dotenv": "^17.0.0",
|