@zohodesk/dot 1.0.0-temp-71 → 1.0.0-temp-74

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 (133) hide show
  1. package/README.md +4 -0
  2. package/assets/Appearance/dark/mode/dotDarkMode.module.css +10 -0
  3. package/assets/Appearance/dark/themes/blue/blueDarkDotTheme.module.css +6 -0
  4. package/assets/Appearance/dark/themes/green/greenDarkDotTheme.module.css +6 -0
  5. package/assets/Appearance/dark/themes/orange/orangeDarkDotTheme.module.css +6 -0
  6. package/assets/Appearance/dark/themes/red/redDarkDotTheme.module.css +6 -0
  7. package/assets/Appearance/dark/themes/yellow/yellowDarkDotTheme.module.css +6 -0
  8. package/assets/Appearance/default/mode/dotDefaultMode.module.css +10 -0
  9. package/assets/Appearance/default/themes/blue/blueDefaultDotTheme.module.css +6 -0
  10. package/assets/Appearance/default/themes/green/greenDefaultDotTheme.module.css +6 -0
  11. package/assets/Appearance/default/themes/orange/orangeDefaultDotTheme.module.css +6 -0
  12. package/assets/Appearance/default/themes/red/redDefaultDotTheme.module.css +6 -0
  13. package/assets/Appearance/default/themes/yellow/yellowDefaultDotTheme.module.css +6 -0
  14. package/es/ActionButton/ActionButton.module.css +9 -25
  15. package/es/AlphabeticList/AlphabeticList.module.css +4 -7
  16. package/es/Attachment/Attachment.module.css +9 -20
  17. package/es/AttachmentViewer/Attachment.js +17 -0
  18. package/es/AttachmentViewer/AttachmentImage.js +85 -0
  19. package/es/AttachmentViewer/AttachmentViewer.js +562 -0
  20. package/es/AttachmentViewer/AttachmentViewer.module.css +291 -0
  21. package/es/AttachmentViewer/utils.js +107 -0
  22. package/es/ChannelIcon/ChannelIcon.module.css +21 -30
  23. package/es/Drawer/Drawer.module.css +11 -59
  24. package/es/FlipCard/FlipCard.module.css +5 -14
  25. package/es/FormAction/FormAction.module.css +9 -34
  26. package/es/FreezeLayer/FreezeLayer.module.css +2 -6
  27. package/es/IconButton/IconButton.module.css +1 -1
  28. package/es/ImportantNotes/ImportantNotes.js +3 -5
  29. package/es/ImportantNotes/ImportantNotes.module.css +2 -7
  30. package/es/Loader/Loader.module.css +4 -25
  31. package/es/Message/Message.module.css +9 -42
  32. package/es/MessageBanner/MessageBanner.module.css +4 -12
  33. package/es/NewStar/NewStar.module.css +5 -42
  34. package/es/ToastMessage/ToastMessage.module.css +25 -96
  35. package/es/Upload/Upload.module.css +8 -27
  36. package/es/alert/AlertHeader/AlertHeader.module.css +3 -21
  37. package/es/alert/AlertLookup/AlertLookup.module.css +2 -6
  38. package/es/avatar/AvatarClose/AvatarClose.module.css +3 -9
  39. package/es/avatar/AvatarCollision/AvatarCollision.module.css +4 -18
  40. package/es/avatar/AvatarIcon/AvatarIcon.module.css +4 -3
  41. package/es/avatar/AvatarStatus/AvatarStatus.module.css +9 -59
  42. package/es/avatar/AvatarThread/AvatarThread.module.css +5 -55
  43. package/es/avatar/AvatarUser/AvatarUser.module.css +10 -81
  44. package/es/avatar/AvatarWithTeam/AvatarWithTeam.module.css +3 -10
  45. package/es/common/dot_animation.module.css +14 -0
  46. package/es/common/dot_common.module.css +4 -0
  47. package/es/deprecated/SelectDropdown/SelectDropdown.module.css +3 -11
  48. package/es/dropdown/ToggleDropDown/ToggleDropDown.module.css +6 -19
  49. package/es/emptystate/CommonEmptyState/CommonEmptyState.module.css +4 -12
  50. package/es/emptystate/EditionPage/EditionPage.css +3 -9
  51. package/es/errorstate/EmptyStates.module.css +10 -13
  52. package/es/errorstate/Inconvenience/Inconvenience.module.css +0 -3
  53. package/es/errorstate/LinkText/LinkText.module.css +1 -1
  54. package/es/errorstate/PermissionPlay/PermissionPlay.module.css +2 -2
  55. package/es/errorstate/WillBack/WillBack.module.css +3 -1
  56. package/es/form/fields/Fields.module.css +14 -49
  57. package/es/form/fields/TagsMultiSelect/TagsMultiSelect.module.css +7 -19
  58. package/es/form/fields/TagsMultiSelectField/TagsMultiSelectField.module.css +1 -4
  59. package/es/form/fields/TextEditor/TextEditor.js +4 -1
  60. package/es/form/fields/TextEditor/TextEditor.module.css +72 -149
  61. package/es/form/fields/TextEditorWrapper/TextEditorWrapper.module.css +2 -13
  62. package/es/form/fields/ValidationMessage/ValidationMessage.module.css +4 -9
  63. package/es/form/layout/Field/Field.js +1 -1
  64. package/es/form/layout/Section/Section.js +3 -7
  65. package/es/layout/SetupDetailLayout/SetupDetailLayout.module.css +16 -52
  66. package/es/layout/SubtabLayout/SubtabLayout.module.css +29 -55
  67. package/es/list/BluePrintStatus/BluePrintStatus.module.css +1 -4
  68. package/es/list/Comment/Comment.module.css +0 -5
  69. package/es/list/DotNew/DotNew.module.css +3 -3
  70. package/es/list/GridStencils/GridStencils.module.css +16 -70
  71. package/es/list/Icons/Icons.module.css +1 -1
  72. package/es/list/ListLayout/ListLayout.module.css +14 -22
  73. package/es/list/ListStencils/ListStencils.module.css +6 -11
  74. package/es/list/SecondaryText/SecondaryText.module.css +3 -13
  75. package/es/list/SentimentStatus/SentimentStatus.module.css +1 -4
  76. package/es/list/TagNew/TagNew.module.css +7 -14
  77. package/es/list/Thread/Thread.module.css +1 -13
  78. package/es/list/UserTime/UserTime.module.css +0 -6
  79. package/es/list/listCommon.module.css +1 -9
  80. package/es/list/status/StatusDropdown/StatusDropdown.module.css +6 -19
  81. package/es/list/status/StatusListItem/StatusListItem.module.css +15 -38
  82. package/es/lookup/Lookup/Lookup.module.css +2 -2
  83. package/es/lookup/Section/LookupSection.module.css +2 -2
  84. package/es/lookup/header/Close/LookupClose.module.css +4 -4
  85. package/es/lookup/header/ModuleHeader/ModuleHeader.js +3 -8
  86. package/es/lookup/header/Search/LookupSearch.module.css +12 -21
  87. package/es/lookup/header/TicketHeader/TicketHeader.js +4 -7
  88. package/es/lookup/header/TicketHeader/TicketHeader.module.css +2 -5
  89. package/es/lookup/header/ViewDropDown/ViewDropDown.module.css +3 -8
  90. package/es/lookup/header/lookupHeaderCommon.module.css +5 -21
  91. package/es/lookup/header/lookupHeaderCommonResponsive.module.css +3 -12
  92. package/es/setup/header/Button/HeaderButton.module.css +1 -3
  93. package/es/setup/header/Link/HeaderLink.module.css +1 -7
  94. package/es/setup/header/Search/Search.module.css +8 -19
  95. package/es/setup/header/Views/Views.module.css +5 -15
  96. package/es/setup/helptips/Link/HelpTipsLink.module.css +0 -1
  97. package/es/setup/helptips/ListGroup/ListGroup.module.css +1 -6
  98. package/es/setup/table/TableData/SetupTableData.module.css +3 -11
  99. package/es/setup/table/TableHead/SetupTableHead.module.css +0 -4
  100. package/es/setup/table/TableRow/SetupTableRow.module.css +2 -6
  101. package/es/version2/AlertClose/AlertClose.module.css +1 -1
  102. package/es/version2/GlobalNotification/GlobalNotification.module.css +9 -44
  103. package/es/version2/lookup/AlertHeader/AlertHeaderNew.module.css +2 -25
  104. package/es/version2/lookup/AlertLookup/AlertLookupNew.module.css +3 -7
  105. package/es/version2/lookup/alertLookupCommonNew.module.css +1 -8
  106. package/es/version2/notification/DesktopNotification/DesktopNotification.module.css +10 -26
  107. package/es/version2/notification/DesktopNotificationHeader/DesktopNotificationHeader.module.css +10 -47
  108. package/images/audio_thumbnail.png +0 -0
  109. package/lib/ActionButton/ActionButton.module.css +1 -0
  110. package/lib/FreezeLayer/FreezeLayer.js +4 -31
  111. package/lib/ImportantNotes/ImportantNotes.js +3 -5
  112. package/lib/form/fields/CheckBoxField/CheckBoxField.js +1 -1
  113. package/lib/form/fields/CurrencyField/CurrencyField.js +8 -9
  114. package/lib/form/fields/DateField/DateField.js +1 -1
  115. package/lib/form/fields/MultiSelectField/MultiSelectField.js +1 -1
  116. package/lib/form/fields/PhoneField/PhoneField.js +1 -1
  117. package/lib/form/fields/RadioField/RadioField.js +1 -1
  118. package/lib/form/fields/SelectField/SelectField.js +1 -1
  119. package/lib/form/fields/TagsMultiSelect/TagsMultiSelect.js +4 -7
  120. package/lib/form/fields/TextBoxField/TextBoxField.js +1 -1
  121. package/lib/form/fields/TextEditor/TextEditor.module.css +2 -13
  122. package/lib/form/fields/TextareaField/TextareaField.js +1 -1
  123. package/lib/form/layout/Field/Field.js +1 -1
  124. package/lib/form/layout/Section/Section.js +3 -7
  125. package/lib/list/status/StatusDropdown/StatusDropdown.js +37 -44
  126. package/lib/lookup/header/ModuleHeader/ModuleHeader.js +3 -8
  127. package/lib/lookup/header/TicketHeader/TicketHeader.js +4 -7
  128. package/lib/lookup/header/lookupHeaderCommon.module.css +2 -8
  129. package/lib/setup/header/Views/Views.js +2 -2
  130. package/lib/utils/General.js +24 -0
  131. package/package.json +7 -7
  132. package/lib/Provider/Config.js +0 -21
  133. package/lib/deprecated/utils/General.js +0 -29
