@zohodesk/dot 1.9.9 → 1.9.11

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 (168) hide show
  1. package/README.md +16 -0
  2. package/es/ActionButton/ActionButton.js +18 -8
  3. package/es/ActionButton/ActionButton.module.css +12 -11
  4. package/es/ActionButton/__tests__/__snapshots__/ActionButton.spec.js.snap +47 -60
  5. package/es/ActionButton/props/defaultProps.js +2 -1
  6. package/es/ActionButton/props/propTypes.js +4 -1
  7. package/es/AlphabeticList/AlphabeticList.module.css +7 -8
  8. package/es/Attachment/Attachment.module.css +9 -10
  9. package/es/AttachmentViewer/AttachmentViewer.module.css +24 -45
  10. package/es/AudioPlayer/AudioPlayer.module.css +5 -8
  11. package/es/DotProvider/DotProvider.js +2 -0
  12. package/es/DotProvider/__tests__/DotProvider.spec.js +106 -0
  13. package/es/DotProvider/hooks/useDotProvider.js +4 -2
  14. package/es/DotProvider/hooks/useDownloadAssetsAndSetAttr.js +44 -15
  15. package/es/DotProvider/props/defaultProps.js +2 -0
  16. package/es/DotProvider/props/propTypes.js +1 -0
  17. package/es/Drawer/Drawer.module.css +17 -64
  18. package/es/FormAction/FormAction.module.css +20 -54
  19. package/es/ImportantNotes/ImportantNotes.module.css +2 -9
  20. package/es/Message/Message.module.css +3 -16
  21. package/es/MessageBanner/MessageBanner.module.css +4 -13
  22. package/es/Separator/Separator.module.css +2 -1
  23. package/es/TagWithIcon/TagWithIcon.module.css +5 -8
  24. package/es/ToastMessage/ToastMessage.module.css +16 -30
  25. package/es/Upload/Upload.module.css +7 -9
  26. package/es/alert/AlertHeader/AlertHeader.module.css +11 -25
  27. package/es/alert/AlertLookup/AlertLookup.module.css +9 -10
  28. package/es/avatar/AvatarCollision/AvatarCollision.module.css +1 -1
  29. package/es/avatar/AvatarWithTeam/AvatarWithTeam.module.css +1 -1
  30. package/es/dropdown/ToggleDropDown/ToggleDropDown.module.css +16 -16
  31. package/es/emptystate/CommonEmptyState/CommonEmptyState.module.css +7 -9
  32. package/es/emptystate/EditionPage/EditionPage.css +7 -4
  33. package/es/errorstate/EmptyStates.module.css +7 -8
  34. package/es/errorstate/Inconvenience/Inconvenience.module.css +2 -5
  35. package/es/errorstate/NoRequestFound/NoRequestFound.module.css +1 -1
  36. package/es/errorstate/PermissionPlay/PermissionPlay.module.css +5 -4
  37. package/es/errorstate/RequestUrlNotFound/RequestUrlNotFound.module.css +1 -1
  38. package/es/errorstate/UnableToProcess/UnableToProcess.module.css +1 -1
  39. package/es/errorstate/UnauthorizedLogin/UnauthorizedLogin.module.css +1 -1
  40. package/es/errorstate/WillBack/WillBack.module.css +6 -4
  41. package/es/form/fields/Fields.module.css +23 -68
  42. package/es/form/fields/TagsMultiSelect/TagsMultiSelect.module.css +11 -16
  43. package/es/form/fields/TagsMultiSelectField/TagsMultiSelectField.module.css +1 -4
  44. package/es/form/fields/TextEditor/TextEditor.module.css +40 -66
  45. package/es/form/fields/TextEditorWrapper/TextEditorWrapper.module.css +2 -7
  46. package/es/form/fields/ValidationMessage/ValidationMessage.module.css +4 -3
  47. package/es/layout/SetupDetailLayout/SetupDetailLayout.module.css +14 -36
  48. package/es/layout/SubtabLayout/SubtabLayout.module.css +33 -46
  49. package/es/list/BluePrintStatus/BluePrintStatus.module.css +1 -4
  50. package/es/list/Comment/Comment.module.css +2 -1
  51. package/es/list/Dot/Dot.module.css +4 -2
  52. package/es/list/GridStencils/GridStencils.module.css +7 -9
  53. package/es/list/ListLayout/ListLayout.module.css +7 -4
  54. package/es/list/ListStencils/ListStencils.module.css +14 -15
  55. package/es/list/SecondaryText/SecondaryText.module.css +4 -13
  56. package/es/list/SentimentStatus/SentimentStatus.module.css +2 -4
  57. package/es/list/TagNew/TagNew.module.css +3 -2
  58. package/es/list/listCommon.module.css +3 -7
  59. package/es/list/status/StatusDropdown/StatusDropdown.module.css +17 -17
  60. package/es/list/status/StatusListItem/StatusListItem.module.css +10 -18
  61. package/es/lookup/EmptyPage/LookupEmptyPage.module.css +4 -3
  62. package/es/lookup/Lookup/Lookup.module.css +2 -2
  63. package/es/lookup/header/Search/LookupSearch.module.css +10 -23
  64. package/es/lookup/header/TicketHeader/TicketHeader.module.css +3 -2
  65. package/es/lookup/header/ViewDropDown/ViewDropDown.module.css +8 -12
  66. package/es/lookup/header/lookupHeaderCommon.module.css +8 -7
  67. package/es/lookup/header/lookupHeaderCommonResponsive.module.css +2 -6
  68. package/es/setup/header/Button/HeaderButton.module.css +2 -4
  69. package/es/setup/header/Link/HeaderLink.module.css +3 -9
  70. package/es/setup/header/Search/Search.module.css +2 -10
  71. package/es/setup/header/Views/Views.module.css +1 -4
  72. package/es/setup/helptips/Description/HelpTipsDescription.module.css +2 -1
  73. package/es/setup/helptips/Link/HelpTipsLink.module.css +2 -2
  74. package/es/setup/helptips/ListGroup/ListGroup.module.css +2 -6
  75. package/es/setup/table/TableData/SetupTableData.module.css +2 -4
  76. package/es/setup/table/TableHead/SetupTableHead.module.css +1 -6
  77. package/es/setup/table/TableRow/SetupTableRow.module.css +2 -7
  78. package/es/version2/GlobalNotification/GlobalNotification.module.css +7 -12
  79. package/es/version2/errorstate/V2_ErrorStates.module.css +5 -5
  80. package/es/version2/lookup/AlertHeader/css/AlertHeaderNew.module.css +8 -23
  81. package/es/version2/lookup/AlertLookup/AlertLookupNew.module.css +9 -10
  82. package/es/version2/lookup/alertLookupCommonNew.module.css +6 -4
  83. package/es/version2/notification/DesktopNotification/DesktopNotification.module.css +8 -11
  84. package/es/version2/notification/DesktopNotificationHeader/DesktopNotificationHeader.module.css +10 -22
  85. package/lib/ActionButton/ActionButton.js +17 -8
  86. package/lib/ActionButton/ActionButton.module.css +12 -11
  87. package/lib/ActionButton/__tests__/__snapshots__/ActionButton.spec.js.snap +47 -60
  88. package/lib/ActionButton/props/defaultProps.js +2 -1
  89. package/lib/ActionButton/props/propTypes.js +4 -1
  90. package/lib/AlphabeticList/AlphabeticList.module.css +7 -8
  91. package/lib/Attachment/Attachment.module.css +9 -10
  92. package/lib/AttachmentViewer/AttachmentViewer.module.css +24 -45
  93. package/lib/AudioPlayer/AudioPlayer.module.css +5 -8
  94. package/lib/DotProvider/DotProvider.js +3 -1
  95. package/lib/DotProvider/__tests__/DotProvider.spec.js +216 -0
  96. package/lib/DotProvider/hooks/useDotProvider.js +4 -2
  97. package/lib/DotProvider/hooks/useDownloadAssetsAndSetAttr.js +46 -15
  98. package/lib/DotProvider/props/defaultProps.js +3 -0
  99. package/lib/DotProvider/props/propTypes.js +1 -0
  100. package/lib/Drawer/Drawer.module.css +17 -64
  101. package/lib/FormAction/FormAction.module.css +20 -54
  102. package/lib/ImportantNotes/ImportantNotes.module.css +2 -9
  103. package/lib/Message/Message.module.css +3 -16
  104. package/lib/MessageBanner/MessageBanner.module.css +4 -13
  105. package/lib/Separator/Separator.module.css +2 -1
  106. package/lib/TagWithIcon/TagWithIcon.module.css +5 -8
  107. package/lib/ToastMessage/ToastMessage.module.css +16 -30
  108. package/lib/Upload/Upload.module.css +7 -9
  109. package/lib/alert/AlertHeader/AlertHeader.module.css +11 -25
  110. package/lib/alert/AlertLookup/AlertLookup.module.css +9 -10
  111. package/lib/avatar/AvatarCollision/AvatarCollision.module.css +1 -1
  112. package/lib/avatar/AvatarWithTeam/AvatarWithTeam.module.css +1 -1
  113. package/lib/dropdown/ToggleDropDown/ToggleDropDown.module.css +16 -16
  114. package/lib/emptystate/CommonEmptyState/CommonEmptyState.module.css +7 -9
  115. package/lib/emptystate/EditionPage/EditionPage.css +7 -4
  116. package/lib/errorstate/EmptyStates.module.css +7 -8
  117. package/lib/errorstate/Inconvenience/Inconvenience.module.css +2 -5
  118. package/lib/errorstate/NoRequestFound/NoRequestFound.module.css +1 -1
  119. package/lib/errorstate/PermissionPlay/PermissionPlay.module.css +5 -4
  120. package/lib/errorstate/RequestUrlNotFound/RequestUrlNotFound.module.css +1 -1
  121. package/lib/errorstate/UnableToProcess/UnableToProcess.module.css +1 -1
  122. package/lib/errorstate/UnauthorizedLogin/UnauthorizedLogin.module.css +1 -1
  123. package/lib/errorstate/WillBack/WillBack.module.css +6 -4
  124. package/lib/form/fields/Fields.module.css +23 -68
  125. package/lib/form/fields/TagsMultiSelect/TagsMultiSelect.module.css +11 -16
  126. package/lib/form/fields/TagsMultiSelectField/TagsMultiSelectField.module.css +1 -4
  127. package/lib/form/fields/TextEditor/TextEditor.module.css +40 -66
  128. package/lib/form/fields/TextEditorWrapper/TextEditorWrapper.module.css +2 -7
  129. package/lib/form/fields/ValidationMessage/ValidationMessage.module.css +4 -3
  130. package/lib/layout/SetupDetailLayout/SetupDetailLayout.module.css +14 -36
  131. package/lib/layout/SubtabLayout/SubtabLayout.module.css +33 -46
  132. package/lib/list/BluePrintStatus/BluePrintStatus.module.css +1 -4
  133. package/lib/list/Comment/Comment.module.css +2 -1
  134. package/lib/list/Dot/Dot.module.css +4 -2
  135. package/lib/list/GridStencils/GridStencils.module.css +7 -9
  136. package/lib/list/ListLayout/ListLayout.module.css +7 -4
  137. package/lib/list/ListStencils/ListStencils.module.css +14 -15
  138. package/lib/list/SecondaryText/SecondaryText.module.css +4 -13
  139. package/lib/list/SentimentStatus/SentimentStatus.module.css +2 -4
  140. package/lib/list/TagNew/TagNew.module.css +3 -2
  141. package/lib/list/listCommon.module.css +3 -7
  142. package/lib/list/status/StatusDropdown/StatusDropdown.module.css +17 -17
  143. package/lib/list/status/StatusListItem/StatusListItem.module.css +10 -18
  144. package/lib/lookup/EmptyPage/LookupEmptyPage.module.css +4 -3
  145. package/lib/lookup/Lookup/Lookup.module.css +2 -2
  146. package/lib/lookup/header/Search/LookupSearch.module.css +10 -23
  147. package/lib/lookup/header/TicketHeader/TicketHeader.module.css +3 -2
  148. package/lib/lookup/header/ViewDropDown/ViewDropDown.module.css +8 -12
  149. package/lib/lookup/header/lookupHeaderCommon.module.css +8 -7
  150. package/lib/lookup/header/lookupHeaderCommonResponsive.module.css +2 -6
  151. package/lib/setup/header/Button/HeaderButton.module.css +2 -4
  152. package/lib/setup/header/Link/HeaderLink.module.css +3 -9
  153. package/lib/setup/header/Search/Search.module.css +2 -10
  154. package/lib/setup/header/Views/Views.module.css +1 -4
  155. package/lib/setup/helptips/Description/HelpTipsDescription.module.css +2 -1
  156. package/lib/setup/helptips/Link/HelpTipsLink.module.css +2 -2
  157. package/lib/setup/helptips/ListGroup/ListGroup.module.css +2 -6
  158. package/lib/setup/table/TableData/SetupTableData.module.css +2 -4
  159. package/lib/setup/table/TableHead/SetupTableHead.module.css +1 -6
  160. package/lib/setup/table/TableRow/SetupTableRow.module.css +2 -7
  161. package/lib/version2/GlobalNotification/GlobalNotification.module.css +7 -12
  162. package/lib/version2/errorstate/V2_ErrorStates.module.css +5 -5
  163. package/lib/version2/lookup/AlertHeader/css/AlertHeaderNew.module.css +8 -23
  164. package/lib/version2/lookup/AlertLookup/AlertLookupNew.module.css +9 -10
  165. package/lib/version2/lookup/alertLookupCommonNew.module.css +6 -4
  166. package/lib/version2/notification/DesktopNotification/DesktopNotification.module.css +8 -11
  167. package/lib/version2/notification/DesktopNotificationHeader/DesktopNotificationHeader.module.css +10 -22
  168. package/package.json +18 -18
