@knovator/pagecreator 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -1 +1,4 @@
1
- declare module '@knovator/api';
1
+ import Widget from './lib/components/widget/widget';
2
+ import Page from './lib/components/page/page';
3
+ import { getData } from './lib/utils/helper';
4
+ export { Widget, Page, getData };
@@ -0,0 +1,3 @@
1
+ import { CardProps } from '../../../../types';
2
+ export declare function Banner({ imageAltText, imageUrl, onClick, srcSets, }: CardProps): JSX.Element;
3
+ export default Banner;
@@ -0,0 +1,3 @@
1
+ import { SimpleCardProps } from '../../../../types';
2
+ export declare function SimpleCard({ imageUrl, imageAltText, subTitle, label, title, onClick, }: SimpleCardProps): JSX.Element;
3
+ export default SimpleCard;
@@ -0,0 +1,3 @@
1
+ import { CollectionItemProps } from '../../../types';
2
+ export declare function CollectionItem({ name, onClick }: CollectionItemProps): JSX.Element;
3
+ export default CollectionItem;
@@ -0,0 +1,3 @@
1
+ import { PageProps } from '../../types';
2
+ export declare function Page({ title, imageBaseUrl, pageData, formatItem, onClick, hideWidgetTitles, }: PageProps): JSX.Element | null;
3
+ export default Page;
@@ -0,0 +1,3 @@
1
+ import { ItemsTypeProps } from '../../../types';
2
+ export declare function CarouselWidget({ widgetData, formatItem, settings, className, }: ItemsTypeProps): JSX.Element | null;
3
+ export default CarouselWidget;
@@ -0,0 +1,3 @@
1
+ import { ItemsTypeProps } from '../../../types';
2
+ export declare function FixedWidget({ widgetData, formatItem, className, }: ItemsTypeProps): JSX.Element;
3
+ export default FixedWidget;
@@ -0,0 +1,3 @@
1
+ import { WidgetProps } from '../../types';
2
+ export declare function Widget({ widgetData, imageBaseUrl, formatItem, onClick, settings, hideTitle, className, formatFooter, formatHeader, }: WidgetProps): JSX.Element | null;
3
+ export default Widget;
@@ -0,0 +1,2 @@
1
+ declare const Next: () => JSX.Element;
2
+ export default Next;
@@ -0,0 +1,2 @@
1
+ declare const Previous: () => JSX.Element;
2
+ export default Previous;
@@ -0,0 +1,66 @@
1
+ import { ObjectType } from '.';
2
+ export declare type API_INPUT_TYPE = {
3
+ prefix: string;
4
+ id?: string;
5
+ };
6
+ export interface BaseAPIProps {
7
+ config?: ObjectType;
8
+ baseUrl: string;
9
+ token: string | (() => Promise<string>);
10
+ data?: ObjectType;
11
+ url: string;
12
+ method: string;
13
+ onError?: (error: Error) => void;
14
+ }
15
+ export declare type ACTION_TYPES = 'GET_WIDGET_DATA' | 'GET_PAGE_DATA';
16
+ export declare type API_TYPE = {
17
+ url: string;
18
+ method: string;
19
+ };
20
+ export declare type Routes_Input = {
21
+ [K in ACTION_TYPES]?: (data: API_INPUT_TYPE) => API_TYPE;
22
+ };
23
+ export interface PageData {
24
+ _id: string;
25
+ name: string;
26
+ code: string;
27
+ widgets: WidgetData[];
28
+ }
29
+ export interface WidgetData {
30
+ _id: string;
31
+ name: string;
32
+ code: string;
33
+ autoPlay: boolean;
34
+ isActive: boolean;
35
+ widgetTitle: string;
36
+ webPerRow: number;
37
+ mobilePerRow: number;
38
+ tabletPerRow: number;
39
+ itemsType: 'Image' | string;
40
+ widgetType: 'FixedCard' | 'Carousel';
41
+ items: ItemData[];
42
+ collectionItems: CollectionItemType[];
43
+ }
44
+ export interface ItemData {
45
+ _id: string;
46
+ title: string;
47
+ altText: string;
48
+ link: string;
49
+ itemType: 'Web' | 'Mobile';
50
+ img: ImgData;
51
+ srcSets?: string;
52
+ srcset?: SrcSetItem[];
53
+ }
54
+ export interface ImgData {
55
+ _id: string;
56
+ uri: string;
57
+ }
58
+ export interface CollectionItemType {
59
+ _id: string;
60
+ name?: string;
61
+ }
62
+ export interface SrcSetItem {
63
+ screenSize: number;
64
+ width: number;
65
+ height: number;
66
+ }
@@ -0,0 +1,3 @@
1
+ export declare type ObjectType = {
2
+ [key: string]: string | boolean | number | null | undefined | ObjectType;
3
+ };
@@ -0,0 +1,60 @@
1
+ import { Settings } from 'react-slick';
2
+ import { ItemData, WidgetData, ObjectType, PageData, CollectionItemType } from './';
3
+ interface SlideProps {
4
+ onClick?: (data?: ObjectType) => void;
5
+ }
6
+ export interface BannerProps extends SlideProps {
7
+ imageUrl: string;
8
+ imageAltText: string;
9
+ }
10
+ export interface CardProps {
11
+ imageUrl: string;
12
+ imageAltText: string;
13
+ onClick?: (data?: ObjectType) => void;
14
+ srcSets?: string;
15
+ }
16
+ export interface ProductCardProps extends CardProps {
17
+ title: string;
18
+ subTitle?: string;
19
+ label?: string;
20
+ }
21
+ export interface SimpleCardProps extends ProductCardProps {
22
+ }
23
+ export interface HighlightCardProps extends ProductCardProps {
24
+ highlightedText: string;
25
+ dimmedText: string;
26
+ }
27
+ export interface UserCardProps extends CardProps {
28
+ name: string;
29
+ }
30
+ export interface ReviewCardProps extends UserCardProps {
31
+ stars: number;
32
+ review: string;
33
+ }
34
+ export interface WidgetProps {
35
+ widgetData: WidgetData;
36
+ imageBaseUrl?: string;
37
+ hideTitle?: boolean;
38
+ formatItem?: (item: ItemData | CollectionItemType) => JSX.Element;
39
+ onClick?: (item: ItemData | CollectionItemType) => void;
40
+ settings?: Settings;
41
+ className?: string;
42
+ formatHeader?: (title: string, data: WidgetData) => string | JSX.Element;
43
+ formatFooter?: (data: WidgetData) => string | JSX.Element;
44
+ }
45
+ export interface ItemsTypeProps extends WidgetProps {
46
+ formatItem: (item: CollectionItemType | ItemData) => JSX.Element;
47
+ }
48
+ export interface PageProps {
49
+ title?: string;
50
+ imageBaseUrl?: string;
51
+ pageData: PageData;
52
+ hideWidgetTitles?: boolean;
53
+ formatItem?: (CODE: string, item: ItemData | CollectionItemType) => JSX.Element;
54
+ onClick?: (CODE: string, item: ItemData | CollectionItemType) => JSX.Element;
55
+ }
56
+ export interface CollectionItemProps {
57
+ name?: string;
58
+ onClick?: () => void;
59
+ }
60
+ export {};
@@ -0,0 +1,3 @@
1
+ export * from './api';
2
+ export * from './common';
3
+ export * from './components';
@@ -0,0 +1,11 @@
1
+ import { WidgetData, PageData, ItemData } from '../types';
2
+ interface GetDataParams {
3
+ url: string;
4
+ code: string;
5
+ token?: string | (() => Promise<string>);
6
+ }
7
+ export declare function getData({ url, code, token, }: GetDataParams): Promise<WidgetData | PageData>;
8
+ export declare function buildSrcSets(imageBaseUrl?: string, srcSets?: string): string;
9
+ export declare const isMobileDevice: boolean;
10
+ export declare const filterItemData: (data: ItemData) => boolean;
11
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@knovator/pagecreator",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git@github.com:knovator/pagecreator.git"
@@ -22,5 +22,8 @@
22
22
  "style.css",