package/README.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  In this Library, we Provide Some Basic Components to Build Your Application
4
4
 
5
+ # 1.0.0-beta.218 , # 1.0.0-beta.219, # 1.0.0-beta.220
6
+
7
+ - AttachmentViewer , AttachmentImage component added
8
+
5
9
  # 1.0.0-beta.217
6
10
 
7
11
  - TagsMultiSelect => boxSize prop added.
@@ -518,4 +518,14 @@
518
518
 
519
519
  /* tagsmultiselect field */
520
520
  --zdt_tagsmultiselectField_count_text: var(--dot_cadetblue);
521
+
522
+ /* attachment viewer */
523
+ --zdt_attachmentviewer_title_text: var(--dot_platinum);
524
+ --zdt_attachmentviewer_button_border: var(--dot_tuna);
525
+ --zdt_attachmentviewer_hover_border: var(--zdt_cta_grey_40_border);
526
+ --zdt_attachmentviewer_selected_border: var(--zdt_cta_primary_border);
527
+ --zdt_attachmentviewer_selected_after_bg: var(--dot_white);
528
+ --zdt_attachmentviewer_selected_box_shadow: rgba(0, 0, 0, 0.34);
529
+ --zdt_attachmentviewer_loader_border: #2a2e38;
530
+ --zdt_attachmentviewer_loader_border_top: #f3f3f3;
521
531
  }
