@pushwoosh/smart-components-kit 1.0.90 → 1.1.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 (65) hide show
  1. package/CampaignsConfigurationDrawer/CampaignsConfigurationDrawer.d.ts +1 -2
  2. package/CampaignsConfigurationDrawer/CampaignsConfigurationDrawer.js +103 -88
  3. package/CampaignsConfigurationDrawer/components/Card/Card.d.ts +1 -2
  4. package/CampaignsConfigurationDrawer/components/Card/Card.js +19 -13
  5. package/DocsButton/DocsButton.d.ts +1 -2
  6. package/DocsButton/DocsButton.js +21 -18
  7. package/DynamicContentPicker/DynamicContentPicker.js +76 -63
  8. package/DynamicContentPicker/Line.js +24 -22
  9. package/DynamicContentPickerForm/DynamicContentCustomPickerForm.js +18 -17
  10. package/DynamicContentPickerForm/DynamicContentEventPickerForm.js +60 -57
  11. package/DynamicContentPickerForm/DynamicContentTagPickerForm.js +60 -57
  12. package/DynamicContentPickerForm/SimpleDynamicContentPickerFormSmart.js +72 -63
  13. package/DynamicContentPickerForm/VariedDynamicContentPickerFormSmart.js +86 -74
  14. package/EmailTemplatePreview/EmailTemplatePreview.js +8 -6
  15. package/ExportCSV/ExportCsvBanner/ExportCsvBanner.d.ts +1 -2
  16. package/ExportCSV/ExportCsvBanner/ExportCsvBanner.js +54 -49
  17. package/ExportCSV/useExportService/useExportService.js +1 -0
  18. package/LanguagesSelector/LanguagesModal.js +38 -24
  19. package/LanguagesSelector/LanguagesSelectForm.js +73 -62
  20. package/LanguagesSelector/LanguagesSelectFormLoader.js +8 -7
  21. package/LanguagesSelector/LanguagesSelector.js +92 -78
  22. package/MediaStore/CreateVariantDrawer.js +134 -85
  23. package/MediaStore/MediaStore.d.ts +6 -10
  24. package/MediaStore/MediaStore.js +201 -161
  25. package/MediaStore/MediaStorePaginated.d.ts +8 -0
  26. package/MediaStore/MediaStorePaginated.js +24 -0
  27. package/MediaStore/index.d.ts +3 -1
  28. package/MediaStore/index.js +2 -1
  29. package/MediaStore/types.d.ts +22 -0
  30. package/MediaStore/types.js +1 -0
  31. package/ModalCloningJourney/ModalCloningJourney.d.ts +1 -2
  32. package/ModalCloningJourney/ModalCloningJourney.js +113 -91
  33. package/OpenActions/components/OpenActionsSummary/OpenActionsSummary.d.ts +1 -2
  34. package/OpenActions/components/OpenActionsSummary/OpenActionsSummary.js +98 -78
  35. package/OpenActions/components/OpenActionsSummaryByPreset.d.ts +1 -2
  36. package/OpenActions/components/OpenActionsSummaryByPreset.js +2 -2
  37. package/PlatformsConfigurationDrawer/PlatformsConfigurationDrawer.js +21 -17
  38. package/PlatformsConfigurationDrawer/components/DesktopPage/DesktopPage.js +112 -75
  39. package/PlatformsConfigurationDrawer/components/MainPage/MainPage.js +155 -101
  40. package/PlatformsConfigurationDrawer/components/MobilePage/MobilePage.js +138 -91
  41. package/ResendModal/ResendModal.d.ts +1 -2
  42. package/ResendModal/ResendModal.js +92 -72
  43. package/RichMessageEditorSmart/NewDynamicContentForm.js +16 -12
  44. package/RichMessageEditorSmart/RichMessageEditorSmart.js +4 -4
  45. package/SystemParcel/SystemParcel.d.ts +3 -3
  46. package/SystemParcel/SystemParcel.js +3 -2
  47. package/Table/components/DataTable/DataTable.js +80 -61
  48. package/Table/components/DataTableGetContext/DataTableGetContext.d.ts +1 -2
  49. package/Table/components/DataTableGetContext/DataTableGetContext.js +5 -2
  50. package/Table/components/DataTableList/DataTableList.d.ts +1 -2
  51. package/Table/components/DataTableList/DataTableList.js +86 -68
  52. package/Table/components/DataTablePagination/DataTablePagination.js +6 -4
  53. package/Table/components/DataTableSearchInput/DataTableSearchInput.js +3 -2
  54. package/Table/components/DataTableSortableCell/DataTableSortableCell.js +6 -4
  55. package/Table/components/Loading/Loading.d.ts +1 -2
  56. package/Table/components/Loading/Loading.js +16 -14
  57. package/Table/components/TablePagination/TablePagination.js +31 -25
  58. package/_devel/index.js +36 -24
  59. package/_devel/lib/dynamic-content-picker.d.ts +1 -2
  60. package/_devel/lib/dynamic-content-picker.js +16 -10
  61. package/_devel/lib/index.d.ts +2 -2
  62. package/_devel/lib/index.js +38 -19
  63. package/_devel/test-place.d.ts +1 -2
  64. package/_devel/test-place.js +4 -2
  65. package/package.json +2 -2
