@zohodesk/dot 1.0.0-temp-187.15 → 1.0.0-temp-200.6

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 (55) hide show
  1. package/.cli/propValidation_report.html +1 -1
  2. package/README.md +5 -0
  3. package/es/Attachment/Attachment.module.css +7 -3
  4. package/es/AttachmentViewer/Attachment.js +208 -3
  5. package/es/AttachmentViewer/AttachmentViewer.js +81 -24
  6. package/es/AttachmentViewer/AttachmentViewer.module.css +55 -9
  7. package/es/AttachmentViewer/props/propTypes.js +3 -1
  8. package/es/AttachmentViewer/utils.js +36 -2
  9. package/es/Onboarding/Onboarding.js +4 -3
  10. package/es/Onboarding/__tests__/Onboarding.spec.js +12 -0
  11. package/es/Onboarding/__tests__/__snapshots__/Onboarding.spec.js.snap +137 -20
  12. package/es/Onboarding/props/propTypes.js +1 -0
  13. package/es/VideoLookup/VideoLookup.js +1 -1
  14. package/es/form/fields/Fields.module.css +0 -4
  15. package/es/form/fields/TagsMultiSelect/TagsMultiSelect.js +4 -8
  16. package/es/form/fields/TagsMultiSelect/props/propTypes.js +1 -2
  17. package/es/list/DepartmentDropDown/DepartmentDropDown.js +2 -7
  18. package/es/list/DepartmentDropDown/props/defaultProps.js +1 -2
  19. package/es/list/DepartmentDropDown/props/propTypes.js +0 -3
  20. package/es/list/status/StatusDropdown/StatusDropdown.js +2 -7
  21. package/es/list/status/StatusDropdown/props/defaultProps.js +1 -2
  22. package/es/list/status/StatusDropdown/props/propTypes.js +1 -4
  23. package/es/list/status/StatusListItem/StatusListItem.module.css +6 -5
  24. package/es/utils/General.js +23 -1
  25. package/lib/Attachment/Attachment.module.css +7 -3
  26. package/lib/AttachmentViewer/Attachment.js +226 -3
  27. package/lib/AttachmentViewer/AttachmentViewer.js +82 -21
  28. package/lib/AttachmentViewer/AttachmentViewer.module.css +55 -9
  29. package/lib/AttachmentViewer/props/propTypes.js +3 -1
  30. package/lib/AttachmentViewer/utils.js +47 -1
  31. package/lib/Onboarding/Onboarding.js +5 -4
  32. package/lib/Onboarding/__tests__/Onboarding.spec.js +12 -0
  33. package/lib/Onboarding/__tests__/__snapshots__/Onboarding.spec.js.snap +137 -20
  34. package/lib/Onboarding/props/propTypes.js +1 -0
  35. package/lib/VideoLookup/VideoLookup.js +2 -2
  36. package/lib/form/fields/Fields.module.css +0 -4
  37. package/lib/form/fields/TagsMultiSelect/TagsMultiSelect.js +5 -10
  38. package/lib/form/fields/TagsMultiSelect/props/propTypes.js +1 -2
  39. package/lib/list/DepartmentDropDown/DepartmentDropDown.js +3 -8
  40. package/lib/list/DepartmentDropDown/props/defaultProps.js +1 -2
  41. package/lib/list/DepartmentDropDown/props/propTypes.js +0 -2
  42. package/lib/list/status/StatusDropdown/StatusDropdown.js +2 -6
  43. package/lib/list/status/StatusDropdown/props/defaultProps.js +1 -2
  44. package/lib/list/status/StatusDropdown/props/propTypes.js +1 -3
  45. package/lib/list/status/StatusListItem/StatusListItem.module.css +6 -5
  46. package/lib/utils/General.js +25 -1
  47. package/package.json +4 -4
  48. package/result.json +1 -1
  49. package/unittest/index.html +4 -12
  50. package/es/common/dot_common.module.css +0 -4
  51. package/lib/common/dot_common.module.css +0 -4
  52. /package/es/Onboarding/css/{CardOnboarding.module.css → Onboarding.module.css} +0 -0
  53. /package/es/VideoLookup/css/{VideoLookupStyles.module.css → VideoLookup.module.css} +0 -0
  54. /package/lib/Onboarding/css/{CardOnboarding.module.css → Onboarding.module.css} +0 -0
  55. /package/lib/VideoLookup/css/{VideoLookupStyles.module.css → VideoLookup.module.css} +0 -0