@@ -7,4 +7,10 @@
7
7
  --zdt_commonEmptyState_dark_description: var(--dot_white);
8
8
  --zdt_commonEmptyState_dark_link: var(--dot_butterflyblue);
9
9
  --zdt_commonEmptyState_dark_link_hover: #2469ff;
10
+
11
+ /* attachment viewer */
12
+ --zdt_attachmentviewer_header_bg: #1b212b;
13
+ --zdt_attachmentviewer_header_border: var(--dot_tuna);
14
+ --zdt_attachmentviewer_footer_bg: #1b212b;
15
+ --zdt_attachmentviewer_arrow_bg_hover: rgb(27 33 43 / 40%);
10
16
  }
@@ -7,4 +7,10 @@
7
7
  --zdt_commonEmptyState_dark_description: var(--dot_white);
8
8
  --zdt_commonEmptyState_dark_link: #45a159;
9
9
  --zdt_commonEmptyState_dark_link_hover: #0e7c1c;
10
+
11
+ /* attachment viewer */
12
+ --zdt_attachmentviewer_header_bg: #1b212b;
13
+ --zdt_attachmentviewer_header_border: var(--dot_tuna);
14
+ --zdt_attachmentviewer_footer_bg: #1b212b;
15
+ --zdt_attachmentviewer_arrow_bg_hover: rgb(27 33 43 / 40%);
10
16
  }
