@imposium-hub/components 2.11.7-0 → 2.12.1

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 (40) hide show
  1. package/dist/cjs/components/app-wrapper/AppWrapper.d.ts +1 -0
  2. package/dist/cjs/components/app-wrapper/AppWrapper.js +23 -3
  3. package/dist/cjs/components/app-wrapper/AppWrapper.js.map +1 -1
  4. package/dist/cjs/components/config-variable-button/ConfigVariableButton.d.ts +1 -42
  5. package/dist/cjs/components/data-table/DataTable.d.ts +4 -0
  6. package/dist/cjs/components/data-table/DataTable.js +5 -1
  7. package/dist/cjs/components/data-table/DataTable.js.map +1 -1
  8. package/dist/cjs/components/data-table/Paginator.d.ts +4 -0
  9. package/dist/cjs/components/data-table/Paginator.js +26 -10
  10. package/dist/cjs/components/data-table/Paginator.js.map +1 -1
  11. package/dist/cjs/components/publish-wizard/PublishWizard.js +1 -9
  12. package/dist/cjs/components/publish-wizard/PublishWizard.js.map +1 -1
  13. package/dist/cjs/services/API.d.ts +4 -0
  14. package/dist/cjs/services/API.js +35 -0
  15. package/dist/cjs/services/API.js.map +1 -1
  16. package/dist/esm/components/app-wrapper/AppWrapper.d.ts +1 -0
  17. package/dist/esm/components/app-wrapper/AppWrapper.js +23 -3
  18. package/dist/esm/components/app-wrapper/AppWrapper.js.map +1 -1
  19. package/dist/esm/components/config-variable-button/ConfigVariableButton.d.ts +1 -42
  20. package/dist/esm/components/data-table/DataTable.d.ts +4 -0
  21. package/dist/esm/components/data-table/DataTable.js +5 -1
  22. package/dist/esm/components/data-table/DataTable.js.map +1 -1
  23. package/dist/esm/components/data-table/Paginator.d.ts +4 -0
  24. package/dist/esm/components/data-table/Paginator.js +26 -10
  25. package/dist/esm/components/data-table/Paginator.js.map +1 -1
  26. package/dist/esm/components/publish-wizard/PublishWizard.js +1 -9
  27. package/dist/esm/components/publish-wizard/PublishWizard.js.map +1 -1
  28. package/dist/esm/services/API.d.ts +4 -0
  29. package/dist/esm/services/API.js +35 -0
  30. package/dist/esm/services/API.js.map +1 -1
  31. package/dist/styles.css +6 -13
  32. package/dist/styles.less +9 -16
  33. package/less/components/publish-wizard.less +9 -16
  34. package/package.json +3 -1
  35. package/scripts/release-as.sh +27 -0
  36. package/src/components/app-wrapper/AppWrapper.tsx +33 -3
  37. package/src/components/data-table/DataTable.tsx +10 -1
  38. package/src/components/data-table/Paginator.tsx +54 -25
  39. package/src/components/publish-wizard/PublishWizard.tsx +0 -10
  40. package/src/services/API.ts +57 -0
@@ -25,6 +25,10 @@ interface IPaginatorProps {
25
25
  setPageSize: (size: number) => void;
26
26
  itemsPerPage: number;
27
27
  onItemsPerPage: (size: number) => void;
28
+ maxItemsPerPage?: number;
29
+ minItemsPerPage?: number;
30
+ useSimplePagination?: boolean;
31
+ hasMore?: boolean;
28
32
  }
29
33
 