@@ -1,4 +1,5 @@
1
- import React, { useEffect, useState } from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useState } from 'react';
2
3
  import { Button, Drawer, DrawerBody, DrawerHeader, DrawerTitle, NativeInput, useToast } from '@pushwoosh/dumb-components';
3
4
  import { Columns, Vertical } from '@pushwoosh/kit-helpers';
4
5
  import { CloseIcon } from '@pushwoosh/kit-icons';
@@ -127,90 +128,138 @@ export const CreateVariantDrawer = ({
127
128
  setIsCreating(false);
128
129
  }
129
130
  };
130
- return React.createElement(Drawer, {
131
+ return _jsxs(Drawer, {
131
132
  size: "medium",
132
133
  isOpen: isOpen,
133
- onClose: onClose
134
- }, React.createElement(DrawerHeader, null, React.createElement(DrawerTitle, null, React.createElement("span", null, lang({
135
- message: 'SMART.MEDIA_STORE.CREATE_VARIANT.TITLE'
136
- })), React.createElement(Button, {
137
- view: "ghost",
138
- color: "secondary",
139
- size: "compact",
140
- icon: React.createElement(CloseIcon, {
141
- size: "small"
142
- }),
143
- "aria-label": lang({
144
- message: 'SMART.MEDIA_STORE.CREATE_VARIANT.CLOSE'
145
- }),
146
- onClick: onClose
147
- }))), React.createElement(DrawerBody, null, original && React.createElement(Vertical, {
148
- "$gap": 20
149
- }, React.createElement("div", null, React.createElement(FieldLabel, null, lang({
150
- message: 'SMART.MEDIA_STORE.CREATE_VARIANT.RATIO_LABEL'
151
- })), React.createElement(Chips, null, RATIOS.map(item => React.createElement(Chip, {
152
- key: item.value,
153
- type: "button",
154
- "$active": item.value === ratio,
155
- onClick: () => setRatio(item.value)
156
- }, item.label)))), React.createElement("div", null, React.createElement(FieldLabel, null, lang({
157
- message: 'SMART.MEDIA_STORE.CREATE_VARIANT.SIZE_LABEL'
158
- })), React.createElement(Columns, {
159
- "$sizes": "auto 1fr",
160
- "$gap": 8,
161
- "$alignItems": "center"
162
- }, React.createElement(Segment, null, React.createElement(SegmentItem, {
163
- type: "button",
164
- "$active": dimension === 'width',
165
- onClick: () => setDimension('width')
166
- }, lang({
167
- message: 'SMART.MEDIA_STORE.CREATE_VARIANT.WIDTH'
168
- })), React.createElement(SegmentItem, {
169
- type: "button",
170
- "$active": dimension === 'height',
171
- onClick: () => setDimension('height')
172
- }, lang({
173
- message: 'SMART.MEDIA_STORE.CREATE_VARIANT.HEIGHT'
174
- }))), React.createElement(NativeInput, {
175
- type: "number",
176
- min: 1,
177
- value: size,
178
- "$isErrored": !isSizeValid,
179
- onChange: event => setSize(event.target.value)
180
- }))), React.createElement(Vertical, {
181
- "$gap": 6
182
- }, React.createElement(PreviewStage, null, React.createElement(PreviewFrame, {
183
- "$ratio": selectedRatio.ar
184
- }, React.createElement(PreviewImage, {
185
- src: original.url,
186
- alt: original.filename
187
- }))), isSizeValid && React.createElement(Text, null, selectedRatio.label, ' · ', outputWidth, ' × ', outputHeight)), isJpeg && React.createElement("div", null, React.createElement(FieldLabel, null, lang({
188
- message: 'SMART.MEDIA_STORE.CREATE_VARIANT.QUALITY_LABEL'
189
- })), React.createElement(NativeInput, {
190
- type: "number",
191
- min: 1,
192
- max: 100,
193
- value: quality,
194
- "$isErrored": !isQualityValid,
195
- onChange: event => setQuality(event.target.value)
196
- })), ratioExists && React.createElement(Text, null, lang({
197
- message: 'SMART.MEDIA_STORE.CREATE_VARIANT.RATIO_EXISTS'
198
- })), React.createElement(Button, {
199
- color: "primary",
200
- size: "field",
201
- isDisabled: !isSizeValid || !isQualityValid || ratioExists,
202
- isLoading: isCreating,
203
- onClick: () => void handleCreate()
204
- }, lang({
205
- message: 'SMART.MEDIA_STORE.CREATE_VARIANT.CREATE_BUTTON'
206
- })), React.createElement("div", null, React.createElement(FieldLabel, null, lang({
207
- message: 'SMART.MEDIA_STORE.CREATE_VARIANT.EXISTING_LABEL'
208
- })), existingVariants.length === 0 ? React.createElement(Text, null, lang({
209
- message: 'SMART.MEDIA_STORE.CREATE_VARIANT.NO_VARIANTS'
210
- })) : React.createElement(VariantStrip, null, existingVariants.map(variant => React.createElement(VariantThumb, {
211
- key: variant.uuid
212
- }, React.createElement(TileImage, {
213
- src: getThumbUrl(variant),
214
- alt: variant.filename
215
- }), React.createElement(VariantThumbCaption, null, getRatioLabel(variant) || variant.filename))))))));
134
+ onClose: onClose,
135
+ children: [_jsx(DrawerHeader, {
136
+ children: _jsxs(DrawerTitle, {
137
+ children: [_jsx("span", {
138
+ children: lang({
139
+ message: 'SMART.MEDIA_STORE.CREATE_VARIANT.TITLE'
140
+ })
141
+ }), _jsx(Button, {
142
+ view: "ghost",
143
+ color: "secondary",
144
+ size: "compact",
145
+ icon: _jsx(CloseIcon, {
146
+ size: "small"
147
+ }),
148
+ "aria-label": lang({
149
+ message: 'SMART.MEDIA_STORE.CREATE_VARIANT.CLOSE'
150
+ }),
151
+ onClick: onClose
152
+ })]
153
+ })
154
+ }), _jsx(DrawerBody, {
155
+ children: original && _jsxs(Vertical, {
156
+ "$gap": 20,
157
+ children: [_jsxs("div", {
158
+ children: [_jsx(FieldLabel, {
159
+ children: lang({
160
+ message: 'SMART.MEDIA_STORE.CREATE_VARIANT.RATIO_LABEL'
161
+ })
162
+ }), _jsx(Chips, {
163
+ children: RATIOS.map(item => _jsx(Chip, {
164
+ type: "button",
165
+ "$active": item.value === ratio,
166
+ onClick: () => setRatio(item.value),
167
+ children: item.label
168
+ }, item.value))
169
+ })]
170
+ }), _jsxs("div", {
171
+ children: [_jsx(FieldLabel, {
172
+ children: lang({
173
+ message: 'SMART.MEDIA_STORE.CREATE_VARIANT.SIZE_LABEL'
174
+ })
175
+ }), _jsxs(Columns, {
176
+ "$sizes": "auto 1fr",
177
+ "$gap": 8,
178
+ "$alignItems": "center",
179
+ children: [_jsxs(Segment, {
180
+ children: [_jsx(SegmentItem, {
181
+ type: "button",
182
+ "$active": dimension === 'width',
183
+ onClick: () => setDimension('width'),
184
+ children: lang({
185
+ message: 'SMART.MEDIA_STORE.CREATE_VARIANT.WIDTH'
186
+ })
187
+ }), _jsx(SegmentItem, {
188
+ type: "button",
189
+ "$active": dimension === 'height',
190
+ onClick: () => setDimension('height'),
191
+ children: lang({
192
+ message: 'SMART.MEDIA_STORE.CREATE_VARIANT.HEIGHT'
193
+ })
194
+ })]
195
+ }), _jsx(NativeInput, {
196
+ type: "number",
197
+ min: 1,
198
+ value: size,
199
+ "$isErrored": !isSizeValid,
200
+ onChange: event => setSize(event.target.value)
201
+ })]
202
+ })]
203
+ }), _jsxs(Vertical, {
204
+ "$gap": 6,
205
+ children: [_jsx(PreviewStage, {
206
+ children: _jsx(PreviewFrame, {
207
+ "$ratio": selectedRatio.ar,
208
+ children: _jsx(PreviewImage, {
209
+ src: original.url,
210
+ alt: original.filename
211
+ })
212
+ })
213
+ }), isSizeValid && _jsxs(Text, {
214
+ children: [selectedRatio.label, ' · ', outputWidth, ' × ', outputHeight]
215
+ })]
216
+ }), isJpeg && _jsxs("div", {
217
+ children: [_jsx(FieldLabel, {
218
+ children: lang({
219
+ message: 'SMART.MEDIA_STORE.CREATE_VARIANT.QUALITY_LABEL'
220
+ })
221
+ }), _jsx(NativeInput, {
222
+ type: "number",
223
+ min: 1,
224
+ max: 100,
225
+ value: quality,
226
+ "$isErrored": !isQualityValid,
227
+ onChange: event => setQuality(event.target.value)
228
+ })]
229
+ }), ratioExists && _jsx(Text, {
230
+ children: lang({
231
+ message: 'SMART.MEDIA_STORE.CREATE_VARIANT.RATIO_EXISTS'
232
+ })
233
+ }), _jsx(Button, {
234
+ color: "primary",
235
+ size: "field",
236
+ isDisabled: !isSizeValid || !isQualityValid || ratioExists,
237
+ isLoading: isCreating,
238
+ onClick: () => void handleCreate(),
239
+ children: lang({
240
+ message: 'SMART.MEDIA_STORE.CREATE_VARIANT.CREATE_BUTTON'
241
+ })
242
+ }), _jsxs("div", {
243
+ children: [_jsx(FieldLabel, {
244
+ children: lang({
245
+ message: 'SMART.MEDIA_STORE.CREATE_VARIANT.EXISTING_LABEL'
246
+ })
247
+ }), existingVariants.length === 0 ? _jsx(Text, {
248
+ children: lang({
249
+ message: 'SMART.MEDIA_STORE.CREATE_VARIANT.NO_VARIANTS'
250
+ })
251
+ }) : _jsx(VariantStrip, {
252
+ children: existingVariants.map(variant => _jsxs(VariantThumb, {
253
+ children: [_jsx(TileImage, {
254
+ src: getThumbUrl(variant),
255
+ alt: variant.filename
256
+ }), _jsx(VariantThumbCaption, {
257
+ children: getRatioLabel(variant) || variant.filename
258
+ })]
259
+ }, variant.uuid))
260
+ })]
261
+ })]
262
+ })
263
+ })]
264
+ });
216
265
  };
@@ -1,12 +1,8 @@
1
1
  import { type FC } from 'react';
2
- export type MediaStoreProps = {
3
- /** Application code whose media files are listed. */
4
- application: string;
5
- /** Initial page to load (zero-based). Defaults to 0. */
6
- page?: number;
7
- /** Page size. Defaults to 30. */
8
- perPage?: number;
9
- /** Called with the chosen file URL (original or variant). */
10
- onSelect: (url: string) => void;
11
- };
2
+ import type { MediaStoreProps } from './types';
3
+ /**
4
+ * Controlled media gallery: the parent owns the current page (and page size)
5
+ * and is notified of navigation via `onPageChange`. For a self-contained
6
+ * variant that keeps the page in internal state, use `MediaStorePaginated`.
7
+ */
12
8
  export declare const MediaStore: FC<MediaStoreProps>;