@wix/entity-advanced-permissions 1.790.0 → 1.792.0

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 (78) hide show
  1. package/dist/cjs/__tests__/browser.e2e.js +1 -0
  2. package/dist/cjs/__tests__/browser.e2e.js.map +1 -1
  3. package/dist/cjs/__tests__/counter.spec.js +0 -2
  4. package/dist/cjs/__tests__/counter.spec.js.map +1 -1
  5. package/dist/cjs/components/DashboardIcons/AdminsIcon.js +0 -8
  6. package/dist/cjs/components/DashboardIcons/AdminsIcon.js.map +1 -1
  7. package/dist/cjs/components/DashboardIcons/BadgeIcon.js +0 -8
  8. package/dist/cjs/components/DashboardIcons/BadgeIcon.js.map +1 -1
  9. package/dist/cjs/components/DashboardIcons/PPIcon.js +0 -8
  10. package/dist/cjs/components/DashboardIcons/PPIcon.js.map +1 -1
  11. package/dist/cjs/components/DashboardIcons/RoleIcon.js +0 -8
  12. package/dist/cjs/components/DashboardIcons/RoleIcon.js.map +1 -1
  13. package/dist/cjs/components/DashboardIcons/SiteVisitorsIcon.js +0 -8
  14. package/dist/cjs/components/DashboardIcons/SiteVisitorsIcon.js.map +1 -1
  15. package/dist/cjs/components/EmptyState/EmptyState.js +5 -21
  16. package/dist/cjs/components/EmptyState/EmptyState.js.map +1 -1
  17. package/dist/cjs/components/EmptyState/EmptyState.spec.js +46 -54
  18. package/dist/cjs/components/EmptyState/EmptyState.spec.js.map +1 -1
  19. package/dist/cjs/components/EntityAdvancedPermissions.js +488 -546
  20. package/dist/cjs/components/EntityAdvancedPermissions.js.map +1 -1
  21. package/dist/cjs/components/EntityAdvancedPermissionsState.js +19 -25
  22. package/dist/cjs/components/EntityAdvancedPermissionsState.js.map +1 -1
  23. package/dist/cjs/components/EntityAdvancedPermissionsTypes.js +0 -9
  24. package/dist/cjs/components/EntityAdvancedPermissionsTypes.js.map +1 -1
  25. package/dist/cjs/components/NotifyBox/NotifyBox.js +12 -32
  26. package/dist/cjs/components/NotifyBox/NotifyBox.js.map +1 -1
  27. package/dist/cjs/components/PermissionsDropdown/PermissionsDropdown.js +16 -55
  28. package/dist/cjs/components/PermissionsDropdown/PermissionsDropdown.js.map +1 -1
  29. package/dist/cjs/components/PermissionsDropdown/PermissionsDropdown.spec.js +124 -140
  30. package/dist/cjs/components/PermissionsDropdown/PermissionsDropdown.spec.js.map +1 -1
  31. package/dist/cjs/components/PermissionsList/Avatar.js +3 -12
  32. package/dist/cjs/components/PermissionsList/Avatar.js.map +1 -1
  33. package/dist/cjs/components/PermissionsList/AvatarRole.js +6 -18
  34. package/dist/cjs/components/PermissionsList/AvatarRole.js.map +1 -1
  35. package/dist/cjs/components/PermissionsList/PermissionsList.js +23 -49
  36. package/dist/cjs/components/PermissionsList/PermissionsList.js.map +1 -1
  37. package/dist/cjs/components/PermissionsList/PermissionsList.spec.js +119 -135
  38. package/dist/cjs/components/PermissionsList/PermissionsList.spec.js.map +1 -1
  39. package/dist/cjs/components/PermissionsList/ViewRow.js +6 -22
  40. package/dist/cjs/components/PermissionsList/ViewRow.js.map +1 -1
  41. package/dist/cjs/components/SearchEntity/CustomStyles.js +20 -13
  42. package/dist/cjs/components/SearchEntity/CustomStyles.js.map +1 -1
  43. package/dist/cjs/components/SearchEntity/DashboardMultiSelect.js +11 -34
  44. package/dist/cjs/components/SearchEntity/DashboardMultiSelect.js.map +1 -1
  45. package/dist/cjs/components/SearchEntity/SearchEntity.js +20 -42
  46. package/dist/cjs/components/SearchEntity/SearchEntity.js.map +1 -1
  47. package/dist/cjs/components/SearchEntity/SearchEntity.spec.js +15 -20
  48. package/dist/cjs/components/SearchEntity/SearchEntity.spec.js.map +1 -1
  49. package/dist/cjs/components/SearchEntity/SearchReplacmentsComponents.js +3 -33
  50. package/dist/cjs/components/SearchEntity/SearchReplacmentsComponents.js.map +1 -1
  51. package/dist/cjs/components/SearchEntity/constants.js.map +1 -1
  52. package/dist/cjs/example/BasicExample.js +0 -9
  53. package/dist/cjs/example/BasicExample.js.map +1 -1
  54. package/dist/cjs/example/CounterCmp.js +0 -2
  55. package/dist/cjs/example/CounterCmp.js.map +1 -1
  56. package/dist/cjs/example/counter.js +0 -7
  57. package/dist/cjs/example/counter.js.map +1 -1
  58. package/dist/cjs/index.js +0 -25
  59. package/dist/cjs/index.js.map +1 -1
  60. package/dist/esm/components/EntityAdvancedPermissions.js +11 -4
  61. package/dist/esm/components/EntityAdvancedPermissions.js.map +1 -1
  62. package/dist/statics/entity-advanced-permissions.umd.js +877 -1218
  63. package/dist/statics/entity-advanced-permissions.umd.js.map +1 -1
  64. package/dist/statics/entity-advanced-permissions.umd.min.js +7 -17
  65. package/dist/statics/entity-advanced-permissions.umd.min.js.map +1 -1
  66. package/dist/statics/manifest.json +2 -2
  67. package/dist/statics/manifest.min.json +2 -2
  68. package/dist/tsconfig.tsbuildinfo +1 -1
  69. package/dist/types/components/EmptyState/EmptyState.d.ts +1 -0
  70. package/dist/types/components/EntityAdvancedPermissions.d.ts +1 -0
  71. package/dist/types/components/NotifyBox/NotifyBox.d.ts +1 -0
  72. package/dist/types/components/PermissionsDropdown/PermissionsDropdown.d.ts +1 -0
  73. package/dist/types/components/PermissionsList/AvatarRole.d.ts +1 -0
  74. package/dist/types/components/PermissionsList/PermissionsList.d.ts +1 -0
  75. package/dist/types/components/PermissionsList/ViewRow.d.ts +1 -0
  76. package/dist/types/components/SearchEntity/SearchEntity.d.ts +1 -0
  77. package/dist/types/components/SearchEntity/SearchReplacmentsComponents.d.ts +1 -0
  78. package/package.json +5 -2