@@ -7,4 +7,10 @@
7
7
  --zdt_commonEmptyState_dark_description: var(--dot_white);
8
8
  --zdt_commonEmptyState_dark_link: var(--dot_cadmiumorange);
9
9
  --zdt_commonEmptyState_dark_link_hover: #a85100;
10
+
11
+ /* attachment viewer */
12
+ --zdt_attachmentviewer_header_bg: #1b212b;
13
+ --zdt_attachmentviewer_header_border: var(--dot_tuna);
14
+ --zdt_attachmentviewer_footer_bg: #1b212b;
15
+ --zdt_attachmentviewer_arrow_bg_hover: rgb(27 33 43 / 40%);
10
16
  }
@@ -7,4 +7,10 @@
7
7
  --zdt_commonEmptyState_dark_description: var(--dot_white);
8
8
  --zdt_commonEmptyState_dark_link: #e94f4f;
9
9
  --zdt_commonEmptyState_dark_link_hover: #a81111;
10
+
11
+ /* attachment viewer */
12
+ --zdt_attachmentviewer_header_bg: #1b212b;
13
+ --zdt_attachmentviewer_header_border: var(--dot_tuna);
14
+ --zdt_attachmentviewer_footer_bg: #1b212b;
15
+ --zdt_attachmentviewer_arrow_bg_hover: rgb(27 33 43 / 40%);
10
16
  }
@@ -7,4 +7,10 @@
7
7
  --zdt_commonEmptyState_dark_description: var(--dot_white);
8
8
  --zdt_commonEmptyState_dark_link: #d79835;
9
9
  --zdt_commonEmptyState_dark_link_hover: #9b6808;
10
+
11
+ /* attachment viewer */
12
+ --zdt_attachmentviewer_header_bg: #1b212b;
13
+ --zdt_attachmentviewer_header_border: var(--dot_tuna);
14
+ --zdt_attachmentviewer_footer_bg: #1b212b;
15
+ --zdt_attachmentviewer_arrow_bg_hover: rgb(27 33 43 / 40%);
10
16
  }
