@taiv/ui 1.1.0 → 1.2.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.
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useMediaQuery } from '@mantine/hooks';
2
+ import { useMobile } from '../../hooks/useMediaQuery';
3
3
  import { Checkbox } from '../Inputs/Controls/Checkbox';
4
4
  import { Group } from '../Layout/Group';
5
5
  import { Box } from '../Layout/Box';
@@ -9,7 +9,7 @@ import { Title } from '../Typography/Title';
9
9
  import { neutral } from '../../constants/colors';
10
10
  import { fontStyle } from '../../constants/font';
11
11
  const CheckboxTable = ({ columns, data, className = 'none', onRowClick, title, subtitle, showColumnTitles = false, outlines = false, }) => {
12
- const isMobile = useMediaQuery('(max-width: 768px)');
12
+ const isMobile = useMobile();
13
13
  const style = {
14
14
  container: {
15
15
  borderRadius: '8px',
@@ -1,10 +1,10 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Notifications } from '@mantine/notifications';
3
3
  import { createStyles } from '@mantine/core';
4
- import { useMediaQuery } from '@mantine/hooks';
5
4
  import { neutral } from '../../../constants/colors';
5
+ import { useMobile } from '../../../hooks/useMediaQuery';
6
6
  export const NotificationProvider = () => {
7
- const isMobile = useMediaQuery('(max-width: 768px)');
7
+ const isMobile = useMobile();
8
8
  const { classes } = createStyles(() => ({
9
9
  root: {
10
10
  '& .mantine-Notification-root': {
@@ -0,0 +1,8 @@
1
+ export declare const BREAKPOINTS: {
2
+ readonly MOBILE: 640;
3
+ readonly TABLET: 768;
4
+ readonly LAPTOP: 1024;
5
+ readonly DESKTOP: 1280;
6
+ readonly WIDE: 1536;
7
+ };
8
+ //# sourceMappingURL=breakpoints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breakpoints.d.ts","sourceRoot":"","sources":["../../src/constants/breakpoints.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,WAAW;;;;;;CAMd,CAAC"}
@@ -0,0 +1,8 @@
1
+ // Breakpoints in px - from Tailwind CSS
2
+ export const BREAKPOINTS = {
3
+ MOBILE: 640,
4
+ TABLET: 768,
5
+ LAPTOP: 1024,
6
+ DESKTOP: 1280,
7
+ WIDE: 1536,
8
+ };
@@ -1,3 +1,4 @@
1
1
  export * from './colors';
2
2
  export * from './font';
3
+ export * from './breakpoints';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export * from './colors';
2
2
  export * from './font';
3
+ export * from './breakpoints';
@@ -1,5 +1,5 @@
1
1
  export { useCopy } from './useCopy';
2
- export { useMediaQuery } from './useMediaQuery';
2
+ export { useMediaQuery, useScreenSize, useMobile, useTablet, useLaptop, useDesktop, useWide } from './useMediaQuery';
3
3
  export { useNotifications } from './useNotifications';
4
4
  export { useConfirmationModal } from './useConfirmationModal';
5
5
  export { useInfoModal } from './useInfoModal';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACrH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export { useCopy } from './useCopy';
2
- export { useMediaQuery } from './useMediaQuery';
2
+ export { useMediaQuery, useScreenSize, useMobile, useTablet, useLaptop, useDesktop, useWide } from './useMediaQuery';
3
3
  export { useNotifications } from './useNotifications';
4
4
  export { useConfirmationModal } from './useConfirmationModal';
5
5
  export { useInfoModal } from './useInfoModal';
@@ -1,3 +1,10 @@
1
1
  import { useMediaQuery as useMantineMediaQuery } from '@mantine/hooks';
2
+ import { BREAKPOINTS } from '../constants/breakpoints';
2
3
  export declare const useMediaQuery: typeof useMantineMediaQuery;
4
+ export declare const useScreenSize: () => keyof typeof BREAKPOINTS;
5
+ export declare const useMobile: () => boolean;
6
+ export declare const useTablet: () => boolean;
7
+ export declare const useLaptop: () => boolean;
8
+ export declare const useDesktop: () => boolean;
9
+ export declare const useWide: () => boolean;
3
10
  //# sourceMappingURL=useMediaQuery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMediaQuery.d.ts","sourceRoot":"","sources":["../../src/hooks/useMediaQuery.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEvE,eAAO,MAAM,aAAa,6BAAuB,CAAC"}
1
+ {"version":3,"file":"useMediaQuery.d.ts","sourceRoot":"","sources":["../../src/hooks/useMediaQuery.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,eAAO,MAAM,aAAa,6BAAuB,CAAC;AAElD,eAAO,MAAM,aAAa,QAAO,MAAM,OAAO,WAW7C,CAAC;AAEF,eAAO,MAAM,SAAS,eAA8D,CAAC;AACrF,eAAO,MAAM,SAAS,eAA8D,CAAC;AACrF,eAAO,MAAM,SAAS,eAA8D,CAAC;AACrF,eAAO,MAAM,UAAU,eAA+D,CAAC;AACvF,eAAO,MAAM,OAAO,eAA4D,CAAC"}
@@ -1,2 +1,23 @@
1
1
  import { useMediaQuery as useMantineMediaQuery } from '@mantine/hooks';
2
+ import { BREAKPOINTS } from '../constants/breakpoints';
2
3
  export const useMediaQuery = useMantineMediaQuery;
4
+ export const useScreenSize = () => {
5
+ const isMobile = useMobile();
6
+ const isTablet = useTablet();
7
+ const isLaptop = useLaptop();
8
+ const isDesktop = useDesktop();
9
+ if (isMobile)
10
+ return 'MOBILE';
11
+ if (isTablet)
12
+ return 'TABLET';
13
+ if (isLaptop)
14
+ return 'LAPTOP';
15
+ if (isDesktop)
16
+ return 'DESKTOP';
17
+ return 'WIDE';
18
+ };
19
+ export const useMobile = () => useMediaQuery(`(max-width: ${BREAKPOINTS.MOBILE}px)`);
20
+ export const useTablet = () => useMediaQuery(`(max-width: ${BREAKPOINTS.TABLET}px)`);
21
+ export const useLaptop = () => useMediaQuery(`(max-width: ${BREAKPOINTS.LAPTOP}px)`);
22
+ export const useDesktop = () => useMediaQuery(`(max-width: ${BREAKPOINTS.DESKTOP}px)`);
23
+ export const useWide = () => useMediaQuery(`(max-width: ${BREAKPOINTS.WIDE}px)`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiv/ui",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "author": "Taiv",
5
5
  "description": "Taiv's web UI Toolkit built on Mantine v6",
6
6
  "main": "dist/index.js",