@@ -1,47 +1,29 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  exports.__esModule = true;
6
5
  exports.default = void 0;
7
-
8
6
  var _react = _interopRequireWildcard(require("react"));
9
-
10
7
  var _wixUiTpa = require("wix-ui-tpa");
11
-
12
8
  var _PermissionsDropdownSt = require("./PermissionsDropdown.st.css");
13
-
14
9
  var _DropdownCheckedEmpty = _interopRequireDefault(require("../../assets/icons/DropdownCheckedEmpty.svg"));
15
-
16
10
  var _DropdownChecked = _interopRequireDefault(require("../../assets/icons/DropdownChecked.svg"));
17
-
18
11
  var _he = _interopRequireDefault(require("he"));
19
-
20
12
  var _wixStyleReact = require("wix-style-react");
21
-
22
13
  var _ChevronDown = _interopRequireDefault(require("wix-ui-icons-common/ChevronDown"));
23
-
24
14
  var _Visible = _interopRequireDefault(require("wix-ui-icons-common/Visible"));
25
-
26
15
  var _DownloadImport = _interopRequireDefault(require("wix-ui-icons-common/DownloadImport"));
27
-
28
16
  var _Settings = _interopRequireDefault(require("wix-ui-icons-common/Settings"));
29
-
30
17
  var _Delete = _interopRequireDefault(require("wix-ui-icons-common/Delete"));
31
-
32
18
  var _jsxFileName = "/home/builduser/work/4775e43efb305866/packages/entity-advanced-permissions/dist/cjs/components/PermissionsDropdown/PermissionsDropdown.tsx";
33
-
34
19
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
35
-
36
20
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
37
-
38
21
  const permissionLevels = {
39
22
  VIEW: 'VIEW',
40
23
  CONTRIBUTE: 'CONTRIBUTE',
41
24
  MANAGE: 'MANAGE',
42
25
  NONE: 'NONE'
43
26
  };
44
-
45
27
  const getOverlay = () => {
46
28
  const div = document.createElement('div');
47
29
  div.style.position = 'fixed';
@@ -51,32 +33,26 @@ const getOverlay = () => {
51
33
  div.style.top = '0';
52
34
  return div;
53
35
  };
54
-
55
36
  function PermissionsDropdown(props) {
56
37
  const _useContext = (0, _react.useContext)(_wixUiTpa.TPAComponentsContext),
57
- mobile = _useContext.mobile;
58
-
38
+ mobile = _useContext.mobile;
59
39
  const overlay = (0, _react.useRef)(getOverlay());
60
40
  const options = props.options,
61
- className = props.className,
62
- _props$ariaLabelledBy = props.ariaLabelledBy,
63
- ariaLabelledBy = _props$ariaLabelledBy === void 0 ? '' : _props$ariaLabelledBy,
64
- _props$isDashboard = props.isDashboard,
65
- isDashboard = _props$isDashboard === void 0 ? false : _props$isDashboard,
66
- _props$isStep = props.isStep2,
67
- isStep2 = _props$isStep === void 0 ? false : _props$isStep,
68
- _props$shouldChangeCo = props.shouldChangeColor,
69
- shouldChangeColor = _props$shouldChangeCo === void 0 ? false : _props$shouldChangeCo;
70
-
41
+ className = props.className,
42
+ _props$ariaLabelledBy = props.ariaLabelledBy,
43
+ ariaLabelledBy = _props$ariaLabelledBy === void 0 ? '' : _props$ariaLabelledBy,
44
+ _props$isDashboard = props.isDashboard,
45
+ isDashboard = _props$isDashboard === void 0 ? false : _props$isDashboard,
46
+ _props$isStep = props.isStep2,
47
+ isStep2 = _props$isStep === void 0 ? false : _props$isStep,
48
+ _props$shouldChangeCo = props.shouldChangeColor,
49
+ shouldChangeColor = _props$shouldChangeCo === void 0 ? false : _props$shouldChangeCo;
71
50
  const _useState = (0, _react.useState)(props.value),
72
- selected = _useState[0],
73
- setSelected = _useState[1]; // selected permission menu title
74
-
75
-
51
+ selected = _useState[0],
52
+ setSelected = _useState[1]; // selected permission menu title
76
53
  const _useState2 = (0, _react.useState)((0, _PermissionsDropdownSt.st)(_PermissionsDropdownSt.classes.whiteColor)),
77
- step1MenuClassName = _useState2[0],
78
- setStep1MenuClassName = _useState2[1];
79
-
54
+ step1MenuClassName = _useState2[0],
55
+ setStep1MenuClassName = _useState2[1];
80
56
  const getIcon = id => {
81
57
  return id === selected ? /*#__PURE__*/_react.default.createElement(_DropdownChecked.default, {
82
58
  __self: this,
@@ -94,27 +70,21 @@ function PermissionsDropdown(props) {
94
70
  }
95
71
  });
96
72
  };
97
-
98
73
  const dropDownChange = e => {
99
74
  if (!isDashboard) {
100
75
  var _e$id;
101
-
102
76
  if (!mobile) {
103
77
  lockScrolling(false);
104
78
  }
105
-
106
79
  setSelected((_e$id = e.id) == null ? void 0 : _e$id.toString());
107
80
  }
108
-
109
81
  if (!isStep2) {
110
82
  setStep1MenuClassName((0, _PermissionsDropdownSt.st)(_PermissionsDropdownSt.classes.whiteColor));
111
83
  }
112
-
113
84
  if (props.onChange) {
114
85
  props.onChange(`${e.id}`);
115
86
  }
116
87
  };
117
-
118
88
  const getPermissionIcon = permissionId => {
119
89
  switch (permissionId) {
120
90
  case permissionLevels.VIEW:
@@ -126,7 +96,6 @@ function PermissionsDropdown(props) {
126
96
  columnNumber: 16
127
97
  }
128
98
  });
129
-
130
99
  case permissionLevels.CONTRIBUTE:
131
100
  return /*#__PURE__*/_react.default.createElement(_DownloadImport.default, {
132
101
  __self: this,
@@ -136,7 +105,6 @@ function PermissionsDropdown(props) {
136
105
  columnNumber: 16
137
106
  }
138
107
  });
139
-
140
108
  case permissionLevels.MANAGE:
141
109
  return /*#__PURE__*/_react.default.createElement(_Settings.default, {
142
110
  __self: this,
@@ -146,7 +114,6 @@ function PermissionsDropdown(props) {
146
114
  columnNumber: 16
147
115
  }
148
116
  });
149
-
150
117
  case permissionLevels.NONE:
151
118
  return /*#__PURE__*/_react.default.createElement(_Delete.default, {
152
119
  __self: this,
@@ -156,31 +123,27 @@ function PermissionsDropdown(props) {
156
123
  columnNumber: 16
157
124
  }
158
125
  });
159
-
160
126
  default:
161
127
  return '';
162
128
  }
163
129
  };
