@redneckz/wildless-cms-uni-blocks 0.2.53 → 0.2.56

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.
Files changed (145) hide show
  1. package/dist/BaseTile.d.ts +13 -0
  2. package/dist/BaseTile.js +35 -0
  3. package/dist/BaseTile.js.map +1 -0
  4. package/dist/Blocks.d.ts +2 -2
  5. package/dist/Blocks.js.map +1 -1
  6. package/dist/ContentPage.d.ts +4 -1
  7. package/dist/ContentPage.js +3 -4
  8. package/dist/ContentPage.js.map +1 -1
  9. package/dist/ContentPageContext.d.ts +2 -0
  10. package/dist/ExchangeRateTile.js +7 -5
  11. package/dist/ExchangeRateTile.js.map +1 -1
  12. package/dist/Footer/Footer.mobile.d.ts +5 -0
  13. package/dist/Footer/Footer.mobile.js +7 -0
  14. package/dist/Footer/Footer.mobile.js.map +1 -0
  15. package/dist/Header/Header.js +2 -2
  16. package/dist/Header/Header.js.map +1 -1
  17. package/dist/Header/HeaderContent.d.ts +1 -1
  18. package/dist/Header/HeaderSecondaryMenu.d.ts +5 -2
  19. package/dist/Header/HeaderSecondaryMenu.js +3 -2
  20. package/dist/Header/HeaderSecondaryMenu.js.map +1 -1
  21. package/dist/MobileBlocks.d.ts +13 -0
  22. package/dist/MobileBlocks.js +27 -0
  23. package/dist/MobileBlocks.js.map +1 -0
  24. package/dist/ProductBlock.d.ts +2 -0
  25. package/dist/ProductBlock.js +7 -2
  26. package/dist/ProductBlock.js.map +1 -1
  27. package/dist/ProductBlockInner.d.ts +3 -10
  28. package/dist/ProductBlockInner.js +3 -15
  29. package/dist/ProductBlockInner.js.map +1 -1
  30. package/dist/ProductTile.d.ts +4 -13
  31. package/dist/ProductTile.js +4 -11
  32. package/dist/ProductTile.js.map +1 -1
  33. package/dist/Tile.d.ts +3 -11
  34. package/dist/Tile.js +4 -26
  35. package/dist/Tile.js.map +1 -1
  36. package/dist/api/DaDataAPI.d.ts +3 -0
  37. package/dist/api/DaDataAPI.js +33 -0
  38. package/dist/api/DaDataAPI.js.map +1 -0
  39. package/dist/api/LikeAPI.d.ts +1 -1
  40. package/dist/api/LikeAPI.js +2 -2
  41. package/dist/api/LikeAPI.js.map +1 -1
  42. package/dist/content-page-repository/ContentPageRepository.d.ts +1 -0
  43. package/dist/content-page-repository/ContentPageRepository.js +6 -0
  44. package/dist/content-page-repository/ContentPageRepository.js.map +1 -1
  45. package/dist/content-page-repository/index.d.ts +1 -0
  46. package/dist/content-page-repository/index.js +3 -1
  47. package/dist/content-page-repository/index.js.map +1 -1
  48. package/dist/content-page-repository/toMobilePage.d.ts +2 -0
  49. package/dist/content-page-repository/toMobilePage.js +23 -0
  50. package/dist/content-page-repository/toMobilePage.js.map +1 -0
  51. package/dist/index.d.ts +5 -2
  52. package/dist/index.js +7 -3
  53. package/dist/index.js.map +1 -1
  54. package/dist/types.d.ts +14 -0
  55. package/dist/utils/getCurrentPosition.d.ts +1 -0
  56. package/dist/utils/getCurrentPosition.js +5 -0
  57. package/dist/utils/getCurrentPosition.js.map +1 -0
  58. package/lib/BaseTile.d.ts +13 -0
  59. package/lib/BaseTile.js +33 -0
  60. package/lib/BaseTile.js.map +1 -0
  61. package/lib/Blocks.d.ts +2 -2
  62. package/lib/Blocks.js.map +1 -1
  63. package/lib/ContentPage.d.ts +4 -1
  64. package/lib/ContentPage.js +3 -4
  65. package/lib/ContentPage.js.map +1 -1
  66. package/lib/ContentPageContext.d.ts +2 -0
  67. package/lib/ExchangeRateTile.js +7 -5
  68. package/lib/ExchangeRateTile.js.map +1 -1
  69. package/lib/Footer/Footer.mobile.d.ts +5 -0
  70. package/lib/Footer/Footer.mobile.js +5 -0
  71. package/lib/Footer/Footer.mobile.js.map +1 -0
  72. package/lib/Header/Header.js +2 -2
  73. package/lib/Header/Header.js.map +1 -1
  74. package/lib/Header/HeaderContent.d.ts +1 -1
  75. package/lib/Header/HeaderSecondaryMenu.d.ts +5 -2
  76. package/lib/Header/HeaderSecondaryMenu.js +3 -2
  77. package/lib/Header/HeaderSecondaryMenu.js.map +1 -1
  78. package/lib/MobileBlocks.d.ts +13 -0
  79. package/lib/MobileBlocks.js +25 -0
  80. package/lib/MobileBlocks.js.map +1 -0
  81. package/lib/ProductBlock.d.ts +2 -0
  82. package/lib/ProductBlock.js +8 -3
  83. package/lib/ProductBlock.js.map +1 -1
  84. package/lib/ProductBlockInner.d.ts +3 -10
  85. package/lib/ProductBlockInner.js +3 -15
  86. package/lib/ProductBlockInner.js.map +1 -1
  87. package/lib/ProductTile.d.ts +4 -13
  88. package/lib/ProductTile.js +4 -11
  89. package/lib/ProductTile.js.map +1 -1
  90. package/lib/Tile.d.ts +3 -11
  91. package/lib/Tile.js +5 -27
  92. package/lib/Tile.js.map +1 -1
  93. package/lib/api/DaDataAPI.d.ts +3 -0
  94. package/lib/api/DaDataAPI.js +30 -0
  95. package/lib/api/DaDataAPI.js.map +1 -0
  96. package/lib/api/LikeAPI.d.ts +1 -1
  97. package/lib/api/LikeAPI.js +2 -2
  98. package/lib/api/LikeAPI.js.map +1 -1
  99. package/lib/common.css +1 -1
  100. package/lib/content-page-repository/ContentPageRepository.d.ts +1 -0
  101. package/lib/content-page-repository/ContentPageRepository.js +6 -0
  102. package/lib/content-page-repository/ContentPageRepository.js.map +1 -1
  103. package/lib/content-page-repository/index.d.ts +1 -0
  104. package/lib/content-page-repository/index.js +1 -0
  105. package/lib/content-page-repository/index.js.map +1 -1
  106. package/lib/content-page-repository/toMobilePage.d.ts +2 -0
  107. package/lib/content-page-repository/toMobilePage.js +20 -0
  108. package/lib/content-page-repository/toMobilePage.js.map +1 -0
  109. package/lib/index.d.ts +5 -2
  110. package/lib/index.js +3 -1
  111. package/lib/index.js.map +1 -1
  112. package/lib/types.d.ts +14 -0
  113. package/lib/utils/getCurrentPosition.d.ts +1 -0
  114. package/lib/utils/getCurrentPosition.js +2 -0
  115. package/lib/utils/getCurrentPosition.js.map +1 -0
  116. package/package.json +9 -3
  117. package/src/BaseTile.tsx +87 -0
  118. package/src/Blocks.ts +3 -2
  119. package/src/ContentPage.fixture.tsx +23 -3
  120. package/src/ContentPage.page.json +255 -77
  121. package/src/ContentPage.tsx +10 -5
  122. package/src/ContentPageContext.tsx +3 -0
  123. package/src/ExchangeRateTile.tsx +7 -5
  124. package/src/Footer/Footer.mobile.tsx +12 -0
  125. package/src/Header/Header.fixture.tsx +1 -1
  126. package/src/Header/Header.tsx +6 -2
  127. package/src/Header/HeaderContent.ts +1 -1
  128. package/src/Header/HeaderSecondaryMenu.tsx +48 -34
  129. package/src/MobileBlocks.ts +25 -0
  130. package/src/ProductBlock.fixture.tsx +3 -2
  131. package/src/ProductBlock.tsx +25 -3
  132. package/src/ProductBlockInner.tsx +13 -70
  133. package/src/ProductTile.fixture.tsx +31 -23
  134. package/src/ProductTile.tsx +21 -70
  135. package/src/Tile.fixture.tsx +39 -29
  136. package/src/Tile.tsx +10 -79
  137. package/src/api/DaDataAPI.ts +34 -0
  138. package/src/api/LikeAPI.ts +12 -9
  139. package/src/content-page-repository/ContentPageRepository.ts +7 -0
  140. package/src/content-page-repository/index.ts +1 -0
  141. package/src/content-page-repository/toMobilePage.ts +21 -0
  142. package/src/index.ts +14 -2
  143. package/src/setup-fixture.ts +15 -0
  144. package/src/types.ts +17 -0
  145. package/src/utils/getCurrentPosition.ts +4 -0