23
23
  "index.d.ts",
24
24
  "index.js"
25
- ]
25
+ ],
26
+ "main": "./index.cjs",
27
+ "type": "commonjs",
28
+ "types": "./index.d.ts"
26
29
  }
package/style.css ADDED
@@ -0,0 +1 @@
1
+ @charset "UTF-8";.slick-slider{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;box-sizing:border-box;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;user-select:none;-khtml-user-select:none}.slick-list,.slick-slider{display:block;position:relative}.slick-list{margin:0;overflow:hidden;padding:0}.slick-list:focus{outline:none}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-list,.slick-slider .slick-track{transform:translateZ(0)}.slick-track{display:block;left:0;margin-left:auto;margin-right:auto;position:relative;top:0}.slick-track:after,.slick-track:before{content:"";display:table}.slick-track:after{clear:both}.slick-loading .slick-track{visibility:hidden}.slick-slide{display:none;float:left;height:100%;min-height:1px}[dir=rtl] .slick-slide{float:right}.slick-slide img{display:block}.slick-slide.slick-loading img{display:none}.slick-slide.dragging img{pointer-events:none}.slick-initialized .slick-slide{display:block}.slick-loading .slick-slide{visibility:hidden}.slick-vertical .slick-slide{border:1px solid transparent;display:block;height:auto}.slick-arrow.slick-hidden{display:none}.slick-loading .slick-list{background:#fff url(ajax-loader.gif) 50% no-repeat}@font-face{font-family:slick;font-style:normal;font-weight:400;src:url(fonts/slick.eot);src:url(fonts/slick.eot?#iefix) format("embedded-opentype"),url(fonts/slick.woff) format("woff"),url(fonts/slick.ttf) format("truetype"),url(fonts/slick.svg#slick) format("svg")}.slick-next,.slick-prev{border:none;cursor:pointer;display:block;font-size:0;height:20px;line-height:0;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:20px}.slick-next,.slick-next:focus,.slick-next:hover,.slick-prev,.slick-prev:focus,.slick-prev:hover{background:transparent;color:transparent;outline:none}.slick-next:focus:before,.slick-next:hover:before,.slick-prev:focus:before,.slick-prev:hover:before{opacity:1}.slick-next.slick-disabled:before,.slick-prev.slick-disabled:before{opacity:.25}.slick-next:before,.slick-prev:before{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#fff;font-family:slick;font-size:20px;line-height:1;opacity:.75}.slick-prev{left:-25px}[dir=rtl] .slick-prev{left:auto;right:-25px}.slick-prev:before{content:"←"}[dir=rtl] .slick-prev:before{content:"→"}.slick-next{right:-25px}[dir=rtl] .slick-next{left:-25px;right:auto}.slick-next:before{content:"→"}[dir=rtl] .slick-next:before{content:"←"}.slick-dotted.slick-slider{margin-bottom:30px}.slick-dots{bottom:-25px;display:block;list-style:none;margin:0;padding:0;position:absolute;text-align:center;width:100%}.slick-dots li{display:inline-block;margin:0 5px;padding:0;position:relative}.slick-dots li,.slick-dots li button{cursor:pointer;height:20px;width:20px}.slick-dots li button{background:transparent;border:0;color:transparent;display:block;font-size:0;line-height:0;outline:none;padding:5px}.slick-dots li button:focus,.slick-dots li button:hover{outline:none}.slick-dots li button:focus:before,.slick-dots li button:hover:before{opacity:1}.slick-dots li button:before{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#000;content:"•";font-family:slick;font-size:6px;height:20px;left:0;line-height:20px;opacity:.25;position:absolute;text-align:center;top:0;width:20px}.slick-dots li.slick-active button:before{color:#000;opacity:.75}/*! tailwindcss v3.1.8 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::-webkit-backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-none{grid-template-columns:none}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.kpc_widget{margin-top:2.5rem}@media (min-width:1024px){.kpc_widget{margin-top:4rem}}.kpc_widget-title{font-size:1.5rem;font-weight:700;line-height:2rem;margin-bottom:.5rem}.kpc_simple-card{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity));border-radius:.5rem;border-width:1px;display:flex;flex-direction:column;gap:.5rem;overflow:hidden;padding:.75rem}.kpc_simple-card-heading{flex-shrink:0}.kpc_simple-card-image{aspect-ratio:1/1;border-radius:.375rem;-o-object-fit:cover;object-fit:cover}.kpc_simple-card-body{display:contents;width:100%}.kpc_simple-card-label{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity));font-size:.75rem;line-height:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kpc_simple-card-content{align-items:center;justify-content:space-between;width:100%}.kpc_simple-card-title{font-size:1.125rem;font-weight:600;line-height:1.75rem;text-align:center}.kpc_simple-card-subtitle{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity));font-size:.75rem;line-height:1rem}.kpc_banner{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity));border-radius:.375rem;border-width:1px;padding:.25rem}.kpc_banner-image{aspect-ratio:1/1;height:100%;width:100%}.kpc_page-title{font-size:1.5rem;font-weight:700;line-height:2rem;margin-bottom:.5rem}.kpc_page-widgets>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.kpc_item{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity));border-radius:.375rem;border-width:2px;padding:.5rem}.kpc_item-text{font-size:1rem;font-weight:500;line-height:1.5rem;text-align:center}@media (min-width:640px){.sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.sm\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.sm\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.sm\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.sm\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.sm\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.sm\:grid-cols-none{grid-template-columns:none}}@media (min-width:768px){.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.md\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.md\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.md\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.md\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:grid-cols-none{grid-template-columns:none}}@media (min-width:1024px){.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.lg\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.lg\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.lg\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lg\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-none{grid-template-columns:none}}@media (min-width:1280px){.xl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.xl\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.xl\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.xl\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.xl\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.xl\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.xl\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.xl\:grid-cols-none{grid-template-columns:none}}@media (min-width:1536px){.\32xl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.\32xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.\32xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.\32xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.\32xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.\32xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.\32xl\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.\32xl\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.\32xl\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.\32xl\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.\32xl\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.\32xl\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.\32xl\:grid-cols-none{grid-template-columns:none}}