164
-
165
130
  const newOptions = options.map(k => {
166
- return { ...k,
131
+ return {
132
+ ...k,
167
133
  value: _he.default.decode(k.value || ''),
168
134
  subtitle: _he.default.decode(k.subtitle || ''),
169
135
  icon: getIcon(`${k.id}`),
170
136
  key: k.id
171
137
  };
172
138
  });
173
-
174
139
  const lockScrolling = expanded => {
175
140
  const docBody = document.body;
176
-
177
141
  if (expanded) {
178
142
  docBody.appendChild(overlay.current);
179
143
  } else if (docBody.contains(overlay.current)) {
180
144
  docBody.removeChild(overlay.current);
181
145
  }
182
146
  };
183
-
184
147
  if (isDashboard) {
185
148
  const updatedOptions = options.map(permission => {
186
149
  return permission.divider ? {
@@ -283,7 +246,6 @@ function PermissionsDropdown(props) {
283
246
  }
284
247
  }, selectedOption.id !== 'NONE' && selectedOption.label || (selectedPermission == null ? void 0 : selectedPermission.label)));
285
248
  }
286
-
287
249
  return /*#__PURE__*/_react.default.createElement(_wixUiTpa.FloatingDropdown, {
288
250
  "aria-labelledby": ariaLabelledBy,
289
251
  options: newOptions,
@@ -306,7 +268,6 @@ function PermissionsDropdown(props) {
306
268
  }
307
269
  });
308
270
  }
309
-
310
271
  var _default = PermissionsDropdown;
311
272
  exports.default = _default;
312
273
  //# sourceMappingURL=PermissionsDropdown.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["permissionLevels","VIEW","CONTRIBUTE","MANAGE","NONE","getOverlay","div","document","createElement","style","position","left","bottom","right","top","PermissionsDropdown","props","useContext","TPAComponentsContext","mobile","overlay","useRef","options","className","ariaLabelledBy","isDashboard","isStep2","shouldChangeColor","useState","value","selected","setSelected","st","classes","whiteColor","step1MenuClassName","setStep1MenuClassName","getIcon","id","dropDownChange","e","lockScrolling","toString","onChange","getPermissionIcon","permissionId","newOptions","map","k","he","decode","subtitle","icon","key","expanded","docBody","body","appendChild","current","contains","removeChild","updatedOptions","permission","divider","label","listItemSelectBuilder","prefix","title","wsrMenuTextPaddings","isLastChild","wsrOption","selectedPermission","find","buttonClassName","placement","appendTo","toggle","selectedOption","disabled","permissionsDropdown","isDisabled"],"sources":["../../../../src/components/PermissionsDropdown/PermissionsDropdown.tsx"],"sourcesContent":["import React, { useState, useRef, useContext } from 'react';\nimport { FloatingDropdown } from 'wix-ui-tpa';\nimport { st, classes } from './PermissionsDropdown.st.css';\nimport EmptyLogo from '../../assets/icons/DropdownCheckedEmpty.svg';\nimport CheckedIcon from '../../assets/icons/DropdownChecked.svg';\nimport he from 'he';\nimport { TPAComponentsContext } from 'wix-ui-tpa';\nimport {\n Dropdown,\n DropdownBase,\n listItemSelectBuilder,\n TextButton,\n Text,\n Box,\n} from 'wix-style-react';\nimport ChevronDown from 'wix-ui-icons-common/ChevronDown';\nimport Visible from 'wix-ui-icons-common/Visible';\nimport DownloadImport from 'wix-ui-icons-common/DownloadImport';\nimport Settings from 'wix-ui-icons-common/Settings';\nimport Delete from 'wix-ui-icons-common/Delete';\n\nexport interface PermissionsOptionsProps {\n id?: string;\n value?: string;\n subtitle?: string;\n divider?: boolean;\n isSelectable?: boolean;\n}\n\nexport interface PermissionsDropdownProps {\n disabled: boolean;\n options: PermissionsOptionsProps[];\n value?: string;\n onChange?(id: string): void; // function to update parent component which permission(id) was selected\n className?: string;\n ariaLabelledBy?: string;\n isDashboard?: boolean;\n isStep2?: boolean;\n shouldChangeColor?: boolean;\n}\n\nconst permissionLevels = {\n VIEW: 'VIEW',\n CONTRIBUTE: 'CONTRIBUTE',\n MANAGE: 'MANAGE',\n NONE: 'NONE',\n};\n\nconst getOverlay = (): Node => {\n const div = document.createElement('div');\n div.style.position = 'fixed';\n div.style.left = '0';\n div.style.bottom = '0';\n div.style.right = '0';\n div.style.top = '0';\n\n return div;\n};\n\nfunction PermissionsDropdown(props: PermissionsDropdownProps) {\n const { mobile } = useContext(TPAComponentsContext);\n const overlay = useRef<Node>(getOverlay());\n const {\n options,\n className,\n ariaLabelledBy = '',\n isDashboard = false,\n isStep2 = false,\n shouldChangeColor=false,\n } = props;\n const [selected, setSelected] = useState(props.value); // selected permission menu title\n const [step1MenuClassName, setStep1MenuClassName] = useState(st(classes.whiteColor));\n const getIcon = (id: string) => {\n return id === selected ? <CheckedIcon /> : <EmptyLogo />;\n };\n const dropDownChange = (\n e: PermissionsOptionsProps | any,\n ) => {\n if (!isDashboard) {\n if (!mobile) {\n lockScrolling(false);\n }\n setSelected(e.id?.toString());\n }\n if(!isStep2){\n setStep1MenuClassName(st(classes.whiteColor));\n }\n if (props.onChange) {\n props.onChange(`${e.id}`);\n }\n };\n\n const getPermissionIcon = (permissionId: string) => {\n switch (permissionId) {\n case permissionLevels.VIEW:\n return <Visible />;\n case permissionLevels.CONTRIBUTE:\n return <DownloadImport />;\n case permissionLevels.MANAGE:\n return <Settings />;\n case permissionLevels.NONE:\n return <Delete />;\n default:\n return '';\n }\n };\n\n const newOptions = options.map((k) => {\n return {\n ...k,\n value: he.decode(k.value || ''),\n subtitle: he.decode(k.subtitle || ''),\n icon: getIcon(`${k.id}`),\n key: k.id,\n };\n });\n\n const lockScrolling = (expanded: any) => {\n const docBody = document.body;\n if (expanded) {\n docBody.appendChild(overlay.current);\n } else if (docBody.contains(overlay.current)) {\n docBody.removeChild(overlay.current);\n }\n };\n\n if (isDashboard) {\n const updatedOptions = options.map((permission: any) => {\n return permission.divider ?\n {value: '-', label:'', id:''}\n :\n listItemSelectBuilder({\n id: permission.id,\n prefix: <Box paddingLeft={1}>{getPermissionIcon(permission.id )}</Box>,\n title: <Text size={'medium'} className={st(classes.wsrMenuTextPaddings, { isLastChild: permission.id === permissionLevels.NONE })} > {permission.value} </Text>,\n subtitle: <Text className={st(classes.wsrMenuTextPaddings)} size={'small'} textAlign={'start'}>{permission.subtitle} </Text>,\n label: permission.value,\n className: st(classes.wsrOption),\n });\n });\n\n const selectedPermission = updatedOptions.find(\n (permission: any) => permission.id === props.value,\n );\n const buttonClassName = shouldChangeColor ?step1MenuClassName : '';\n return ( isStep2 ?\n <Dropdown\n placeholder={selectedPermission?.label || ''}\n dropdownWidth=\"320px\"\n options={updatedOptions}\n popoverProps={{\n placement: 'bottom-end',\n appendTo:'parent',\n }}\n className={className}\n onSelect={dropDownChange}\n />\n :\n <DropdownBase\n options={updatedOptions}\n maxWidth={'320px'}\n minWidth={'320px'}\n className={className}\n maxHeight={'348px'}\n appendTo={buttonClassName ? `.${buttonClassName}` : 'scrollParent'}\n onSelect={dropDownChange}\n placement={'bottom-end'}\n overflow={'visible'}\n flip={false}\n >\n {({ toggle, selectedOption = {} }) => (\n <TextButton skin=\"dark\" className={buttonClassName} onClick={toggle} suffixIcon={<ChevronDown />}>\n {(selectedOption.id !== 'NONE' && selectedOption.label) ||\n selectedPermission?.label}\n </TextButton>\n )}\n </DropdownBase>\n );\n }\n\n return (\n <FloatingDropdown\n aria-labelledby={ariaLabelledBy}\n options={newOptions}\n disabled={props.disabled}\n value={selected}\n label={''}\n onChange={dropDownChange}\n className={st(\n classes.permissionsDropdown,\n {\n isDisabled: props.disabled,\n mobile,\n },\n className,\n )}\n appendTo=\"window\"\n onExpandedChange={lockScrolling}\n placement=\"bottom-start\"\n />\n );\n}\n\nexport default PermissionsDropdown;\n"],"mappings":"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"}