@@ -518,4 +518,14 @@
518
518
 
519
519
  /* tagsmultiselect field */
520
520
  --zdt_tagsmultiselectField_count_text: var(--dot_shuttleGrey);
521
+
522
+ /* attachment viewer */
523
+ --zdt_attachmentviewer_title_text: var(--dot_white);
524
+ --zdt_attachmentviewer_button_border: var(--zdt_cta_grey_35_border);
525
+ --zdt_attachmentviewer_hover_border: var(--zdt_cta_grey_40_border);
526
+ --zdt_attachmentviewer_selected_border: var(--zdt_cta_primary_border);
527
+ --zdt_attachmentviewer_selected_after_bg: var(--dot_white);
528
+ --zdt_attachmentviewer_selected_box_shadow: rgba(0, 0, 0, 0.34);
529
+ --zdt_attachmentviewer_loader_border: #2a2e38;
530
+ --zdt_attachmentviewer_loader_border_top: #f3f3f3;
521
531
  }
@@ -7,4 +7,10 @@
7
7
  --zdt_commonEmptyState_dark_description: var(--dot_white);
8
8
  --zdt_commonEmptyState_dark_link: #6cbbfc;
9
9
  --zdt_commonEmptyState_dark_link_hover: #2469ff;
10
+
11
+ /* attachment viewer */
12
+ --zdt_attachmentviewer_header_bg: #2c334d;
13
+ --zdt_attachmentviewer_header_border: #42485f;
14
+ --zdt_attachmentviewer_footer_bg: #2c334d;
15
+ --zdt_attachmentviewer_arrow_bg_hover: rgb(44 51 77 / 40%);
10
16
  }
@@ -7,4 +7,10 @@
7
7
  --zdt_commonEmptyState_dark_description: var(--dot_white);
8
8
  --zdt_commonEmptyState_dark_link: var(--dot_darkmint);
9
9
  --zdt_commonEmptyState_dark_link_hover: #0e7526;
10
+
11
+ /* attachment viewer */
12
+ --zdt_attachmentviewer_header_bg: #0f2226;
13
+ --zdt_attachmentviewer_header_border: #1a3439;
14
+ --zdt_attachmentviewer_footer_bg: #0f2226;
15
+ --zdt_attachmentviewer_arrow_bg_hover: rgb(15 34 38 / 40%);
10
16
  }
@@ -7,4 +7,10 @@
7
7
  --zdt_commonEmptyState_dark_description: var(--dot_white);
8
8
  --zdt_commonEmptyState_dark_link: #e57717;
9
9
  --zdt_commonEmptyState_dark_link_hover: #b25900;
10
+
11
+ /* attachment viewer */
12
+ --zdt_attachmentviewer_header_bg: #241e13;
13
+ --zdt_attachmentviewer_header_border: #2e2b11;
14
+ --zdt_attachmentviewer_footer_bg: #241e13;
15
+ --zdt_attachmentviewer_arrow_bg_hover: rgb(36 30 19 / 40%);
10
16
  }
@@ -7,4 +7,10 @@
7
7
  --zdt_commonEmptyState_dark_description: var(--dot_white);
8
8
  --zdt_commonEmptyState_dark_link: #ff6363;
9
9
  --zdt_commonEmptyState_dark_link_hover: #ab1a18;
10
+
11
+ /* attachment viewer */
12
+ --zdt_attachmentviewer_header_bg: #220f1b;
13
+ --zdt_attachmentviewer_header_border: #321f22;
14
+ --zdt_attachmentviewer_footer_bg: #220f1b;
15
+ --zdt_attachmentviewer_arrow_bg_hover: rgb(34 15 27 / 40%);
10
16
  }
@@ -7,4 +7,10 @@
7
7
  --zdt_commonEmptyState_dark_description: var(--dot_white);