@@ -86,21 +86,19 @@
86
86
  width: var(--zd_size40) ;
87
87
  }
88
88
 
89
- [dir=ltr] .medium .attachright {
90
- padding: var(--zd_size5) var(--zd_size25) var(--zd_size5) var(--zd_size10) ;
91
- }
92
-
93
- [dir=rtl] .medium .attachright {
94
- padding: var(--zd_size5) var(--zd_size10) var(--zd_size5) var(--zd_size25) ;
89
+ .medium .attachright {
90
+ padding-block: var(--zd_size5) ;
91
+ padding-inline: var(--zd_size10) var(--zd_size25) ;
95
92
  }
96
93
 
97
94
  .small .attachright {
98
- padding: 0 var(--zd_size10) 0 var(--zd_size10) ;
95
+ padding-block:0 ;
96
+ padding-inline: var(--zd_size10) ;
99
97
  }
100
98
 
101
99
  .footer {
102
100
  font-size: 0 ;
103
- margin-top: var(--zd_size3) ;
101
+ margin-block-start: var(--zd_size3) ;
104
102
  }
105
103
 
106
104
  .medium .atatchName {
@@ -183,7 +181,8 @@
183
181
  height: 2px;
184
182
  /* Variable:Ignore */
185
183
  width: 2px;
184
+ margin-inline: var(--zd_size6) ;
185
+ margin-block:0 ;
186
186
  background-color: var(--zdt_dot_text);
187
187
  border-radius: 50%;
188
- margin: 0 var(--zd_size6) ;
189
- }
188
+ }
@@ -2,9 +2,10 @@
2
2
  height: var(--zd_size40) ;