1
+ {"version":3,"names":["permissionLevels","VIEW","CONTRIBUTE","MANAGE","NONE","getOverlay","div","document","createElement","style","position","left","bottom","right","top","PermissionsDropdown","props","useContext","TPAComponentsContext","mobile","overlay","useRef","options","className","ariaLabelledBy","isDashboard","isStep2","shouldChangeColor","useState","value","selected","setSelected","st","classes","whiteColor","step1MenuClassName","setStep1MenuClassName","getIcon","id","dropDownChange","e","lockScrolling","toString","onChange","getPermissionIcon","permissionId","newOptions","map","k","he","decode","subtitle","icon","key","expanded","docBody","body","appendChild","current","contains","removeChild","updatedOptions","permission","divider","label","listItemSelectBuilder","prefix","title","wsrMenuTextPaddings","isLastChild","wsrOption","selectedPermission","find","buttonClassName","placement","appendTo","toggle","selectedOption","disabled","permissionsDropdown","isDisabled"],"sources":["../../../../src/components/PermissionsDropdown/PermissionsDropdown.tsx"],"sourcesContent":["import React, { useState, useRef, useContext } from 'react';\nimport { FloatingDropdown } from 'wix-ui-tpa';\nimport { st, classes } from './PermissionsDropdown.st.css';\nimport EmptyLogo from '../../assets/icons/DropdownCheckedEmpty.svg';\nimport CheckedIcon from '../../assets/icons/DropdownChecked.svg';\nimport he from 'he';\nimport { TPAComponentsContext } from 'wix-ui-tpa';\nimport {\n Dropdown,\n DropdownBase,\n listItemSelectBuilder,\n TextButton,\n Text,\n Box,\n} from 'wix-style-react';\nimport ChevronDown from 'wix-ui-icons-common/ChevronDown';\nimport Visible from 'wix-ui-icons-common/Visible';\nimport DownloadImport from 'wix-ui-icons-common/DownloadImport';\nimport Settings from 'wix-ui-icons-common/Settings';\nimport Delete from 'wix-ui-icons-common/Delete';\n\nexport interface PermissionsOptionsProps {\n id?: string;\n value?: string;\n subtitle?: string;\n divider?: boolean;\n isSelectable?: boolean;\n}\n\nexport interface PermissionsDropdownProps {\n disabled: boolean;\n options: PermissionsOptionsProps[];\n value?: string;\n onChange?(id: string): void; // function to update parent component which permission(id) was selected\n className?: string;\n ariaLabelledBy?: string;\n isDashboard?: boolean;\n isStep2?: boolean;\n shouldChangeColor?: boolean;\n}\n\nconst permissionLevels = {\n VIEW: 'VIEW',\n CONTRIBUTE: 'CONTRIBUTE',\n MANAGE: 'MANAGE',\n NONE: 'NONE',\n};\n\nconst getOverlay = (): Node => {\n const div = document.createElement('div');\n div.style.position = 'fixed';\n div.style.left = '0';\n div.style.bottom = '0';\n div.style.right = '0';\n div.style.top = '0';\n\n return div;\n};\n\nfunction PermissionsDropdown(props: PermissionsDropdownProps) {\n const { mobile } = useContext(TPAComponentsContext);\n const overlay = useRef<Node>(getOverlay());\n const {\n options,\n className,\n ariaLabelledBy = '',\n isDashboard = false,\n isStep2 = false,\n shouldChangeColor=false,\n } = props;\n const [selected, setSelected] = useState(props.value); // selected permission menu title\n const [step1MenuClassName, setStep1MenuClassName] = useState(st(classes.whiteColor));\n const getIcon = (id: string) => {\n return id === selected ? <CheckedIcon /> : <EmptyLogo />;\n };\n const dropDownChange = (\n e: PermissionsOptionsProps | any,\n ) => {\n if (!isDashboard) {\n if (!mobile) {\n lockScrolling(false);\n }\n setSelected(e.id?.toString());\n }\n if(!isStep2){\n setStep1MenuClassName(st(classes.whiteColor));\n }\n if (props.onChange) {\n props.onChange(`${e.id}`);\n }\n };\n\n const getPermissionIcon = (permissionId: string) => {\n switch (permissionId) {\n case permissionLevels.VIEW:\n return <Visible />;\n case permissionLevels.CONTRIBUTE:\n return <DownloadImport />;\n case permissionLevels.MANAGE:\n return <Settings />;\n case permissionLevels.NONE:\n return <Delete />;\n default:\n return '';\n }\n };\n\n const newOptions = options.map((k) => {\n return {\n ...k,\n value: he.decode(k.value || ''),\n subtitle: he.decode(k.subtitle || ''),\n icon: getIcon(`${k.id}`),\n key: k.id,\n };\n });\n\n const lockScrolling = (expanded: any) => {\n const docBody = document.body;\n if (expanded) {\n docBody.appendChild(overlay.current);\n } else if (docBody.contains(overlay.current)) {\n docBody.removeChild(overlay.current);\n }\n };\n\n if (isDashboard) {\n const updatedOptions = options.map((permission: any) => {\n return permission.divider ?\n {value: '-', label:'', id:''}\n :\n listItemSelectBuilder({\n id: permission.id,\n prefix: <Box paddingLeft={1}>{getPermissionIcon(permission.id )}</Box>,\n title: <Text size={'medium'} className={st(classes.wsrMenuTextPaddings, { isLastChild: permission.id === permissionLevels.NONE })} > {permission.value} </Text>,\n subtitle: <Text className={st(classes.wsrMenuTextPaddings)} size={'small'} textAlign={'start'}>{permission.subtitle} </Text>,\n label: permission.value,\n className: st(classes.wsrOption),\n });\n });\n\n const selectedPermission = updatedOptions.find(\n (permission: any) => permission.id === props.value,\n );\n const buttonClassName = shouldChangeColor ?step1MenuClassName : '';\n return ( isStep2 ?\n <Dropdown\n placeholder={selectedPermission?.label || ''}\n dropdownWidth=\"320px\"\n options={updatedOptions}\n popoverProps={{\n placement: 'bottom-end',\n appendTo:'parent',\n }}\n className={className}\n onSelect={dropDownChange}\n />\n :\n <DropdownBase\n options={updatedOptions}\n maxWidth={'320px'}\n minWidth={'320px'}\n className={className}\n maxHeight={'348px'}\n appendTo={buttonClassName ? `.${buttonClassName}` : 'scrollParent'}\n onSelect={dropDownChange}\n placement={'bottom-end'}\n overflow={'visible'}\n flip={false}\n >\n {({ toggle, selectedOption = {} }) => (\n <TextButton skin=\"dark\" className={buttonClassName} onClick={toggle} suffixIcon={<ChevronDown />}>\n {(selectedOption.id !== 'NONE' && selectedOption.label) ||\n selectedPermission?.label}\n </TextButton>\n )}\n </DropdownBase>\n );\n }\n\n return (\n <FloatingDropdown\n aria-labelledby={ariaLabelledBy}\n options={newOptions}\n disabled={props.disabled}\n value={selected}\n label={''}\n onChange={dropDownChange}\n className={st(\n classes.permissionsDropdown,\n {\n isDisabled: props.disabled,\n mobile,\n },\n className,\n )}\n appendTo=\"window\"\n onExpandedChange={lockScrolling}\n placement=\"bottom-start\"\n />\n );\n}\n\nexport default PermissionsDropdown;\n"],"mappings":"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"}
@@ -1,15 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _react = _interopRequireDefault(require("react"));
6
-
7
5
  var _react2 = require("@testing-library/react");