8
8
  --zdt_commonEmptyState_dark_link: #e8b923;
9
9
  --zdt_commonEmptyState_dark_link_hover: #b59100;
10
+
11
+ /* attachment viewer */
12
+ --zdt_attachmentviewer_header_bg: #222412;
13
+ --zdt_attachmentviewer_header_border: rgba(255, 255, 255, 0.08);
14
+ --zdt_attachmentviewer_footer_bg: #222412;
15
+ --zdt_attachmentviewer_arrow_bg_hover: rgb(34 36 18 / 40%);
10
16
  }
@@ -21,12 +21,9 @@
21
21
  .primaryBtn, .primaryArw {
22
22
  border: 1px solid var(--buttonBorder);
23
23
  }
24
- [dir=ltr] .primaryBtn {
24
+ .primaryBtn {
25
25
  border-right: none;
26
26
  }
27
- [dir=rtl] .primaryBtn {
28
- border-left: none;
29
- }
30
27
  .contentBox,
31
28
  .arrowWrapper {
32
29
  transition: width var(--zd_transition3), padding var(--zd_transition3), background-color var(--zd_transition2), border-color var(--zd_transition2);
@@ -34,12 +31,9 @@
34
31
  .clickable {
35
32
  cursor: pointer;
36
33
  }
37
- [dir=ltr] .contentBoxBdr {
34
+ .contentBoxBdr {
38
35
  border-radius: var(--zd_size4) 0 0 var(--zd_size4);
39
36
  }
40
- [dir=rtl] .contentBoxBdr {
41
- border-radius: 0 var(--zd_size4) var(--zd_size4) 0;
42
- }
43
37
  .contentBoxBdrRds {
44
38
  border-radius: var(--zd_size4);
45
39
  }
@@ -59,7 +53,8 @@
59
53
  .small_btnBox {
60
54
  padding: 0 var(--zd_size8);
61
55
  }
62
- .medium_btnBox, .large_btnBox {
56
+ .medium_btnBox,
57
+ .large_btnBox {
63
58
  padding: 0 var(--zd_size10);
64
59
  }
65
60
  .txt {
@@ -82,20 +77,12 @@
82
77
  }
83
78
  .arrowWrapper {
84
79
  position: relative;
85
- composes: offSelection from '~@zohodesk/components/lib/common/common.module.css';
86
- cursor: pointer;
87
- }
88
- [dir=ltr] .arrowWrapper {
89
80
  border-radius: 0 var(--zd_size4) var(--zd_size4) 0;
81
+ cursor: pointer;
82
+ composes: offSelection from '~@zohodesk/components/lib/common/common.module.css';
90
83
  }
91
- [dir=rtl] .arrowWrapper {
92
- border-radius: var(--zd_size4) 0 0 var(--zd_size4);
93
- }
94
- [dir=ltr] .primaryFilledArw {
95
- border-left: 1px solid var(--buttonSeparatorBorder);
96
- }
97
- [dir=rtl] .primaryFilledArw {
98
- border-right: 1px solid var(--buttonSeparatorBorder);
84
+ .primaryFilledArw {
85
+ border-left: 1px solid var(--buttonSeparatorBorder);
99
86
  }
100
87
  .small_arrowBox {
101
88
  width: var(--zd_size20);
@@ -128,9 +115,6 @@
128
115
  .iconClr {
129
116
  color: var(--buttonText);
130
117
  }
131
- [dir=ltr] .iconMrgn {
118
+ .iconMrgn {
132
119
  margin-right: var(--zd_size6);
133
120
  }
134
- [dir=rtl] .iconMrgn {
135
- margin-left: var(--zd_size6);
136
- }
@@ -7,19 +7,16 @@
7
7
  composes: varClass;
8
8
  composes: h100 from '~@zohodesk/components/lib/common/common.module.css';
9
9
  list-style: none;
10
- pointer-events: initial;
11
10
  margin: 0;
12
11
  padding: 0;
12
+ pointer-events: initial;
13
13
  }
14
14
  .column .title {
15
15
  margin-bottom: var(--zd_size3);
16
16
  }
17
- [dir=ltr] .row .title {
17
+ .row .title {
18
18
  margin-right: var(--zd_size3);
19
19
  }
20
- [dir=rtl] .row .title {
21
- margin-left: var(--zd_size3);
22
- }
23
20
  .row .letter {
24
21
  padding: 0 var(--zd_size3);
25
22
  }
@@ -32,10 +29,10 @@
32
29
  }
33
30
  .list {
34
31
  font-size: var(--zd_font_size11);
35
- flex-basis: var(--zd_size12);
36
- color: var(--textColor);
37
32
  text-align: center;
33
+ flex-basis: var(--zd_size12);
38
34
  cursor: pointer;
35
+ color: var(--textColor);
39
36
  }
40
37
  .title {
41
38
  flex-basis: var(--zd_size15);
@@ -1,8 +1,8 @@
1
1
  .attachment {
2
- position: relative;
3
- overflow: hidden;
4
2
  border: 1px solid var(--zdt_attachment_default_border);
5
3
  border-radius: 2px;
4
+ position: relative;
5
+ overflow: hidden;
6
6
  }
7
7
  .attachmentHover {
8
8
  cursor: pointer;
@@ -13,7 +13,8 @@
13
13
  .palette_transparent {
14
14
  background-color: var(--zdt_attachment_transparent_bg);
15
15
  }
16
- .attachmentHover:hover, .attachmentHover:hover .attachleft {
16
+ .attachmentHover:hover,
17
+ .attachmentHover:hover .attachleft {
17
18
  border-color: var(--zdt_attachment_default_hover_border);
18
19
  }
19
20
  .attachmentHover:hover .attachleft i {
@@ -34,12 +35,9 @@
34
35
  width: var(--zd_size145);
35
36
  height: var(--zd_size40);
36
37
  }
37
- [dir=ltr] .attachleft {
38
+ .attachleft {
38
39
  border-right: 1px solid var(--zdt_attachment_default_border);
39
40
  }
40
- [dir=rtl] .attachleft {
41
- border-left: 1px solid var(--zdt_attachment_default_border);
42
- }
43
41
  .medium .attachleft {
44
42
  width: var(--zd_size50);
45
43
  }
@@ -47,13 +45,9 @@
47
45
  width: var(--zd_size40);
48
46
  }
49
47
 
50
- [dir=ltr] .medium .attachright {
48
+ .medium .attachright {
51
49
  padding: var(--zd_size5) var(--zd_size25) var(--zd_size5) var(--zd_size10);
52
50
  }
53
-
54
- [dir=rtl] .medium .attachright {
55
- padding: var(--zd_size5) var(--zd_size10) var(--zd_size5) var(--zd_size25);
56
- }
57
51
  .small .attachright {
58
52
  padding: 0 var(--zd_size10) 0 var(--zd_size10);
59
53
  }
@@ -88,15 +82,10 @@
88
82
  .attachDownload {
89
83
  position: absolute;
90
84
  top: calc(var(--zd_size1) * -1);
91
- display: none;
85
+ right: calc(var(--zd_size1) * -1);
92
86
  background-color: var(--zdt_attachment_download_bg);
93
87
  text-align: center;
94
- }
95
- [dir=ltr] .attachDownload {
96
- right: calc(var(--zd_size1) * -1);
97
- }
98
- [dir=rtl] .attachDownload {
99
- left: calc(var(--zd_size1) * -1);
88
+ display: none;
100
89
  }
101
90
  .medium .attachDownload {
102
91
  height: var(--zd_size25);
@@ -124,9 +113,9 @@
124
113
  }
125
114
 
126
115
  .dot {
116
+ background-color: var(--zdt_dot_text);
127
117
  height: 2px;
128
118
  width: 2px;
129
- background-color: var(--zdt_dot_text);
130
119
  border-radius: 50%;
131
120
  margin: 0 var(--zd_size6);
132
121
  }
@@ -0,0 +1,17 @@
1
+ const UNASSIGNED = 'Unassigned';
2
+ const BROWSER_SUPPORTED_FILES = ['pdf', 'text', 'txt', 'css', 'jpg', 'jpeg', 'gif', 'png', 'bmp', 'ico', 'sh', 'mp3', 'wav', 'ogg'];
3
+ export function isAudioFile(fileName) {
4
+ const extension = getExtensionFromFileName(fileName);
5
+ return /mp3|wav|ogg/i.test(extension);
6
+ }
7
+ export function getExtensionFromFileName(fileName) {
8
+ if (fileName && fileName.indexOf(".") !== -1) {
9
+ return fileName.substring(fileName.lastIndexOf(".") + 1, fileName.length).toLowerCase();
10
+ }
11
+
12
+ return "";
13
+ }
14
+ export function isBrowserSupportedFile(fileName) {
15
+ const extension = getExtensionFromFileName(fileName);
16
+ return BROWSER_SUPPORTED_FILES.indexOf(extension) !== -1;
17
+ }
@@ -0,0 +1,85 @@
1
+ /* eslint-disable css-modules/no-unused-class */
2
+
3
+ /** * Libraries ** */
4
+ import React, { Component } from 'react';
5
+ import PropTypes from 'prop-types';
6
+ import Image from '../Image/Image';
7
+ /** * CSS ** */
8
+
9
+ import style from './AttachmentViewer.module.css';
10
+ export default class AttachmentImage extends Component {
11
+ constructor(props) {
12
+ super(props);
13
+ this.imageEle = /*#__PURE__*/React.createRef();
14
+ this.state = {
15
+ isLoading: true
16
+ };
17
+ this.imgLoad = this.imgLoad.bind(this);
18
+ }
19
+
20
+ componentDidMount() {
21
+ const {
22
+ isImage
23
+ } = this.props;
24
+
25
+ if (isImage) {
26
+ const image = this.imageEle.current;
27
+ image.addEventListener('load', this.imgLoad);
28
+ } else {
29
+ this.setState({
30
+ isLoading: false
31
+ });
32
+ }
33
+ }
34
+
35
+ imgLoad() {
36
+ this.setState({
37
+ isLoading: false
38
+ });
39
+ const {
40
+ onLoad
41
+ } = this.props;
42
+ onLoad && onLoad();
43
+ }
44
+
45
+ render() {
46
+ const {
47
+ src,
48
+ onClick,
49
+ alt,
50
+ dataId,
51
+ id,
52
+ className,
53
+ isCover
54
+ } = this.props;
55
+ const {
56
+ isLoading
57
+ } = this.state;
58
+ return /*#__PURE__*/React.createElement(React.Fragment, null, isLoading ? /*#__PURE__*/React.createElement("div", {
59
+ className: `${style.spinLoad}`
60
+ }, /*#__PURE__*/React.createElement("div", {
61
+ className: style.loader
62
+ })) : null, /*#__PURE__*/React.createElement(Image, {
63
+ htmlId: id,
64
+ eleRef: this.imageEle,
65
+ dataId: dataId,
66
+ src: src,
67
+ onClick: onClick,
68
+ className: `${isLoading ? style.hide : ''} ${className}`,
69
+ alt: alt,
70
+ isCover: isCover
71
+ }));
72
+ }
73
+
74
+ }
75
+ AttachmentImage.propTypes = {
76
+ alt: PropTypes.string,
77
+ className: PropTypes.string,
78
+ dataId: PropTypes.string,
79
+ id: PropTypes.string,
80
+ isCover: PropTypes.bool,
81
+ isImage: PropTypes.string,
82
+ onClick: PropTypes.func,
83
+ onLoad: PropTypes.func,
84
+ src: PropTypes.string
85
+ };