3
3
  position: relative;
4
4
  z-index: 1;
5
+ padding-block:0 ;
6
+ padding-inline: var(--zd_size15) ;
5
7
  composes: alignVertical from '~@zohodesk/components/es/common/common.module.css';
6
8
  background-color: var(--zdt_attachmentviewer_header_bg);
7
- padding: 0 var(--zd_size15) ;
8
9
  border-bottom: 1px solid var(--zdt_attachmentviewer_header_border);
9
10
  }
10
11
 
@@ -22,9 +23,10 @@
22
23
  }
23
24
 
24
25
  .count {
26
+ padding-block:0 ;
27
+ padding-inline: var(--zd_size10) ;
25
28
  position: absolute;
26
29
  composes: xMiddle from '~@zohodesk/components/es/common/common.module.css';
27
- padding: 0 var(--zd_size10) ;
28
30
  }
29
31
 
30
32
  .title,
@@ -33,29 +35,21 @@
33
35
  font-size: var(--zd_font_size15) ;
34
36
  }
35
37
 
36
- [dir=ltr] .menuBar {
37
- padding-left: var(--zd_size5) ;
38
- }
39
-
40
- [dir=rtl] .menuBar {
41
- padding-right: var(--zd_size5) ;
38
+ .menuBar {
39
+ padding-inline-start: var(--zd_size5) ;
42
40
  }
43
41
 
44
42
  .mbleMenuBar {
43
+ margin-block-start: var(--zd_size8) ;
45
44
  align-self: baseline;
46
- margin-top: var(--zd_size8) ;
47
45
  }
48
46
 
49
- [dir=ltr] .menu+.menu {
50
- margin-left: var(--zd_size22) ;
51
- }
52
-
53
- [dir=rtl] .menu+.menu {
54
- margin-right: var(--zd_size22) ;
47
+ .menu+.menu {
48
+ margin-inline-start: var(--zd_size22) ;
55
49
  }
56
50
 
57
51
  .mobileMenu+.mobileMenu {
58
- margin-bottom: var(--zd_size22) ;
52
+ margin-block-end: var(--zd_size22) ;
59
53
  }
60
54
 
61
55
  .menuIcon {
@@ -85,9 +79,10 @@
85
79
  }
86
80
 
87
81
  .preview {
82
+ margin-block: var(--zd_size20) ;
83
+ margin-inline:0 ;
88
84
  composes: posrel from '~@zohodesk/components/es/common/common.module.css';
89
85
  text-align: center;
90
- margin: var(--zd_size20) 0 ;
91
86
  }
92
87
 
93
88
  .zoomIn {
@@ -128,15 +123,8 @@
128
123
  width: 100% ;
129
124
  overflow: hidden;
130
125
  transition: height var(--zd_transition3);
131
- background-color: var(--zdt_attachmentviewer_footer_bg)
132
- }
133
-
134
- [dir=ltr] .footer {
135
- padding-right: var(--zd_size68)
136
- }
137
-
138
- [dir=rtl] .footer {
139
- padding-left: var(--zd_size68)
126
+ padding-inline-end: var(--zd_size68) ;
127
+ background-color: var(--zdt_attachmentviewer_footer_bg);
140
128
  }
141
129
 
142
130
  .footerHeight {
@@ -148,7 +136,8 @@
148
136
  }
149
137
 
150
138
  .listContainer {
151
- padding: 0 var(--zd_size18) ;
139
+ padding-block:0 ;
140
+ padding-inline: var(--zd_size18) ;
152
141
  }
153
142
 
154
143
  .imgItem {
@@ -168,12 +157,8 @@
168
157
  border-color: var(--zdt_attachmentviewer_hover_border);
169
158
  }
170
159
 
171
- [dir=ltr] .imgItem+.imgItem {
172
- margin-left: var(--zd_size12) ;
173
- }
174
-
175
- [dir=rtl] .imgItem+.imgItem {
176
- margin-right: var(--zd_size12) ;
160
+ .imgItem+.imgItem {
161
+ margin-inline-start: var(--zd_size12) ;
177
162
  }
178
163
 
179
164
  .image, .crsrPointer {
@@ -335,21 +320,15 @@
335
320
 
336
321
  .author {
337
322
  max-width: var(--zd_size200) ;
338
- }
339
-
340
- [dir=ltr] .author {
341
- padding-left: var(--zd_size15) ;
342
- }
343
-
344
- [dir=rtl] .author {
345
- padding-right: var(--zd_size15) ;
323
+ padding-inline-start: var(--zd_size15) ;
346
324
  }
347
325
 
348
326
  .authorName {
327
+ margin-block:0 ;
328
+ margin-inline: var(--zd_size10) ;
349
329
  font-size: var(--zd_font_size15) ;
350
330
  color: var(--zdt_attachmentviewer_title_text);
351
331
  composes: dotted from '~@zohodesk/components/es/common/common.module.css';
352
- margin: 0 var(--zd_size10) ;
353
332
  }
354
333
 
355
334
  .btn {
@@ -361,7 +340,7 @@
361
340
  }
362
341
 
363
342
  .fileTypeImg {
364
- margin-bottom: var(--zd_size30) ;
343
+ margin-block-end: var(--zd_size30) ;
365
344
  }
366
345
 
367
346
  .previewNone {
@@ -373,7 +352,7 @@
373
352
 
374
353
  .downloadLink {
375
354
  display: inline-block;
376
- padding-top: var(--zd_size15) ;
355
+ padding-block-start: var(--zd_size15) ;
377
356
  }
378
357
 
379
358
  .previewIconDiv {
@@ -385,4 +364,4 @@
385
364
  color: var(--zdt_attachmentviewer_title_text);
386
365
  padding: var(--zd_size2) ;
387
366
  margin: auto ;
388
- }
367
+ }
@@ -5,7 +5,8 @@
5
5
  }
6
6
 
7
7
  .dragtag {
8
- margin: 0 var(--zd_size10) ;
8
+ margin-block:0 ;
9
+ margin-inline: var(--zd_size10) ;
9
10
  }
10
11
 
11
12
  .audioHid {
@@ -24,12 +25,8 @@
24
25
  font-size: var(--zd_font_size11) ;
25
26
  }
26
27
 
27
- [dir=ltr] .timerBox {
28
- margin-left: var(--zd_size6) ;
29
- }
30
-
31
- [dir=rtl] .timerBox {
32
- margin-right: var(--zd_size6) ;
28
+ .timerBox {
29
+ margin-inline-start: var(--zd_size6) ;
33
30
  }
34
31
 
35
32
  .rightBox,
@@ -143,4 +140,4 @@ input::-moz-focus-inner, input::-moz-focus-outer {
143
140
  border-radius: 4px;
144
141
  }
145
142
 
146
- /* End of audio range styles */
143
+ /* End of audio range styles */
@@ -13,7 +13,7 @@ var _propTypes = require("./props/propTypes");
13
13
 
14
14
  var _useDotProvider = _interopRequireDefault(require("./hooks/useDotProvider"));
15
15
 
16
- var _excluded = ["tag", "themeAppearance", "themeColor", "baseZoomUnit", "baseFontUnit", "zoomUnitVariable", "fontUnitVariable", "themeAppearanceAttr", "themeColorAttr", "providerRef", "onAssetsDownloadSuccess", "getAssetsPromises", "children"];
16
+ var _excluded = ["tag", "themeAppearance", "themeColor", "baseZoomUnit", "baseFontUnit", "zoomUnitVariable", "fontUnitVariable", "excludeFeatures", "themeAppearanceAttr", "themeColorAttr", "providerRef", "onAssetsDownloadSuccess", "getAssetsPromises", "children"];
17
17
 
18
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
19
 
@@ -38,6 +38,7 @@ var DotProvider = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
38
38
  baseFontUnit = props.baseFontUnit,
39
39
  zoomUnitVariable = props.zoomUnitVariable,
40
40
  fontUnitVariable = props.fontUnitVariable,
41
+ excludeFeatures = props.excludeFeatures,
41
42
  themeAppearanceAttr = props.themeAppearanceAttr,
42
43
  themeColorAttr = props.themeColorAttr,
43
44
  providerRef = props.providerRef,
@@ -74,6 +75,7 @@ var DotProvider = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
74
75
  baseFontUnit: baseFontUnit,
75
76
  zoomUnitVariable: zoomUnitVariable,
76
77
  fontUnitVariable: fontUnitVariable,
78
+ excludeFeatures: excludeFeatures,
77
79
  getProviderElement: getProviderElement,
78
80
  onAssetsDownloadSuccess: onAssetsDownloadSuccess,
79
81
  getAssetsPromises: getAssetsPromises
@@ -464,5 +464,221 @@ describe('DotProvider Unit-Test', function () {
464
464
  }
465
465
  }, _callee16);
466
466
  })));
