@griddo/ax 11.0.29-rc.0 → 11.0.30-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/config/griddo-config/cx-polyfills/componentsBundle.js +1 -1
  2. package/package.json +2 -2
  3. package/scripts/griddo-sync-schemas.js +49 -42
  4. package/src/GlobalStore.tsx +3 -0
  5. package/src/__tests__/components/TableFilters/LiveFilter/LiveFilter.test.tsx +6 -0
  6. package/src/api/forms.tsx +191 -0
  7. package/src/api/index.tsx +2 -0
  8. package/src/components/Browser/index.tsx +42 -37
  9. package/src/components/Browser/style.tsx +3 -3
  10. package/src/components/BrowserContent/index.tsx +1 -1
  11. package/src/components/ConfigPanel/Form/index.tsx +6 -5
  12. package/src/components/ConfigPanel/GlobalPageForm/index.tsx +3 -1
  13. package/src/components/ConfigPanel/Header/index.tsx +1 -0
  14. package/src/components/Fields/ComponentArray/MixableComponentArray/AddItemButton/index.tsx +4 -5
  15. package/src/components/Fields/ComponentArray/MixableComponentArray/index.tsx +4 -4
  16. package/src/components/Fields/ComponentArray/helpers.tsx +1 -1
  17. package/src/components/Fields/FormFieldArray/index.tsx +13 -0
  18. package/src/components/Fields/ReferenceField/AutoPanel/index.tsx +1 -2
  19. package/src/components/Fields/ReferenceField/Context/index.tsx +0 -2
  20. package/src/components/Fields/ReferenceField/ItemList/index.tsx +1 -2
  21. package/src/components/Fields/ReferenceField/ManualPanel/index.tsx +2 -2
  22. package/src/components/Fields/ReferenceField/index.tsx +1 -5
  23. package/src/components/Fields/TranslateButton/index.tsx +48 -10
  24. package/src/components/Fields/Wysiwyg/helpers.tsx +2 -2
  25. package/src/components/Fields/Wysiwyg/index.tsx +4 -11
  26. package/src/components/Fields/index.tsx +2 -0
  27. package/src/components/FieldsBehavior/index.tsx +8 -2
  28. package/src/components/Icon/components/Form.js +12 -0
  29. package/src/components/Icon/svgs/Form.svg +3 -0
  30. package/src/components/LanguageMenu/index.tsx +30 -27
  31. package/src/components/MainWrapper/AppBar/index.tsx +23 -68
  32. package/src/components/MainWrapper/index.tsx +4 -9
  33. package/src/components/MenuItem/index.tsx +2 -2
  34. package/src/components/ResizePanel/index.tsx +3 -2
  35. package/src/components/ResizePanel/style.tsx +11 -9
  36. package/src/components/SearchField/style.tsx +2 -2
  37. package/src/components/SideModal/SideModalOption/index.tsx +3 -2
  38. package/src/components/SideModal/SideModalOption/style.tsx +2 -2
  39. package/src/components/SideModal/index.tsx +11 -4
  40. package/src/components/SideModal/style.tsx +9 -7
  41. package/src/components/TableFilters/LiveFilter/index.tsx +4 -3
  42. package/src/components/index.tsx +4 -0
  43. package/src/containers/App/reducer.tsx +4 -1
  44. package/src/containers/Forms/actions.tsx +853 -0
  45. package/src/containers/Forms/constants.tsx +46 -0
  46. package/src/containers/Forms/index.tsx +4 -0
  47. package/src/containers/Forms/interfaces.tsx +95 -0
  48. package/src/containers/Forms/reducer.tsx +81 -0
  49. package/src/containers/Forms/utils.tsx +42 -0
  50. package/src/containers/Navigation/Menu/actions.tsx +6 -13
  51. package/src/containers/Navigation/Menu/reducer.tsx +0 -4
  52. package/src/containers/PageEditor/actions.tsx +3 -2
  53. package/src/containers/PageEditor/reducer.tsx +2 -2
  54. package/src/forms/editor.tsx +3 -1
  55. package/src/helpers/index.tsx +12 -1
  56. package/src/helpers/schemas.tsx +35 -9
  57. package/src/helpers/structuredData.tsx +3 -1
  58. package/src/helpers/themes.tsx +3 -1
  59. package/src/helpers/thumbnails.tsx +20 -2
  60. package/src/modules/Analytics/GroupPanel/utils.tsx +3 -1
  61. package/src/modules/App/Routing/NavMenu/index.tsx +16 -6
  62. package/src/modules/App/Routing/index.tsx +26 -9
  63. package/src/modules/Categories/CategoriesList/CategoryItem/index.tsx +4 -4
  64. package/src/modules/Categories/CategoriesList/index.tsx +16 -16
  65. package/src/modules/Content/BulkHeader/TableHeader/index.tsx +1 -5
  66. package/src/modules/Content/PageItem/index.tsx +34 -33
  67. package/src/modules/Content/index.tsx +23 -36
  68. package/src/modules/Content/utils.tsx +3 -1
  69. package/src/modules/Forms/FormCategoriesList/BulkHeader/TableHeader/index.tsx +42 -0
  70. package/src/modules/Forms/FormCategoriesList/BulkHeader/TableHeader/style.tsx +36 -0
  71. package/src/modules/Forms/FormCategoriesList/BulkHeader/index.tsx +37 -0
  72. package/src/modules/Forms/FormCategoriesList/BulkHeader/style.tsx +9 -0
  73. package/src/modules/Forms/FormCategoriesList/CategoryItem/index.tsx +125 -0
  74. package/src/modules/Forms/FormCategoriesList/CategoryItem/style.tsx +91 -0
  75. package/src/modules/Forms/FormCategoriesList/CategoryPanel/Form/index.tsx +50 -0
  76. package/src/modules/Forms/FormCategoriesList/CategoryPanel/index.tsx +112 -0
  77. package/src/modules/Forms/FormCategoriesList/CategoryPanel/style.tsx +31 -0
  78. package/src/modules/Forms/FormCategoriesList/atoms.tsx +33 -0
  79. package/src/modules/Forms/FormCategoriesList/hooks.tsx +61 -0
  80. package/src/modules/Forms/FormCategoriesList/index.tsx +245 -0
  81. package/src/modules/Forms/FormCategoriesList/style.tsx +82 -0
  82. package/src/modules/Forms/FormEditor/Editor/FormConfigPanel/Form/ConnectedField/Field/index.tsx +95 -0
  83. package/src/modules/Forms/FormEditor/Editor/FormConfigPanel/Form/ConnectedField/TemplateManager/index.tsx +102 -0
  84. package/src/modules/Forms/FormEditor/Editor/FormConfigPanel/Form/ConnectedField/TemplateManager/style.tsx +9 -0
  85. package/src/modules/Forms/FormEditor/Editor/FormConfigPanel/Form/ConnectedField/index.tsx +109 -0
  86. package/src/modules/Forms/FormEditor/Editor/FormConfigPanel/Form/index.tsx +76 -0
  87. package/src/modules/Forms/FormEditor/Editor/FormConfigPanel/Form/style.tsx +28 -0
  88. package/src/modules/Forms/FormEditor/Editor/FormConfigPanel/Header/index.tsx +132 -0
  89. package/src/modules/Forms/FormEditor/Editor/FormConfigPanel/Header/style.tsx +30 -0
  90. package/src/modules/Forms/FormEditor/Editor/FormConfigPanel/index.tsx +86 -0
  91. package/src/modules/Forms/FormEditor/Editor/FormConfigPanel/style.tsx +7 -0
  92. package/src/modules/Forms/FormEditor/Editor/index.tsx +106 -0
  93. package/src/modules/Forms/FormEditor/PageBrowser/index.tsx +96 -0
  94. package/src/modules/Forms/FormEditor/index.tsx +295 -0
  95. package/src/modules/Forms/FormEditor/style.tsx +32 -0
  96. package/src/modules/Forms/FormList/BulkHeader/TableHeader/index.tsx +61 -0
  97. package/src/modules/Forms/FormList/BulkHeader/TableHeader/style.tsx +47 -0
  98. package/src/modules/Forms/FormList/BulkHeader/index.tsx +60 -0
  99. package/src/modules/Forms/FormList/FormItem/index.tsx +218 -0
  100. package/src/modules/Forms/FormList/FormItem/style.tsx +87 -0
  101. package/src/modules/Forms/FormList/Summary/index.tsx +51 -0
  102. package/src/modules/Forms/FormList/Summary/style.tsx +46 -0
  103. package/src/modules/Forms/FormList/TemplateModal/index.tsx +67 -0
  104. package/src/modules/Forms/FormList/TemplateModal/style.tsx +54 -0
  105. package/src/modules/Forms/FormList/index.tsx +266 -0
  106. package/src/modules/Forms/FormList/style.tsx +31 -0
  107. package/src/modules/Forms/FormsMenu/MenuGroup/index.tsx +57 -0
  108. package/src/modules/Forms/FormsMenu/MenuGroup/style.tsx +55 -0
  109. package/src/modules/Forms/FormsMenu/index.tsx +78 -0
  110. package/src/modules/Forms/FormsMenu/style.tsx +9 -0
  111. package/src/modules/Forms/atoms.tsx +111 -0
  112. package/src/modules/Forms/style.tsx +11 -0
  113. package/src/modules/FramePreview/index.tsx +26 -12
  114. package/src/modules/GlobalEditor/index.tsx +52 -21
  115. package/src/modules/Navigation/Defaults/DefaultsEditor/index.tsx +32 -15
  116. package/src/modules/Navigation/Defaults/Item/atoms.tsx +6 -5
  117. package/src/modules/Navigation/Defaults/Item/index.tsx +10 -10
  118. package/src/modules/Navigation/Defaults/index.tsx +7 -6
  119. package/src/modules/Navigation/Menus/List/Nav/index.tsx +2 -10
  120. package/src/modules/Navigation/Menus/List/Table/SidePanel/Form/index.tsx +14 -11
  121. package/src/modules/Navigation/Menus/List/index.tsx +15 -16
  122. package/src/modules/Navigation/Menus/index.tsx +9 -17
  123. package/src/modules/PageEditor/index.tsx +54 -31
  124. package/src/modules/Settings/Globals/index.tsx +3 -1
  125. package/src/modules/Settings/Languages/Table/Item/index.tsx +11 -9
  126. package/src/modules/Sites/SitesList/ListView/BulkHeader/TableHeader/index.tsx +1 -1
  127. package/src/modules/StructuredData/Form/index.tsx +41 -28
  128. package/src/modules/StructuredData/StructuredDataList/BulkHeader/TableHeader/index.tsx +1 -5
  129. package/src/modules/StructuredData/StructuredDataList/GlobalPageItem/index.tsx +6 -8
  130. package/src/modules/StructuredData/StructuredDataList/StructuredDataItem/index.tsx +5 -7
  131. package/src/modules/StructuredData/StructuredDataList/index.tsx +13 -10
  132. package/src/modules/StructuredData/StructuredDataList/utils.tsx +2 -1
  133. package/src/routes/multisite.tsx +53 -16
  134. package/src/routes/site.tsx +1 -0
  135. package/src/schemas/pages/FormPage.tsx +49 -0
  136. package/src/schemas/pages/GlobalPage.tsx +1 -0
  137. package/src/schemas/pages/Page.tsx +4 -1
  138. package/src/schemas/pages/index.tsx +2 -1
  139. package/src/types/forms.tsx +87 -0
  140. package/src/types/index.tsx +43 -7
  141. /package/src/modules/Navigation/Menus/{helpers.tsx → List/helpers.tsx} +0 -0
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { IErrorItem } from "@ax/types";
2
+ import { IErrorItem, ILanguage } from "@ax/types";
3
3
 