@@ -1,5 +1,7 @@
1
1
  import type { ProductBlockInnerContent } from './ProductBlockInner';
2
2
  import type { UniBlockProps } from './types';
3
+ import { BreadcrumbProps } from './ui-kit/Breadcrumb';
3
4
  export interface ProductBlockProps extends ProductBlockInnerContent, UniBlockProps {
5
+ breadcrumbs?: BreadcrumbProps[];
4
6
  }
5
7
  export declare const ProductBlock: (props: import("@redneckz/uni-jsx").PropsWithChildren<ProductBlockProps, any>, context?: any) => any;
@@ -1,8 +1,13 @@
1
- import { jsx as _jsx } from "@redneckz/uni-jsx/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
2
2
  import { JSX } from '@redneckz/uni-jsx';
3
3
  import { ProductBlockInner } from './ProductBlockInner.js';
4
+ import { Breadcrumb } from './ui-kit/Breadcrumb.js';
5
+ import { useLink } from './useLink.js';
6
+ import { joinList } from './utils/joinList.js';
4
7
  export const ProductBlock = JSX((props) => {
5
- const className = props.className;
6
- return (_jsx("section", { className: `bg-white p-11 pr-[7.5rem] ${className || ''}`, children: _jsx(ProductBlockInner, { ...props }) }));
8
+ const { context, className, breadcrumbs } = props;
9
+ const router = context.useRouter();
10
+ const { handlerDecorator } = context;
11
+ return (_jsxs("section", { className: `font-sans bg-white pl-12 pr-[7.5rem] py-10 ${className || ''}`, children: [breadcrumbs?.length ? (_jsx("div", { className: "text-xs mb-6", children: joinList(_jsx("span", { className: "text-secondary-text mx-2", children: "/" }))(breadcrumbs.map((breadcrumb, i) => (_jsx(Breadcrumb, { ...useLink({ router, handlerDecorator }, { className: 'text-secondary-text', ...breadcrumb }) }, String(i))))) })) : null, _jsx(ProductBlockInner, { ...props })] }));
7
12
  });
8
13
  //# sourceMappingURL=ProductBlock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProductBlock.js","sourceRoot":"","sources":["../src/ProductBlock.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAMxD,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAoB,CAAC,KAAK,EAAE,EAAE;IAC3D,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAClC,OAAO,CACL,kBAAS,SAAS,EAAE,6BAA6B,SAAS,IAAI,EAAE,EAAE,YAChE,KAAC,iBAAiB,OAAK,KAAK,GAAI,GACxB,CACX,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"ProductBlock.js","sourceRoot":"","sources":["../src/ProductBlock.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,UAAU,EAAmB,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAM5C,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAoB,CAAC,KAAK,EAAE,EAAE;IAC3D,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAClD,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACnC,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IACrC,OAAO,CACL,mBAAS,SAAS,EAAE,8CAA8C,SAAS,IAAI,EAAE,EAAE,aAChF,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CACrB,cAAK,SAAS,EAAC,cAAc,YAC1B,QAAQ,CAAC,eAAM,SAAS,EAAC,0BAA0B,kBAAS,CAAC,CAC5D,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,CACjC,KAAC,UAAU,OAEL,OAAO,CACT,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAC5B,EAAE,SAAS,EAAE,qBAAqB,EAAE,GAAG,UAAU,EAAE,CACpD,IAJI,MAAM,CAAC,CAAC,CAAC,CAKd,CACH,CAAC,CACH,GACG,CACP,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,iBAAiB,OAAK,KAAK,GAAI,IACxB,CACX,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1,14 +1,7 @@
