@fullstackunicorn/create-root 1.0.22 → 1.0.24

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 (121) hide show
  1. package/assets/root.fullstackunicorn.dev/assets/index.def.js +32 -4
  2. package/assets/root.fullstackunicorn.dev/assets/modules/sync.js +164 -302
  3. package/assets/root.fullstackunicorn.dev/assets/modules/sync.tools.js +39 -6
  4. package/assets/root.fullstackunicorn.dev/assets/package.md +9 -2
  5. package/assets/root.fullstackunicorn.dev/assets/webapp.runner.js +42 -1
  6. package/assets/root.fullstackunicorn.dev/frontend/base/account/AccountCard.js +1 -1
  7. package/assets/root.fullstackunicorn.dev/frontend/base/cookies/@use.js +5 -93
  8. package/assets/root.fullstackunicorn.dev/frontend/base/cookies/CookiesCard.js +1 -1
  9. package/assets/root.fullstackunicorn.dev/frontend/base/language/@use.js +4 -69
  10. package/assets/root.fullstackunicorn.dev/frontend/base/language/LanguageCard.js +1 -1
  11. package/assets/root.fullstackunicorn.dev/frontend/base/layout/Layout.pod.js +2 -2
  12. package/assets/root.fullstackunicorn.dev/frontend/base/legals/LegalCard.js +1 -1
  13. package/assets/root.fullstackunicorn.dev/frontend/base/legals/LegalsCard.js +1 -1
  14. package/assets/root.fullstackunicorn.dev/frontend/base/resources/@use.js +15 -0
  15. package/assets/root.fullstackunicorn.dev/frontend/base/router/@use.js +2 -1
  16. package/assets/root.fullstackunicorn.dev/frontend/base/theme/ThemeCard.js +1 -1
  17. package/assets/root.fullstackunicorn.dev/frontend/config.style.js +21 -9
  18. package/assets/root.fullstackunicorn.dev/frontend/features/legal/Legal.js +1 -1
  19. package/assets/root.fullstackunicorn.dev/frontend/imports/animated/Root.js +4 -8
  20. package/assets/root.fullstackunicorn.dev/frontend/imports/core/Scrollable.js +7 -2
  21. package/assets/root.fullstackunicorn.dev/frontend/imports/core/Viewport.js +29 -0
  22. package/assets/root.fullstackunicorn.dev/frontend/imports/head/Head.js +16 -26
  23. package/assets/root.fullstackunicorn.dev/frontend/modals/cookies/cookies.api.js +25 -0
  24. package/assets/root.fullstackunicorn.dev/frontend/modals/cookies/cookies.js +88 -0
  25. package/assets/root.fullstackunicorn.dev/frontend/modals/countries/countries.api.js +22 -0
  26. package/assets/root.fullstackunicorn.dev/frontend/modals/countries/countries.js +58 -37
  27. package/assets/root.fullstackunicorn.dev/frontend/modals/languages/languages.api.js +23 -0
  28. package/assets/root.fullstackunicorn.dev/frontend/modals/languages/languages.js +81 -0
  29. package/assets/root.fullstackunicorn.dev/frontend/modules/base/Bottom.js +10 -0
  30. package/assets/root.fullstackunicorn.dev/frontend/{panels/layout → modules/base}/Bottom.pod.js +1 -4
  31. package/assets/root.fullstackunicorn.dev/frontend/modules/base/ComingSoon.js +7 -0
  32. package/assets/root.fullstackunicorn.dev/frontend/modules/base/ComingSoon.pod.js +17 -0
  33. package/assets/root.fullstackunicorn.dev/frontend/{panels/error → modules/base}/ErrorPage.js +4 -4
  34. package/assets/root.fullstackunicorn.dev/frontend/{panels/error → modules/base}/ErrorPage.pod.js +7 -7
  35. package/assets/root.fullstackunicorn.dev/frontend/{panels/layout → modules/base}/PageTitle.js +1 -1
  36. package/assets/root.fullstackunicorn.dev/frontend/{panels/layout → modules/base}/PageTitle.pod.js +4 -6
  37. package/assets/root.fullstackunicorn.dev/frontend/{panels → modules}/cards/Account.js +9 -8
  38. package/assets/root.fullstackunicorn.dev/frontend/{panels → modules}/cards/Account.pod.js +28 -18
  39. package/assets/root.fullstackunicorn.dev/frontend/{panels → modules}/cards/Launcher.js +4 -4
  40. package/assets/root.fullstackunicorn.dev/frontend/{panels → modules}/cards/Launcher.pod.js +10 -11
  41. package/assets/root.fullstackunicorn.dev/frontend/{panels → modules}/cards/Linker.js +4 -4
  42. package/assets/root.fullstackunicorn.dev/frontend/{panels → modules}/cards/Linker.pod.js +11 -12
  43. package/assets/root.fullstackunicorn.dev/frontend/{panels → modules}/cards/Slider.js +8 -7
  44. package/assets/root.fullstackunicorn.dev/frontend/{panels → modules}/cards/Slider.pod.js +14 -14
  45. package/assets/root.fullstackunicorn.dev/frontend/{panels/wrapper/fixed → modules/layout}/Wrapper.js +2 -2
  46. package/assets/root.fullstackunicorn.dev/frontend/{panels/wrapper/fixed → modules/layout}/Wrapper.pod.js +1 -1
  47. package/assets/root.fullstackunicorn.dev/frontend/{panels/selectors/actions → modules/modals/select}/Actions.js +1 -1
  48. package/assets/root.fullstackunicorn.dev/frontend/{panels/selectors → modules/modals}/select/SelectPage.js +2 -2
  49. package/assets/root.fullstackunicorn.dev/frontend/{panels/sliders → modules/modals}/slider/SliderPage.js +2 -2
  50. package/assets/root.fullstackunicorn.dev/frontend/{panels → modules}/page/PageScrollable.js +1 -1
  51. package/assets/root.fullstackunicorn.dev/frontend/modules/page/PageScrollable.pod.js +23 -0
  52. package/assets/root.fullstackunicorn.dev/frontend/modules/prose/@runs.js +52 -0
  53. package/assets/root.fullstackunicorn.dev/frontend/modules/prose/Prose.js +56 -0
  54. package/assets/root.fullstackunicorn.dev/frontend/{panels → modules}/prose/Prose.pod.js +2 -14
  55. package/assets/root.fullstackunicorn.dev/frontend/pages/@use.js +26 -11
  56. package/assets/root.fullstackunicorn.dev/frontend/pages/root/Callout.api.js +9 -25
  57. package/assets/root.fullstackunicorn.dev/frontend/pages/root/Callout.js +1 -1
  58. package/assets/root.fullstackunicorn.dev/frontend/pages/root/Legal.api.js +16 -24
  59. package/assets/root.fullstackunicorn.dev/frontend/pages/root/Legal.js +2 -2
  60. package/assets/root.fullstackunicorn.dev/frontend/pages/root/Legals.api.js +14 -8
  61. package/assets/root.fullstackunicorn.dev/frontend/pages/root/Legals.js +5 -5
  62. package/assets/root.fullstackunicorn.dev/frontend/pages/root/User.api.js +8 -11
  63. package/assets/root.fullstackunicorn.dev/frontend/pages/root/User.js +1 -1
  64. package/assets/root.fullstackunicorn.dev/frontend/pages/{app → scope}/Checkout.js +1 -1
  65. package/assets/root.fullstackunicorn.dev/frontend/pages/scope/Home.abs.js +18 -0
  66. package/assets/root.fullstackunicorn.dev/frontend/pages/scope/Home.api.js +15 -0
  67. package/assets/root.fullstackunicorn.dev/frontend/pages/scope/Home.js +24 -0
  68. package/assets/root.fullstackunicorn.dev/frontend/panels/{slider/Slider.js → slideshows/Slideshow.js} +34 -20
  69. package/assets/root.fullstackunicorn.dev/frontend/panels/slideshows/Slideshow.map.js +27 -0
  70. package/assets/root.fullstackunicorn.dev/frontend/panels/slideshows/Slideshow.md +90 -0
  71. package/assets/root.fullstackunicorn.dev/frontend/panels/{slider/Slider.pod.js → slideshows/Slideshow.pod.js} +14 -28
  72. package/assets/root.fullstackunicorn.dev/frontend/preloader/@use.js +4 -5
  73. package/assets/root.fullstackunicorn.dev/frontend/root/errors.root.js +1 -1
  74. package/assets/root.fullstackunicorn.dev/frontend/root/modals.root.js +8 -8
  75. package/assets/root.fullstackunicorn.dev/frontend/root/pages.scope.js +2 -2
  76. package/assets/root.fullstackunicorn.dev/frontend/root/preload.scope.js +1 -1
  77. package/assets/root.fullstackunicorn.dev/package.json +1 -1
  78. package/assets/root.fullstackunicorn.dev/workspace/config/tabulars_data_content/config/import.json +4 -26
  79. package/assets/root.fullstackunicorn.dev/workspace/config/tabulars_data_content/objs/A01.metadata.meta.json +72 -79
  80. package/assets/root.fullstackunicorn.dev/workspace/config/tabulars_data_content/objs/C01.home.data.json +25 -5
  81. package/assets/root.fullstackunicorn.dev/workspace/volume/data/lookups/cookies/en-US.json +3 -19
  82. package/assets/root.fullstackunicorn.dev/workspace/volume/data/lookups/cookies/it-IT.json +6 -22
  83. package/assets/root.fullstackunicorn.dev/workspace/volume/data/root/user/en-US.json +4 -6
  84. package/assets/root.fullstackunicorn.dev/workspace/volume/data/root/user/it-IT.json +5 -19
  85. package/modules/init.js +9 -5
  86. package/package.json +1 -1
  87. package/assets/root.fullstackunicorn.dev/frontend/pages/app/Home.abs.js +0 -11
  88. package/assets/root.fullstackunicorn.dev/frontend/pages/app/Home.api.js +0 -18
  89. package/assets/root.fullstackunicorn.dev/frontend/pages/app/Home.js +0 -23
  90. package/assets/root.fullstackunicorn.dev/frontend/panels/card/book/BookCard.js +0 -58
  91. package/assets/root.fullstackunicorn.dev/frontend/panels/card/book/BookCard.pod.js +0 -37
  92. package/assets/root.fullstackunicorn.dev/frontend/panels/card/book/BookProse.js +0 -22
  93. package/assets/root.fullstackunicorn.dev/frontend/panels/grid/book/Grid.js +0 -115
  94. package/assets/root.fullstackunicorn.dev/frontend/panels/grid/book/Grid.pod.js +0 -65
  95. package/assets/root.fullstackunicorn.dev/frontend/panels/grid/book/Item.js +0 -3
  96. package/assets/root.fullstackunicorn.dev/frontend/panels/grid/book/Item.pod.js +0 -50
  97. package/assets/root.fullstackunicorn.dev/frontend/panels/layout/Bottom.js +0 -12
  98. package/assets/root.fullstackunicorn.dev/frontend/panels/page/PageScrollable.pod.js +0 -85
  99. package/assets/root.fullstackunicorn.dev/frontend/panels/prose/@use.js +0 -21
  100. package/assets/root.fullstackunicorn.dev/frontend/panels/prose/Prose.js +0 -84
  101. package/assets/root.fullstackunicorn.dev/frontend/panels/selectors/popup/PopupModal.js +0 -54
  102. package/assets/root.fullstackunicorn.dev/frontend/panels/selectors/select/SelectModal.js +0 -52
  103. package/assets/root.fullstackunicorn.dev/frontend/panels/shopper/bookstore/Buy.js +0 -19
  104. package/assets/root.fullstackunicorn.dev/frontend/panels/shopper/bookstore/Buy.pod.js +0 -17
  105. package/assets/root.fullstackunicorn.dev/frontend/panels/shopper/bookstore/Shopper.js +0 -39
  106. package/assets/root.fullstackunicorn.dev/frontend/panels/shopper/bookstore/Shopper.pod.js +0 -187
  107. package/assets/root.fullstackunicorn.dev/frontend/panels/sliders/slider/SliderModal.js +0 -39
  108. /package/assets/root.fullstackunicorn.dev/frontend/{panels/selectors/actions → modules/modals/select}/Actions.pod.js +0 -0
  109. /package/assets/root.fullstackunicorn.dev/frontend/{panels/selectors → modules/modals}/select/SelectItem.js +0 -0
  110. /package/assets/root.fullstackunicorn.dev/frontend/{panels/selectors → modules/modals}/select/SelectItem.pod.js +0 -0
  111. /package/assets/root.fullstackunicorn.dev/frontend/{panels/selectors → modules/modals}/select/SelectPage.pod.js +0 -0
  112. /package/assets/root.fullstackunicorn.dev/frontend/{panels/selectors/actions → modules/modals/select}/SelectPicked.js +0 -0
  113. /package/assets/root.fullstackunicorn.dev/frontend/{panels/selectors/actions → modules/modals/select}/SelectPicked.pod.js +0 -0
  114. /package/assets/root.fullstackunicorn.dev/frontend/{panels/sliders/actions → modules/modals/slider}/Actions.js +0 -0
  115. /package/assets/root.fullstackunicorn.dev/frontend/{panels/sliders/actions → modules/modals/slider}/Actions.pod.js +0 -0
  116. /package/assets/root.fullstackunicorn.dev/frontend/{panels/sliders → modules/modals}/slider/SliderItem.js +0 -0
  117. /package/assets/root.fullstackunicorn.dev/frontend/{panels/sliders → modules/modals}/slider/SliderItem.pod.js +0 -0
  118. /package/assets/root.fullstackunicorn.dev/frontend/{panels/sliders → modules/modals}/slider/SliderPage.pod.js +0 -0
  119. /package/assets/root.fullstackunicorn.dev/frontend/{panels → modules}/prose/@formatter.js +0 -0
  120. /package/assets/root.fullstackunicorn.dev/frontend/{panels → modules}/prose/Basic.js +0 -0
  121. /package/assets/root.fullstackunicorn.dev/frontend/{panels → modules}/prose/Basic.pod.js +0 -0