4
4
  import AppBar from "./AppBar";
5
5
 
@@ -32,18 +32,13 @@ export interface IWrapperProps {
32
32
  tabs?: { tabSet?: any; icons?: { name: string; text: string }[]; selectedTab: string; action: (e: any) => void };
33
33
  pageStatus?: string;
34
34
  language?: { locale: string; id: number | null } | null;
35
- availableLanguages?: any[] | null;
36
- pageLanguages?: any[];
35
+ availableLanguages?: ILanguage[];
36
+ currentLanguages?: ILanguage[];
37
37
  inversed?: boolean;
38
38
  currentPageID?: number;
39
39
  fullWidth?: boolean;
40
40
  isFromEditor?: boolean;
41
- languageActions?: {
42
- setLanguage?(lang: { locale: string; id: number | null }): void;
43
- setIsNewTranslation?(isNewTranslation: boolean): void;
44
- getContent?(id?: number): Promise<void>;
45
- getDataContent?(dataID?: number): Promise<void>;
46
- } | null;
41
+ languageAction?: (lang: ILanguage) => void;
47
42
  searchAction?(query: string): void;
48
43
  filterSearchAction?(filter: string): void;
49
44
  searchFilters?: any;
@@ -15,7 +15,7 @@ const MenuItem = (props: IMenuItemProps): JSX.Element => {
15
15
 
16
16
  const handleExtendedAction = (e: React.MouseEvent<HTMLButtonElement>) => {
17
17
  e.stopPropagation();
18
- extendedAction && extendedAction.action();
18
+ extendedAction?.action && extendedAction.action();
19
19
  };
20
20
 
21
21
  return (
@@ -41,7 +41,7 @@ const MenuItem = (props: IMenuItemProps): JSX.Element => {
41
41
  export interface IMenuItemProps {
42
42
  children: JSX.Element | string;
43
43
  onClick?: (e: React.MouseEvent<HTMLLIElement>) => void;
44
- extendedAction?: { icon: string; action: () => void; onlyOnHover?: boolean } | null;
44
+ extendedAction?: { icon: string; action?: () => void; onlyOnHover?: boolean } | null;
45
45
  className?: string;
46
46
  disabled?: boolean;
47
47
  }
@@ -4,7 +4,7 @@ import ResizeHandle from "./ResizeHandle";
4
4
  import * as S from "./style";
5
5
 
6
6
  const ResizePanel = (props: IResizePanelProps): JSX.Element => {
7
- const { leftPanel, rightPanel, fixed = true } = props;
7
+ const { leftPanel, rightPanel, fixed = true, full = false } = props;
8
8
 
9
9
  const [rwidth, setRwidth] = useState(0);
10
10
 
@@ -26,7 +26,7 @@ const ResizePanel = (props: IResizePanelProps): JSX.Element => {
26
26
  <>
27
27
  <S.LeftPanel data-testid="left-panel">
28
28
  {fixed ? (
29
- <S.FixedPanel width={rwidth} data-testid="fixed-panel">
29
+ <S.FixedPanel width={rwidth} full={full} data-testid="fixed-panel">
30
30
  {leftPanel}
31
31
  </S.FixedPanel>
32
32
  ) : (
@@ -45,6 +45,7 @@ export interface IResizePanelProps {
45
45
  leftPanel: JSX.Element | JSX.Element[];
46
46
  rightPanel: JSX.Element | JSX.Element[];
47
47
  fixed?: boolean;
48
+ full?: boolean;
48
49
  }
49
50
 
50
51
  export default ResizePanel;
@@ -5,13 +5,13 @@ const getWidth = (width: number, space: string) => {
5
5
  return minWidth < 500 ? `500px` : `${minWidth}px`;
6
6
  };
7
7
 
8
- export const LeftPanel = styled.section`
8
+ const LeftPanel = styled.section`
9
9
  position: relative;
10
10
  flex-grow: 1;
11
11
  min-width: 500px;
12
12
  `;
13
13
 
14
- export const RightPanel = styled.section<{ width: number }>`
14
+ const RightPanel = styled.section<{ width: number }>`
15
15
  display: flex;
16
16
  position: relative;
17
17
  padding: ${(p) => `0 ${p.theme.spacing.m} ${p.theme.spacing.m} ${p.theme.spacing.m}`};
@@ -22,13 +22,15 @@ export const RightPanel = styled.section<{ width: number }>`
22
22
  flex-direction: column;
23
23
  `;
24
24
 
25
- export const FixedPanel = styled.div<{ width: number }>`
25
+ const FixedPanel = styled.div<{ width: number; full: boolean }>`
26
26
  position: sticky;
27
- top: calc(${(p) => p.theme.spacing.xl} + ${(p) => p.theme.spacing.m});
28
- height: calc(
29
- 100vh - (${(p) => p.theme.spacing.xl} + (${(p) => p.theme.spacing.m} * 2)) -
30
- (${(p) => p.theme.spacing.m} + (${(p) => p.theme.spacing.xs} * 2))
31
- );
27
+ top: ${(p) => (p.full ? p.theme.spacing.xl : `calc(${p.theme.spacing.xl} + ${p.theme.spacing.m})`)};
28
+ height: ${(p) =>
29
+ p.full
30
+ ? `calc(100vh - ${p.theme.spacing.xl})`
31
+ : `calc(100vh - (${p.theme.spacing.xl} + (${p.theme.spacing.m} * 2)) - (${p.theme.spacing.m} + (${p.theme.spacing.xs} * 2)))`};
32
32
  min-width: ${(p) => getWidth(p.width, p.theme.spacing.m)};
33
- margin-left: ${(p) => p.theme.spacing.m};
33
+ margin-left: ${(p) => (p.full ? "0" : p.theme.spacing.m)};
34
34
  `;
35
+
36
+ export { LeftPanel, RightPanel, FixedPanel };
@@ -33,7 +33,7 @@ const Input = styled.input<{
33
33
  background-color: ${(p) => p.theme.color.interactiveBackground};
34
34
  flex: 1 1 auto;
35
35
  height: ${(p) => (p.inputSize === "XS" ? "40px" : p.theme.spacing.l)};
36
- padding-left: ${(p) => p.theme.spacing.xs};
36
+ padding-left: ${(p) => p.theme.spacing.s};
37
37
  border: none;
38
38
  border-radius: ${(p) => (p.closeOnInactive ? 0 : p.theme.radii.s)};
39
39
  width: ${(p) =>
@@ -47,7 +47,7 @@ const Input = styled.input<{
47
47
 
48
48
  const IconSearchWrapper = styled.div<{ onClick?: () => void; disabled: boolean }>`
49
49
  position: absolute;
50
- right: ${(p) => p.theme.spacing.xxs};
50
+ right: ${(p) => p.theme.spacing.s};
51
51
  top: 50%;
52
52
  width: ${(p) => p.theme.spacing.m};
53
53
  height: ${(p) => p.theme.spacing.m};
@@ -12,7 +12,7 @@ const getThumbnailData = (option: any, theme: string) => {
12
12
  };
13
13
 
14
14
  const SideModalOption = (props: IProps) => {
15
- const { option, handleClick, toggleModal, theme } = props;
15
+ const { option, handleClick, toggleModal, theme, smallMargin } = props;
16
16
 
17
17
  const isNavigationDefault = ["header", "footer"].includes(option.type);
18
18
 
@@ -37,7 +37,7 @@ const SideModalOption = (props: IProps) => {
37
37
  ) : null;
38
38
 
39
39
  return (
40
- <S.Item onClick={setOption} data-testid="side-modal-option">
40
+ <S.Item onClick={setOption} smallMargin={smallMargin} data-testid="side-modal-option">
41
41
  <S.Thumbnail data-testid="side-modal-option-img" {...thumbnailProps} />
42
42
  {label}
43
43
  {defaultTag}
@@ -51,6 +51,7 @@ interface IProps {
51
51
  toggleModal: () => void;
52
52
  children: string;
53
53
  theme: string;
54
+ smallMargin: boolean;
54
55
  }
55
56
 
56
57
  export default memo(SideModalOption);
@@ -1,10 +1,10 @@
1
1
  import styled from "styled-components";
2
2
 
3
- const Item = styled.li`
3
+ const Item = styled.li<{ smallMargin: boolean }>`
4
4
  cursor: pointer;
5
5
  padding: ${(p) => p.theme.spacing.xs};
6
6
  padding-bottom: ${(p) => p.theme.spacing.s};
7
- margin-bottom: ${(p) => p.theme.spacing.s};
7
+ margin-bottom: ${(p) => (p.smallMargin ? p.theme.spacing.xs : p.theme.spacing.s)};
8
8
  box-shadow: ${(p) => p.theme.shadow.shadowS};
9
9
  border-radius: ${(p) => p.theme.radii.s};
10
10
  ${(p) => p.theme.textStyle.uiS};
@@ -25,6 +25,7 @@ const SideModal = (props: ISideModalProps): JSX.Element | null => {
25
25
 
26
26
  const componentList: any = [];
27
27
  const hasCategories = categories && categories.length > 1;
28
+ const hasFieldsStyle = optionsType === "fields";
28
29
 
29
30
  const optionList = componentOptions ? componentList : whiteList;
30
31
 
@@ -136,6 +137,7 @@ const SideModal = (props: ISideModalProps): JSX.Element | null => {
136
137
  toggleModal={handleToggleModal}
137
138
  key={`${option}${i}`}
138
139
  theme={theme}
140
+ smallMargin={hasFieldsStyle}
139
141
  >
140
142
  {displayName}
141
143
  </SideModalOption>
@@ -144,12 +146,17 @@ const SideModal = (props: ISideModalProps): JSX.Element | null => {
144
146
 
145
147
  return isOpen
146
148
  ? createPortal(
147
- <S.Wrapper ref={node} optionsType={optionsType} data-testid="side-modal">
148
- <S.Header>
149
- <S.Title data-testid="side-modal-title">{optionsType}</S.Title>
149
+ <S.Wrapper ref={node} optionsType={optionsType} hasFieldsStyle={hasFieldsStyle} data-testid="side-modal">
150
+ <S.Header hasFieldsStyle={hasFieldsStyle}>
151
+ {!hasFieldsStyle && <S.Title data-testid="side-modal-title">{optionsType}</S.Title>}
150
152
  {showSearch && optionsType !== "components" && (
151
153
  <S.SearchWrapper>
152
- <SearchField onChange={setSearchQuery} closeOnInactive small={!filters} />
154
+ <SearchField
155
+ onChange={setSearchQuery}
156
+ closeOnInactive={!hasFieldsStyle}
157
+ small={!filters}
158
+ placeholder={hasFieldsStyle ? "Search field" : ""}
159
+ />
153
160
  </S.SearchWrapper>
154
161
  )}
155
162
  {!showSearch && (
@@ -2,28 +2,28 @@ import styled from "styled-components";
2
2
 
3
3
  const placeRight = ["components", "headers", "footers"];
4
4
 
5
- const Wrapper = styled.div<{ optionsType?: string }>`
5
+ const Wrapper = styled.div<{ optionsType?: string; hasFieldsStyle: boolean }>`
6
6
  position: fixed;
7
7
  left: ${(p) => (p.optionsType && placeRight.includes(p.optionsType) ? "unset" : 0)};
8
8
  right: ${(p) => (p.optionsType && placeRight.includes(p.optionsType) ? 0 : "unset")};
9
9
  top: 0;
10
10
  z-index: 1000;
11
-
11
+ margin-top: ${(p) => (p.hasFieldsStyle ? p.theme.spacing.xl : "0")};
12
12
  height: 100vh;
13
13
  background: ${(p) => p.theme.colors.uiBackground01};
14
14
  box-shadow: ${(p) =>
15
15
  p.optionsType && placeRight.includes(p.optionsType) ? p.theme.shadow.rightPanel : p.theme.shadow.leftPanel};
16
16
  `;
17
17
 
18
- const Header = styled.div`
18
+ const Header = styled.div<{ hasFieldsStyle: boolean }>`
19
19
  display: flex;
20
20
  align-items: center;
21
21
  justify-content: space-between;
22
22
  height: ${(p) => p.theme.spacing.xl};
23
23
  width: 100%;
24
- padding: 0 ${(p) => p.theme.spacing.m};
25
- background-color: ${(p) => p.theme.colors.uiBackground02};
26
- border-bottom: 1px solid ${(p) => p.theme.colors.uiLine};
24
+ padding: ${(p) => (p.hasFieldsStyle ? `${p.theme.spacing.m} ${p.theme.spacing.m} 0` : `0 ${p.theme.spacing.m}`)};
25
+ background-color: ${(p) => (p.hasFieldsStyle ? "transparent" : p.theme.colors.uiBackground02)};
26
+ border-bottom: ${(p) => (p.hasFieldsStyle ? "none" : `1px solid ${p.theme.colors.uiLine}`)};
27
27
  h6 {
28
28
  ${(p) => p.theme.textStyle.headingM}
29
29
  color: ${(p) => p.theme.colors.textHighEmphasis};
@@ -58,7 +58,9 @@ const FeaturedWrapper = styled.div`
58
58
  margin-bottom: ${(p) => p.theme.spacing.xs};
59
59
  `;
60
60
 
61
- const SearchWrapper = styled.div``;
61
+ const SearchWrapper = styled.div`
62
+ width: 100%;
63
+ `;
62
64
 
63
65
  const Link = styled.div<{ active: boolean }>`
64
66
  color: ${(p) => (p.active ? p.theme.color.textHighEmphasis : p.theme.color.textMediumEmphasis)};
@@ -8,7 +8,7 @@ import { IFilterValue, IPageLiveStatus, IQueryValue } from "@ax/types";
8
8
  import * as S from "./style";
9
9
 
10
10
  const LiveFilter = (props: ILiveFilterProps): JSX.Element => {
11
- const { filterItems, value, statusOptions } = props;
11
+ const { filterItems, value, hasBasicStatus } = props;
12
12
 
13
13
  const filters: IFilterValue[] = [
14
14
  {
@@ -24,6 +24,7 @@ const LiveFilter = (props: ILiveFilterProps): JSX.Element => {
24
24
  const parsedValue = Array.isArray(value) && value.length ? value.map((value) => value.value) : initialState;
25
25
  const [selectedValue, setSelectedValue] = useState(parsedValue);
26
26
  const [options, setOptions] = useState(filters);
27
+ const basicStatus = ["offline", "active", "scheduled"];
27
28
 
28
29
  useEffect(() => {
29
30
  const parsedValue = Array.isArray(value) && value.length ? value.map((value) => value.value) : initialState;
@@ -54,7 +55,7 @@ const LiveFilter = (props: ILiveFilterProps): JSX.Element => {
54
55
  title: item.title,
55
56
  icon: item.status,
56
57
  };
57
- if ((Array.isArray(statusOptions) && statusOptions.includes(newFilter.value)) || !statusOptions) {
58
+ if ((hasBasicStatus && basicStatus.includes(newFilter.value)) || !hasBasicStatus) {
58
59
  filters.push(newFilter);
59
60
  }
60
61
  });
@@ -111,7 +112,7 @@ const LiveFilter = (props: ILiveFilterProps): JSX.Element => {
111
112
  export interface ILiveFilterProps {
112
113
  filterItems(pointer: string, filter: IQueryValue[]): void;
113
114
  value: IQueryValue[];
114
- statusOptions?: string[];
115
+ hasBasicStatus?: boolean;
115
116
  isSite?: boolean;
116
117
  }
117
118
 
@@ -10,6 +10,8 @@ import {
10
10
  DateField,
11
11
  FieldGroup,
12
12
  FieldsDivider,
13
+ FileField,
14
+ FormFieldArray,
13
15
  HeadingField,
14
16
  HiddenField,
15
17
  ImageField,
@@ -124,6 +126,8 @@ export {
124
126
  DateField,
125
127
  FieldGroup,
126
128
  FieldsDivider,
129
+ FileField,
130
+ FormFieldArray,
127
131
  HeadingField,
128
132
  HiddenField,
129
133
  ImageField,
@@ -13,6 +13,7 @@ import {
13
13
  SET_SESSION_STARTED_AT,
14
14
  SET_HAS_ANIMATION,
15
15
  } from "./constants";
16
+ import { ILanguage } from "@ax/types";
16
17
 
17
18
  export interface IAppState {
18
19
  isRehydrated: boolean;
@@ -23,7 +24,7 @@ export interface IAppState {
23
24
  token: string;
24
25
  isLoggingIn: boolean;
25
26
  lang: { locale: string; id: number };
26
- globalLangs: any;
27
+ globalLangs: ILanguage[];
27
28
  globalSettings: IGlobalSettings;
28
29
  sessionStartedAt: null | Date;
29
30
  hasAnimation: boolean;
@@ -54,6 +55,7 @@ export interface IGlobalSettings {
54
55
  autoTranslation: boolean;
55
56
  SSOActivated: boolean;
56
57
  SSOWelcomeText: string;
58
+ useForms: boolean;
57
59
  }
58
60
 
59
61
  export const initialState = {
@@ -86,6 +88,7 @@ export const initialState = {
86
88
  autoTranslation: false,
87
89
  SSOActivated: false,
88
90
  SSOWelcomeText: "",
91
+ useForms: false,
89
92
  },
90
93
  sessionStartedAt: null,
91
94
  hasAnimation: false,