1
- import type { Picture, UniBlockProps, Benefit } from './types';
2
- import type { ButtonProps } from './ui-kit/Button';
3
- import { BreadcrumbProps } from './ui-kit/Breadcrumb';
4
- export interface ProductBlockInnerContent {
5
- title?: string;
6
- description?: string;
7
- breadcrumbs?: BreadcrumbProps[];
8
- image?: Picture;
1
+ import type { UniBlockProps, Benefit } from './types';
2
+ import type { BaseTileContent } from './BaseTile';
3
+ export interface ProductBlockInnerContent extends BaseTileContent {
9
4
  benefits?: Benefit[];
10
- items?: string[];
11
- buttons?: ButtonProps[];
12
5
  }
13
6
  export interface ProductBlockInnerProps extends ProductBlockInnerContent, UniBlockProps {
14
7
  }
@@ -1,25 +1,13 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
2
2
  import { JSX } from '@redneckz/uni-jsx';
3
3
  import { EmptyWalletIcon, PercentageSquareIcon, CalendarIcon } from './Icons/index.js';
4
+ import { BaseTile } from './BaseTile.js';
4
5
  import { Img } from './Img.js';
5
- import { BlockItem } from './ui-kit/BlockItem.js';
6
- import { Button } from './ui-kit/Button.js';
7
- import { Breadcrumb } from './ui-kit/Breadcrumb.js';
8
- import { useLink } from './useLink.js';
9
- import { joinList } from './utils/joinList.js';
10
6
  const ICONS = { EmptyWalletIcon, PercentageSquareIcon, CalendarIcon };
11
- export const ProductBlockInner = JSX(({ className, context, title, description, breadcrumbs, benefits, buttons, image, items }) => {
12
- const router = context.useRouter();
13
- const { handlerDecorator } = context;
14
- return (_jsxs("div", { className: `font-sans flex justify-between items-stretch ${className || ''}`, children: [_jsxs("div", { className: "flex flex-col", children: [breadcrumbs?.length ? (_jsx("div", { className: "text-xs mb-6", children: joinList(_jsx("span", { className: "text-secondary-text mx-2", children: "/" }))(breadcrumbs.map((breadcrumb, i) => (_jsx(Breadcrumb, { ...useLink({ router, handlerDecorator }, { className: 'text-secondary-text', ...breadcrumb }) }, String(i))))) })) : null, title && (_jsx("h1", { className: "font-medium text-title-lg m-0 whitespace-pre-wrap max-w-[600px]", children: title })), description && (_jsx("div", { className: "font-normal text-base max-w-[600px] mt-4", children: description })), benefits?.length ? (_jsx("div", { className: "flex gap-6 mt-7", children: benefits.map(renderBenefit) })) : null, items?.length ? (_jsx("section", { className: "mt-5", role: "list", children: items.map((_, i) => (_jsx(BlockItem, { className: "mb-2", text: _ }, String(i)))) })) : null, buttons?.length ? (_jsx("div", { className: "flex mt-auto gap-4", children: buttons.map((button, index) => renderButton(useLink({ router, handlerDecorator }, button), index)) })) : null] }), image?.src && _jsx(Img, { image: image, className: "mt-auto" })] }));
7
+ export const ProductBlockInner = JSX(({ className, context, title, description, benefits, buttons, image, items }) => {
8
+ return (_jsxs("div", { className: `flex justify-between items-stretch ${className || ''}`, children: [_jsxs("div", { className: 'flex flex-col', children: [title && (_jsx("h1", { className: "font-medium text-title-lg m-0 whitespace-pre-wrap max-w-[600px]", children: title })), _jsx(BaseTile, { context: context, description: description, items: items, buttons: buttons, children: benefits?.length ? (_jsx("div", { className: "flex gap-6 mt-6 mb-12", children: benefits.map(renderBenefit) })) : null })] }), image?.src && _jsx(Img, { className: "mt-auto", image: image })] }));
15
9
  });
16
10
  function renderBenefit(benefit, i) {
17
11
  return (_jsxs("div", { className: "flex gap-4 items-center", children: [benefit.icon && (_jsx("div", { className: "w-[50px] h-[50px] min-w-[50px] min-h-[50px] bg-main rounded-full p-[10px] box-border", children: ICONS[benefit.icon]?.() })), _jsxs("div", { className: "flex gap-1 flex-col h-full", children: [_jsx("h4", { className: "font-medium text-xl m-0", children: benefit.label }), benefit.description && (_jsx("div", { className: "font-normal text-sm text-secondary-text", children: benefit.description }))] })] }, String(i)));
18
12
  }
19
- function renderButton(button, i) {
20
- return button?.text ? (_jsx(Button, { ...button, className: "mt-8", version: button.version }, String(i))) : null;
21
- }
22
- function join(sep) {
23
- return (list) => list.reduce((acc, el, i) => (acc.length ? acc.concat({ ...sep, key: i }, el) : [el]), []);
24
- }
25
13
  //# sourceMappingURL=ProductBlockInner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProductBlockInner.js","sourceRoot":"","sources":["../src/ProductBlockInner.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProductBlockInner.js","sourceRoot":"","sources":["../src/ProductBlockInner.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEpF,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,MAAM,KAAK,GAAG,EAAE,eAAe,EAAE,oBAAoB,EAAE,YAAY,EAAE,CAAC;AAQtE,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAClC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;IAC9E,OAAO,CACL,eAAK,SAAS,EAAE,sCAAsC,SAAS,IAAI,EAAE,EAAE,aACrE,eAAK,SAAS,EAAE,eAAe,aAC5B,KAAK,IAAI,CACR,aAAI,SAAS,EAAC,iEAAiE,YAC5E,KAAK,GACH,CACN,EACD,KAAC,QAAQ,IAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,YACjF,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAClB,cAAK,SAAS,EAAC,uBAAuB,YAAE,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,GAAO,CAC3E,CAAC,CAAC,CAAC,IAAI,GACC,IACP,EACL,KAAK,EAAE,GAAG,IAAI,KAAC,GAAG,IAAC,SAAS,EAAC,SAAS,EAAC,KAAK,EAAE,KAAK,GAAI,IACpD,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,SAAS,aAAa,CAAC,OAAgB,EAAE,CAAS;IAChD,OAAO,CACL,eAAqB,SAAS,EAAC,yBAAyB,aACrD,OAAO,CAAC,IAAI,IAAI,CACf,cAAK,SAAS,EAAC,sFAAsF,YAClG,KAAK,CAAC,OAAO,CAAC,IAA0B,CAAC,EAAE,EAAE,GAC1C,CACP,EACD,eAAK,SAAS,EAAC,4BAA4B,aACzC,aAAI,SAAS,EAAC,yBAAyB,YAAE,OAAO,CAAC,KAAK,GAAM,EAC3D,OAAO,CAAC,WAAW,IAAI,CACtB,cAAK,SAAS,EAAC,yCAAyC,YAAE,OAAO,CAAC,WAAW,GAAO,CACrF,IACG,KAXE,MAAM,CAAC,CAAC,CAAC,CAYb,CACP,CAAC;AACJ,CAAC"}
@@ -1,17 +1,8 @@
1
- import type { ContentPageContext } from './ContentPageContext';
2
- import { BlockVersion, Picture } from './types';
3
- import type { ButtonProps } from './ui-kit/Button';
4
- import type { Benefit } from './types';
5
- export interface ProductTileContent {
6
- title?: string;
7
- description?: string;
1
+ import type { UniBlockProps, Benefit } from './types';
2
+ import type { BaseTileContent } from './BaseTile';
3
+ export interface ProductTileContent extends BaseTileContent {
8
4
  benefits?: Benefit[];
9
- image?: Picture;
10
- button?: ButtonProps;
11
- version?: BlockVersion;
12
5
  }
13
- export interface ProductTileProps extends ProductTileContent {
14
- className?: string;
15
- context: ContentPageContext;
6
+ export interface ProductTileProps extends ProductTileContent, UniBlockProps {
16
7
  }
17
8
  export declare const ProductTile: (props: import("@redneckz/uni-jsx").PropsWithChildren<ProductTileProps, any>, context?: any) => any;
@@ -1,16 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
2
2
  import { JSX } from '@redneckz/uni-jsx';
3
- import { Img } from './Img.js';
4
- import { Button } from './ui-kit/Button.js';
5
- import { useLink } from './useLink.js';
6
- const productTileStyleMap = {
7
- primary: 'bg-white text-primary-text',
8
- secondary: 'bg-primary-main text-white',
9
- };
10
- export const ProductTile = JSX(({ className, context, title, description, button, image, benefits, version = 'primary' }) => {
11
- const router = context.useRouter();
12
- const { handlerDecorator } = context;
13
- return (_jsx("section", { className: `font-sans p-9 ${className || ''} ${productTileStyleMap[version]}`, children: _jsxs("div", { className: "flex flex-col w-full", children: [title && (_jsx("h3", { className: "font-medium text-title-sm m-0 whitespace-pre-wrap max-w-[600px]", children: title })), description && (_jsx("div", { className: "font-normal text-base max-w-[600px] mt-4", children: description })), _jsxs("div", { className: "flex mt-5", children: [_jsxs("div", { className: "grow flex flex-col", children: [_jsxs("div", { className: "flex", children: [benefits?.length ? (_jsx("div", { className: "mr-8", children: benefits.map(renderBenefitDescription) })) : null, benefits?.length ? (_jsx("div", { className: "pt-1", children: benefits.map((_, i) => renderBenefitLabel(_, i, version)) })) : null] }), button?.text && (_jsx("div", { className: "mt-auto", children: _jsx(Button, { className: "mt-8", ...useLink({ router, handlerDecorator }, button), version: "secondary" }) }))] }), image && (_jsx("div", { className: "mt-auto flex-none h-[220px] w-[220px]", children: _jsx(Img, { image: image }) }))] })] }) }));
3
+ import { Tile } from './Tile.js';
4
+ export const ProductTile = JSX((props) => {
5
+ const { benefits, version } = props;
6
+ return (_jsx(Tile, { ...props, children: _jsxs("div", { className: "flex mt-5 mb-10", children: [benefits?.length ? (_jsx("div", { className: "mr-8", children: benefits.map(renderBenefitDescription) })) : null, benefits?.length ? (_jsx("div", { className: "pt-1", children: benefits.map((_, i) => renderBenefitLabel(_, i, version)) })) : null] }) }));
14
7
  });
15
8
  function renderBenefitLabel(benefit, i, version = 'primary') {
16
9
  const labelStyleMap = {
@@ -1 +1 @@
1
- {"version":3,"file":"ProductTile.js","sourceRoot":"","sources":["../src/ProductTile.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAG5B,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBpC,MAAM,mBAAmB,GAAiC;IACxD,OAAO,EAAE,4BAA4B;IACrC,SAAS,EAAE,4BAA4B;CACxC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAC5B,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,GAAG,SAAS,EAAE,EAAE,EAAE;IAC3F,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACnC,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IACrC,OAAO,CACL,kBAAS,SAAS,EAAE,iBAAiB,SAAS,IAAI,EAAE,IAAI,mBAAmB,CAAC,OAAO,CAAC,EAAE,YACpF,eAAK,SAAS,EAAC,sBAAsB,aAClC,KAAK,IAAI,CACR,aAAI,SAAS,EAAC,iEAAiE,YAC5E,KAAK,GACH,CACN,EACA,WAAW,IAAI,CACd,cAAK,SAAS,EAAC,0CAA0C,YAAE,WAAW,GAAO,CAC9E,EACD,eAAK,SAAS,EAAC,WAAW,aACxB,eAAK,SAAS,EAAC,oBAAoB,aACjC,eAAK,SAAS,EAAC,MAAM,aAClB,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAClB,cAAK,SAAS,EAAC,MAAM,YAAE,QAAQ,CAAC,GAAG,CAAC,wBAAwB,CAAC,GAAO,CACrE,CAAC,CAAC,CAAC,IAAI,EACP,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAClB,cAAK,SAAS,EAAC,MAAM,YAClB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,GACtD,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,EACL,MAAM,EAAE,IAAI,IAAI,CACf,cAAK,SAAS,EAAC,SAAS,YACtB,KAAC,MAAM,IACL,SAAS,EAAC,MAAM,KACZ,OAAO,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,MAAM,CAAC,EACjD,OAAO,EAAC,WAAW,GACnB,GACE,CACP,IACG,EACL,KAAK,IAAI,CACR,cAAK,SAAS,EAAC,uCAAuC,YACpD,KAAC,GAAG,IAAC,KAAK,EAAE,KAAK,GAAI,GACjB,CACP,IACG,IACF,GACE,CACX,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,SAAS,kBAAkB,CAAC,OAAgB,EAAE,CAAS,EAAE,OAAO,GAAG,SAAS;IAC1E,MAAM,aAAa,GAAiC;QAClD,OAAO,EAAE,qBAAqB;QAC9B,SAAS,EAAE,YAAY;KACxB,CAAC;IACF,OAAO,CACL,cAAqB,SAAS,EAAE,gBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,YACrE,OAAO,CAAC,KAAK,IADN,MAAM,CAAC,CAAC,CAAC,CAEb,CACP,CAAC;AACJ,CAAC;AACD,SAAS,wBAAwB,CAAC,OAAgB,EAAE,CAAS;IAC3D,OAAO,CACL,cAAqB,SAAS,EAAC,4BAA4B,YACxD,OAAO,CAAC,WAAW,IADZ,MAAM,CAAC,CAAC,CAAC,CAEb,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ProductTile.js","sourceRoot":"","sources":["../src/ProductTile.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAGxC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAS9B,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAmB,CAAC,KAAK,EAAE,EAAE;IACzD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACpC,OAAO,CACL,KAAC,IAAI,OAAK,KAAK,YACb,eAAK,SAAS,EAAC,iBAAiB,aAC7B,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAClB,cAAK,SAAS,EAAC,MAAM,YAAE,QAAQ,CAAC,GAAG,CAAC,wBAAwB,CAAC,GAAO,CACrE,CAAC,CAAC,CAAC,IAAI,EACP,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAClB,cAAK,SAAS,EAAC,MAAM,YAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,GAAO,CACxF,CAAC,CAAC,CAAC,IAAI,IACJ,GACD,CACR,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,SAAS,kBAAkB,CAAC,OAAgB,EAAE,CAAS,EAAE,OAAO,GAAG,SAAS;IAC1E,MAAM,aAAa,GAAiC;QAClD,OAAO,EAAE,qBAAqB;QAC9B,SAAS,EAAE,YAAY;KACxB,CAAC;IACF,OAAO,CACL,cAAqB,SAAS,EAAE,gBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,YACrE,OAAO,CAAC,KAAK,IADN,MAAM,CAAC,CAAC,CAAC,CAEb,CACP,CAAC;AACJ,CAAC;AACD,SAAS,wBAAwB,CAAC,OAAgB,EAAE,CAAS;IAC3D,OAAO,CACL,cAAqB,SAAS,EAAC,4BAA4B,YACxD,OAAO,CAAC,WAAW,IADZ,MAAM,CAAC,CAAC,CAAC,CAEb,CACP,CAAC;AACJ,CAAC"}
package/lib/Tile.d.ts CHANGED
@@ -1,13 +1,5 @@
1
- import type { BlockVersion, Picture, UniBlockProps } from './types';
2
- import type { ButtonProps } from './ui-kit/Button';
3
- export interface TileContent {
4
- title?: string;
5
- description?: string;
6
- image?: Picture;
7
- items?: string[];
8
- button?: ButtonProps;
9
- version?: BlockVersion;
10
- }
11
- export interface TileProps extends TileContent, UniBlockProps {
1
+ import type { UniBlockProps } from './types';
2
+ import type { BaseTileContent } from './BaseTile';
3
+ export interface TileProps extends BaseTileContent, UniBlockProps {
12
4
  }
13
5
  export declare const Tile: (props: import("@redneckz/uni-jsx").PropsWithChildren<TileProps, any>, context?: any) => any;
package/lib/Tile.js CHANGED
@@ -1,34 +1,12 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
1
+ import { jsx as _jsx } from "@redneckz/uni-jsx/jsx-runtime";
2
2
  import { JSX } from '@redneckz/uni-jsx';
3
- import { Img } from './Img.js';
4
- import { BlockItem } from './ui-kit/BlockItem.js';
5
- import { Button } from './ui-kit/Button.js';
6
- import { useLink } from './useLink.js';
3
+ import { BaseTile } from './BaseTile.js';
7
4
  const tileStyleMap = {
8
5
  primary: 'bg-white text-primary-text',
9
6
  secondary: 'bg-primary-main text-white',
10
7
  };
11
- const TITLE_CLASSES = 'font-medium m-0 whitespace-pre-wrap max-w-[600px]';
12
- export const Tile = JSX(({ className, context, title, description, children, button, image, items, version = 'primary', }) => {
13
- const router = context.useRouter();
14
- const { handlerDecorator } = context;
15
- return (_jsxs("section", { className: `flex flex-col font-sans p-9 ${className || ''} ${tileStyleMap[version]}`, children: [title && renderTitle(title, className), _jsxs("div", { className: "grow flex justify-between mt-6", children: [_jsxs("div", { className: "flex flex-col justify-between items-start", children: [description || children ? (_jsx("div", { className: "font-normal text-base max-w-[600px]", children: description || children })) : (renderItems(items, version)), button?.text && (_jsx(Button, { className: "mt-6", ...useLink({ router, handlerDecorator }, button), version: "secondary" }))] }), image?.src && _jsx(Img, { className: "mt-auto h-[220px] w-[220px]", image: image })] })] }));
8
+ export const Tile = JSX((props) => {
9
+ const { children, className, version = 'primary' } = props;
10
+ return (_jsx("section", { className: `font-sans p-9 ${className || ''} ${tileStyleMap[version]}`, children: _jsx(BaseTile, { ...props, children: children }) }));
16
11
  });
17
- function renderTitle(title, className = '') {
18
- const colSpanPrefix = 'col-span-';
19
- const colSpanStr = className.split(/\s+/).find((_) => _.startsWith(colSpanPrefix));
20
- const colSpan = colSpanStr ? parseInt(colSpanStr.substring(colSpanPrefix.length), 10) : 12;
21
- if (colSpan <= 4) {
22
- return _jsx("h3", { className: `${TITLE_CLASSES} text-title-xs`, children: title });
23
- }
24
- else if (colSpan <= 8) {
25
- return _jsx("h3", { className: `${TITLE_CLASSES} text-title-sm`, children: title });
26
- }
27
- else {
28
- return _jsx("h2", { className: `${TITLE_CLASSES} text-title`, children: title });
29
- }
30
- }
31
- function renderItems(items, version) {
32
- return items?.length ? (_jsx("section", { className: "max-w-[600px]", role: "list", children: items.map((_, i) => (_jsx(BlockItem, { className: i ? 'mt-2.5' : '', text: _, version: version }, String(i)))) })) : null;
33
- }
34
12
  //# sourceMappingURL=Tile.js.map
package/lib/Tile.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Tile.js","sourceRoot":"","sources":["../src/Tile.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Tile.js","sourceRoot":"","sources":["../src/Tile.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAKtC,MAAM,YAAY,GAAiC;IACjD,OAAO,EAAE,4BAA4B;IACrC,SAAS,EAAE,4BAA4B;CACxC,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CAAY,CAAC,KAAK,EAAE,EAAE;IAC3C,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;IAC3D,OAAO,CACL,kBAAS,SAAS,EAAE,iBAAiB,SAAS,IAAI,EAAE,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,YAC7E,KAAC,QAAQ,OAAK,KAAK,YAAG,QAAQ,GAAY,GAClC,CACX,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function DaDataAPI(baseURL?: string): {
2
+ getFetcherAddress: () => Promise<string | null | undefined>;
3
+ };
@@ -0,0 +1,30 @@
1
+ import { getCurrentPosition } from '../utils/getCurrentPosition.js';
2
+ export function DaDataAPI(baseURL = '') {
3
+ async function getFetcherAddress() {
4
+ if (!('geolocation' in navigator)) {
5
+ return null;
6
+ }
7
+ try {
8
+ const coords = await getCurrentPosition();
9
+ const response = await fetch(`${baseURL}/geolocate`, {
10
+ method: 'POST',
11
+ mode: 'cors',
12
+ body: JSON.stringify({
13
+ lat: coords.latitude,
14
+ lon: coords.longitude,
15
+ count: 1,
16
+ }),
17
+ });
18
+ const data = (await response.json());
19
+ return data?.suggestions?.[0]?.data?.city;
20
+ }
21
+ catch (e) {
22
+ console.error(e);
23
+ return null;
24
+ }
25
+ }
26
+ return {
27
+ getFetcherAddress,
28
+ };
29
+ }
30
+ //# sourceMappingURL=DaDataAPI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DaDataAPI.js","sourceRoot":"","sources":["../../src/api/DaDataAPI.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAIjE,MAAM,UAAU,SAAS,CAAC,OAAO,GAAG,EAAE;IACpC,KAAK,UAAU,iBAAiB;QAC9B,IAAI,CAAC,CAAC,aAAa,IAAI,SAAS,CAAC,EAAE;YACjC,OAAO,IAAI,CAAC;SACb;QAED,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,kBAAkB,EAAE,CAAC;YAC1C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,YAAY,EAAE;gBACnD,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,GAAG,EAAE,MAAM,CAAC,QAAQ;oBACpB,GAAG,EAAE,MAAM,CAAC,SAAS;oBACrB,KAAK,EAAE,CAAC;iBACT,CAAC;aACH,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAiB,CAAC;YACrD,OAAO,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;SAC3C;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAED,OAAO;QACL,iBAAiB;KAClB,CAAC;AACJ,CAAC"}
@@ -2,7 +2,7 @@ export interface LikeData {
2
2
  node_id: string;
3
3
  value: number;
4
4
  }
5
- export declare function LikeAPI(projectId: string, baseURL: string): {
5
+ export declare function LikeAPI(projectId: string, baseURL?: string): {
6
6
  getLikeCount: (...nodeIds: string[]) => Promise<LikeData[]>;
7
7
  like: (nodeId: string) => Promise<number>;
8
8
  dislike: (nodeId: string) => Promise<number>;
@@ -1,13 +1,13 @@
1
1
  const AUTH_PREFIX = 'guest';
2
2
  const STORAGE_KEY = 'likesToken';
3
- export function LikeAPI(projectId, baseURL) {
3
+ export function LikeAPI(projectId, baseURL = '') {
4
4
  async function getLikeCount(...nodeIds) {
5
5
  if (!nodeIds.length) {
6
6
  return [];
7
7
  }
8
8
  const { token: Authorization } = await auth();
9
9
  try {
10
- const response = await fetch(`/assist/v1/public/projects/${projectId}/nodes/likes`, {
10
+ const response = await fetch(`${baseURL}/assist/v1/public/projects/${projectId}/nodes/likes`, {
11
11
  method: 'POST',
12
12
  mode: 'cors',
13
13
  headers: { 'Content-Type': 'application/json', Authorization },
@@ -1 +1 @@
1
- {"version":3,"file":"LikeAPI.js","sourceRoot":"","sources":["../../src/api/LikeAPI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LikeAPI.js","sourceRoot":"","sources":["../../src/api/LikeAPI.ts"],"names":[],"mappings":"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"}
package/lib/common.css CHANGED
@@ -1 +1 @@
1
- @import "../fonts/ubuntu/ubuntu.css";[data-theme=pc]{--color-primary-main:#42ab44;--color-primary-hover:#248341;--color-primary-active:#245f34;--color-secondary-hover:#c5e2c6;--color-secondary-active:#d8f2d9}[data-theme=bc]{--color-primary-main:#83b83e;--color-primary-hover:#5c921d;--color-primary-active:#3c5e10;--color-secondary-hover:#e8f4d9;--color-secondary-active:#d8e3ca}[data-theme=eo]{--color-primary-main:#ddb63d;--color-primary-hover:#bb9727;--color-primary-active:#7e630c;--color-secondary-hover:#f1ecdd;--color-secondary-active:#e5dec7}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.top-4{top:1rem}.right-4{right:1rem}.bottom-0{bottom:0}.right-0{right:0}.left-0{left:0}.-bottom-2{bottom:-.5rem}.top-0{top:0}.z-10{z-index:10}.col-span-12{grid-column:span 12/span 12}.col-span-8{grid-column:span 8/span 8}.col-span-4{grid-column:span 4/span 4}.col-span-6{grid-column:span 6/span 6}.m-0{margin:0}.-mx-20{margin-left:-5rem;margin-right:-5rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-4{margin-bottom:1rem;margin-top:1rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mt-9{margin-top:2.25rem}.mt-2{margin-top:.5rem}.mb-5{margin-bottom:1.25rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.mb-6{margin-bottom:1.5rem}.mt-4{margin-top:1rem}.mt-7{margin-top:1.75rem}.mt-5{margin-top:1.25rem}.mb-2{margin-bottom:.5rem}.mt-auto{margin-top:auto}.mt-8{margin-top:2rem}.mr-8{margin-right:2rem}.mb-4{margin-bottom:1rem}.mb-2\.5{margin-bottom:.625rem}.mt-6{margin-top:1.5rem}.mt-2\.5{margin-top:.625rem}.ml-auto{margin-left:auto}.mr-5{margin-right:1.25rem}.mr-7{margin-right:1.75rem}.ml-2\.5{margin-left:.625rem}.box-border{box-sizing:border-box}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.h-\[70px\]{height:70px}.h-8{height:2rem}.h-full{height:100%}.h-\[90px\]{height:90px}.h-4{height:1rem}.h-\[50px\]{height:50px}.h-\[3px\]{height:3px}.h-\[220px\]{height:220px}.h-0\.5{height:.125rem}.h-0{height:0}.h-\[100px\]{height:100px}.h-\[1px\]{height:1px}.h-\[8px\]{height:8px}.h-\[2px\]{height:2px}.h-\[24px\]{height:24px}.min-h-\[70px\]{min-height:70px}.min-h-\[90px\]{min-height:90px}.min-h-\[50px\]{min-height:50px}.min-h-\[100px\]{min-height:100px}.min-h-\[32px\]{min-height:32px}.min-h-\[8px\]{min-height:8px}.w-\[70px\]{width:70px}.w-full{width:100%}.w-8{width:2rem}.w-\[125px\]{width:125px}.w-\[90px\]{width:90px}.w-\[50px\]{width:50px}.w-\[220px\]{width:220px}.w-\[100px\]{width:100px}.w-\[276px\]{width:276px}.w-\[280px\]{width:280px}.w-\[235px\]{width:235px}.w-\[24px\]{width:24px}.w-\[8px\]{width:8px}.w-\[36px\]{width:36px}.w-10{width:2.5rem}.min-w-\[70px\]{min-width:70px}.min-w-\[90px\]{min-width:90px}.min-w-\[600px\]{min-width:600px}.min-w-\[50px\]{min-width:50px}.min-w-\[100px\]{min-width:100px}.min-w-\[32px\]{min-width:32px}.min-w-\[8px\]{min-width:8px}.max-w-\[47rem\]{max-width:47rem}.max-w-\[580px\]{max-width:580px}.max-w-\[600px\]{max-width:600px}.max-w-min{max-width:-webkit-min-content;max-width:-moz-min-content;max-width:min-content}.max-w-\[292px\]{max-width:292px}.max-w-\[170px\]{max-width:170px}.flex-none{flex:none}.shrink-0{flex-shrink:0}.grow-0{flex-grow:0}.grow{flex-grow:1}.basis-full{flex-basis:100%}.basis-0{flex-basis:0px}.-translate-x-full{--tw-translate-x:-100%}.-translate-x-full,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@-webkit-keyframes progress{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes progress{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.animate-slide{-webkit-animation:progress linear;animation:progress linear}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-5{gap:1.25rem}.gap-1{gap:.25rem}.gap-3{gap:.75rem}.gap-6{gap:1.5rem}.gap-4{gap:1rem}.gap-32{gap:8rem}.gap-11{gap:2.75rem}.gap-\[14px\]{gap:14px}.gap-2{gap:.5rem}.gap-3\.5{gap:.875rem}.gap-x-24{-moz-column-gap:6rem;column-gap:6rem}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.rounded-l-full{border-bottom-left-radius:9999px;border-top-left-radius:9999px}.rounded-r-full{border-bottom-right-radius:9999px;border-top-right-radius:9999px}.rounded-tl-lg{border-top-left-radius:.5rem}.rounded-bl-3xl{border-bottom-left-radius:1.5rem}.rounded-br-3xl{border-bottom-right-radius:1.5rem}.border{border-width:1px}.border-2{border-width:2px}.border-0{border-width:0}.border-x-0{border-left-width:0;border-right-width:0}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.border-solid{border-style:solid}.border-none{border-style:none}.border-main{--tw-border-opacity:1;border-color:rgb(240 244 240/var(--tw-border-opacity))}.border-main-divider{--tw-border-opacity:1;border-color:rgb(235 237 240/var(--tw-border-opacity))}.border-primary-main{border-color:var(--color-primary-main)}.border-transparent{border-color:transparent}.border-y-main-divider{--tw-border-opacity:1;border-bottom-color:rgb(235 237 240/var(--tw-border-opacity));border-top-color:rgb(235 237 240/var(--tw-border-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-main{--tw-bg-opacity:1;background-color:rgb(240 244 240/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-secondary-light{--tw-bg-opacity:1;background-color:rgb(245 247 249/var(--tw-bg-opacity))}.bg-inherit{background-color:inherit}.bg-primary-main{background-color:var(--color-primary-main)}.bg-main-divider{--tw-bg-opacity:1;background-color:rgb(235 237 240/var(--tw-bg-opacity))}.bg-secondary-dark{--tw-bg-opacity:1;background-color:rgb(226 228 229/var(--tw-bg-opacity))}.p-12{padding:3rem}.p-10{padding:2.5rem}.p-20{padding:5rem}.p-2{padding:.5rem}.p-11{padding:2.75rem}.p-\[10px\]{padding:10px}.p-9{padding:2.25rem}.p-\[26px\]{padding:26px}.p-0{padding:0}.px-0{padding-left:0;padding-right:0}.py-4{padding-bottom:1rem;padding-top:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-12{padding-left:3rem;padding-right:3rem}.py-12{padding-bottom:3rem;padding-top:3rem}.px-\[88px\]{padding-left:88px;padding-right:88px}.px-3{padding-left:.75rem;padding-right:.75rem}.px-9{padding-left:2.25rem;padding-right:2.25rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-\[5px\]{padding-bottom:5px;padding-top:5px}.px-20{padding-left:5rem;padding-right:5rem}.py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-4{padding-left:1rem;padding-right:1rem}.pb-2{padding-bottom:.5rem}.pt-0{padding-top:0}.pl-11{padding-left:2.75rem}.pt-4{padding-top:1rem}.pr-\[7\.5rem\]{padding-right:7.5rem}.pt-1{padding-top:.25rem}.pr-28{padding-right:7rem}.pt-\[3px\]{padding-top:3px}.pt-\[5px\]{padding-top:5px}.pt-5{padding-top:1.25rem}.pb-8{padding-bottom:2rem}.pl-4{padding-left:1rem}.pl-\[170px\]{padding-left:170px}.text-left{text-align:left}.text-center{text-align:center}.font-sans{font-family:Ubuntu,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}.text-title{font-size:2rem;line-height:2.5rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.375rem}.text-base{font-size:1rem;line-height:1.5rem}.text-xs{font-size:.75rem;line-height:1.125rem}.text-title-lg{font-size:2.5rem;line-height:3rem}.text-title-sm{font-size:1.75rem;line-height:2.5rem}.text-title-xs{font-size:1.5rem;line-height:1.875rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.text-primary-text{--tw-text-opacity:1;color:rgb(28 28 28/var(--tw-text-opacity))}.text-secondary-text{--tw-text-opacity:1;color:rgb(125 126 127/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-secondary-light{--tw-text-opacity:1;color:rgb(245 247 249/var(--tw-text-opacity))}.text-primary-main{color:var(--color-primary-main)}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.no-underline{-webkit-text-decoration-line:none;text-decoration-line:none}.shadow-\[0_8px_32px_0px_\#00000014\]{--tw-shadow:0 8px 32px 0px #00000014;--tw-shadow-colored:0 8px 32px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.duration-1000{transition-duration:1s}.rotate-180{transform:rotate(180deg)}.-translate-x-full{transform:translateX(-100%)}.visited\:text-secondary-text:visited{color:#7d7e7f}.hover\:bg-primary-hover:hover{background-color:var(--color-primary-hover)}.hover\:bg-secondary-hover:hover{background-color:var(--color-secondary-hover)}.hover\:text-primary-text:hover{--tw-text-opacity:1;color:rgb(28 28 28/var(--tw-text-opacity))}.hover\:text-primary-main:hover{color:var(--color-primary-main)}.hover\:text-secondary-active:hover{color:var(--color-secondary-active)}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.active\:bg-primary-active:active{background-color:var(--color-primary-active)}.active\:bg-secondary-active:active{background-color:var(--color-secondary-active)}.group:hover .group-hover\:text-primary-text{--tw-text-opacity:1;color:rgb(28 28 28/var(--tw-text-opacity))}@media (min-width:1280px) and (max-width:1535px){.xl\:w-\[220px\]{width:220px}.xl\:gap-8{gap:2rem}.xl\:gap-5{gap:1.25rem}}
1
+ @import "../fonts/ubuntu/ubuntu.css";[data-theme=pc]{--color-primary-main:#42ab44;--color-primary-hover:#248341;--color-primary-active:#245f34;--color-secondary-hover:#c5e2c6;--color-secondary-active:#d8f2d9}[data-theme=bc]{--color-primary-main:#83b83e;--color-primary-hover:#5c921d;--color-primary-active:#3c5e10;--color-secondary-hover:#e8f4d9;--color-secondary-active:#d8e3ca}[data-theme=eo]{--color-primary-main:#ddb63d;--color-primary-hover:#bb9727;--color-primary-active:#7e630c;--color-secondary-hover:#f1ecdd;--color-secondary-active:#e5dec7}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.top-4{top:1rem}.right-4{right:1rem}.bottom-0{bottom:0}.right-0{right:0}.left-0{left:0}.-bottom-2{bottom:-.5rem}.top-0{top:0}.z-10{z-index:10}.col-span-12{grid-column:span 12/span 12}.col-span-8{grid-column:span 8/span 8}.col-span-4{grid-column:span 4/span 4}.col-span-6{grid-column:span 6/span 6}.m-0{margin:0}.-mx-20{margin-left:-5rem;margin-right:-5rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-4{margin-bottom:1rem;margin-top:1rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mb-4{margin-bottom:1rem}.mt-4{margin-top:1rem}.mb-6{margin-bottom:1.5rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.mt-2\.5{margin-top:.625rem}.mt-2{margin-top:.5rem}.mt-9{margin-top:2.25rem}.mb-5{margin-bottom:1.25rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.mb-12{margin-bottom:3rem}.mt-5{margin-top:1.25rem}.mb-10{margin-bottom:2.5rem}.mr-8{margin-right:2rem}.mb-2\.5{margin-bottom:.625rem}.mb-2{margin-bottom:.5rem}.ml-auto{margin-left:auto}.mr-5{margin-right:1.25rem}.mr-7{margin-right:1.75rem}.ml-2\.5{margin-left:.625rem}.box-border{box-sizing:border-box}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-full{height:100%}.h-\[70px\]{height:70px}.h-8{height:2rem}.h-\[90px\]{height:90px}.h-4{height:1rem}.h-\[50px\]{height:50px}.h-\[3px\]{height:3px}.h-0\.5{height:.125rem}.h-0{height:0}.h-\[100px\]{height:100px}.h-\[1px\]{height:1px}.h-\[8px\]{height:8px}.h-\[2px\]{height:2px}.h-\[24px\]{height:24px}.min-h-\[70px\]{min-height:70px}.min-h-\[90px\]{min-height:90px}.min-h-\[50px\]{min-height:50px}.min-h-\[100px\]{min-height:100px}.min-h-\[32px\]{min-height:32px}.min-h-\[8px\]{min-height:8px}.w-\[70px\]{width:70px}.w-full{width:100%}.w-8{width:2rem}.w-\[125px\]{width:125px}.w-\[90px\]{width:90px}.w-\[50px\]{width:50px}.w-\[100px\]{width:100px}.w-\[276px\]{width:276px}.w-\[280px\]{width:280px}.w-\[235px\]{width:235px}.w-\[24px\]{width:24px}.w-\[8px\]{width:8px}.w-\[36px\]{width:36px}.w-10{width:2.5rem}.min-w-\[70px\]{min-width:70px}.min-w-\[90px\]{min-width:90px}.min-w-\[600px\]{min-width:600px}.min-w-\[50px\]{min-width:50px}.min-w-\[100px\]{min-width:100px}.min-w-\[32px\]{min-width:32px}.min-w-\[8px\]{min-width:8px}.max-w-\[600px\]{max-width:600px}.max-w-\[47rem\]{max-width:47rem}.max-w-\[580px\]{max-width:580px}.max-w-min{max-width:-webkit-min-content;max-width:-moz-min-content;max-width:min-content}.max-w-\[292px\]{max-width:292px}.max-w-\[170px\]{max-width:170px}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.basis-0{flex-basis:0px}.-translate-x-full{--tw-translate-x:-100%}.-translate-x-full,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@-webkit-keyframes progress{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes progress{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.animate-slide{-webkit-animation:progress linear;animation:progress linear}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-1{gap:.25rem}.gap-3{gap:.75rem}.gap-6{gap:1.5rem}.gap-32{gap:8rem}.gap-11{gap:2.75rem}.gap-\[14px\]{gap:14px}.gap-2{gap:.5rem}.gap-3\.5{gap:.875rem}.gap-x-24{-moz-column-gap:6rem;column-gap:6rem}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.rounded-l-full{border-bottom-left-radius:9999px;border-top-left-radius:9999px}.rounded-r-full{border-bottom-right-radius:9999px;border-top-right-radius:9999px}.rounded-tl-lg{border-top-left-radius:.5rem}.rounded-bl-3xl{border-bottom-left-radius:1.5rem}.rounded-br-3xl{border-bottom-right-radius:1.5rem}.border{border-width:1px}.border-2{border-width:2px}.border-0{border-width:0}.border-x-0{border-left-width:0;border-right-width:0}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.border-solid{border-style:solid}.border-none{border-style:none}.border-main{--tw-border-opacity:1;border-color:rgb(240 244 240/var(--tw-border-opacity))}.border-main-divider{--tw-border-opacity:1;border-color:rgb(235 237 240/var(--tw-border-opacity))}.border-primary-main{border-color:var(--color-primary-main)}.border-transparent{border-color:transparent}.border-y-main-divider{--tw-border-opacity:1;border-bottom-color:rgb(235 237 240/var(--tw-border-opacity));border-top-color:rgb(235 237 240/var(--tw-border-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-main{--tw-bg-opacity:1;background-color:rgb(240 244 240/var(--tw-bg-opacity))}.bg-secondary-text{--tw-bg-opacity:1;background-color:rgb(125 126 127/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-secondary-light{--tw-bg-opacity:1;background-color:rgb(245 247 249/var(--tw-bg-opacity))}.bg-inherit{background-color:inherit}.bg-primary-main{background-color:var(--color-primary-main)}.bg-main-divider{--tw-bg-opacity:1;background-color:rgb(235 237 240/var(--tw-bg-opacity))}.bg-secondary-dark{--tw-bg-opacity:1;background-color:rgb(226 228 229/var(--tw-bg-opacity))}.p-12{padding:3rem}.p-10{padding:2.5rem}.p-20{padding:5rem}.p-2{padding:.5rem}.p-\[10px\]{padding:10px}.p-11{padding:2.75rem}.p-\[26px\]{padding:26px}.p-9{padding:2.25rem}.p-0{padding:0}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.px-0{padding-left:0;padding-right:0}.py-4{padding-bottom:1rem;padding-top:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-12{padding-left:3rem;padding-right:3rem}.py-12{padding-bottom:3rem;padding-top:3rem}.px-\[88px\]{padding-left:88px;padding-right:88px}.px-3{padding-left:.75rem;padding-right:.75rem}.px-9{padding-left:2.25rem;padding-right:2.25rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-\[5px\]{padding-bottom:5px;padding-top:5px}.px-20{padding-left:5rem;padding-right:5rem}.py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-4{padding-left:1rem;padding-right:1rem}.pb-2{padding-bottom:.5rem}.pt-0{padding-top:0}.pl-11{padding-left:2.75rem}.pt-4{padding-top:1rem}.pl-12{padding-left:3rem}.pr-\[7\.5rem\]{padding-right:7.5rem}.pt-1{padding-top:.25rem}.pr-28{padding-right:7rem}.pt-\[3px\]{padding-top:3px}.pt-\[5px\]{padding-top:5px}.pt-5{padding-top:1.25rem}.pb-8{padding-bottom:2rem}.pl-4{padding-left:1rem}.pl-\[170px\]{padding-left:170px}.text-left{text-align:left}.text-center{text-align:center}.font-sans{font-family:Ubuntu,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}.text-base{font-size:1rem;line-height:1.5rem}.text-title-xs{font-size:1.5rem;line-height:1.875rem}.text-title-sm{font-size:1.75rem;line-height:2.5rem}.text-title{font-size:2rem;line-height:2.5rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.375rem}.text-xs{font-size:.75rem;line-height:1.125rem}.text-title-lg{font-size:2.5rem;line-height:3rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.text-primary-text{--tw-text-opacity:1;color:rgb(28 28 28/var(--tw-text-opacity))}.text-secondary-text{--tw-text-opacity:1;color:rgb(125 126 127/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-secondary-light{--tw-text-opacity:1;color:rgb(245 247 249/var(--tw-text-opacity))}.text-primary-main{color:var(--color-primary-main)}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.no-underline{-webkit-text-decoration-line:none;text-decoration-line:none}.shadow-\[0_8px_32px_0px_\#00000014\]{--tw-shadow:0 8px 32px 0px #00000014;--tw-shadow-colored:0 8px 32px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.duration-1000{transition-duration:1s}.rotate-180{transform:rotate(180deg)}.-translate-x-full{transform:translateX(-100%)}.visited\:text-secondary-text:visited{color:#7d7e7f}.hover\:bg-primary-hover:hover{background-color:var(--color-primary-hover)}.hover\:bg-secondary-hover:hover{background-color:var(--color-secondary-hover)}.hover\:text-primary-text:hover{--tw-text-opacity:1;color:rgb(28 28 28/var(--tw-text-opacity))}.hover\:text-primary-main:hover{color:var(--color-primary-main)}.hover\:text-secondary-active:hover{color:var(--color-secondary-active)}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.active\:bg-primary-active:active{background-color:var(--color-primary-active)}.active\:bg-secondary-active:active{background-color:var(--color-secondary-active)}.group:hover .group-hover\:text-primary-text{--tw-text-opacity:1;color:rgb(28 28 28/var(--tw-text-opacity))}@media (min-width:1280px) and (max-width:1535px){.xl\:w-\[220px\]{width:220px}.xl\:gap-8{gap:2rem}.xl\:gap-5{gap:1.25rem}}
@@ -3,4 +3,5 @@ import type { TransformationOptions } from './TransformationOptions';
3
3
  export declare function ContentPageRepository({ contentDir, publicDir, }?: Partial<TransformationOptions>): {
4
4
  getAllContentPages: () => Promise<ContentPageDef[]>;
5
5
  getContentPageBySlug: (slug: string) => Promise<ContentPageDef | undefined>;
6
+ getMobilePageBySlug: (slug: string) => Promise<ContentPageDef | undefined>;
6
7
  };
@@ -1,5 +1,6 @@
1
1
  import glob from 'glob';
2
2
  import util from 'util';
3
+ import { toMobilePage } from './toMobilePage.js';
3
4
  import { transformContentPage } from './transformContentPage.js';
4
5
  const find = util.promisify(glob);
5
6
  export function ContentPageRepository({ contentDir = 'content', publicDir = 'public', } = {}) {
@@ -11,6 +12,10 @@ export function ContentPageRepository({ contentDir = 'content', publicDir = 'pub
11
12
  const pages = await getAllContentPages();
12
13
  return pages.find((content) => content.slug === slug);
13
14
  }
15
+ async function getMobilePageBySlug(slug) {
16
+ const page = await getContentPageBySlug(slug);
17
+ return page && toMobilePage(page);
18
+ }
14
19
  const cache = {};
15
20
  async function readPage(filePath) {
16
21
  if (!(filePath in cache)) {
@@ -24,6 +29,7 @@ export function ContentPageRepository({ contentDir = 'content', publicDir = 'pub
24
29
  return {
25
30
  getAllContentPages,
26
31
  getContentPageBySlug,
32
+ getMobilePageBySlug,
27
33
  };
28
34
  }
29
35
  //# sourceMappingURL=ContentPageRepository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContentPageRepository.js","sourceRoot":"","sources":["../../src/content-page-repository/ContentPageRepository.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC,MAAM,UAAU,qBAAqB,CAAC,EACpC,UAAU,GAAG,SAAS,EACtB,SAAS,GAAG,QAAQ,MACc,EAAE;IACpC,KAAK,UAAU,kBAAkB;QAC/B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,UAAU,iBAAiB,CAAC,CAAC;QAC7D,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,UAAU,oBAAoB,CAAC,IAAY;QAC9C,MAAM,KAAK,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,KAAK,GAAmC,EAAE,CAAC;IACjD,KAAK,UAAU,QAAQ,CAAC,QAAgB;QACtC,IAAI,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE;YACxB,KAAK,CAAC,QAAQ,CAAC,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE;gBACrD,UAAU;gBACV,SAAS;aACV,CAAC,CAAC;SACJ;QACD,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED,OAAO;QACL,kBAAkB;QAClB,oBAAoB;KACrB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ContentPageRepository.js","sourceRoot":"","sources":["../../src/content-page-repository/ContentPageRepository.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC,MAAM,UAAU,qBAAqB,CAAC,EACpC,UAAU,GAAG,SAAS,EACtB,SAAS,GAAG,QAAQ,MACc,EAAE;IACpC,KAAK,UAAU,kBAAkB;QAC/B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,UAAU,iBAAiB,CAAC,CAAC;QAC7D,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,UAAU,oBAAoB,CAAC,IAAY;QAC9C,MAAM,KAAK,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,UAAU,mBAAmB,CAAC,IAAY;QAC7C,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC9C,OAAO,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,KAAK,GAAmC,EAAE,CAAC;IACjD,KAAK,UAAU,QAAQ,CAAC,QAAgB;QACtC,IAAI,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE;YACxB,KAAK,CAAC,QAAQ,CAAC,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE;gBACrD,UAAU;gBACV,SAAS;aACV,CAAC,CAAC;SACJ;QACD,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED,OAAO;QACL,kBAAkB;QAClB,oBAAoB;QACpB,mBAAmB;KACpB,CAAC;AACJ,CAAC"}
@@ -1 +1,2 @@
1
1
  export { ContentPageRepository } from './ContentPageRepository';
2
+ export { toMobilePage } from './toMobilePage';
@@ -1,2 +1,3 @@
1
1
  export { ContentPageRepository } from './ContentPageRepository.js';
2
+ export { toMobilePage } from './toMobilePage.js';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/content-page-repository/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/content-page-repository/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { ContentPageDef } from '../types';
2
+ export declare function toMobilePage(contentPage: ContentPageDef): ContentPageDef;
@@ -0,0 +1,20 @@
1
+ export function toMobilePage(contentPage) {
2
+ const blocks = contentPage.blocks?.filter(({ mobile }) => !mobile?.hidden).map(toMobileBlock);
3
+ return {
4
+ ...contentPage,
5
+ blocks,
6
+ };
7
+ }
8
+ function toMobileBlock(block) {
9
+ const { mobile } = block;
10
+ if (mobile) {
11
+ return {
12
+ ...block,
13
+ style: mobile.style?.length ? mobile.style : block.style,
14
+ };
15
+ }
16
+ else {
17
+ return block;
18
+ }
19
+ }
20
+ //# sourceMappingURL=toMobilePage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toMobilePage.js","sourceRoot":"","sources":["../../src/content-page-repository/toMobilePage.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,YAAY,CAAC,WAA2B;IACtD,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC9F,OAAO;QACL,GAAG,WAAW;QACd,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAe;IACpC,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACzB,IAAI,MAAM,EAAE;QACV,OAAO;YACL,GAAG,KAAK;YACR,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK;SACzD,CAAC;KACH;SAAM;QACL,OAAO,KAAK,CAAC;KACd;AACH,CAAC"}
package/lib/index.d.ts CHANGED
@@ -1,10 +1,13 @@
1
1
  export type { ProjectSettings } from './ProjectSettings';
2
2
  export { projectSettings } from './ProjectSettings';
3
- export type { BlockDef, ContentPageMeta, ContentPageDef, Img, ImgSource, Picture } from './types';
3
+ export { LikeAPI } from './api/LikeAPI';
4
+ export { DaDataAPI } from './api/DaDataAPI';
5
+ export type { BlockDef, UniBlockProps, ContentPageMeta, ContentPageDef, Img, ImgSource, Picture, } from './types';
4
6
  export type { ContentPageContext, Router, LikeService, Search, HandlerDecorator, } from './ContentPageContext';
5
7
  export { ContentPageHead } from './ContentPageHead';
6
8
  export { ContentPage } from './ContentPage';
7
9
  export { Blocks } from './Blocks';
8
- export { LikeAPI } from './api/LikeAPI';
10
+ export type { BlockContent } from './Blocks';
11
+ export { MobileBlocks } from './MobileBlocks';
9
12
  export * as url from './utils/url';
10
13
  export { joinList } from './utils/joinList';
package/lib/index.js CHANGED
@@ -1,8 +1,10 @@
1
1
  export { projectSettings } from './ProjectSettings.js';
2
+ export { LikeAPI } from './api/LikeAPI.js';
3
+ export { DaDataAPI } from './api/DaDataAPI.js';
2
4
  export { ContentPageHead } from './ContentPageHead.js';
3
5
  export { ContentPage } from './ContentPage.js';
4
6
  export { Blocks } from './Blocks.js';
5
- export { LikeAPI } from './api/LikeAPI.js';
7
+ export { MobileBlocks } from './MobileBlocks.js';
6
8
  export * as url from './utils/url.js';
7
9
  export { joinList } from './utils/joinList.js';
8
10
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAWpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAmB5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC"}
package/lib/types.d.ts CHANGED
@@ -9,6 +9,9 @@ export interface BlockDef {
9
9
  version?: BlockVersion;
10
10
  content?: BlockContent;
11
11
  blocks?: BlockDef[];
12
+ mobile?: Pick<BlockDef, 'content' | 'style'> & {
13
+ hidden?: boolean;
14
+ };
12
15
  }
13
16
  export interface ContentPageMeta {
14
17
  title: string;
@@ -61,3 +64,14 @@ export interface Benefit {
61
64
  description?: string;
62
65
  icon?: string;
63
66
  }
67
+ export interface DaDataResult {
68
+ suggestions?: DaDataSuggestion<DaDataAddress>[];
69
+ }
70
+ export interface DaDataSuggestion<T> {
71
+ value?: string;
72
+ unrestricted_value?: string;
73
+ data?: T;
74
+ }
75
+ export interface DaDataAddress {
76
+ city?: string | null;
77
+ }
@@ -0,0 +1 @@
1
+ export declare const getCurrentPosition: () => Promise<GeolocationCoordinates>;
@@ -0,0 +1,2 @@
1
+ export const getCurrentPosition = async () => new Promise((resolve) => navigator.geolocation.getCurrentPosition(({ coords }) => resolve(coords)));
2
+ //# sourceMappingURL=getCurrentPosition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCurrentPosition.js","sourceRoot":"","sources":["../../src/utils/getCurrentPosition.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,IAAI,EAAE,CAC3C,IAAI,OAAO,CAAyB,CAAC,OAAO,EAAE,EAAE,CAC9C,SAAS,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAC1E,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redneckz/wildless-cms-uni-blocks",
3
- "version": "0.2.53",
3
+ "version": "0.2.56",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -74,11 +74,13 @@
74
74
  "url": "https://github.com/redneckz/wildless-cms-uni-blocks/issues"
75
75
  },
76
76
  "scripts": {
77
- "build": "rimraf ./lib && tsc --build --verbose && npm run build:commonjs && npm run build:style",
77
+ "build": "npm run build:lib && npm run build:commonjs && npm run build:style",
78
+ "build:lib": "rimraf ./lib && tsc --build --verbose",
79
+ "postbuild:lib": "replace-in-file --configFile=replace-config.lib.cjs --verbose",
78
80
  "build:commonjs": "rimraf ./dist && tsc --module commonjs --noImplicitUseStrict --outDir dist",
81
+ "bundle": "rimraf ./bundle && rollup -c",
79
82
  "build:style": "postcss './src/**/*.css' --env production --dir ./lib",
80
83
  "postbuild:style": "npm run size",
81
- "postbuild": "replace-in-file --configFile=replace-config.cjs --verbose",
82
84
  "size": "size-limit",
83
85
  "test": "jest --coverage",
84
86
  "cosmos": "cosmos",
@@ -106,6 +108,8 @@
106
108
  "unified": "^10.1.2"
107
109
  },
108
110
  "devDependencies": {
111
+ "@rollup/plugin-node-resolve": "^13.3.0",
112
+ "@rollup/plugin-typescript": "^8.3.3",
109
113
  "@size-limit/file": "^7.0.8",
110
114
  "@types/jest": "^28.1.1",
111
115
  "autoprefixer": "^10.4.7",
@@ -122,6 +126,8 @@
122
126
  "react-cosmos": "^5.7.2",
123
127
  "replace-in-file": "^6.3.5",
124
128
  "rimraf": "^3.0.2",
129
+ "rollup": "^2.75.6",
130
+ "rollup-plugin-terser": "^7.0.2",
125
131
  "size-limit": "^7.0.8",
126
132
  "style-loader": "^3.3.1",
127
133
  "tailwindcss": "^3.1.1",