8
-
9
6
  var _PermissionsDropdown = _interopRequireDefault(require("./PermissionsDropdown"));
10
-
11
7
  var _wixUiTpa = require("wix-ui-tpa");
12
-
13
8
  var _jsxFileName = "/home/builduser/work/4775e43efb305866/packages/entity-advanced-permissions/dist/cjs/components/PermissionsDropdown/PermissionsDropdown.spec.tsx";
14
9
  describe('Testing Permissions Dropdown Component', () => {
15
10
  const options = [{
@@ -33,25 +28,23 @@ describe('Testing Permissions Dropdown Component', () => {
33
28
  }];
34
29
  it('Desktop Renders Properly', () => {
35
30
  const mockFnc = jest.fn();
36
-
37
31
  const _render = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_PermissionsDropdown.default, {
38
- disabled: false,
39
- options: options,
40
- value: "value",
41
- onChange: mockFnc,
42
- className: "Classname-test",
43
- ariaLabelledBy: "labeltext",
44
- __self: void 0,
45
- __source: {
46
- fileName: _jsxFileName,
47
- lineNumber: 36,
48
- columnNumber: 7
49
- }
50
- })),
51
- container = _render.container,
52
- getByText = _render.getByText,
53
- debug = _render.debug;
54
-
32
+ disabled: false,
33
+ options: options,
34
+ value: "value",
35
+ onChange: mockFnc,
36
+ className: "Classname-test",
37
+ ariaLabelledBy: "labeltext",
38
+ __self: void 0,
39
+ __source: {
40
+ fileName: _jsxFileName,
41
+ lineNumber: 36,
42
+ columnNumber: 7
43
+ }
44
+ })),
45
+ container = _render.container,
46
+ getByText = _render.getByText,
47
+ debug = _render.debug;
55
48
  const button = container.querySelector('button');
56
49
  button == null ? void 0 : button.click();
57
50
  const option1 = getByText('Pizza italiano');
@@ -69,35 +62,33 @@ describe('Testing Permissions Dropdown Component', () => {
69
62
  });
70
63
  it('Mobile Renders Properly', () => {
71
64
  const mockFnc = jest.fn();
72
-
73
65
  const _render2 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_wixUiTpa.TPAComponentsProvider, {
74
- value: {
75
- mobile: true
76
- },
77
- __self: void 0,
78
- __source: {
79
- fileName: _jsxFileName,
80
- lineNumber: 69,
81
- columnNumber: 7
82
- }
83
- }, /*#__PURE__*/_react.default.createElement(_PermissionsDropdown.default, {
84
- disabled: false,
85
- options: options,
86
- value: "value",
87
- onChange: mockFnc,
88
- className: "Classname-test",
89
- ariaLabelledBy: "aria-label-mobile",
90
- __self: void 0,
91
- __source: {
92
- fileName: _jsxFileName,
93
- lineNumber: 70,
94
- columnNumber: 9
95
- }
96
- }))),
97
- container = _render2.container,
98
- getByText = _render2.getByText,
99
- debug = _render2.debug;
100
-
66
+ value: {
67
+ mobile: true
68
+ },
69
+ __self: void 0,
70
+ __source: {
71
+ fileName: _jsxFileName,
72
+ lineNumber: 69,
73
+ columnNumber: 7
74
+ }
75
+ }, /*#__PURE__*/_react.default.createElement(_PermissionsDropdown.default, {
76
+ disabled: false,
77
+ options: options,
78
+ value: "value",
79
+ onChange: mockFnc,
80
+ className: "Classname-test",
81
+ ariaLabelledBy: "aria-label-mobile",
82
+ __self: void 0,
83
+ __source: {
84
+ fileName: _jsxFileName,
85
+ lineNumber: 70,
86
+ columnNumber: 9
87
+ }
88
+ }))),
89
+ container = _render2.container,
90
+ getByText = _render2.getByText,
91
+ debug = _render2.debug;
101
92
  const select = container.querySelector('select');