@@ -0,0 +1,15 @@
1
+ import { uri } from '#@/App.uri.js'
2
+ import { api } from '#@/client/@api.js'
3
+ import { useApi } from '#@/pages/@use.js'
4
+
5
+ const fetch = async params => await api.statics.get(uri.data.content.verbal, params)
6
+
7
+ const parse = raw => {
8
+ if (!raw) return undefined
9
+ const data = raw['@data']
10
+ const meta = raw['@meta']
11
+ const heading = raw['@head'].heading
12
+ return { meta, data, heading }
13
+ }
14
+
15
+ export const useApiHome = () => useApi(fetch, parse, uri.data.content.verbal)
@@ -0,0 +1,24 @@
1
+ import { PageTitle } from '#@/modules/base/PageTitle'
2
+ import { Slideshow } from '#@/panels/slideshows/Slideshow.js'
3
+ import { Bottom } from '#@/modules/base/Bottom.js'
4
+ import { useApiHome } from '#@/pages/scope/Home.api.js'
5
+ import { abs } from '#@/pages/scope/Home.abs.js'
6
+
7
+ export const Home = () => {
8
+
9
+ const api = useApiHome()
10
+
11
+ if (!api) return null
12
+ return (
13
+ <>
14
+ <Slideshow
15
+ keys={abs.keys.slideshow}
16
+ list={Object.keys(api.data.slideshow)}
17
+ data={api.data.slideshow}
18
+ settings={abs.settings.slideshow}
19
+ />
20
+ <PageTitle title={api.data.body.intro.paragraph}/>
21
+ <Bottom />
22
+ </>
23
+ )
24
+ }
@@ -3,9 +3,10 @@ import { useWindowDimensions } from '#@/imports/use.js'
3
3
  import { img } from '#@/abstracts/img.js'
