@ossy/connected-components 0.7.5 → 0.7.7

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 (2) hide show
  1. package/build/index.js +27 -65
  2. package/package.json +2 -2
package/build/index.js CHANGED
@@ -1,10 +1,30 @@
1
- import React$1, { useState, useMemo, useCallback, useEffect, useContext, createContext } from 'react';
1
+ import React$1, { createContext, useState, useMemo, useCallback, useEffect } from 'react';
2
2
  import { SDK } from '@ossy/sdk';
3
3
  import { useResource, WorkspaceProvider, AsyncStatus, useQuery, useResources } from '@ossy/sdk-react';
4
4
  import { Overlay, View, Button, Text, useTheme, Theme, useDocumentTitle, Switch } from '@ossy/design-system';
5
5
  import { Router } from '@ossy/router-react';
6
6
  import { Resume as Resume$1 } from '@ossy/design-system-extras';
7
7
 
8
+ function defaultAppSettings() {
9
+ return {
10
+ workspaceId: undefined,
11
+ defaultLanguage: undefined,
12
+ supportedLanguages: [],
13
+ theme: undefined,
14
+ themes: undefined,
15
+ routes: [],
16
+ initialEntries: [],
17
+ initialIndex: 0,
18
+ router: 'browser',
19
+ gaId: undefined,
20
+ apiUrl: undefined,
21
+ devMode: false
22
+ };
23
+ }
24
+
25
+ const AppContext = /*#__PURE__*/createContext(defaultAppSettings());
26
+ const useApp = () => React$1.useContext(AppContext);
27
+
8
28
  const overlayStyles = {
9
29
  background: 'transparent',
10
30
  display: 'content',
@@ -59,6 +79,7 @@ const ThemeSwitcher = () => {
59
79
  }, themeName))));
60
80
  };
61
81
  const ThemeEditor = () => {
82
+ const app = useApp();
62
83
  const {
63
84
  updateResourceContent
64
85
  } = useResource('PCX53TaGviq4_8KvK-VOp');
@@ -86,7 +107,7 @@ const ThemeEditor = () => {
86
107
  useEffect(() => {
87
108
  if (!isEditorOpen) return;
88
109
  const views = document.querySelectorAll('[data-view]');
89
- views.forEach(view => view.style.border = '1px solid red');
110
+ // views.forEach(view => view.style.border = '1px solid red')
90
111
  setViewCount(views.length);
91
112
  }, [isEditorOpen]);
92
113
  return /*#__PURE__*/React$1.createElement(Overlay, {
@@ -125,7 +146,7 @@ const ThemeEditor = () => {
125
146
  }))), /*#__PURE__*/React$1.createElement(Button, {
126
147
  type: "submit",
127
148
  variant: "cta"
128
- }, "Save")), /*#__PURE__*/React$1.createElement(ThemeSwitcher, null), /*#__PURE__*/React$1.createElement(Text, null, "Views: ", viewCount))), /*#__PURE__*/React$1.createElement(Button, {
149
+ }, "Save")), /*#__PURE__*/React$1.createElement(ThemeSwitcher, null), /*#__PURE__*/React$1.createElement(Text, null, "Views: ", viewCount)), /*#__PURE__*/React$1.createElement(View, null, /*#__PURE__*/React$1.createElement(View, null, "Pages: ", app?.pages?.length || 0), /*#__PURE__*/React$1.createElement(View, null, (app?.pages || []).map(page => /*#__PURE__*/React$1.createElement(Button, null, page.id))))), /*#__PURE__*/React$1.createElement(Button, {
129
150
  variant: "cta",
130
151
  prefix: "math-plus",
131
152
  style: toggleStyles,
@@ -133,26 +154,6 @@ const ThemeEditor = () => {
133
154
  }));
134
155
  };
135
156
 
136
- const useAppSettings = () => useContext(AppContext);
137
- function defaultAppSettings() {
138
- return {
139
- workspaceId: undefined,
140
- defaultLanguage: undefined,
141
- supportedLanguages: [],
142
- theme: undefined,
143
- themes: undefined,
144
- routes: [],
145
- initialEntries: [],
146
- initialIndex: 0,
147
- router: 'browser',
148
- gaId: undefined,
149
- apiUrl: undefined,
150
- devMode: false
151
- };
152
- }
153
-
154
- const AppContext = /*#__PURE__*/createContext(defaultAppSettings());
155
- const useApp = () => React$1.useContext(AppContext);
156
157
  const App = _appSettings => {
157
158
  const appSettings = {
158
159
  ...defaultAppSettings(),
@@ -263,45 +264,6 @@ const Ossybot = ({
263
264
  })));