102
93
  select == null ? void 0 : select.click();
103
94
  const value1 = getByText('pizza');
@@ -109,26 +100,24 @@ describe('Testing Permissions Dropdown Component', () => {
109
100
  });
110
101
  it('onChange function check', () => {
111
102
  const mockFnc = jest.fn();
112
-
113
103
  const _render3 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_PermissionsDropdown.default, {
114
- disabled: false,
115
- options: options,
116
- value: "value",
117
- onChange: mockFnc,
118
- className: "Classname-test",
119
- ariaLabelledBy: "aria-label-mobile",
120
- __self: void 0,
121
- __source: {
122
- fileName: _jsxFileName,
123
- lineNumber: 99,
124
- columnNumber: 7
125
- }
126
- })),
127
- container = _render3.container,
128
- getByText = _render3.getByText,
129
- debug = _render3.debug,
130
- rerender = _render3.rerender;
131
-
104
+ disabled: false,
105
+ options: options,
106
+ value: "value",
107
+ onChange: mockFnc,
108
+ className: "Classname-test",
109
+ ariaLabelledBy: "aria-label-mobile",
110
+ __self: void 0,
111
+ __source: {
112
+ fileName: _jsxFileName,
113
+ lineNumber: 99,
114
+ columnNumber: 7
115
+ }
116
+ })),
117
+ container = _render3.container,
118
+ getByText = _render3.getByText,
119
+ debug = _render3.debug,
120
+ rerender = _render3.rerender;
132
121
  const button = container.querySelector('button');
133
122
  button == null ? void 0 : button.click();
134
123
  const option1 = getByText('pizza');
@@ -155,97 +144,92 @@ describe('Testing Permissions Dropdown Component', () => {
155
144
  });
156
145
  it('Disabled Dropdown', () => {
157
146
  const mockFnc = jest.fn();
158
-
159
147
  const _render4 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_PermissionsDropdown.default, {
160
- disabled: true,
161
- options: options,
162
- value: "1",
163
- onChange: mockFnc,
164
- className: "Classname-test",
165
- ariaLabelledBy: "aria-label-mobile",
166
- __self: void 0,
167
- __source: {
168
- fileName: _jsxFileName,
169
- lineNumber: 141,
170
- columnNumber: 7
171
- }
172
- })),
173
- container = _render4.container,
174
- getByText = _render4.getByText,
175
- debug = _render4.debug;
176
-
148
+ disabled: true,
149
+ options: options,
150
+ value: "1",
151
+ onChange: mockFnc,
152
+ className: "Classname-test",
153
+ ariaLabelledBy: "aria-label-mobile",
154
+ __self: void 0,
155
+ __source: {
156
+ fileName: _jsxFileName,
157
+ lineNumber: 141,
158
+ columnNumber: 7
159
+ }
160
+ })),
161
+ container = _render4.container,
162
+ getByText = _render4.getByText,
163
+ debug = _render4.debug;
177
164
  const disabledElm = container.querySelector('div[class*=--isDisabled]');
178
165
  expect(disabledElm).toBeTruthy();
179
166
  });
180
167
  it('Classnames and icons', () => {
181
168
  const _render5 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_PermissionsDropdown.default, {
182
- disabled: true,
183
- value: "2",
184
- options: options,
185
- className: "class-test-here",
186
- ariaLabelledBy: "aria-label-mobile",
187
- __self: void 0,
188
- __source: {
189
- fileName: _jsxFileName,
190
- lineNumber: 157,
191
- columnNumber: 7
192
- }
193
- })),
194
- container = _render5.container,
195
- debug = _render5.debug;
196
-
169
+ disabled: true,
170
+ value: "2",
171
+ options: options,
172
+ className: "class-test-here",
173
+ ariaLabelledBy: "aria-label-mobile",
174
+ __self: void 0,
175
+ __source: {
176
+ fileName: _jsxFileName,
177
+ lineNumber: 157,
178
+ columnNumber: 7
179
+ }
180
+ })),
181
+ container = _render5.container,
182
+ debug = _render5.debug;
197
183
  const className = container.querySelector('.class-test-here');
198
- const icon = container.querySelector('svg'); // debug();
184
+ const icon = container.querySelector('svg');
185
+
186
+ // debug();
199
187
 
200
188
  expect(className).toBeTruthy();
201
189
  expect(icon).toBeTruthy();
202
190
  });
203
191
  it('Selected values', () => {
204
192
  const mockFnc = jest.fn();
205
-
206
193
  const _render6 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_PermissionsDropdown.default, {
207
- disabled: false,
208
- options: options,
209
- value: "2",
210
- onChange: mockFnc,
211
- className: "Classname-test",
212
- ariaLabelledBy: "aria-label-mobile",
213
- __self: void 0,
214
- __source: {
215
- fileName: _jsxFileName,
216
- lineNumber: 179,
217
- columnNumber: 7
218
- }
219
- })),
220
- container = _render6.container,
221
- getByText = _render6.getByText,
222
- debug = _render6.debug;
223
-
194
+ disabled: false,
195
+ options: options,
196
+ value: "2",
197
+ onChange: mockFnc,
198
+ className: "Classname-test",
199
+ ariaLabelledBy: "aria-label-mobile",
200
+ __self: void 0,
201
+ __source: {
202
+ fileName: _jsxFileName,
203
+ lineNumber: 179,
204
+ columnNumber: 7
205
+ }
206
+ })),
207
+ container = _render6.container,
208
+ getByText = _render6.getByText,
209
+ debug = _render6.debug;
224
210
  const isSeleted = container.querySelector('div[class*=__selectedValue]');
225
211
  expect(isSeleted).toBeTruthy();
226
212
  expect(isSeleted == null ? void 0 : isSeleted.innerHTML).toBe('burger');
227
213
  });