4
4
  import { useGetStatics } from '#@/base/statics/@use.js'
5
5
  import { useGetIsFrozen } from '#@/base/layout/menus/@use.js'
6
- import { SliderPod, ItemPod, TextualPod } from './Slider.pod.js'
6
+ import { map } from '#@/panels/slideshows/Slideshow.map.js'
7
+ import { SlideshowPod, SlideshowItemPod, SlideshowTextualPod } from '#@/panels/slideshows/Slideshow.pod.js'
7
8
 
8
- export const Slider = ({ list = [], keys = {}, settings = {} }) => {
9
+ export const Slideshow = ({ data = {}, list = [], keys = {}, settings = {} }) => {
9
10
 
10
11
  const statics = useGetStatics()
11
12
  const isFrozen = useGetIsFrozen()
@@ -17,9 +18,15 @@ export const Slider = ({ list = [], keys = {}, settings = {} }) => {
17
18
 
18
19
  const autoRef = useRef(null)
19
20
  const clickLockRef = useRef(null)
20
- const listSignature = list.map((object = {}) => {
21
- const picture = object[keys.picture]
22
- return picture?.src || object.href || object.slug || object.title || ''
21
+
22
+ if (!F3.obj.isGood(data)) return null
23
+ if (!F3.arr.isGood(list)) return null
24
+
25
+ const listSignature = list.map(itemKey => {
26
+ const object = data?.[itemKey]
27
+ const currentItem = map.slideshow(keys, object)
28
+ if (!currentItem) return ''
29
+ return currentItem?.picture?.src || currentItem?.href || currentItem?.title || itemKey || ''
23
30
  }).join('|')
24
31
 
25
32
  const clearAuto = () => {
@@ -86,7 +93,6 @@ export const Slider = ({ list = [], keys = {}, settings = {} }) => {
86
93
  }
87
94
  }, [isFrozen])
88
95
 
89
-
90
96
  const { width: mainWidth } = useWindowDimensions()
91
97
  const size = img.getPictureSize(mainWidth)
92
98
 
@@ -102,37 +108,45 @@ export const Slider = ({ list = [], keys = {}, settings = {} }) => {
102
108
  }
103
109
 
104
110
  return (
105
- <SliderPod
111
+ <SlideshowPod
106
112
  onNext={onNext}
107
113
  onPrevious={onPrevious}
108
114
  svg={svg}
109
- activeIndex={current}
110
115
  aspectRatio={settings.aspectRatio}
111
116
  >
112
- {list.map((object = {}, index) => {
117
+ {list.map((itemKey, index) => {
118
+
119
+ const object = data?.[itemKey]
120
+ const currentItem = map.slideshow(keys, object)
121
+ if (!currentItem) return null
122
+
123
+ const picture = currentItem.picture
124
+ const subhead = currentItem.subhead
125
+ const title = currentItem.title
126
+ const description = currentItem.description
127
+ const href = currentItem.href
113
128
 
114
- const picture = object[keys.picture]
115
- picture.size = size
129
+ if (picture) picture.size = size
116
130
 
117
131
  return (
118
- <ItemPod
132
+ <SlideshowItemPod
119
133
  isActive={index === current}
120
134
  picture={picture}
121
- key={picture?.src || object.href || object.slug || object.title || index}
135
+ key={itemKey}
122
136
  transitionMs={transitionDuration}
123
137
  aspectRatio={settings.aspectRatio}
124
138
  instantMount={isFrozen}
125
139
  >
126
- <TextualPod
140
+ <SlideshowTextualPod
127
141
  fontSizes={fontSizes}
128
- subhead={object.subhead}
129
- title={object.title}
130
- description={object.description}
131
- href={object.href}
142
+ subhead={subhead}
143
+ title={title}
144
+ description={description}
145
+ href={href}
132
146
  />
133
- </ItemPod>
147
+ </SlideshowItemPod>
134
148
  )
135
149
  })}
136
- </SliderPod>
150
+ </SlideshowPod>
137
151
  )
138
152
  }
@@ -0,0 +1,27 @@
1
+ const data = [
2
+ 'picture',
3
+ 'subhead',
4
+ 'title',
5
+ 'description',
6
+ 'href'
7
+ ]
8
+
9
+ const get = (keys = {}, item = {}, key = '') => {
10
+ const mapped = F3.obj.get(keys, key)
11
+ const path = F3.str.isGood(mapped) && data.includes(key) ? mapped : key
12
+ return F3.obj.get(item, path)
13
+ }
14
+
15
+ const slideshow = (keys = {}, item = {}) => {
16
+ const result = {}
17
+ result.picture = get(keys, item, 'picture')
18
+ result.subhead = get(keys, item, 'subhead')
19
+ result.title = get(keys, item, 'title')
20
+ result.description = get(keys, item, 'description')
21
+ result.href = get(keys, item, 'href')
22
+ if (!F3.obj.isGood(result.picture)) return undefined
23
+ if (!F3.str.isGood(result.picture.src)) return undefined
24
+ return result
25
+ }
26
+
27
+ export const map = { data, get, slideshow }
@@ -0,0 +1,90 @@
1
+ # Slideshow.js
2
+
3
+ ## list
4
+
5
+ ```json
6
+ {
7
+ "list": ["S001", "S002", "S003"]
8
+ }
9
+ ```
10
+
11
+ ## data
12
+
13
+ ```json
14
+ {
15
+ "data": {
16
+ "S001": {
17
+ "picture": {
18
+ "original": "background.jpg",
19
+ "name": "background.jpg",
20
+ "x": 2000,
21
+ "y": 1500,
22
+ "placeholder": "UDTI,a_3js_3~qj[ayofj@ayayfP~qoefQj[",
23
+ "src": "graphic/TS/background.jpg",
24
+ "ratio": 1.3333333333333333,
25
+ "max": "HD"
26
+ },
27
+ "subhead": "Featured Collection",
28
+ "title": "Painted Atmospheres",
29
+ "description": "Open the artwork selection",
30
+ "href": "/en-US/artworks"
31
+ },
32
+ "S002": {
33
+ "picture": {
34
+ "original": "themes-cover.jpg",
35
+ "name": "themes-cover.jpg",
36
+ "x": 2000,
37
+ "y": 1500,
38
+ "placeholder": "L7HLkY4n00t7?b%MRjofM{ofWBof",
39
+ "src": "graphic/TS/themes-cover.jpg",
40
+ "ratio": 1.3333333333333333,
41
+ "max": "HD"
42
+ },
43
+ "subhead": "Themes",
44
+ "title": "Visual Paths",
45
+ "description": "Open the main themes",
46
+ "href": "/en-US/themes"
47
+ },
48
+ "S003": {
49
+ "picture": {
50
+ "original": "activities-cover.jpg",
51
+ "name": "activities-cover.jpg",
52
+ "x": 2000,
53
+ "y": 1500,
54
+ "placeholder": "L4G8Rj?b00_3~qofRjM{t7ofWBof",
55
+ "src": "graphic/TS/activities-cover.jpg",
56
+ "ratio": 1.3333333333333333,
57
+ "max": "HD"
58
+ },
59
+ "subhead": "Activities",
60
+ "title": "Exhibitions And Publications",
61
+ "description": "Open activities and insights",
62
+ "href": "/en-US/activities"
63
+ }
64
+ }
65
+ }
66
+ ```
67
+
68
+ ## keys
69
+
70
+ ```json
71
+ {
72
+ "keys": {
73
+ "picture": "picture",
74
+ "subhead": "subhead",
75
+ "title": "title",
76
+ "description": "description",
77
+ "href": "href"
78
+ }
79
+ }
80
+ ```
81
+
82
+ ## settings
83
+
84
+ ```json
85
+ {
86
+ "settings": {
87
+ "aspectRatio": 2.3558282208588958
88
+ }
89
+ }
90
+ ```
@@ -7,7 +7,7 @@ import { Icon } from '#@/modules/core/Icon.js'
7
7
  import { ControlButton } from '#@/imports/animated/Button.js'
8
8
  import { Crossfader } from '#@/imports/animated/Crossfader.js'
9
9
 
10
- export const SliderPod = ({ svg, onNext, onPrevious, aspectRatio, children }) => {
10
+ export const SlideshowPod = ({ svg, onNext, onPrevious, aspectRatio, children }) => {
11
11
 
12
12
  const { s, c, f, t, F, B, S, I, H } = useStyle()
13
13
 
@@ -27,26 +27,13 @@ export const SliderPod = ({ svg, onNext, onPrevious, aspectRatio, children }) =>
27
27
  <View classes={S.slider} inline={I.slider}>
28
28
  <View classes={S.controls}>
29
29
  <View classes={S.one}>
30
- <ControlButton
31
- onPress={onPrevious}
32
- classes={S.iconOneBox}
33
- >
34
- <Icon
35
- classes={S.iconOne}
36
- svgClasses={S.svg}
37
- svg={svg.previous}
38
- />
30
+ <ControlButton onPress={onPrevious} classes={S.iconOneBox}>
31
+ <Icon classes={S.iconOne} svgClasses={S.svg} svg={svg.previous} />
39
32
  </ControlButton>
40
33
  </View>
41
34
  <View classes={S.two}>
42
- <ControlButton
43
- onPress={onNext}
44
- classes={S.iconTwoBox}
45
- >
46
- <Icon classes={S.iconTwo}
47
- svgClasses={S.svg}
48
- svg={svg.next}
49
- />
35
+ <ControlButton onPress={onNext} classes={S.iconTwoBox}>
36
+ <Icon classes={S.iconTwo} svgClasses={S.svg} svg={svg.next} />
50
37
  </ControlButton>
51
38
  </View>
52
39
  </View>
@@ -55,11 +42,11 @@ export const SliderPod = ({ svg, onNext, onPrevious, aspectRatio, children }) =>
55
42
  )
56
43
  }
57
44
 
58
- export const TextualPod = ({ subhead, title, description, href, fontSizes }) => {
45
+ export const SlideshowTextualPod = ({ subhead, title, description, href, fontSizes }) => {
59
46
 
60
47
  const { s, c, f, t, F, B, S, I, H } = useStyle()
61
48
 
62
- S.box = [s.row_sXcY, s.absolute, s.XY, s.top0,]
49
+ S.box = [s.row_sXcY, s.absolute, s.XY, s.top0]
63
50
  S.textual = [s.col_sXsY]
64
51
  S.outline = [s.paddingX4, s.paddingY2, s.margin4, c.item_WW]
65
52
 
@@ -73,20 +60,19 @@ export const TextualPod = ({ subhead, title, description, href, fontSizes }) =>
73
60
  <View classes={S.textual}>
74
61
  <TextOutline classes={S.outline} inline={I.subhead} text={subhead} outlineNr={1} />
75
62
  <TextOutline classes={S.outline} inline={I.title} text={title} outlineNr={1} />
76
- {
77
- !href
78
- ? <TextOutline classes={S.outline} inline={I.description} text={description} outlineNr={1} />
79
- : <Href linkTo={href}>
63
+ {!href
64
+ ? <TextOutline classes={S.outline} inline={I.description} text={description} outlineNr={1} />
65
+ : (
66
+ <Href linkTo={href}>
80
67
  <TextOutline classes={S.outline} inline={I.description} text={description} outlineNr={1} />
81
68
  </Href>
82
- }
69
+ )}
83
70
  </View>
84
71
  </View>
85
72
  )
86
73
  }
87
74
 
88
-
89
- export const ItemPod = ({ isActive, picture, children, aspectRatio, transitionMs = 600, instantMount = false }) => {
75
+ export const SlideshowItemPod = ({ isActive, picture, children, aspectRatio, transitionMs = 600, instantMount = false }) => {
90
76
 
91
77
  const { s, c, f, t, F, B, S, I, H } = useStyle()
92
78
 
@@ -99,4 +85,4 @@ export const ItemPod = ({ isActive, picture, children, aspectRatio, transitionMs
99
85
  {children}
100
86
  </Crossfader>
101
87
  )
102
- }
88
+ }
@@ -1,14 +1,13 @@
1
- import { useLoadMainMenu } from "#@/menus/Main.use.js"
1
+ import { useLoadMainMenu } from '#@/menus/Main.use.js'
2
2
 
3
3
  export const useLoadAtoms = (lang) => {
4
4
 
5
5
  const loadMainMenu = useLoadMainMenu(lang)
6
6
 
7
- const loadAtoms = (data) => {
8
-
9
- loadMainMenu(data)
7
+ const loadAtoms = (results) => {
10
8
 
9
+ loadMainMenu(results)
11
10
  }
12
11
 
13
12
  return loadAtoms
14
- }
13
+ }
@@ -1,4 +1,4 @@
1
- import { ErrorPage } from '#@/panels/error/ErrorPage'
1
+ import { ErrorPage } from '#@/modules/base/ErrorPage'
2
2
 
3
3
  const root = {}
4
4
  root.error = <ErrorPage/>
@@ -1,11 +1,11 @@
1
- import { selects } from '#@/panels/selectors/select/SelectModal'
2
- import { popup } from '#@/panels/selectors/popup/PopupModal'
3
- import { sliders } from '#@/panels/sliders/slider/SliderModal'
1
+ import { languages } from '#@/modals/languages/languages.js'
2
+ import { cookies } from '#@/modals/cookies/cookies.js'
3
+ import { countries } from '#@/modals/countries/countries.js'
4
4
 
5
5
  export const root = {
6
6
 
7
- selects,
8
- popup,
9
- sliders
10
-
11
- }
7
+ languages,
8
+ cookies,
9
+ countries,
10
+
11
+ }
@@ -1,5 +1,5 @@
1
- import { Home } from '#@/pages/app/Home.js'
2
- import { Checkout } from '#@/pages/app/Checkout.js'
1
+ import { Home } from '#@/pages/scope/Home.js'
2
+ import { Checkout } from '#@/pages/scope/Checkout.js'
3
3
 
4
4
  const scope = {}
5
5
 
@@ -4,7 +4,7 @@ class Scope {
4
4
 
5
5
  items = lang => [
6
6
  F3.fabUrl(uri.data.content.verbal, { lang, path: 'home' }),
7
- F3.fabUrl(uri.data.content.verbal, { lang, path: 'home' }),
7
+ F3.fabUrl(uri.data.content.logic, { lang, path: 'home' }),
8
8
  // menu.main
9
9
  F3.fabUrl(uri.data.menus.verbal, { lang, path: 'main' }),
10
10
  F3.fabUrl(uri.data.menus.logic, { lang, path: 'main' })
@@ -10,7 +10,7 @@
10
10
  "devDependencies": {
11
11
  "@fullstackunicorn/cli": "^1.0.8",
12
12
  "@fullstackunicorn/reduce": "^1.0.22",
13
- "@fullstackunicorn/root": "^1.0.15"
13
+ "@fullstackunicorn/root": "^1.0.19"
14
14
  },
15
15
  "dependencies": {}
16
16
  }
@@ -1,29 +1,7 @@
1
1
  {
2
2
  "@config": {},
3
3
  "@defaults": {
4
- "type": "text"
5
- },
6
- "@data": [
7
- {
8
- "typename": "book",
9
- "node": "website",
10
- "tags": "website",
11
- "slug": "website",
12
- "value": "website"
13
- },
14
- {
15
- "typename": "book",
16
- "node": "lookup",
17
- "tags": "lookup",
18
- "slug": "lookups",
19
- "value": "lookups"
20
- },
21
- {
22
- "typename": "book",
23
- "node": "seed",
24
- "tags": "helper",
25
- "slug": "seed",
26
- "value": "seed"
27
- }
28
- ]
29
- }
4
+ "type": "text",
5
+ "language": "{{lang}}"
6
+ }
7
+ }
@@ -2,86 +2,79 @@
2
2
  "@defaults": {
3
3
  "type": "text"
4
4
  },
5
- "@pins": [],
6
- "@hooks": {},
5
+ "@hooks": [],
7
6
  "@generate": [
8
7
  {
9
- "@target": [
10
- "website"
11
- ],
12
- "@data": {
13
- "typename": "section",
14
- "node": "{{route}}",
15
- "slug": "{{route}}",
16
- "value": "{{route}}",
17
- "children": [
18
- {
19
- "typename": "page",
20
- "node": "{{path}}",
21
- "slug": "{{path}}",
22
- "value": "{{path}}",
23
- "children": [
24
- {
25
- "typename": "block",
26
- "node": "@metadata",
27
- "slug": "@metadata",
28
- "value": "metadata",
29
- "children": [
30
- {
31
- "typename": "item",
32
- "node": "metadata",
33
- "tags": "metadata",
34
- "value": "metadata",
35
- "children": [
36
- {
37
- "typename": "data",
38
- "node": "title",
39
- "tags": "title",
40
- "value": "{{title}}"
41
- },
42
- {
43
- "typename": "data",
44
- "node": "description",
45
- "tags": "description",
46
- "value": "{{description}}"
47
- },
48
- {
49
- "typename": "data",
50
- "node": "cover",
51
- "type": "cover",
52
- "tags": "cover",
53
- "value": "{{cover}}"
54
- }
55
- ]
56
- }
57
- ]
58
- },
59
- {
60
- "typename": "block",
61
- "node": "@heading",
62
- "slug": "@heading",
63
- "value": "heading",
64
- "children": [
65
- {
66
- "typename": "item",
67
- "node": "heading",
68
- "tags": "heading",
69
- "value": "heading",
70
- "children": [
71
- {
72
- "typename": "data",
73
- "node": "heading",
74
- "tags": "heading",
75
- "value": "{{heading}}"
76
- }
77
- ]
78
- }
79
- ]
80
- }
81
- ]
82
- }
83
- ]
84
- }
8
+ "typename": "set",
9
+ "node": "website",
10
+ "children": [
11
+ {
12
+ "typename": "book",
13
+ "node": "verbal",
14
+ "children": [
15
+ {
16
+ "typename": "section",
17
+ "node": "{{route}}",
18
+ "children": [
19
+ {
20
+ "typename": "page",
21
+ "node": "{{path}}",
22
+ "children": [
23
+ {
24
+ "typename": "block",
25
+ "node": "@metadata",
26
+ "children": [
27
+ {
28
+ "typename": "item",
29
+ "node": "metadata",
30
+ "children": [
31
+ {
32
+ "typename": "data",
33
+ "node": "title",
34
+ "tags": "title",
35
+ "value": "{{title}}"
36
+ },
37
+ {
38
+ "typename": "data",
39
+ "node": "description",
40
+ "tags": "description",
41
+ "value": "{{description}}"
42
+ },
43
+ {
44
+ "typename": "data",
45
+ "type": "cover",
46
+ "node": "cover",
47
+ "tags": "cover",
48
+ "value": "{{cover}}"
49
+ }
50
+ ]
51
+ }
52
+ ]
53
+ },
54
+ {
55
+ "typename": "block",
56
+ "node": "@heading",
57
+ "children": [
58
+ {
59
+ "typename": "item",
60
+ "node": "heading",
61
+ "children": [
62
+ {
63
+ "typename": "data",
64
+ "node": "heading",
65
+ "value": "{{heading}}"
66
+ }
67
+ ]
68
+ }
69
+ ]
70
+ }
71
+ ]
72
+ }
73
+ ]
74
+ }
75
+ ]
76
+ }
77
+ ]
85
78
  }
86
79
  ]
87
- }
80
+ }
@@ -2,9 +2,29 @@
2
2
  "@defaults": {
3
3
  "type": "text"
4
4
  },
5
- "@target": [
6
- "website",
7
- "home",
8
- "home"
5
+ "@generate": [
6
+ {
7
+ "typename": "set",
8
+ "node": "website",
9
+ "children": [
10
+ {
11
+ "typename": "book",
12
+ "node": "verbal",
13
+ "children": [
14
+ {
15
+ "typename": "section",
16
+ "node": "home",
17
+ "children": [
18
+ {
19
+ "typename": "page",
20
+ "node": "home",
21
+ "children": []
22
+ }
23
+ ]
24
+ }
25
+ ]
26
+ }
27
+ ]
28
+ }
9
29
  ]
10
- }
30
+ }