264
265
  };
265
266
 
266
- const appendSlash = string => string[string.length - 1] === '/' ? string : `${string}/`;
267
- const prependSlash = string => string[0] === '/' ? string : `/${string}`;
268
- const padWithSlash = string => appendSlash(prependSlash(string));
269
- const Predicates = {
270
- byLength: desiredLength => route => {
271
- const routeParts = route.split('/').filter(x => !!x);
272
- return routeParts.length === desiredLength;
273
- },
274
- byParamPlaceHolders: activePathname => route => {
275
- const routeParts = route.split('/').filter(x => !!x).reduce((parts, part) => part.startsWith(':') ? [...parts, '.+?'] : [...parts, part], []).join('/');
276
- const regex = new RegExp(`^${padWithSlash(routeParts)}$`);
277
- const passes = regex.test(activePathname);
278
- return passes;
279
- }
280
- };
281
- const useActivePageLocation = path => {
282
- console.log('useActivePageLocation path', path);
283
- const {
284
- routes: pages
285
- } = useAppSettings();
286
- if (!path) return;
287
-
288
- // TODO: this needs tests because I don't think it works right
289
- const activePathname = path === '' ? '/' : padWithSlash(path);
290
- const registeredPageRoutes = pages.map(page => padWithSlash(page.path));
291
- const exactRouteMatch = registeredPageRoutes.find(route => route === activePathname);
292
- let activePageLocation;
293
- if (!!exactRouteMatch) {
294
- activePageLocation = exactRouteMatch;
295
- } else {
296
- const activePathnameParts = activePathname.split('/').filter(x => !!x);
297
- const dynamicRouteMatch = registeredPageRoutes.find(route => Predicates.byLength(activePathnameParts.length)(route) && Predicates.byParamPlaceHolders(activePathname)(route));
298
- activePageLocation = dynamicRouteMatch;
299
- }
300
- console.log('useActivePageLocation exactRouteMatch', exactRouteMatch);
301
- console.log('useActivePageLocation activePageLocation', activePageLocation);
302
- return activePageLocation;
303
- };
304
-
305
267
  // import { useParams } from '../use-params'
306
268
  // import { AppHeader } from './AppHeader'
307
269
  // import { AppFooter } from './AppFooter'
@@ -387,7 +349,7 @@ const Section = ({
387
349
  };
388
350
 
389
351
  const Page = () => {
390
- const activePageLocation = useActivePageLocation();
352
+ const activePageLocation = '/';
391
353
  const {
392
354
  resources: folder
393
355
  } = useResources(`/pages${activePageLocation}`);
@@ -428,7 +390,7 @@ const PageStatus = {
428
390
  const PageDataLoader = ({
429
391
  children
430
392
  }) => {
431
- const activePageLocation = useActivePageLocation();
393
+ const activePageLocation = '/';
432
394
  const {
433
395
  status,
434
396
  resources: folder
@@ -636,4 +598,4 @@ const ThemeProvider = props => {
636
598
  }, props)) : /*#__PURE__*/React$1.createElement(React$1.Fragment, null);
637
599
  };
638
600
 
639
- export { App, AppContext, Layout, Ossybot, Page, PageDataLoader, PagesModule, Resume, ResumeTemplates, ThemeEditor, ThemeProvider, defaultAppSettings, location, useActivePageLocation, useApp, useAppSettings, useMergeAsyncStatus, useResume };
601
+ export { App, Layout, Ossybot, Page, PageDataLoader, PagesModule, Resume, ResumeTemplates, ThemeEditor, ThemeProvider, defaultAppSettings, location, useApp, useMergeAsyncStatus, useResume };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ossy/connected-components",
3
- "version": "0.7.5",
3
+ "version": "0.7.7",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/ossy-se/packages.git"
@@ -58,5 +58,5 @@
58
58
  "/build",
59
59
  "README.md"
60
60
  ],
61
- "gitHead": "2f6cae02ad55e454cbcdcdac8f873a35679e3ece"
61
+ "gitHead": "9d1619ca70c0fa64a1b57b34f64ff062cd12c640"
62
62
  }