228
214
  it('Selectable Values', () => {
229
215
  const mockFnc = jest.fn();
230
-
231
216
  const _render7 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_PermissionsDropdown.default, {
232
- disabled: false,
233
- options: options,
234
- value: "1",
235
- onChange: mockFnc,
236
- className: "Classname-test",
237
- ariaLabelledBy: "aria-label-mobile",
238
- __self: void 0,
239
- __source: {
240
- fileName: _jsxFileName,
241
- lineNumber: 198,
242
- columnNumber: 7
243
- }
244
- })),
245
- container = _render7.container,
246
- getByText = _render7.getByText,
247
- debug = _render7.debug;
248
-
217
+ disabled: false,
218
+ options: options,
219
+ value: "1",
220
+ onChange: mockFnc,
221
+ className: "Classname-test",
222
+ ariaLabelledBy: "aria-label-mobile",
223
+ __self: void 0,
224
+ __source: {
225
+ fileName: _jsxFileName,
226
+ lineNumber: 198,
227
+ columnNumber: 7
228
+ }
229
+ })),
230
+ container = _render7.container,
231
+ getByText = _render7.getByText,
232
+ debug = _render7.debug;
249
233
  const button = container.querySelector('button');
250
234
  button == null ? void 0 : button.click();
251
235
  const option3 = getByText('hotdog');
