@emiketic/lib-mantine 1.0.0 → 1.0.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/dist/index.js +214 -176
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +625 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +9 -5
- package/dist/index.cjs +0 -663
- package/dist/index.cjs.map +0 -1
- /package/dist/{index.d.cts → index.d.mts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/ClientOnly/index.tsx","../src/components/ConfirmBar/index.tsx","../src/components/ContentLoader/index.tsx","../src/components/ImageInput/index.tsx","../src/components/Logo/index.tsx","../src/utils/colors.ts","../src/components/NativePDFViewer/index.tsx","../src/components/NoData/index.tsx","../src/components/PageContainer/index.tsx","../src/components/PhoneInput/index.tsx","../src/components/TextEditor/index.tsx","../src/components/ThemeToggle/index.tsx"],"sourcesContent":["import { ReactNode, useEffect, useState } from 'react';\n\nimport { LoadingOverlay } from '@mantine/core';\n\nexport default function ClientOnly({\n children,\n withLoader = false,\n ...delegated\n}: {\n children: ReactNode;\n withLoader?: boolean;\n}) {\n const [hasMounted, setHasMounted] = useState(false);\n\n useEffect(() => {\n setHasMounted(true);\n }, []);\n\n if (!hasMounted) {\n if (withLoader) {\n return <LoadingOverlay />;\n }\n return null;\n }\n\n return <div {...delegated}>{children}</div>;\n}\n","import { Box, Button, Group } from '@mantine/core';\n\nimport { ConfirmBarProps } from './types';\n\nfunction ConfirmBar({\n onConfirm = () => {},\n onCancel = () => {},\n disabled = false,\n loading = false,\n labelProps,\n color,\n withCancel = true,\n ...props\n}: ConfirmBarProps) {\n return (\n <Box {...props}>\n <Group h=\"100%\" justify=\"flex-end\" align=\"center\">\n {withCancel ? (\n <Button onClick={() => onCancel()} variant=\"subtle\">\n {labelProps?.cancel ?? 'Cancel'}\n </Button>\n ) : null}\n <Button\n onClick={() => onConfirm()}\n disabled={disabled}\n variant=\"filled\"\n loading={loading}\n color={color}\n >\n {labelProps?.confirm ?? 'Confirm'}\n </Button>\n </Group>\n </Box>\n );\n}\n\nexport default ConfirmBar;\n","import { Fragment } from 'react';\n\nimport { Skeleton, Space, Stack } from '@mantine/core';\n\nimport { ContentLoaderProps } from './types';\n\nfunction ContentLoader({\n numberOfBars = 3,\n numberOfBarGroups = 3,\n barHeight = 15,\n barSpacing = 6,\n barGroupSpacing = 'lg',\n visible = true,\n withCircle = false,\n ...props\n}: ContentLoaderProps) {\n if (!visible) {\n return null;\n }\n\n return (\n <Stack gap=\"sm\" px=\"5rem\" py=\"md\" {...props}>\n {withCircle ? <Skeleton height={70} circle mb=\"xl\" /> : null}\n {Array.from({ length: numberOfBarGroups }).map((_, index) => (\n <Fragment key={index}>\n {Array.from({ length: Math.ceil(numberOfBars / numberOfBarGroups) }).map((_, index) => (\n <Fragment key={index}>\n <Skeleton height={barHeight} radius=\"xl\" />\n <Skeleton height={barHeight} mt={barSpacing} radius=\"xl\" />\n <Skeleton height={barHeight} mt={barSpacing} width=\"70%\" radius=\"xl\" />\n </Fragment>\n ))}\n <Space h={barGroupSpacing} />\n </Fragment>\n ))}\n </Stack>\n );\n}\n\nexport default ContentLoader;\n","import { useEffect, useState } from 'react';\n\nimport { ActionIcon, Avatar, FileInput, Group, Image, Paper } from '@mantine/core';\n\nimport { IconUpload } from '@tabler/icons-react';\n\nimport { ImageInputProps } from './types';\n\nconst DEFAULT_MAX_FILE_SIZE_BYTES = 500_000;\n\nconst isClient = () => typeof window !== 'undefined';\n\nfunction ImageInput({\n value,\n withPreview = true,\n maxFileSizeBytes = DEFAULT_MAX_FILE_SIZE_BYTES,\n ...props\n}: ImageInputProps) {\n const [imageUrl, setImageUrl] = useState<string | File | null>(null);\n\n const largeFile =\n isClient() && value && value instanceof File && value.size >= maxFileSizeBytes;\n\n const isFileValue = isClient() && value instanceof File;\n const isString = typeof value == 'string';\n\n useEffect(() => {\n if (isFileValue) {\n setImageUrl(URL.createObjectURL(value as File));\n } else if (isString) {\n setImageUrl(value);\n }\n }, [value, isFileValue, isString]);\n\n if (props.disabled && !isFileValue) {\n return (\n <Avatar\n size=\"xl\"\n src={imageUrl as string | undefined | null}\n {...props.disabledPlaceholderProps}\n />\n );\n }\n\n return (\n <Group>\n {withPreview && (\n <Paper radius=\"md\" p=\"sm\" withBorder>\n <Image\n w=\"5rem\"\n h=\"5rem\"\n fit=\"contain\"\n radius=\"sm\"\n src={imageUrl}\n {...props.previewProps}\n />\n </Paper>\n )}\n <FileInput\n styles={{ input: { fontSize: 'var(--mantine-font-size-xs)' } }}\n leftSection={\n <ActionIcon variant=\"light\" size=\"xs\" color=\"gray\">\n <IconUpload />\n </ActionIcon>\n }\n placeholder=\"Upload\"\n error={\n largeFile\n ? `File size must be under ${maxFileSizeBytes / 1000} KB`\n : undefined\n }\n onChange={(file) => {\n props.onChange?.(file);\n if (file) {\n setImageUrl(URL.createObjectURL(file));\n }\n }}\n {...props}\n />\n </Group>\n );\n}\n\nexport default ImageInput;\n","import { useEffect, useState } from 'react';\n\nimport { Avatar, ThemeIcon } from '@mantine/core';\n\nimport { getDominantColorFromImageUrl } from '../../utils/colors';\n\nimport { IconBuildingSkyscraper as IconFallback } from '@tabler/icons-react';\n\nimport { LogoProps } from './types';\n\nfunction Logo({ withColorPair = true, ...props }: LogoProps) {\n const [logoColorPair, setLogoColorPair] = useState<{ dominant: string; background: string }>({\n dominant: '#000000',\n background: '#ffffff',\n });\n\n useEffect(() => {\n let isMounted = true;\n\n if (props.src && withColorPair) {\n getDominantColorFromImageUrl(props.src).then(({ dominant, background }) => {\n if (isMounted) {\n setLogoColorPair({ dominant, background });\n }\n });\n } else if (isMounted) {\n setLogoColorPair({ dominant: '#000000', background: '#ffffff' });\n }\n\n return () => {\n isMounted = false;\n };\n }, [props.src, withColorPair]);\n\n return (\n <Avatar\n size=\"5rem\"\n radius=\"lg\"\n p=\"0.125rem\"\n bg={withColorPair ? logoColorPair.background : undefined}\n styles={{\n image: {\n objectFit: 'contain',\n objectPosition: 'center',\n },\n }}\n imageProps={{ referrerPolicy: 'no-referrer' }}\n {...props}\n >\n <ThemeIcon variant=\"transparent\" size=\"5rem\">\n <IconFallback size={48 * 1.5} stroke={1} />\n </ThemeIcon>\n </Avatar>\n );\n}\n\nexport default Logo;\n","import chroma from 'chroma-js';\nimport { darken, isLightColor, lighten } from '@mantine/core';\n\nexport function getPrimaryShadeColor(color: string): string {\n return chroma(color).set('hsl.s', 1).set('hsl.l', 0.55).hex();\n}\n\nexport function getBackgroundColor(\n color: string | undefined | null = '#ffffff',\n darkenAmount = 0.3,\n lightenAmount = 0.8,\n): string {\n if (!color) return '#000000';\n const darkerColor = darken(getPrimaryShadeColor(color), darkenAmount);\n const lightColor = lighten(getPrimaryShadeColor(color), lightenAmount);\n const inputLuminance = chroma(color).luminance();\n\n if (inputLuminance > 0.9) return darkerColor;\n if (inputLuminance < 0.15) return lightColor;\n\n const contrastLight = chroma.contrast(color, lightColor);\n const contrastDark = chroma.contrast(color, darkerColor);\n return contrastLight > contrastDark ? lightColor : darkerColor;\n}\n\nfunction loadImage(imageUrl: string): Promise<HTMLImageElement> {\n return new Promise((resolve, reject) => {\n const image = new Image();\n image.crossOrigin = 'anonymous';\n image.referrerPolicy = 'no-referrer';\n image.onload = () => resolve(image);\n image.onerror = () => reject(new Error('Could not load image for color extraction'));\n image.src = imageUrl;\n });\n}\n\nfunction quantizeChannel(value: number): number {\n return Math.round(value / 16) * 16;\n}\n\nfunction extractQuantizedPixels(imageData: Uint8ClampedArray): string[] {\n const colors: string[] = [];\n for (let index = 0; index < imageData.length; index += 4) {\n const alpha = imageData[index + 3] ?? 0;\n if (alpha < 16) continue;\n const red = quantizeChannel(imageData[index] ?? 0);\n const green = quantizeChannel(imageData[index + 1] ?? 0);\n const blue = quantizeChannel(imageData[index + 2] ?? 0);\n colors.push(chroma(red, green, blue).hex());\n }\n return colors;\n}\n\nfunction extractEdgeQuantizedPixels(\n imageData: Uint8ClampedArray,\n width: number,\n height: number,\n): string[] {\n const edgeColors: string[] = [];\n const edgeThickness = Math.max(1, Math.floor(Math.min(width, height) * 0.1));\n\n for (let y = 0; y < height; y += 1) {\n for (let x = 0; x < width; x += 1) {\n const isEdge =\n x < edgeThickness ||\n x >= width - edgeThickness ||\n y < edgeThickness ||\n y >= height - edgeThickness;\n if (!isEdge) continue;\n\n const pixelIndex = (y * width + x) * 4;\n const alpha = imageData[pixelIndex + 3] ?? 0;\n if (alpha < 16) continue;\n\n const red = quantizeChannel(imageData[pixelIndex] ?? 0);\n const green = quantizeChannel(imageData[pixelIndex + 1] ?? 0);\n const blue = quantizeChannel(imageData[pixelIndex + 2] ?? 0);\n edgeColors.push(chroma(red, green, blue).hex());\n }\n }\n return edgeColors;\n}\n\nfunction getMostFrequentColor(colors: string[]): string | null {\n if (colors.length === 0) return null;\n const frequencies = new Map<string, number>();\n for (const color of colors) {\n frequencies.set(color, (frequencies.get(color) ?? 0) + 1);\n }\n let selectedColor: string | null = null;\n let selectedCount = 0;\n for (const [color, count] of frequencies.entries()) {\n if (count > selectedCount) {\n selectedColor = color;\n selectedCount = count;\n }\n }\n return selectedColor;\n}\n\nexport const getDominantColorFromImageUrl = async (\n imageUrl: string,\n fallbackDominantColor = '#000000',\n fallbackBackgroundColor = '#ffffff',\n): Promise<{ dominant: string; background: string }> => {\n try {\n const image = await loadImage(imageUrl);\n const canvas = document.createElement('canvas');\n const context = canvas.getContext('2d', { willReadFrequently: true });\n\n if (!context) {\n return { dominant: fallbackDominantColor, background: fallbackBackgroundColor };\n }\n\n const maxSize = 96;\n const ratio = Math.min(maxSize / image.naturalWidth, maxSize / image.naturalHeight, 1);\n canvas.width = Math.max(1, Math.round(image.naturalWidth * ratio));\n canvas.height = Math.max(1, Math.round(image.naturalHeight * ratio));\n\n context.drawImage(image, 0, 0, canvas.width, canvas.height);\n const imageData = context.getImageData(0, 0, canvas.width, canvas.height).data;\n\n const allPixels = extractQuantizedPixels(imageData);\n const edgePixels = extractEdgeQuantizedPixels(imageData, canvas.width, canvas.height);\n\n const background = getMostFrequentColor(edgePixels) ?? getMostFrequentColor(allPixels);\n const dominant =\n getMostFrequentColor(\n background\n ? allPixels.filter((hex) => chroma.distance(hex, background, 'rgb') > 28)\n : allPixels,\n ) ?? getMostFrequentColor(allPixels);\n\n return {\n dominant: dominant ?? fallbackDominantColor,\n background: background ?? fallbackBackgroundColor,\n };\n } catch {\n return { dominant: fallbackDominantColor, background: fallbackBackgroundColor };\n }\n};\n","import { useState } from 'react';\n\nimport { Box, Center, Loader } from '@mantine/core';\n\nimport { NativePDFViewerProps } from './types';\n\nfunction getBrowser() {\n const { userAgent } = navigator;\n const isSafari = /^((?!chrome|android).)*safari/i.test(userAgent);\n const isEdge = /Edg\\//.test(userAgent);\n const isFirefox = /Firefox\\//.test(userAgent);\n const isChromium = /Chrome\\/|CriOS\\//.test(userAgent) && !isEdge;\n\n if (isSafari) return 'Safari';\n if (isEdge) return 'Edge';\n if (isFirefox) return 'Firefox';\n if (isChromium) return 'Chromium';\n return 'Unknown';\n}\n\nexport default function NativePDFViewer({\n mediaUrl,\n title,\n zoomLevel,\n withToolbar = true,\n fallback = 'Cannot display PDF on this browser. Use a different browser or download the PDF.',\n}: NativePDFViewerProps) {\n const [loading, setLoading] = useState<boolean>(false);\n\n const toolbarHeight = {\n Safari: 0,\n Edge: 40,\n Firefox: 32,\n Chromium: 58,\n Unknown: 58,\n }[getBrowser()];\n\n let optionsString = '';\n if (zoomLevel) {\n optionsString += `#zoom=${zoomLevel}%`;\n }\n if (!withToolbar) {\n optionsString = '#toolbar=0';\n }\n\n const renderFallback = () => (typeof fallback === 'function' ? fallback() : fallback);\n\n if (!mediaUrl) {\n return null;\n }\n\n return (\n <Box\n w=\"100%\"\n h={toolbarHeight ? `calc(100% + ${toolbarHeight}px)` : '100%'}\n style={{\n transform: toolbarHeight ? `translateY(-${toolbarHeight}px)` : undefined,\n }}\n >\n {loading ? (\n <Center h=\"100%\" w=\"100%\">\n <Loader size=\"xl\" />\n </Center>\n ) : null}\n <object\n data={`${mediaUrl}${optionsString}`}\n type=\"application/pdf\"\n width=\"100%\"\n height=\"100%\"\n onLoad={() => setLoading(false)}\n onError={() => setLoading(false)}\n >\n <Box>{renderFallback()}</Box>\n </object>\n </Box>\n );\n}\n","import { Alert, Center } from '@mantine/core';\n\nimport { NoDataProps } from './types';\n\nfunction NoData({ title, children, alertProps, ...props }: NoDataProps) {\n return (\n <Center h=\"100%\" {...props}>\n <Alert p=\"3rem\" title={title ?? 'No data'} {...alertProps}>\n <Center>{children}</Center>\n </Alert>\n </Center>\n );\n}\n\nexport default NoData;\n","import { Box, Container, Group, ScrollArea, Stack, Title } from '@mantine/core';\n\nimport { PageContainerProps } from './types';\n\nfunction PageContainer({\n children,\n title,\n titleProps,\n header,\n headerProps,\n rightSection = null,\n contentProps,\n outerContentProps,\n fullPage = false,\n withContentScroll = false,\n ...props\n}: PageContainerProps) {\n function getTitle() {\n if (title) {\n return (\n <Title order={2} {...titleProps}>\n {title}\n </Title>\n );\n }\n return null;\n }\n\n function getHeader() {\n if (header) {\n return header;\n }\n return (\n <Group justify=\"space-between\" w=\"100%\" {...headerProps}>\n {getTitle()}\n {rightSection}\n </Group>\n );\n }\n\n function getContent() {\n if (fullPage) {\n return <Box {...contentProps}>{children}</Box>;\n }\n return (\n <Stack gap=\"xl\" {...outerContentProps}>\n {getHeader()}\n <Stack px=\"xl\" py=\"lg\" h=\"100%\" w=\"100%\" {...contentProps}>\n {children}\n </Stack>\n </Stack>\n );\n }\n\n if (withContentScroll) {\n return (\n <ScrollArea h=\"100vh\" p={0} {...props}>\n <Container fluid>{getContent()}</Container>\n </ScrollArea>\n );\n }\n\n return (\n <Container p={0} w=\"100%\" fluid>\n {getContent()}\n </Container>\n );\n}\n\nexport default PageContainer;\n","import { useEffect, useState } from 'react';\n\nimport { getCountryData, getEmojiFlag, TCountryCode } from 'countries-list';\nimport parsePhoneNumber, {\n CountryCode,\n getCountries,\n getCountryCallingCode,\n} from 'libphonenumber-js';\n\nimport { Group, Select, TextInput } from '@mantine/core';\n\nimport { PhoneInputProps } from './types';\n\nconst COUNTRY_CODES = getCountries();\n\nfunction PhoneInput({ value, defaultValue, defaultCountryCode, ...props }: PhoneInputProps) {\n const valueNumber = value ?? '';\n const valueNumberData = parsePhoneNumber(valueNumber);\n let valueNumberCountryCode: string | undefined;\n if (valueNumberData?.isValid()) {\n valueNumberCountryCode = valueNumberData.country;\n }\n\n const [selectedCountryCode, setSelectedCountryCode] = useState<CountryCode | undefined>(\n defaultCountryCode,\n );\n const selectedCountryCodeCallingNumber = selectedCountryCode\n ? getCountryCallingCode(selectedCountryCode)\n : undefined;\n\n useEffect(() => {\n if (selectedCountryCode && selectedCountryCode !== valueNumberCountryCode) {\n const code = selectedCountryCode ?? defaultCountryCode ?? '';\n const callingCode = getCountryCallingCode(code);\n if (props.onChange) {\n const numberUpdate = `+${callingCode}${valueNumber.replace(callingCode, '')}`;\n const numberUpdateData = parsePhoneNumber(numberUpdate, selectedCountryCode);\n if (numberUpdateData?.isValid()) {\n props.onChange(`+${callingCode}${valueNumber.replace(callingCode, '')}`);\n }\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedCountryCode]);\n\n return (\n <Group wrap=\"nowrap\">\n <Select\n label=\"Country code\"\n size=\"sm\"\n classNames={{ ...props.classNames }}\n defaultValue={defaultCountryCode}\n value={valueNumberCountryCode}\n onChange={(c) => {\n if (c === null) {\n setSelectedCountryCode(undefined);\n } else {\n setSelectedCountryCode(c as CountryCode | undefined);\n }\n }}\n data={COUNTRY_CODES.map((code) => {\n const countryCallingCode = getCountryCallingCode(code);\n const countryName = getCountryData(code as TCountryCode).name;\n return {\n value: code,\n label: `${countryName} ${getEmojiFlag(code as TCountryCode)} +${countryCallingCode}`,\n };\n })}\n rightSection={props.disabled ? <></> : undefined}\n disabled={props.disabled}\n searchable\n />\n <TextInput\n {...props}\n defaultValue={valueNumberData?.nationalNumber}\n onChange={(e) => {\n if (props.onChange && selectedCountryCodeCallingNumber) {\n const numberUpdate = `+${selectedCountryCodeCallingNumber}${e.currentTarget.value.replace(selectedCountryCodeCallingNumber, '')}`;\n const numberUpdateData = parsePhoneNumber(numberUpdate, selectedCountryCode);\n if (numberUpdateData?.isValid()) {\n props.onChange(numberUpdateData.number);\n }\n }\n }}\n />\n </Group>\n );\n}\n\nexport default PhoneInput;\n","import { useEffect } from 'react';\n\nimport Highlight from '@tiptap/extension-highlight';\nimport SubScript from '@tiptap/extension-subscript';\nimport Superscript from '@tiptap/extension-superscript';\nimport TextAlign from '@tiptap/extension-text-align';\nimport Underline from '@tiptap/extension-underline';\nimport { useEditor } from '@tiptap/react';\nimport StarterKit from '@tiptap/starter-kit';\n\nimport { Link, RichTextEditor } from '@mantine/tiptap';\n\nimport { TextEditorProps } from './types';\n\nfunction TextEditor({\n content,\n value,\n onChangeEditorHTML = () => {},\n onChange = () => {},\n ...props\n}: TextEditorProps) {\n const editor = useEditor({\n editable: true,\n extensions: [\n StarterKit,\n Underline,\n Link,\n Superscript,\n SubScript,\n Highlight,\n TextAlign.configure({ types: ['heading', 'paragraph'] }),\n ],\n content,\n });\n\n useEffect(() => {\n onChangeEditorHTML(editor?.getHTML());\n onChange(editor?.getHTML());\n }, [editor?.state, editor, onChangeEditorHTML, onChange]);\n\n return (\n <RichTextEditor editor={editor} {...props}>\n <RichTextEditor.Toolbar sticky stickyOffset={60}>\n <RichTextEditor.ControlsGroup>\n <RichTextEditor.Bold />\n <RichTextEditor.Italic />\n <RichTextEditor.Underline />\n <RichTextEditor.Strikethrough />\n <RichTextEditor.ClearFormatting />\n <RichTextEditor.Highlight />\n <RichTextEditor.Code />\n </RichTextEditor.ControlsGroup>\n\n <RichTextEditor.ControlsGroup>\n <RichTextEditor.H1 />\n <RichTextEditor.H2 />\n <RichTextEditor.H3 />\n <RichTextEditor.H4 />\n </RichTextEditor.ControlsGroup>\n\n <RichTextEditor.ControlsGroup>\n <RichTextEditor.Blockquote />\n <RichTextEditor.Hr />\n <RichTextEditor.BulletList />\n <RichTextEditor.OrderedList />\n <RichTextEditor.Subscript />\n <RichTextEditor.Superscript />\n </RichTextEditor.ControlsGroup>\n\n <RichTextEditor.ControlsGroup>\n <RichTextEditor.Link />\n <RichTextEditor.Unlink />\n </RichTextEditor.ControlsGroup>\n\n <RichTextEditor.ControlsGroup>\n <RichTextEditor.AlignLeft />\n <RichTextEditor.AlignCenter />\n <RichTextEditor.AlignJustify />\n <RichTextEditor.AlignRight />\n </RichTextEditor.ControlsGroup>\n </RichTextEditor.Toolbar>\n\n <RichTextEditor.Content />\n </RichTextEditor>\n );\n}\n\nexport default TextEditor;\n","import {\n Switch,\n ThemeIcon,\n Tooltip,\n useComputedColorScheme,\n useMantineColorScheme,\n} from '@mantine/core';\n\nimport { IconMoon as IconSwitchDark, IconSun as IconSwitchLight } from '@tabler/icons-react';\n\nimport ClientOnly from '../ClientOnly';\n\nimport { ThemeToggleProps } from './types';\n\nfunction ThemeToggle({ ...props }: ThemeToggleProps) {\n const { setColorScheme } = useMantineColorScheme();\n const computedColorScheme = useComputedColorScheme('light', { getInitialValueInEffect: true });\n\n return (\n <Tooltip\n label={computedColorScheme === 'light' ? 'Switch to dark mode' : 'Switch to light mode'}\n position=\"bottom\"\n withinPortal\n >\n <ClientOnly>\n <Switch\n styles={{ track: { cursor: 'pointer' } }}\n defaultChecked={computedColorScheme === 'dark'}\n onChange={() => setColorScheme(computedColorScheme === 'light' ? 'dark' : 'light')}\n onLabel={\n <ThemeIcon size={props.size ?? 'sm'} variant=\"transparent\">\n <IconSwitchDark />\n </ThemeIcon>\n }\n offLabel={\n <ThemeIcon size={props.size ?? 'sm'} color=\"yellow\" variant=\"transparent\">\n <IconSwitchLight />\n </ThemeIcon>\n }\n color=\"dark\"\n size=\"md\"\n {...props}\n />\n </ClientOnly>\n </Tooltip>\n );\n}\n\nexport default ThemeToggle;\n"],"mappings":"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","names":["jsx","jsx","jsxs","_","index","useEffect","useState","Group","Image","jsx","jsxs","useEffect","useState","Avatar","jsx","useState","useEffect","Avatar","useState","Box","jsx","jsxs","Center","jsx","Box","Group","Stack","jsx","jsxs","useEffect","useState","Group","Fragment","jsx","jsxs","useEffect","jsx","jsxs","ThemeIcon","jsx","ThemeIcon"]}
|
package/package.json
CHANGED
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@emiketic/lib-mantine",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "A collection of handy components built on Mantine components",
|
|
5
|
-
"type": "module",
|
|
6
5
|
"main": "./dist/index.js",
|
|
7
6
|
"module": "./dist/index.mjs",
|
|
8
7
|
"types": "./dist/index.d.ts",
|
|
9
8
|
"exports": {
|
|
10
9
|
".": {
|
|
11
|
-
"
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
"import": {
|
|
11
|
+
"types": "./dist/index.d.mts",
|
|
12
|
+
"default": "./dist/index.mjs"
|
|
13
|
+
},
|
|
14
|
+
"require": {
|
|
15
|
+
"types": "./dist/index.d.ts",
|
|
16
|
+
"default": "./dist/index.js"
|
|
17
|
+
}
|
|
14
18
|
}
|
|
15
19
|
},
|
|
16
20
|
"files": [
|