@@ -40,7 +40,7 @@ exports[`Onboarding rendering data of customprops for Secondarybuttonprops 1`]
40
40
  data-test-id="flex"
41
41
  >
42
42
  <div
43
- class="innerHead null"
43
+ class="innerHead "
44
44
  />
45
45
  </div>
46
46
  <div
@@ -159,7 +159,7 @@ exports[`Onboarding rendering data of customprops for descriptionProps 1`] = `
159
159
  data-test-id="flex"
160
160
  >
161
161
  <div
162
- class="innerHead null"
162
+ class="innerHead "
163
163
  />
164
164
  </div>
165
165
  <div
@@ -344,7 +344,7 @@ exports[`Onboarding rendering data of customprops for headingProps 1`] = `
344
344
  data-test-id="flex"
345
345
  >
346
346
  <div
347
- class="innerHead null"
347
+ class="innerHead "
348
348
  />
349
349
  </div>
350
350
  <div
@@ -457,7 +457,7 @@ exports[`Onboarding rendering data of customprops for primarybuttonprops 1`] =
457
457
  data-test-id="flex"
458
458
  >
459
459
  <div
460
- class="innerHead null"
460
+ class="innerHead "
461
461
  />
462
462
  </div>
463
463
  <div
@@ -645,7 +645,7 @@ exports[`Onboarding rendering data of customprops for secondaryButtonLinkProps
645
645
  data-test-id="flex"
646
646
  >
647
647
  <div
648
- class="innerHead null"
648
+ class="innerHead "
649
649
  />
650
650
  </div>
651
651
  <div
@@ -900,7 +900,7 @@ exports[`Onboarding rendering data of image without hasVideoPlayButton 1`] = `
900
900
  data-test-id="flex"
901
901
  >
902
902
  <div
903
- class="innerHead null"
903
+ class="innerHead "
904
904
  >
905
905
  <img
906
906
  class=" mediaElement image imgMaxFullSize "
@@ -1015,7 +1015,7 @@ exports[`Onboarding rendering data of videoSource 1`] = `
1015
1015
  data-test-id="flex"
1016
1016
  >
1017
1017
  <div
1018
- class="innerHead null"
1018
+ class="innerHead "
1019
1019
  >
1020
1020
  <video
1021
1021
  autoplay=""
@@ -1136,7 +1136,7 @@ exports[`Onboarding rendering data of SecondaryButton as link 1`] = `
1136
1136
  data-test-id="flex"
1137
1137
  >
1138
1138
  <div
1139
- class="innerHead null"
1139
+ class="innerHead "
1140
1140
  />
1141
1141
  </div>
1142
1142
  <div
@@ -1541,7 +1541,7 @@ exports[`Onboarding rendering data of primaryButtonText 1`] = `
1541
1541
  data-test-id="flex"
1542
1542
  >
1543
1543
  <div
1544
- class="innerHead null"
1544
+ class="innerHead "
1545
1545
  />
1546
1546
  </div>
1547
1547
  <div
@@ -1651,7 +1651,7 @@ exports[`Onboarding rendering data of secondaryButtonText 1`] = `
1651
1651
  data-test-id="flex"
1652
1652
  >
1653
1653
  <div
1654
- class="innerHead null"
1654
+ class="innerHead "
1655
1655
  />
1656
1656
  </div>
1657
1657
  <div
@@ -1771,7 +1771,7 @@ exports[`Onboarding rendering data of sliderData with heading and description 1`
1771
1771
  data-test-id="flex"
1772
1772
  >
1773
1773
  <div
1774
- class="innerHead null"
1774
+ class="innerHead "
1775
1775
  />
1776
1776
  </div>
1777
1777
  <div
@@ -1887,7 +1887,7 @@ exports[`Onboarding rendering data of sliderData with image 1`] = `
1887
1887
  data-test-id="flex"
1888
1888
  >
1889
1889
  <div
1890
- class="innerHead null"
1890
+ class="innerHead "
1891
1891
  >
1892
1892
  <img
1893
1893
  class=" mediaElement image imgMaxFullSize "
@@ -2002,7 +2002,7 @@ exports[`Onboarding rendering data of two sliderData 1`] = `
2002
2002
  data-test-id="flex"
2003
2003
  >
2004
2004
  <div
2005
- class="innerHead null"
2005
+ class="innerHead "
2006
2006
  />
2007
2007
  </div>
2008
2008
  <div
@@ -2032,7 +2032,7 @@ exports[`Onboarding rendering data of two sliderData 1`] = `
2032
2032
  data-test-id="flex"
2033
2033
  >
2034
2034
  <div
2035
- class="innerHead null"
2035
+ class="innerHead "
2036
2036
  />
2037
2037
  </div>
2038
2038
  <div
@@ -2233,7 +2233,7 @@ exports[`Onboarding rendering data with hasExpandedButton - hasSecondaryButton a
2233
2233
  data-test-id="flex"
2234
2234
  >
2235
2235
  <div
2236
- class="innerHead null"
2236
+ class="innerHead "
2237
2237
  />
2238
2238
  </div>
2239
2239
  <div
@@ -2352,7 +2352,7 @@ exports[`Onboarding rendering data with hasExpandedButton by hasSecondaryButton,
2352
2352
  data-test-id="flex"
2353
2353
  >
2354
2354
  <div
2355
- class="innerHead null"
2355
+ class="innerHead "
2356
2356
  />
2357
2357
  </div>
2358
2358
  <div
@@ -2430,6 +2430,123 @@ exports[`Onboarding rendering data with hasExpandedButton by hasSecondaryButton,
2430
2430
  </DocumentFragment>
2431
2431
  `;
2432
2432
 
2433
+ exports[`Onboarding rendering data with mediaElement 1`] = `
2434
+ <DocumentFragment>
2435
+ <div
2436
+ class="mainContainer mainContainerAnimation"
2437
+ data-id="onboarding_container"
2438
+ data-test-id="onboarding_container"
2439
+ >
2440
+ <div
2441
+ class="mainWrapper"
2442
+ >
2443
+ <div
2444
+ class="gradientLayer"
2445
+ >
2446
+ <div
2447
+ class="circleBlur circleBlurOne"
2448
+ />
2449
+ <div
2450
+ class="circleBlur circleBlurTwo"
2451
+ />
2452
+ </div>
2453
+ <div
2454
+ class="carousel"
2455
+ >
2456
+ <div
2457
+ class="flex row carouselInner"
2458
+ data-id="flex"
2459
+ data-test-id="flex"
2460
+ style="--local_translate_movement: 0%;"
2461
+ >
2462
+ <div
2463
+ class="flex column noShrink carouselItem"
2464
+ data-id="flex"
2465
+ data-test-id="flex"
2466
+ >
2467
+ <div
2468
+ class="flex row alignItems_center justifyContent_center fullSize header"
2469
+ data-id="flex"
2470
+ data-test-id="flex"
2471
+ >
2472
+ <div
2473
+ class="innerHead "
2474
+ >
2475
+ <div>
2476
+ Custom Element
2477
+ </div>
2478
+ </div>
2479
+ </div>
2480
+ <div
2481
+ class="scroll_vertical content"
2482
+ data-id="flex"
2483
+ data-test-id="flex"
2484
+ >
2485
+ <div
2486
+ class="size20 lineclamp_3 lineheight_1_4 font_bold heading"
2487
+ />
2488
+ <div
2489
+ class="size14 lineclamp_4 lineheight_1_6 description"
2490
+ data-title="Discover innovative tools and solutions to streamline your processes and boost productivity on Slide 1."
2491
+ >
2492
+ Discover innovative tools and solutions to streamline your processes and boost productivity on Slide 1.
2493
+ </div>
2494
+ </div>
2495
+ </div>
2496
+ </div>
2497
+ </div>
2498
+ <div
2499
+ class="flex row alignItems_center footer"
2500
+ data-id="flex"
2501
+ data-test-id="flex"
2502
+ >
2503
+ <div
2504
+ class="flex row justifyContent_end flexible basis_zero shrink btnWrapper"
2505
+ data-id="flex"
2506
+ data-test-id="flex"
2507
+ >
2508
+ <button
2509
+ class="primaryButton footerButton bold primaryfilled medium"
2510
+ data-id="onboarding_primary_button"
2511
+ data-selector-id="button"
2512
+ data-test-id="onboarding_primary_button"
2513
+ data-title="Got it"
2514
+ type="button"
2515
+ >
2516
+ Got it
2517
+ </button>
2518
+ </div>
2519
+ </div>
2520
+ <button
2521
+ class="flex row alignItems_center justifyContent_center fullSize closeIconContainer buttonReset"
2522
+ data-id="onboarding_close_icon"
2523
+ data-test-id="onboarding_close_icon"
2524
+ >
2525
+ <i
2526
+ aria-hidden="true"
2527
+ class="zd_font_icons basic icon-inapp-close closeIcon "
2528
+ data-id="fontIcon"
2529
+ data-selector-id="fontIcon"
2530
+ data-test-id="fontIcon"
2531
+ />
2532
+ </button>
2533
+ <span
2534
+ class="basic newRibbon palette_primary medium flag"
2535
+ data-id="onboarding_ribbon"
2536
+ data-selector-id="ribbon"
2537
+ data-test-id="onboarding_ribbon"
2538
+ >
2539
+ <span
2540
+ class="childText"
2541
+ >
2542
+ New
2543
+ </span>
2544
+ </span>
2545
+ </div>
2546
+ </div>
2547
+ </DocumentFragment>
2548
+ `;
2549
+
2433
2550
  exports[`Onboarding rendering data without SecondaryButton as link 1`] = `
2434
2551
  <DocumentFragment>
2435
2552
  <div
@@ -2470,7 +2587,7 @@ exports[`Onboarding rendering data without SecondaryButton as link 1`] = `
2470
2587
  data-test-id="flex"
2471
2588
  >
2472
2589
  <div
2473
- class="innerHead null"
2590
+ class="innerHead "
2474
2591
  />
2475
2592
  </div>
2476
2593
  <div
@@ -2793,7 +2910,7 @@ exports[`Onboarding rendering data without primaryButtonText 1`] = `
2793
2910
  data-test-id="flex"
2794
2911
  >
2795
2912
  <div
2796
- class="innerHead null"
2913
+ class="innerHead "
2797
2914
  />
2798
2915
  </div>
2799
2916
  <div
@@ -2892,7 +3009,7 @@ exports[`Onboarding rendering data without secondaryButtonText 1`] = `
2892
3009
  data-test-id="flex"
2893
3010
  >
2894
3011
  <div
2895
- class="innerHead null"
3012
+ class="innerHead "
2896
3013
  />
2897
3014
  </div>
2898
3015
  <div
@@ -3206,7 +3323,7 @@ exports[`Onboarding rendering with customId - hasSecondaryButtonLink 1`] = `
3206
3323
  data-test-id="flex"
3207
3324
  >
3208
3325
  <div
3209
- class="innerHead null"
3326
+ class="innerHead "
3210
3327
  />
3211
3328
  </div>
3212
3329
  <div
@@ -26,6 +26,7 @@ export const propTypes = {
26
26
  link: PropTypes.string,
27
27
  videoFormat: PropTypes.string
28
28
  }),
29
+ mediaElement: PropTypes.node,
29
30
  description: PropTypes.string,
30
31
  hasPrimaryButton: PropTypes.bool,
31
32
  hasVideoPlayButton: PropTypes.bool,
@@ -11,7 +11,7 @@ import { defaultProps } from "./props/defaultProps";
11
11
  import { propTypes } from "./props/propTypes";
12
12
  /**** Styles ****/
13
13
 
14
- import defaultStyle from "./css/VideoLookupStyles.module.css";
14
+ import defaultStyle from "./css/VideoLookup.module.css";
15
15
  export default function VideoLookup(props) {
16
16
  const {
17
17
  isOpened,
@@ -218,7 +218,3 @@ position: relative;
218
218
  [dir=rtl] .rightPlaceholder{
219
219
  left:var(--zd_size15)
220
220
  }
221
-
222
- .lineClampPickListItem{
223
- --line-clamp: var(--picklist-field-line-clamp,3);
224
- }
@@ -160,14 +160,12 @@ export default class TagsMultiSelect extends React.Component {
160
160
  let {
161
161
  tagCustomClass = '',
162
162
  listItemClass = '',
163
- textBoxIconWrapperClass = '',
164
- dropBoxClass = ''
163
+ textBoxIconWrapperClass = ''
165
164
  } = customClass;
166
165
  const {
167
166
  TextBoxIconProps = {},
168
167
  TagWrapperProps = {},
169
- TagProps = {},
170
- ListItemProps = {}
168
+ TagProps = {}
171
169
  } = customProps;
172
170
  const isEditable = !isReadOnly;
173
171
  return /*#__PURE__*/React.createElement("div", {
@@ -256,8 +254,7 @@ export default class TagsMultiSelect extends React.Component {
256
254
  boxPosition: boxPosition,
257
255
  isPadding: false,
258
256
  customClass: {
259
- customDropBoxWrap: style.dropdown,
260
- customDropBox: dropBoxClass
257
+ customDropBoxWrap: style.dropdown
261
258
  },
262
259
  dataId: `${dataId}_dropbox`,
263
260
  isResponsivePadding: true,
@@ -303,8 +300,7 @@ export default class TagsMultiSelect extends React.Component {
303
300
  getRef: this.getSelectedItemRef,
304
301
  isDisabled: listDisabled,
305
302
  customProps: listItemProps,
306
- customClass: listItemClass,
307
- ...ListItemProps
303
+ customClass: listItemClass
308
304
  }, isNew ? /*#__PURE__*/React.createElement(Container, {
309
305
  alignBox: "row",
310
306
  align: "vertical"
@@ -52,8 +52,7 @@ export const propTypes = {
52
52
  customProps: PropTypes.shape({
53
53
  TextBoxIconProps: PropTypes.object,
54
54
  TagWrapperProps: PropTypes.object,
55
- TagProps: PropTypes.object,
56
- ListItemProps: PropTypes.object
55
+ TagProps: PropTypes.object
57
56
  }),
58
57
  isFocus: PropTypes.bool
59
58
  };
@@ -48,12 +48,8 @@ class DepartmentDropDown extends Component {
48
48
  onSearch,
49
49
  needSearchFetching,
50
50
  searchStr,
51
- i18nKeys,
52
- customProps
51
+ i18nKeys
53
52
  } = this.props;
54
- const {
55
- ToggleDropDownProps = {}
56
- } = customProps;
57
53
  let {
58
54
  title = 'Move Department',
59
55
  searchEmptyText = 'No results found',
@@ -88,8 +84,7 @@ class DepartmentDropDown extends Component {
88
84
  getNextOptions: getNextOptions,
89
85
  isNextOptions: isNextOptions,
90
86
  onSearch: onSearch,
91
- needSearchFetching: needSearchFetching,
92
- ...ToggleDropDownProps
87
+ needSearchFetching: needSearchFetching
93
88
  });
94
89
  }
95
90
 
@@ -3,6 +3,5 @@ export const defaultProps = {
3
3
  isPopupActive: true,
4
4
  isNextOptions: false,
5
5
  searchStr: '',
6
- i18nKeys: {},
7
- customProps: {}
6
+ i18nKeys: {}
8
7
  };
@@ -20,8 +20,5 @@ export const propTypes = {
20
20
  searchEmptyText: PropTypes.string,
21
21
  searchErrorText: PropTypes.string,
22
22
  placeholder: PropTypes.string
23
- }),
24
- customProps: PropTypes.shape({
25
- ToggleDropDownProps: PropTypes.object
26
23
  })
27
24
  };
@@ -178,12 +178,8 @@ export class StatusDropdown extends React.Component {
178
178
  targetOffset,
179
179
  renderTargetElement,
180
180
  renderFooterElement,
181
- a11y = {},
182
- customClass
181
+ a11y = {}
183
182
  } = this.props;
184
- const {
185
- dropBoxClass = ''
186
- } = customClass;
187
183
  const {
188
184
  tabIndex = 0,
189
185
  ariaLabelledby,
@@ -251,8 +247,7 @@ export class StatusDropdown extends React.Component {
251
247
  isAnimate: true,
252
248
  getRef: getContainerRef,
253
249
  customClass: {
254
- customDropBoxWrap: style.dropBoxContainer,
255
- customDropBox: dropBoxClass
250
+ customDropBoxWrap: style.dropBoxContainer
256
251
  },
257
252
  needResponsive: needResponsive,
258
253
  isResponsivePadding: true,
@@ -18,6 +18,5 @@ export const defaultProps = {
18
18
  needMultiLineText: false,
19
19
  isFetchingOptions: false,
20
20
  isAbsolutePositioningNeeded: true,
21
- isRestrictScroll: false,
22
- customClass: {}
21
+ isRestrictScroll: false
23
22
  };
@@ -56,8 +56,5 @@ export const propTypes = {
56
56
  positionsOffset: PropTypes.object,
57
57
  renderTargetElement: PropTypes.func,
58
58
  renderFooterElement: PropTypes.node,
59
- targetOffset: PropTypes.object,
60
- customClass: PropTypes.shape({
61
- dropBoxClass: PropTypes.string
62
- })
59
+ targetOffset: PropTypes.object
63
60
  };
@@ -36,8 +36,9 @@
36
36
  .value {
37
37
  composes: dotted from '~@zohodesk/components/lib/common/common.module.css';
38
38
  }
39
- .multiLineValue {
40
- composes: lineClamp from '~@zohodesk/components/lib/common/common.module.css';
39
+ .multiLineValue{
40
+ word-break: break-word;
41
+ composes: clamp from '~@zohodesk/components/lib/common/common.module.css';
41
42
  }
42
43
  [dir=ltr] .withBorder.active {
43
44
  border-left-color: var(--zdt_statuslistitem_default_active_border);
@@ -45,6 +46,7 @@
45
46
  [dir=rtl] .withBorder.active {
46
47
  border-right-color: var(--zdt_statuslistitem_default_active_border);
47
48
  }
49
+
48
50
  .default.hover, .default.effect:hover {
49
51
  background-color: var(--zdt_statuslistitem_default_effect_bg);
50
52
  }
@@ -88,9 +90,8 @@
88
90
  }
89
91
  /* Status Type */
90
92
  .statusType {
91
- height: 1em ;
92
- width: 1em ;
93
- font-size: var(--zd_font_size8) ;
93
+ width: var(--zd_size8) ;
94
+ height: var(--zd_size8) ;
94
95
  border-radius: 50%;
95
96
  }
96
97
  [dir=ltr] .statusType {
@@ -43,4 +43,26 @@ export function formatPhoneUrl(phone) {
43
43
 
44
44
  return phone;
45
45
  }
46
- export const DUMMY_OBJECT = Object.freeze({});
46
+ export const DUMMY_OBJECT = Object.freeze({});
47
+ export function getBrowserWithVersion() {
48
+ const userAgent = navigator.userAgent;
49
+ let tempMatch;
50
+ let browserMatch = userAgent.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*([\d\.]+)/i) || [];
51
+
52
+ if (userAgent.toLowerCase().indexOf('edge') !== -1) {
53
+ return userAgent.substring(userAgent.toLowerCase().indexOf('edge'));
54
+ }
55
+
56
+ if (/trident/i.test(browserMatch[1])) {
57
+ tempMatch = /\brv[ :]+(\d+(\.\d+)?)/g.exec(userAgent) || [];
58
+ return `IE ${tempMatch[1] || ''}`;
59
+ }
60
+
61
+ browserMatch = browserMatch[2] ? [browserMatch[1], browserMatch[2]] : [navigator.appName, navigator.appVersion, '-?'];
62
+
63
+ if ((tempMatch = userAgent.match(/version\/([\.\d]+)/i)) !== null) {
64
+ browserMatch[2] = tempMatch[1];
65
+ }
66
+
67
+ return browserMatch.join(' ');
68
+ }
@@ -14,15 +14,15 @@
14
14
  height: 100% ;
15
15
  width: 100% ;
16
16
  position: absolute;
17
- top:0
17
+ top: 0
18
18
  }
19
19
 
20
20
  [dir=ltr] .disableLayer {
21
- left:0
21
+ left: 0
22
22
  }
23
23
 
24
24
  [dir=rtl] .disableLayer {
25
- right:0
25
+ right: 0
26
26
  }
27
27
 
28
28
  .attachmentHover {
@@ -66,6 +66,10 @@
66
66
  height: var(--zd_size40) ;
67
67
  }
68
68
 
69
+ .attachleft {
70
+ padding: var(--zd_size3) ;
71
+ }
72
+
69
73
  [dir=ltr] .attachleft {
70
74
  border-right: 1px solid var(--zdt_attachment_default_border);
71
75
  }