@@ -1 +1 @@
1
- {"version":3,"names":["describe","options","id","value","subtitle","divider","isSelectable","it","mockFnc","jest","fn","render","container","getByText","debug","button","querySelector","click","option1","value1","option2","value2","option3","value3","expect","toBeTruthy","mobile","select","rerender","toHaveBeenCalledWith","disabledElm","className","icon","isSeleted","innerHTML","toBe","selectedValue"],"sources":["../../../../src/components/PermissionsDropdown/PermissionsDropdown.spec.tsx"],"sourcesContent":["import React from 'react';\n\nimport { render } from '@testing-library/react';\n\nimport PermissionsDropdown from './PermissionsDropdown';\nimport { TPAComponentsProvider } from 'wix-ui-tpa';\n\ndescribe('Testing Permissions Dropdown Component', () => {\n const options = [\n {\n id: '1',\n value: 'pizza',\n subtitle: 'Pizza italiano',\n divider: false,\n isSelectable: true,\n },\n {\n id: '2',\n value: 'burger',\n subtitle: 'Cheeseburger extra',\n divider: false,\n isSelectable: true,\n },\n {\n id: '3',\n value: 'hotdog',\n subtitle: 'Hotdog mexicano',\n divider: false,\n isSelectable: false,\n },\n ];\n\n it('Desktop Renders Properly', () => {\n const mockFnc = jest.fn();\n const { container, getByText, debug } = render(\n <PermissionsDropdown\n disabled={false}\n options={options}\n value=\"value\"\n onChange={mockFnc}\n className=\"Classname-test\"\n ariaLabelledBy=\"labeltext\"\n />,\n );\n\n const button = container.querySelector('button');\n\n button?.click();\n\n const option1 = getByText('Pizza italiano');\n const value1 = getByText('pizza');\n const option2 = getByText('Cheeseburger extra');\n const value2 = getByText('burger');\n const option3 = getByText('Hotdog mexicano');\n const value3 = getByText('hotdog');\n\n expect(option1).toBeTruthy();\n expect(option2).toBeTruthy();\n expect(option3).toBeTruthy();\n\n expect(value1).toBeTruthy();\n expect(value2).toBeTruthy();\n expect(value3).toBeTruthy();\n });\n\n it('Mobile Renders Properly', () => {\n const mockFnc = jest.fn();\n const { container, getByText, debug } = render(\n <TPAComponentsProvider value={{ mobile: true }}>\n <PermissionsDropdown\n disabled={false}\n options={options}\n value=\"value\"\n onChange={mockFnc}\n className=\"Classname-test\"\n ariaLabelledBy=\"aria-label-mobile\"\n />\n </TPAComponentsProvider>,\n );\n\n const select = container.querySelector('select');\n\n select?.click();\n\n const value1 = getByText('pizza');\n\n const value2 = getByText('burger');\n\n const value3 = getByText('hotdog');\n\n expect(value1).toBeTruthy();\n expect(value2).toBeTruthy();\n expect(value3).toBeTruthy();\n });\n\n it('onChange function check', () => {\n const mockFnc = jest.fn();\n const { container, getByText, debug, rerender } = render(\n <PermissionsDropdown\n disabled={false}\n options={options}\n value=\"value\"\n onChange={mockFnc}\n className=\"Classname-test\"\n ariaLabelledBy=\"aria-label-mobile\"\n />,\n );\n\n const button = container.querySelector('button');\n\n button?.click();\n\n const option1 = getByText('pizza');\n\n option1.click();\n\n expect(mockFnc).toHaveBeenCalledWith('1');\n\n rerender(\n <PermissionsDropdown\n disabled={false}\n options={options}\n value=\"value\"\n onChange={mockFnc}\n className=\"Classname-test\"\n ariaLabelledBy=\"aria-label-mobile\"\n />,\n );\n\n button?.click();\n\n const option2 = getByText('burger');\n\n option2.click();\n expect(mockFnc).toHaveBeenCalledWith('2');\n });\n\n it('Disabled Dropdown', () => {\n const mockFnc = jest.fn();\n const { container, getByText, debug } = render(\n <PermissionsDropdown\n disabled={true}\n options={options}\n value=\"1\"\n onChange={mockFnc}\n className=\"Classname-test\"\n ariaLabelledBy=\"aria-label-mobile\"\n />,\n );\n\n const disabledElm = container.querySelector('div[class*=--isDisabled]');\n expect(disabledElm).toBeTruthy();\n });\n\n it('Classnames and icons', () => {\n const { container, debug } = render(\n <PermissionsDropdown\n disabled={true}\n value=\"2\"\n options={options}\n className=\"class-test-here\"\n ariaLabelledBy=\"aria-label-mobile\"\n />,\n );\n\n const className = container.querySelector('.class-test-here');\n\n const icon = container.querySelector('svg');\n\n // debug();\n\n expect(className).toBeTruthy();\n expect(icon).toBeTruthy();\n });\n\n it('Selected values', () => {\n const mockFnc = jest.fn();\n const { container, getByText, debug } = render(\n <PermissionsDropdown\n disabled={false}\n options={options}\n value=\"2\"\n onChange={mockFnc}\n className=\"Classname-test\"\n ariaLabelledBy=\"aria-label-mobile\"\n />,\n );\n\n const isSeleted = container.querySelector('div[class*=__selectedValue]');\n\n expect(isSeleted).toBeTruthy();\n expect(isSeleted?.innerHTML).toBe('burger');\n });\n\n it('Selectable Values', () => {\n const mockFnc = jest.fn();\n const { container, getByText, debug } = render(\n <PermissionsDropdown\n disabled={false}\n options={options}\n value=\"1\"\n onChange={mockFnc}\n className=\"Classname-test\"\n ariaLabelledBy=\"aria-label-mobile\"\n />,\n );\n\n const button = container.querySelector('button');\n\n button?.click();\n\n const option3 = getByText('hotdog');\n\n option3.click();\n\n const selectedValue = container.querySelector(\n 'div[class*=__selectedValue]',\n );\n\n expect(selectedValue?.innerHTML).toBe('pizza');\n });\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["describe","options","id","value","subtitle","divider","isSelectable","it","mockFnc","jest","fn","render","container","getByText","debug","button","querySelector","click","option1","value1","option2","value2","option3","value3","expect","toBeTruthy","mobile","select","rerender","toHaveBeenCalledWith","disabledElm","className","icon","isSeleted","innerHTML","toBe","selectedValue"],"sources":["../../../../src/components/PermissionsDropdown/PermissionsDropdown.spec.tsx"],"sourcesContent":["import React from 'react';\n\nimport { render } from '@testing-library/react';\n\nimport PermissionsDropdown from './PermissionsDropdown';\nimport { TPAComponentsProvider } from 'wix-ui-tpa';\n\ndescribe('Testing Permissions Dropdown Component', () => {\n const options = [\n {\n id: '1',\n value: 'pizza',\n subtitle: 'Pizza italiano',\n divider: false,\n isSelectable: true,\n },\n {\n id: '2',\n value: 'burger',\n subtitle: 'Cheeseburger extra',\n divider: false,\n isSelectable: true,\n },\n {\n id: '3',\n value: 'hotdog',\n subtitle: 'Hotdog mexicano',\n divider: false,\n isSelectable: false,\n },\n ];\n\n it('Desktop Renders Properly', () => {\n const mockFnc = jest.fn();\n const { container, getByText, debug } = render(\n <PermissionsDropdown\n disabled={false}\n options={options}\n value=\"value\"\n onChange={mockFnc}\n className=\"Classname-test\"\n ariaLabelledBy=\"labeltext\"\n />,\n );\n\n const button = container.querySelector('button');\n\n button?.click();\n\n const option1 = getByText('Pizza italiano');\n const value1 = getByText('pizza');\n const option2 = getByText('Cheeseburger extra');\n const value2 = getByText('burger');\n const option3 = getByText('Hotdog mexicano');\n const value3 = getByText('hotdog');\n\n expect(option1).toBeTruthy();\n expect(option2).toBeTruthy();\n expect(option3).toBeTruthy();\n\n expect(value1).toBeTruthy();\n expect(value2).toBeTruthy();\n expect(value3).toBeTruthy();\n });\n\n it('Mobile Renders Properly', () => {\n const mockFnc = jest.fn();\n const { container, getByText, debug } = render(\n <TPAComponentsProvider value={{ mobile: true }}>\n <PermissionsDropdown\n disabled={false}\n options={options}\n value=\"value\"\n onChange={mockFnc}\n className=\"Classname-test\"\n ariaLabelledBy=\"aria-label-mobile\"\n />\n </TPAComponentsProvider>,\n );\n\n const select = container.querySelector('select');\n\n select?.click();\n\n const value1 = getByText('pizza');\n\n const value2 = getByText('burger');\n\n const value3 = getByText('hotdog');\n\n expect(value1).toBeTruthy();\n expect(value2).toBeTruthy();\n expect(value3).toBeTruthy();\n });\n\n it('onChange function check', () => {\n const mockFnc = jest.fn();\n const { container, getByText, debug, rerender } = render(\n <PermissionsDropdown\n disabled={false}\n options={options}\n value=\"value\"\n onChange={mockFnc}\n className=\"Classname-test\"\n ariaLabelledBy=\"aria-label-mobile\"\n />,\n );\n\n const button = container.querySelector('button');\n\n button?.click();\n\n const option1 = getByText('pizza');\n\n option1.click();\n\n expect(mockFnc).toHaveBeenCalledWith('1');\n\n rerender(\n <PermissionsDropdown\n disabled={false}\n options={options}\n value=\"value\"\n onChange={mockFnc}\n className=\"Classname-test\"\n ariaLabelledBy=\"aria-label-mobile\"\n />,\n );\n\n button?.click();\n\n const option2 = getByText('burger');\n\n option2.click();\n expect(mockFnc).toHaveBeenCalledWith('2');\n });\n\n it('Disabled Dropdown', () => {\n const mockFnc = jest.fn();\n const { container, getByText, debug } = render(\n <PermissionsDropdown\n disabled={true}\n options={options}\n value=\"1\"\n onChange={mockFnc}\n className=\"Classname-test\"\n ariaLabelledBy=\"aria-label-mobile\"\n />,\n );\n\n const disabledElm = container.querySelector('div[class*=--isDisabled]');\n expect(disabledElm).toBeTruthy();\n });\n\n it('Classnames and icons', () => {\n const { container, debug } = render(\n <PermissionsDropdown\n disabled={true}\n value=\"2\"\n options={options}\n className=\"class-test-here\"\n ariaLabelledBy=\"aria-label-mobile\"\n />,\n );\n\n const className = container.querySelector('.class-test-here');\n\n const icon = container.querySelector('svg');\n\n // debug();\n\n expect(className).toBeTruthy();\n expect(icon).toBeTruthy();\n });\n\n it('Selected values', () => {\n const mockFnc = jest.fn();\n const { container, getByText, debug } = render(\n <PermissionsDropdown\n disabled={false}\n options={options}\n value=\"2\"\n onChange={mockFnc}\n className=\"Classname-test\"\n ariaLabelledBy=\"aria-label-mobile\"\n />,\n );\n\n const isSeleted = container.querySelector('div[class*=__selectedValue]');\n\n expect(isSeleted).toBeTruthy();\n expect(isSeleted?.innerHTML).toBe('burger');\n });\n\n it('Selectable Values', () => {\n const mockFnc = jest.fn();\n const { container, getByText, debug } = render(\n <PermissionsDropdown\n disabled={false}\n options={options}\n value=\"1\"\n onChange={mockFnc}\n className=\"Classname-test\"\n ariaLabelledBy=\"aria-label-mobile\"\n />,\n );\n\n const button = container.querySelector('button');\n\n button?.click();\n\n const option3 = getByText('hotdog');\n\n option3.click();\n\n const selectedValue = container.querySelector(\n 'div[class*=__selectedValue]',\n );\n\n expect(selectedValue?.innerHTML).toBe('pizza');\n });\n});\n"],"mappings":"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"}