467
+ test('should not set zoom CSS variable when zoom is excluded', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee17() {
468
+ var _render12, container, el;
469
+
470
+ return _regeneratorRuntime().wrap(function _callee17$(_context17) {
471
+ while (1) {
472
+ switch (_context17.prev = _context17.next) {
473
+ case 0:
474
+ _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DotProvider["default"], {
475
+ id: "dot-provider",
476
+ excludeFeatures: ['zoom'],
477
+ baseZoomUnit: "2px"
478
+ }, "This is a DotProvider component")), container = _render12.container;
479
+ _context17.next = 3;
480
+ return (0, _react2.waitFor)(function () {});
481
+
482
+ case 3:
483
+ el = container.querySelector('#dot-provider');
484
+ expect(el.style.getPropertyValue('--zd_baseUnit')).toBe('');
485
+
486
+ case 5:
487
+ case "end":
488
+ return _context17.stop();
489
+ }
490
+ }
491
+ }, _callee17);
492
+ })));
493
+ test('should still set font CSS variable when zoom is excluded', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee18() {
494
+ var _render13, container;
495
+
496
+ return _regeneratorRuntime().wrap(function _callee18$(_context18) {
497
+ while (1) {
498
+ switch (_context18.prev = _context18.next) {
499
+ case 0:
500
+ _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DotProvider["default"], {
501
+ id: "dot-provider",
502
+ excludeFeatures: ['zoom'],
503
+ baseFontUnit: "18px"
504
+ }, "This is a DotProvider component")), container = _render13.container;
505
+ _context18.next = 3;
506
+ return (0, _react2.waitFor)(function () {
507
+ var el = container.querySelector('#dot-provider');
508
+ expect(el.style.getPropertyValue('--zd_baseFontUnit')).toBe('18px');
509
+ });
510
+
511
+ case 3:
512
+ case "end":
513
+ return _context18.stop();
514
+ }
515
+ }
516
+ }, _callee18);
517
+ })));
518
+ test('should not set font CSS variable when font is excluded', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee19() {
519
+ var _render14, container, el;
520
+
521
+ return _regeneratorRuntime().wrap(function _callee19$(_context19) {
522
+ while (1) {
523
+ switch (_context19.prev = _context19.next) {
524
+ case 0:
525
+ _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DotProvider["default"], {
526
+ id: "dot-provider",
527
+ excludeFeatures: ['font'],
528
+ baseFontUnit: "18px"
529
+ }, "This is a DotProvider component")), container = _render14.container;
530
+ _context19.next = 3;
531
+ return (0, _react2.waitFor)(function () {});
532
+
533
+ case 3:
534
+ el = container.querySelector('#dot-provider');
535
+ expect(el.style.getPropertyValue('--zd_baseFontUnit')).toBe('');
536
+
537
+ case 5:
538
+ case "end":
539
+ return _context19.stop();
540
+ }
541
+ }
542
+ }, _callee19);
543
+ })));
544
+ test('should still set zoom CSS variable when font is excluded', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee20() {
545
+ var _render15, container;
546
+
547
+ return _regeneratorRuntime().wrap(function _callee20$(_context20) {
548
+ while (1) {
549
+ switch (_context20.prev = _context20.next) {
550
+ case 0:
551
+ _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DotProvider["default"], {
552
+ id: "dot-provider",
553
+ excludeFeatures: ['font'],
554
+ baseZoomUnit: "2px"
555
+ }, "This is a DotProvider component")), container = _render15.container;
556
+ _context20.next = 3;
557
+ return (0, _react2.waitFor)(function () {
558
+ var el = container.querySelector('#dot-provider');
559
+ expect(el.style.getPropertyValue('--zd_baseUnit')).toBe('2px');
560
+ });
561
+
562
+ case 3:
563
+ case "end":
564
+ return _context20.stop();
565
+ }
566
+ }
567
+ }, _callee20);
568
+ })));
569
+ test('should not set zoom or font CSS variables when both are excluded', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee21() {
570
+ var _render16, container, el;
571
+
572
+ return _regeneratorRuntime().wrap(function _callee21$(_context21) {
573
+ while (1) {
574
+ switch (_context21.prev = _context21.next) {
575
+ case 0:
576
+ _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DotProvider["default"], {
577
+ id: "dot-provider",
578
+ excludeFeatures: ['font', 'zoom'],
579
+ baseZoomUnit: "2px",
580
+ baseFontUnit: "18px"
581
+ }, "This is a DotProvider component")), container = _render16.container;
582
+ _context21.next = 3;
583
+ return (0, _react2.waitFor)(function () {});
584
+
585
+ case 3:
586
+ el = container.querySelector('#dot-provider');
587
+ expect(el.style.getPropertyValue('--zd_baseUnit')).toBe('');
588
+ expect(el.style.getPropertyValue('--zd_baseFontUnit')).toBe('');
589
+
590
+ case 6:
591
+ case "end":
592
+ return _context21.stop();
593
+ }
594
+ }
595
+ }, _callee21);
596
+ })));
597
+ test('getAssetsPromises should expose resolved promises when features are excluded', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee22() {
598
+ var mockFunc, _mockFunc$mock$calls$, zoomSizePromise, fontSizePromise;
599
+
600
+ return _regeneratorRuntime().wrap(function _callee22$(_context22) {
601
+ while (1) {
602
+ switch (_context22.prev = _context22.next) {
603
+ case 0:
604
+ mockFunc = jest.fn();
605
+ (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DotProvider["default"], {
606
+ excludeFeatures: ['font', 'zoom'],
607
+ getAssetsPromises: mockFunc
608
+ }, "This is a DotProvider component"));
609
+ _context22.next = 4;
610
+ return (0, _react2.waitFor)(function () {});
611
+
612
+ case 4:
613
+ expect(mockFunc).toHaveBeenCalledWith(expect.objectContaining({
614
+ zoomSizePromise: expect.any(Promise),
615
+ fontSizePromise: expect.any(Promise)
616
+ }));
617
+ _mockFunc$mock$calls$ = mockFunc.mock.calls[0][0], zoomSizePromise = _mockFunc$mock$calls$.zoomSizePromise, fontSizePromise = _mockFunc$mock$calls$.fontSizePromise;
618
+ _context22.next = 8;
619
+ return expect(zoomSizePromise).resolves.toBeUndefined();
620
+
621
+ case 8:
622
+ _context22.next = 10;
623
+ return expect(fontSizePromise).resolves.toBeUndefined();
624
+
625
+ case 10:
626
+ case "end":
627
+ return _context22.stop();
628
+ }
629
+ }
630
+ }, _callee22);
631
+ })));
632
+ test('onAssetsDownloadSuccess should still fire when font and zoom are excluded', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee23() {
633
+ var mockFunc;
634
+ return _regeneratorRuntime().wrap(function _callee23$(_context23) {
635
+ while (1) {
636
+ switch (_context23.prev = _context23.next) {
637
+ case 0:
638
+ mockFunc = jest.fn();
639
+ (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DotProvider["default"], {
640
+ excludeFeatures: ['font', 'zoom'],
641
+ onAssetsDownloadSuccess: mockFunc
642
+ }, "This is a DotProvider component"));
643
+ _context23.next = 4;
644
+ return (0, _react2.waitFor)(function () {
645
+ expect(mockFunc).toHaveBeenCalled();
646
+ });
647
+
648
+ case 4:
649
+ case "end":
650
+ return _context23.stop();
651
+ }
652
+ }
653
+ }, _callee23);
654
+ })));
655
+ test('should not set theme attributes when theme is excluded', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee24() {
656
+ var _render17, container, el;
657
+
658
+ return _regeneratorRuntime().wrap(function _callee24$(_context24) {
659
+ while (1) {
660
+ switch (_context24.prev = _context24.next) {
661
+ case 0:
662
+ _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DotProvider["default"], {
663
+ id: "dot-provider",
664
+ excludeFeatures: ['theme'],
665
+ themeAppearance: "dark",
666
+ themeColor: "orange"
667
+ }, "This is a DotProvider component")), container = _render17.container;
668
+ _context24.next = 3;
669
+ return (0, _react2.waitFor)(function () {});
670
+
671
+ case 3:
672
+ el = container.querySelector('#dot-provider');
673
+ expect(el.getAttribute('data-mode')).toBeNull();
674
+ expect(el.getAttribute('data-theme')).toBeNull();
675
+
676
+ case 6:
677
+ case "end":
678
+ return _context24.stop();
679
+ }
680
+ }
681
+ }, _callee24);
682
+ })));
467
683
  }); // need to check error handling cases