30
34
  const Paginator: React.FC<IPaginatorProps> = ({
@@ -38,7 +42,11 @@ const Paginator: React.FC<IPaginatorProps> = ({
38
42
  previousPage,
39
43
  nextPage,
40
44
  itemsPerPage,
41
- onItemsPerPage
45
+ onItemsPerPage,
46
+ maxItemsPerPage,
47
+ minItemsPerPage,
48
+ useSimplePagination,
49
+ hasMore
42
50
  }) => {
43
51
  const [getPageIndex, setPageIndex] = React.useState<number>(pageIndex);
44
52
  const [getItemsPerPage, setItemsPerPage] = React.useState<number>(itemsPerPage);
@@ -98,43 +106,60 @@ const Paginator: React.FC<IPaginatorProps> = ({
98
106
  return (
99
107
  <section className='ip-table-pagination'>
100
108
  <span>
101
- <Button
102
- style='subtle'
103
- size='small'
104
- tooltip='Go to first page'
105
- disabled={!canPreviousPage}
106
- onClick={() => gotoPage(1, pageSize)}>
107
- {ICON_ANGLE_DOUBLE_LEFT}
108
- </Button>
109
+ {!useSimplePagination && (
110
+ <Button
111
+ style='subtle'
112
+ size='small'
113
+ tooltip='Go to first page'
114
+ disabled={!canPreviousPage}
115
+ onClick={() => gotoPage(1, pageSize)}>
116
+ {ICON_ANGLE_DOUBLE_LEFT}
117
+ </Button>
118
+ )}
109
119
  <Button
110
120
  style='subtle'
111
121
  size='small'
112
122
  tooltip='Go to previous page'
113
- disabled={!canPreviousPage}
114
- onClick={() => previousPage()}>
123
+ disabled={(!canPreviousPage || !useSimplePagination) && getPageIndex === 1}
124
+ onClick={() => {
125
+ if (!useSimplePagination) {
126
+ previousPage();
127
+ } else {
128
+ gotoPage(getPageIndex - 1, pageSize);
129
+ }
130
+ }}>
115
131
  {ICON_ANGLE_LEFT}
116
132
  </Button>
117
133
  <Button
118
134
  style='subtle'
119
135
  size='small'
120
136
  tooltip='Go to next page'
121
- disabled={!canNextPage}
122
- onClick={() => nextPage()}>
137
+ disabled={(!canNextPage || !useSimplePagination) && !hasMore}
138
+ onClick={() => {
139
+ if (!useSimplePagination && !hasMore) {
140
+ nextPage();
141
+ } else {
142
+ gotoPage(getPageIndex + 1, pageSize);
143
+ }
144
+ }}>
123
145
  {ICON_ANGLE_RIGHT}
124
146
  </Button>
125
- <Button
126
- style='subtle'
127
- size='small'
128
- tooltip='Go to last page'
129
- disabled={!canNextPage}
130
- onClick={() => gotoPage(getPageCount, pageSize)}>
131
- {ICON_ANGLE_DOUBLE_RIGHT}
132
- </Button>
147
+ {!useSimplePagination && (
148
+ <Button
149
+ style='subtle'
150
+ size='small'
151
+ tooltip='Go to last page'
152
+ disabled={!canNextPage}
153
+ onClick={() => gotoPage(getPageCount, pageSize)}>
154
+ {ICON_ANGLE_DOUBLE_RIGHT}
155
+ </Button>
156
+ )}
133
157
  &nbsp;&nbsp;
134
158
  <span>
135
159
  {copy.table.page}&nbsp;&nbsp;
136
160
  <strong>
137
- {getPageIndex} of {getPageCount}
161
+ {getPageIndex} {useSimplePagination ? '' : 'of'}{' '}
162
+ {!useSimplePagination ? getPageCount : ''}
138
163
  </strong>
139
164
  &nbsp;&nbsp;
140
165
  </span>
@@ -196,13 +221,17 @@ const Paginator: React.FC<IPaginatorProps> = ({
196
221
  }}
197
222
  onBlur={() => onItemsPerPageBlur()}
198
223
  onKeyDown={(e) => onItemsPerPageKeyDown(e)}
224
+ max={maxItemsPerPage}
225
+ min={minItemsPerPage}
199
226
  />
200
227
  </span>
201
228
  </span>
202
229
 
203
- <span className='total-assets'>
204
- {copy.table.total}&nbsp;&nbsp;<strong>{totalItems || 0}</strong>
205
- </span>
230
+ {!useSimplePagination && (
231
+ <span className='total-assets'>
232
+ {copy.table.total}&nbsp;&nbsp;<strong>{totalItems || 0}</strong>
233
+ </span>
234
+ )}
206
235
  </section>
207
236
  );
208
237
  };
@@ -554,15 +554,6 @@ class PublishWizard extends React.PureComponent<IPublishWizardProps, IPublishWiz
554
554
  </span>
555
555
  ),
556
556
  link: `${creativeManagerBaseUrl}/library/${story.creativeLibraryId}/creative/${story.creativeId}/versions/`
557
- },
558
- {
559
- label: (
560
- <span>
561
- {ICON_IMAGE}&nbsp;{copy.publish.btnCRM}
562
- </span>
563
- ),
564
- onClick: (e) => this.onSelectOption(8),
565
- style: { width: 'calc(100% - 4px)' }
566
557
  }
567
558
  ];
568
559
 
@@ -634,7 +625,6 @@ class PublishWizard extends React.PureComponent<IPublishWizardProps, IPublishWiz
634
625
  disabled={!selectedComposition}
635
626
  label={option.label}
636
627
  onClick={option.onClick}
637
- style={option.style}
638
628
  />
639
629
  );
640
630
  }
@@ -161,6 +161,8 @@ export interface IImposiumAPI {
161
161
  removeQueueAssoc(queueId: string, storyId: string);
162
162
  getQueueStories(config: any, itemsPerPage: number);
163
163
  cancelAllPendingRequests();
164
+ getTTSVoices(params: any);
165
+ getCustomVoice(voiceId: string);
164
166
  getToken: any;
165
167
  }
166
168
 
@@ -1804,4 +1806,59 @@ export default class API {
1804
1806
  url
1805
1807
  });
1806
1808
  };
1809
+
1810
+ public getTTSVoices = (params: any): Promise<any | Error> => {
1811
+ const {
1812
+ page,
1813
+ page_size,
1814
+ selected_voice_id,
1815
+ search,
1816
+ language,
1817
+ accent,
1818
+ category,
1819
+ gender,
1820
+ age
1821
+ } = params;
1822
+ let url = `/text-to-speech/voices?service=ElevenLabs&page=${page}&page_size=${page_size}`;
1823
+
1824
+ if (selected_voice_id) {
1825
+ url += `&selected_voice_id=${selected_voice_id}`;
1826
+ }
1827
+
1828
+ if (search) {
1829
+ url += `&search=${search}`;
1830
+ }
1831
+
1832
+ if (language) {
1833
+ url += `&language=${language}`;
1834
+ }
1835
+
1836
+ if (accent) {
1837
+ url += `&accent=${accent}`;
1838
+ }
1839
+
1840
+ if (category) {
1841
+ url += `&category=${category}`;
1842
+ }
1843
+
1844
+ if (gender) {
1845
+ url += `&gender=${gender}`;
1846
+ }
1847
+
1848
+ if (age) {
1849
+ url += `&age=${age}`;
1850
+ }
1851
+
1852
+ return this.doRequest({
1853
+ method: 'GET',
1854
+ url
1855
+ });
1856
+ };
1857
+
1858
+ public getCustomVoice = (voiceId: string): Promise<any | Error> => {
1859
+ return this.doRequest({
1860
+ method: 'GET',
1861
+ url: `/text-to-speech/voice?service=ElevenLabs&id=${voiceId}`
1862
+ });
1863
+ };
1807
1864
  }