468
684
  // onAssetsDownloadSuccess not called verification
@@ -51,6 +51,7 @@ function useDotProvider(_ref) {
51
51
  getProviderElement = _ref.getProviderElement,
52
52
  zoomUnitVariable = _ref.zoomUnitVariable,
53
53
  fontUnitVariable = _ref.fontUnitVariable,
54
+ excludeFeatures = _ref.excludeFeatures,
54
55
  themeAppearanceAttr = _ref.themeAppearanceAttr,
55
56
  themeColorAttr = _ref.themeColorAttr,
56
57
  onAssetsDownloadSuccess = _ref.onAssetsDownloadSuccess,
@@ -63,6 +64,7 @@ function useDotProvider(_ref) {
63
64
  getProviderElement: getProviderElement,
64
65
  zoomUnitVariable: zoomUnitVariable,
65
66
  fontUnitVariable: fontUnitVariable,
67
+ excludeFeatures: excludeFeatures,
66
68
  themeAppearanceAttr: themeAppearanceAttr,
67
69
  themeColorAttr: themeColorAttr
68
70
  });
@@ -70,15 +72,15 @@ function useDotProvider(_ref) {
70
72
  themeColorPromise = assetsPromises.themeColorPromise,
71
73
  zoomSizePromise = assetsPromises.zoomSizePromise,
72
74
  fontSizePromise = assetsPromises.fontSizePromise;
73
- var allPromises = [].concat(_toConsumableArray(themeAppearancePromise), _toConsumableArray(themeColorPromise), [zoomSizePromise, fontSizePromise]);
74
75
  (0, _react.useLayoutEffect)(function () {
76
+ var allPromises = [].concat(_toConsumableArray(themeAppearancePromise), _toConsumableArray(themeColorPromise), [zoomSizePromise, fontSizePromise]);
75
77
  Promise.all(allPromises).then(function () {
76
78
  typeof onAssetsDownloadSuccess === 'function' && onAssetsDownloadSuccess();
77
79
  })["catch"](function (error) {
78
80
  console.error('Error loading assets:', error);
79
81
  });
80
82
  typeof getAssetsPromises === 'function' && getAssetsPromises(assetsPromises);
81
- }, _toConsumableArray(allPromises));
83
+ }, [themeAppearancePromise, themeColorPromise, zoomSizePromise, fontSizePromise]);
82
84
  }
83
85
 
84
86
  var _default = useDotProvider;
@@ -35,32 +35,51 @@ function useDownloadAssetsAndSetAttr(_ref) {
35
35
  getProviderElement = _ref.getProviderElement,
36
36
  zoomUnitVariable = _ref.zoomUnitVariable,
37
37
  fontUnitVariable = _ref.fontUnitVariable,
38
+ excludeFeatures = _ref.excludeFeatures,
38
39
  themeAppearanceAttr = _ref.themeAppearanceAttr,
39
40
  themeColorAttr = _ref.themeColorAttr;
41
+ var excluded = (0, _react.useMemo)(function () {
42
+ return new Set(excludeFeatures);
43
+ }, [excludeFeatures]);
44
+ var needTheme = !excluded.has('theme');
45
+ var needZoom = !excluded.has('zoom');
46
+ var needFont = !excluded.has('font');
40
47
  var themeAppearancePromise = (0, _react.useMemo)(function () {
41
- var themeAppearanceAssetPromise = (0, _themeAppearanceAssetPromise.getThemeAppearanceAssetPromise)({
48
+ if (!needTheme) {
49
+ return [Promise.resolve()];
50
+ }
51
+
52
+ return (0, _themeAppearanceAssetPromise.getThemeAppearanceAssetPromise)({
42
53
  themeAppearance: themeAppearance
43
54
  });
44
- return themeAppearanceAssetPromise;
45
- }, [themeAppearance]);
55
+ }, [themeAppearance, needTheme]);
46
56
  var themeColorPromise = (0, _react.useMemo)(function () {
47
- var themeColorAssetPromise = (0, _themeColorAssetPromise.getThemeColorAssetPromise)({
57
+ if (!needTheme) {
58
+ return [Promise.resolve()];
59
+ }
60
+
61
+ return (0, _themeColorAssetPromise.getThemeColorAssetPromise)({
48
62
  themeAppearance: themeAppearance,
49
63
  themeColor: themeColor
50
64
  });
51
- return themeColorAssetPromise;
52
- }, [themeAppearance, themeColor]);
65
+ }, [themeAppearance, themeColor, needTheme]);
53
66
  var modifiedZoomUnitWithSuffix = (0, _react.useMemo)(function () {
54
67
  return !isNaN(Number(baseZoomUnit)) ? "".concat(Number(baseZoomUnit), "px") : baseZoomUnit;
55
68
  }, [baseZoomUnit]);
56
69
  var zoomSizePromise = (0, _react.useMemo)(function () {
57
- var assetPromise = (0, _zoomSizeAssetPromise.getZoomSizeAssetPromise)();
58
- return assetPromise;
59
- }, []);
70
+ if (!needZoom) {
71
+ return Promise.resolve();
72
+ }
73
+
74
+ return (0, _zoomSizeAssetPromise.getZoomSizeAssetPromise)();
75
+ }, [needZoom]);
60
76
  var fontSizePromise = (0, _react.useMemo)(function () {
61
- var assetPromise = (0, _fontSizeAssetPromise.getFontSizeAssetPromise)();
62
- return assetPromise;
63
- }, []);
77
+ if (!needFont) {
78
+ return Promise.resolve();
79
+ }
80
+
81
+ return (0, _fontSizeAssetPromise.getFontSizeAssetPromise)();
82
+ }, [needFont]);
64
83
  var combinedPromise = {
65
84
  themeAppearancePromise: themeAppearancePromise,
66
85
  themeColorPromise: themeColorPromise,
@@ -69,6 +88,10 @@ function useDownloadAssetsAndSetAttr(_ref) {
69
88
  };
70
89
 
71
90
  function setThemeAttribute() {
91
+ if (!needTheme) {
92
+ return;
93
+ }
94
+
72
95
  var themePromise = [].concat(_toConsumableArray(themeAppearancePromise), _toConsumableArray(themeColorPromise));
73
96
  Promise.all(themePromise).then(function () {
74
97
  var providerElement = getProviderElement();
@@ -83,6 +106,10 @@ function useDownloadAssetsAndSetAttr(_ref) {
83
106
  }
84
107
 
85
108
  function setZoomSizeAttribute() {
109
+ if (!needZoom) {
110
+ return;
111
+ }
112
+
86
113
  zoomSizePromise.then(function () {
87
114
  var providerElement = getProviderElement();
88
115
 
@@ -95,6 +122,10 @@ function useDownloadAssetsAndSetAttr(_ref) {
95
122
  }
96
123
 
97
124
  function setFontSizeAttribute() {
125
+ if (!needFont) {
126
+ return;
127
+ }
128
+
98
129
  fontSizePromise.then(function () {
99
130
  var providerElement = getProviderElement();
100
131
 
@@ -108,12 +139,12 @@ function useDownloadAssetsAndSetAttr(_ref) {
108
139
 
109
140
  (0, _react.useLayoutEffect)(function () {
110
141
  setThemeAttribute();
111
- }, [themeAppearanceAttr, themeColorAttr, themeAppearance, themeColor, getProviderElement]);
142
+ }, [themeAppearanceAttr, themeColorAttr, themeAppearance, themeColor, getProviderElement, needTheme]);
112
143
  (0, _react.useLayoutEffect)(function () {
113
144
  setZoomSizeAttribute();
114
- }, [zoomUnitVariable, modifiedZoomUnitWithSuffix, getProviderElement]);
145
+ }, [zoomUnitVariable, modifiedZoomUnitWithSuffix, zoomSizePromise, getProviderElement, needZoom]);
115
146
  (0, _react.useLayoutEffect)(function () {
116
147
  setFontSizeAttribute();
117
- }, [fontUnitVariable, baseFontUnit, getProviderElement]);
148
+ }, [fontUnitVariable, baseFontUnit, fontSizePromise, getProviderElement, needFont]);
118
149
  return combinedPromise;
119
150
  }
@@ -7,6 +7,8 @@ exports.defaultProps = void 0;
7
7
 
8
8
  var _constants = require("../utils/constants");
9
9
 
10
+ var _utils = require("@zohodesk/utils");
11
+
10
12
  var defaultProps = {
11
13
  themeAppearance: _constants.THEME_APPEARANCE_LIGHT,
12
14
  themeColor: _constants.THEME_COLOR_BLUE,
@@ -14,6 +16,7 @@ var defaultProps = {
14
16
  baseFontUnit: '16px',
15
17
  zoomUnitVariable: '--zd_baseUnit',
16
18
  fontUnitVariable: '--zd_baseFontUnit',
19
+ excludeFeatures: _utils.DUMMY_ARRAY,
17
20
  themeAppearanceAttr: 'data-mode',
18
21
  themeColorAttr: 'data-theme'
19
22
  };
@@ -18,6 +18,7 @@ var propTypes = {
18
18
  baseFontUnit: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]),
19
19
  zoomUnitVariable: _propTypes["default"].string,
20
20
  fontUnitVariable: _propTypes["default"].string,
21
+ excludeFeatures: _propTypes["default"].arrayOf(_propTypes["default"].string),
21
22
  themeAppearanceAttr: _propTypes["default"].string,
22
23
  themeColorAttr: _propTypes["default"].string,
23
24
  providerRef: _propTypes["default"].func,