box-ui-elements 15.0.0-beta.21 → 15.0.0-beta.25

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 (102) hide show
  1. package/dist/explorer.css +1 -1
  2. package/dist/explorer.js +12 -12
  3. package/dist/openwith.js +7 -7
  4. package/dist/picker.js +7 -7
  5. package/dist/preview.css +1 -1
  6. package/dist/preview.js +11 -11
  7. package/dist/sharing.css +1 -1
  8. package/dist/sharing.js +15 -15
  9. package/dist/sidebar.css +1 -1
  10. package/dist/sidebar.js +11 -11
  11. package/dist/uploader.js +6 -6
  12. package/es/components/date-picker/AccessiblePikaday.js +8 -0
  13. package/es/components/date-picker/AccessiblePikaday.js.map +1 -1
  14. package/es/components/date-picker/DatePicker.js +54 -26
  15. package/es/components/date-picker/DatePicker.js.map +1 -1
  16. package/es/components/date-picker/DatePicker.scss +12 -16
  17. package/es/components/date-picker/_pikaday.scss +8 -1
  18. package/es/components/flyout/Flyout.js +1 -1
  19. package/es/components/flyout/Flyout.js.flow +1 -1
  20. package/es/components/flyout/Flyout.js.map +1 -1
  21. package/es/components/media-query/constants.js +26 -0
  22. package/es/components/media-query/constants.js.flow +31 -0
  23. package/es/components/media-query/constants.js.map +1 -0
  24. package/es/components/media-query/index.js +3 -0
  25. package/es/components/media-query/index.js.flow +4 -0
  26. package/es/components/media-query/index.js.map +1 -0
  27. package/es/components/media-query/stories/MediaQuery.stories.js +37 -0
  28. package/es/components/media-query/stories/MediaQuery.stories.js.flow +80 -0
  29. package/es/components/media-query/stories/MediaQuery.stories.js.map +1 -0
  30. package/es/components/media-query/types.js +2 -0
  31. package/es/components/media-query/types.js.flow +29 -0
  32. package/es/components/media-query/types.js.map +1 -0
  33. package/es/components/media-query/useMediaQuery.js +91 -0
  34. package/es/components/media-query/useMediaQuery.js.flow +97 -0
  35. package/es/components/media-query/useMediaQuery.js.map +1 -0
  36. package/es/components/media-query/withMediaQuery.js +21 -0
  37. package/es/components/media-query/withMediaQuery.js.flow +23 -0
  38. package/es/components/media-query/withMediaQuery.js.map +1 -0
  39. package/es/features/classification/constants.js +2 -1
  40. package/es/features/classification/constants.js.flow +2 -0
  41. package/es/features/classification/constants.js.map +1 -1
  42. package/es/features/classification/flowTypes.js.flow +5 -0
  43. package/es/features/classification/flowTypes.js.map +1 -1
  44. package/es/features/classification/security-controls/SecurityControls.js +1 -2
  45. package/es/features/classification/security-controls/SecurityControls.js.flow +1 -2
  46. package/es/features/classification/security-controls/SecurityControls.js.map +1 -1
  47. package/es/features/classification/security-controls/messages.js +8 -0
  48. package/es/features/classification/security-controls/messages.js.flow +10 -0
  49. package/es/features/classification/security-controls/messages.js.map +1 -1
  50. package/es/features/classification/security-controls/utils.js +45 -35
  51. package/es/features/classification/security-controls/utils.js.flow +32 -27
  52. package/es/features/classification/security-controls/utils.js.map +1 -1
  53. package/i18n/bn-IN.js +2 -0
  54. package/i18n/da-DK.js +2 -0
  55. package/i18n/de-DE.js +2 -0
  56. package/i18n/en-AU.js +2 -0
  57. package/i18n/en-CA.js +2 -0
  58. package/i18n/en-GB.js +2 -0
  59. package/i18n/en-US.js +2 -0
  60. package/i18n/en-US.properties +4 -0
  61. package/i18n/en-x-pseudo.js +2 -0
  62. package/i18n/es-419.js +2 -0
  63. package/i18n/es-ES.js +2 -0
  64. package/i18n/fi-FI.js +2 -0
  65. package/i18n/fr-CA.js +2 -0
  66. package/i18n/fr-FR.js +2 -0
  67. package/i18n/hi-IN.js +2 -0
  68. package/i18n/it-IT.js +2 -0
  69. package/i18n/ja-JP.js +2 -0
  70. package/i18n/ko-KR.js +2 -0
  71. package/i18n/nb-NO.js +2 -0
  72. package/i18n/nl-NL.js +2 -0
  73. package/i18n/pl-PL.js +2 -0
  74. package/i18n/pt-BR.js +2 -0
  75. package/i18n/ru-RU.js +2 -0
  76. package/i18n/sv-SE.js +2 -0
  77. package/i18n/tr-TR.js +2 -0
  78. package/i18n/zh-CN.js +2 -0
  79. package/i18n/zh-TW.js +2 -0
  80. package/package.json +3 -1
  81. package/src/__mocks__/pikaday.js +1 -0
  82. package/src/components/date-picker/AccessiblePikaday.ts +6 -0
  83. package/src/components/date-picker/DatePicker.scss +12 -16
  84. package/src/components/date-picker/DatePicker.tsx +46 -24
  85. package/src/components/date-picker/__tests__/DatePicker.test.tsx +41 -0
  86. package/src/components/date-picker/_pikaday.scss +8 -1
  87. package/src/components/flyout/Flyout.js +1 -1
  88. package/src/components/media-query/__tests__/useMediaQuery.test.js +48 -0
  89. package/src/components/media-query/__tests__/withMediaQuery.test.js +29 -0
  90. package/src/components/media-query/constants.js +31 -0
  91. package/src/components/media-query/index.js +4 -0
  92. package/src/components/media-query/stories/MediaQuery.stories.js +80 -0
  93. package/src/components/media-query/stories/MediaQuery.stories.md +29 -0
  94. package/src/components/media-query/types.js +29 -0
  95. package/src/components/media-query/useMediaQuery.js +97 -0
  96. package/src/components/media-query/withMediaQuery.js +23 -0
  97. package/src/features/classification/constants.js +2 -0
  98. package/src/features/classification/flowTypes.js +5 -0
  99. package/src/features/classification/security-controls/SecurityControls.js +1 -2
  100. package/src/features/classification/security-controls/__tests__/utils.test.js +33 -18
  101. package/src/features/classification/security-controls/messages.js +10 -0
  102. package/src/features/classification/security-controls/utils.js +32 -27
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/media-query/withMediaQuery.js"],"names":["React","useMediaQuery","withMediaQuery","WrappedComponent","children","rest","mediaProps"],"mappings":";;;;;;AAEA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,aAAP,MAA0B,iBAA1B;;AAOA,SAASC,cAAT,CAA2CC,gBAA3C,EAAiH;AAC7G,SAAO,gBAAkC;AAAA,QAA/BC,QAA+B,QAA/BA,QAA+B;AAAA,QAAlBC,IAAkB;;AACrC,QAAMC,UAAsB,GAAGL,aAAa,EAA5C;AAEA,WACI,oBAAC,gBAAD,eAAsBI,IAAtB,EAAgCC,UAAhC,GACKF,QADL,CADJ;AAKH,GARD;AASH;;AAED,eAAeF,cAAf","sourcesContent":["// @flow\n\nimport * as React from 'react';\nimport useMediaQuery from './useMediaQuery';\nimport type { MediaShape } from './types';\n\ntype PropsShape = {\n children: React.Node,\n};\n\nfunction withMediaQuery<Props: PropsShape>(WrappedComponent: React.ComponentType<any>): React.ComponentType<any> {\n return ({ children, ...rest }: Props) => {\n const mediaProps: MediaShape = useMediaQuery();\n\n return (\n <WrappedComponent {...rest} {...mediaProps}>\n {children}\n </WrappedComponent>\n );\n };\n}\n\nexport default withMediaQuery;\n"],"file":"withMediaQuery.js"}
@@ -9,7 +9,8 @@ var ACCESS_POLICY_RESTRICTION = {
9
9
  DOWNLOAD: 'download',
10
10
  EXTERNAL_COLLAB: 'externalCollab',
11
11
  APP: 'app',
12
- FTP: 'ftp'
12
+ FTP: 'ftp',
13
+ WATERMARK: 'watermark'
13
14
  };
14
15
  var DOWNLOAD_CONTROL = {
15
16
  DESKTOP: 'desktop',
@@ -17,12 +17,14 @@ const ACCESS_POLICY_RESTRICTION: {
17
17
  EXTERNAL_COLLAB: 'externalCollab',
18
18
  FTP: 'ftp',
19
19
  SHARED_LINK: 'sharedLink',
20
+ WATERMARK: 'watermark',
20
21
  } = {
21
22
  SHARED_LINK: 'sharedLink',
22
23
  DOWNLOAD: 'download',
23
24
  EXTERNAL_COLLAB: 'externalCollab',
24
25
  APP: 'app',
25
26
  FTP: 'ftp',
27
+ WATERMARK: 'watermark',
26
28
  };
27
29
 
28
30
  const DOWNLOAD_CONTROL: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/classification/constants.js"],"names":["DEFAULT_MAX_APP_COUNT","SECURITY_CONTROLS_FORMAT","FULL","SHORT","SHORT_WITH_BTN","ACCESS_POLICY_RESTRICTION","SHARED_LINK","DOWNLOAD","EXTERNAL_COLLAB","APP","FTP","DOWNLOAD_CONTROL","DESKTOP","MOBILE","WEB","LIST_ACCESS_LEVEL","BLACKLIST","BLOCK","WHITELIST","MANAGED_USERS_ACCESS_LEVEL","OWNERS_AND_COOWNERS","OWNERS_COOWNERS_AND_EDITORS","SHARED_LINK_ACCESS_LEVEL","COLLAB_AND_COMPANY_ONLY","COLLAB_ONLY","PUBLIC","APP_RESTRICTION_MESSAGE_TYPE","DEFAULT","WITH_APP_LIST","WITH_OVERFLOWN_APP_LIST","CLASSIFICATION_COLOR_ID_0","CLASSIFICATION_COLOR_ID_1","CLASSIFICATION_COLOR_ID_2","CLASSIFICATION_COLOR_ID_3","CLASSIFICATION_COLOR_ID_4","CLASSIFICATION_COLOR_ID_5","CLASSIFICATION_COLOR_ID_6","CLASSIFICATION_COLOR_ID_7","DEFAULT_CLASSIFICATION_COLOR_ID"],"mappings":"AACA,IAAMA,qBAAqB,GAAG,CAA9B;AAEA,IAAMC,wBAIL,GAAG;AACAC,EAAAA,IAAI,EAAE,MADN;AAEAC,EAAAA,KAAK,EAAE,OAFP;AAGAC,EAAAA,cAAc,EAAE;AAHhB,CAJJ;AAUA,IAAMC,yBAML,GAAG;AACAC,EAAAA,WAAW,EAAE,YADb;AAEAC,EAAAA,QAAQ,EAAE,UAFV;AAGAC,EAAAA,eAAe,EAAE,gBAHjB;AAIAC,EAAAA,GAAG,EAAE,KAJL;AAKAC,EAAAA,GAAG,EAAE;AALL,CANJ;AAcA,IAAMC,gBAKL,GAAG;AACAC,EAAAA,OAAO,EAAE,SADT;AAEAF,EAAAA,GAAG,EAAE,KAFL;AAGAG,EAAAA,MAAM,EAAE,QAHR;AAIAC,EAAAA,GAAG,EAAE;AAJL,CALJ;AAYA,IAAMC,iBAIL,GAAG;AACAC,EAAAA,SAAS,EAAE,WADX;AAEAC,EAAAA,KAAK,EAAE,OAFP;AAGAC,EAAAA,SAAS,EAAE;AAHX,CAJJ;AAUA,IAAMC,0BAGL,GAAG;AACAC,EAAAA,mBAAmB,EAAE,gBADrB;AAEAC,EAAAA,2BAA2B,EAAE;AAF7B,CAHJ;AAQA,IAAMC,wBAIL,GAAG;AACAC,EAAAA,uBAAuB,EAAE,sBADzB;AAEAC,EAAAA,WAAW,EAAE,YAFb;AAGAC,EAAAA,MAAM,EAAE;AAHR,CAJJ;AAUA,IAAMC,4BAA4B,GAAG;AACjCC,EAAAA,OAAO,EAAE,SADwB;AAEjCC,EAAAA,aAAa,EAAE,aAFkB;AAGjCC,EAAAA,uBAAuB,EAAE;AAHQ,CAArC;AAMA,IAAMC,yBAAyB,GAAG,CAAlC;AACA,IAAMC,yBAAyB,GAAG,CAAlC;AACA,IAAMC,yBAAyB,GAAG,CAAlC;AACA,IAAMC,yBAAyB,GAAG,CAAlC;AACA,IAAMC,yBAAyB,GAAG,CAAlC;AACA,IAAMC,yBAAyB,GAAG,CAAlC;AACA,IAAMC,yBAAyB,GAAG,CAAlC;AACA,IAAMC,yBAAyB,GAAG,CAAlC;AAEA,IAAMC,+BAA+B,GAAGR,yBAAxC;AAEA,SACIzB,yBADJ,EAEIqB,4BAFJ,EAGII,yBAHJ,EAIIC,yBAJJ,EAKIC,yBALJ,EAMIC,yBANJ,EAOIC,yBAPJ,EAQIC,yBARJ,EASIC,yBATJ,EAUIC,yBAVJ,EAWIC,+BAXJ,EAYItC,qBAZJ,EAaIW,gBAbJ,EAcII,iBAdJ,EAeII,0BAfJ,EAgBIlB,wBAhBJ,EAiBIqB,wBAjBJ","sourcesContent":["// @flow\nconst DEFAULT_MAX_APP_COUNT = 3;\n\nconst SECURITY_CONTROLS_FORMAT: {\n FULL: 'full',\n SHORT: 'short',\n SHORT_WITH_BTN: 'shortWithBtn',\n} = {\n FULL: 'full',\n SHORT: 'short',\n SHORT_WITH_BTN: 'shortWithBtn',\n};\n\nconst ACCESS_POLICY_RESTRICTION: {\n APP: 'app',\n DOWNLOAD: 'download',\n EXTERNAL_COLLAB: 'externalCollab',\n FTP: 'ftp',\n SHARED_LINK: 'sharedLink',\n} = {\n SHARED_LINK: 'sharedLink',\n DOWNLOAD: 'download',\n EXTERNAL_COLLAB: 'externalCollab',\n APP: 'app',\n FTP: 'ftp',\n};\n\nconst DOWNLOAD_CONTROL: {\n DESKTOP: 'desktop',\n FTP: 'ftp',\n MOBILE: 'mobile',\n WEB: 'web',\n} = {\n DESKTOP: 'desktop',\n FTP: 'ftp',\n MOBILE: 'mobile',\n WEB: 'web',\n};\n\nconst LIST_ACCESS_LEVEL: {\n BLACKLIST: 'blacklist',\n BLOCK: 'block',\n WHITELIST: 'whitelist',\n} = {\n BLACKLIST: 'blacklist',\n BLOCK: 'block',\n WHITELIST: 'whitelist',\n};\n\nconst MANAGED_USERS_ACCESS_LEVEL: {\n OWNERS_AND_COOWNERS: 'ownersCoOwners',\n OWNERS_COOWNERS_AND_EDITORS: 'ownersCoOwnersEditors',\n} = {\n OWNERS_AND_COOWNERS: 'ownersCoOwners',\n OWNERS_COOWNERS_AND_EDITORS: 'ownersCoOwnersEditors',\n};\n\nconst SHARED_LINK_ACCESS_LEVEL: {\n COLLAB_AND_COMPANY_ONLY: 'companyAndCollabOnly',\n COLLAB_ONLY: 'collabOnly',\n PUBLIC: 'public',\n} = {\n COLLAB_AND_COMPANY_ONLY: 'companyAndCollabOnly',\n COLLAB_ONLY: 'collabOnly',\n PUBLIC: 'public',\n};\n\nconst APP_RESTRICTION_MESSAGE_TYPE = {\n DEFAULT: 'default',\n WITH_APP_LIST: 'withAppList',\n WITH_OVERFLOWN_APP_LIST: 'withOverflownAppList',\n};\n\nconst CLASSIFICATION_COLOR_ID_0 = 0;\nconst CLASSIFICATION_COLOR_ID_1 = 1;\nconst CLASSIFICATION_COLOR_ID_2 = 2;\nconst CLASSIFICATION_COLOR_ID_3 = 3;\nconst CLASSIFICATION_COLOR_ID_4 = 4;\nconst CLASSIFICATION_COLOR_ID_5 = 5;\nconst CLASSIFICATION_COLOR_ID_6 = 6;\nconst CLASSIFICATION_COLOR_ID_7 = 7;\n\nconst DEFAULT_CLASSIFICATION_COLOR_ID = CLASSIFICATION_COLOR_ID_0;\n\nexport {\n ACCESS_POLICY_RESTRICTION,\n APP_RESTRICTION_MESSAGE_TYPE,\n CLASSIFICATION_COLOR_ID_0,\n CLASSIFICATION_COLOR_ID_1,\n CLASSIFICATION_COLOR_ID_2,\n CLASSIFICATION_COLOR_ID_3,\n CLASSIFICATION_COLOR_ID_4,\n CLASSIFICATION_COLOR_ID_5,\n CLASSIFICATION_COLOR_ID_6,\n CLASSIFICATION_COLOR_ID_7,\n DEFAULT_CLASSIFICATION_COLOR_ID,\n DEFAULT_MAX_APP_COUNT,\n DOWNLOAD_CONTROL,\n LIST_ACCESS_LEVEL,\n MANAGED_USERS_ACCESS_LEVEL,\n SECURITY_CONTROLS_FORMAT,\n SHARED_LINK_ACCESS_LEVEL,\n};\n"],"file":"constants.js"}
1
+ {"version":3,"sources":["../../../src/features/classification/constants.js"],"names":["DEFAULT_MAX_APP_COUNT","SECURITY_CONTROLS_FORMAT","FULL","SHORT","SHORT_WITH_BTN","ACCESS_POLICY_RESTRICTION","SHARED_LINK","DOWNLOAD","EXTERNAL_COLLAB","APP","FTP","WATERMARK","DOWNLOAD_CONTROL","DESKTOP","MOBILE","WEB","LIST_ACCESS_LEVEL","BLACKLIST","BLOCK","WHITELIST","MANAGED_USERS_ACCESS_LEVEL","OWNERS_AND_COOWNERS","OWNERS_COOWNERS_AND_EDITORS","SHARED_LINK_ACCESS_LEVEL","COLLAB_AND_COMPANY_ONLY","COLLAB_ONLY","PUBLIC","APP_RESTRICTION_MESSAGE_TYPE","DEFAULT","WITH_APP_LIST","WITH_OVERFLOWN_APP_LIST","CLASSIFICATION_COLOR_ID_0","CLASSIFICATION_COLOR_ID_1","CLASSIFICATION_COLOR_ID_2","CLASSIFICATION_COLOR_ID_3","CLASSIFICATION_COLOR_ID_4","CLASSIFICATION_COLOR_ID_5","CLASSIFICATION_COLOR_ID_6","CLASSIFICATION_COLOR_ID_7","DEFAULT_CLASSIFICATION_COLOR_ID"],"mappings":"AACA,IAAMA,qBAAqB,GAAG,CAA9B;AAEA,IAAMC,wBAIL,GAAG;AACAC,EAAAA,IAAI,EAAE,MADN;AAEAC,EAAAA,KAAK,EAAE,OAFP;AAGAC,EAAAA,cAAc,EAAE;AAHhB,CAJJ;AAUA,IAAMC,yBAOL,GAAG;AACAC,EAAAA,WAAW,EAAE,YADb;AAEAC,EAAAA,QAAQ,EAAE,UAFV;AAGAC,EAAAA,eAAe,EAAE,gBAHjB;AAIAC,EAAAA,GAAG,EAAE,KAJL;AAKAC,EAAAA,GAAG,EAAE,KALL;AAMAC,EAAAA,SAAS,EAAE;AANX,CAPJ;AAgBA,IAAMC,gBAKL,GAAG;AACAC,EAAAA,OAAO,EAAE,SADT;AAEAH,EAAAA,GAAG,EAAE,KAFL;AAGAI,EAAAA,MAAM,EAAE,QAHR;AAIAC,EAAAA,GAAG,EAAE;AAJL,CALJ;AAYA,IAAMC,iBAIL,GAAG;AACAC,EAAAA,SAAS,EAAE,WADX;AAEAC,EAAAA,KAAK,EAAE,OAFP;AAGAC,EAAAA,SAAS,EAAE;AAHX,CAJJ;AAUA,IAAMC,0BAGL,GAAG;AACAC,EAAAA,mBAAmB,EAAE,gBADrB;AAEAC,EAAAA,2BAA2B,EAAE;AAF7B,CAHJ;AAQA,IAAMC,wBAIL,GAAG;AACAC,EAAAA,uBAAuB,EAAE,sBADzB;AAEAC,EAAAA,WAAW,EAAE,YAFb;AAGAC,EAAAA,MAAM,EAAE;AAHR,CAJJ;AAUA,IAAMC,4BAA4B,GAAG;AACjCC,EAAAA,OAAO,EAAE,SADwB;AAEjCC,EAAAA,aAAa,EAAE,aAFkB;AAGjCC,EAAAA,uBAAuB,EAAE;AAHQ,CAArC;AAMA,IAAMC,yBAAyB,GAAG,CAAlC;AACA,IAAMC,yBAAyB,GAAG,CAAlC;AACA,IAAMC,yBAAyB,GAAG,CAAlC;AACA,IAAMC,yBAAyB,GAAG,CAAlC;AACA,IAAMC,yBAAyB,GAAG,CAAlC;AACA,IAAMC,yBAAyB,GAAG,CAAlC;AACA,IAAMC,yBAAyB,GAAG,CAAlC;AACA,IAAMC,yBAAyB,GAAG,CAAlC;AAEA,IAAMC,+BAA+B,GAAGR,yBAAxC;AAEA,SACI1B,yBADJ,EAEIsB,4BAFJ,EAGII,yBAHJ,EAIIC,yBAJJ,EAKIC,yBALJ,EAMIC,yBANJ,EAOIC,yBAPJ,EAQIC,yBARJ,EASIC,yBATJ,EAUIC,yBAVJ,EAWIC,+BAXJ,EAYIvC,qBAZJ,EAaIY,gBAbJ,EAcII,iBAdJ,EAeII,0BAfJ,EAgBInB,wBAhBJ,EAiBIsB,wBAjBJ","sourcesContent":["// @flow\nconst DEFAULT_MAX_APP_COUNT = 3;\n\nconst SECURITY_CONTROLS_FORMAT: {\n FULL: 'full',\n SHORT: 'short',\n SHORT_WITH_BTN: 'shortWithBtn',\n} = {\n FULL: 'full',\n SHORT: 'short',\n SHORT_WITH_BTN: 'shortWithBtn',\n};\n\nconst ACCESS_POLICY_RESTRICTION: {\n APP: 'app',\n DOWNLOAD: 'download',\n EXTERNAL_COLLAB: 'externalCollab',\n FTP: 'ftp',\n SHARED_LINK: 'sharedLink',\n WATERMARK: 'watermark',\n} = {\n SHARED_LINK: 'sharedLink',\n DOWNLOAD: 'download',\n EXTERNAL_COLLAB: 'externalCollab',\n APP: 'app',\n FTP: 'ftp',\n WATERMARK: 'watermark',\n};\n\nconst DOWNLOAD_CONTROL: {\n DESKTOP: 'desktop',\n FTP: 'ftp',\n MOBILE: 'mobile',\n WEB: 'web',\n} = {\n DESKTOP: 'desktop',\n FTP: 'ftp',\n MOBILE: 'mobile',\n WEB: 'web',\n};\n\nconst LIST_ACCESS_LEVEL: {\n BLACKLIST: 'blacklist',\n BLOCK: 'block',\n WHITELIST: 'whitelist',\n} = {\n BLACKLIST: 'blacklist',\n BLOCK: 'block',\n WHITELIST: 'whitelist',\n};\n\nconst MANAGED_USERS_ACCESS_LEVEL: {\n OWNERS_AND_COOWNERS: 'ownersCoOwners',\n OWNERS_COOWNERS_AND_EDITORS: 'ownersCoOwnersEditors',\n} = {\n OWNERS_AND_COOWNERS: 'ownersCoOwners',\n OWNERS_COOWNERS_AND_EDITORS: 'ownersCoOwnersEditors',\n};\n\nconst SHARED_LINK_ACCESS_LEVEL: {\n COLLAB_AND_COMPANY_ONLY: 'companyAndCollabOnly',\n COLLAB_ONLY: 'collabOnly',\n PUBLIC: 'public',\n} = {\n COLLAB_AND_COMPANY_ONLY: 'companyAndCollabOnly',\n COLLAB_ONLY: 'collabOnly',\n PUBLIC: 'public',\n};\n\nconst APP_RESTRICTION_MESSAGE_TYPE = {\n DEFAULT: 'default',\n WITH_APP_LIST: 'withAppList',\n WITH_OVERFLOWN_APP_LIST: 'withOverflownAppList',\n};\n\nconst CLASSIFICATION_COLOR_ID_0 = 0;\nconst CLASSIFICATION_COLOR_ID_1 = 1;\nconst CLASSIFICATION_COLOR_ID_2 = 2;\nconst CLASSIFICATION_COLOR_ID_3 = 3;\nconst CLASSIFICATION_COLOR_ID_4 = 4;\nconst CLASSIFICATION_COLOR_ID_5 = 5;\nconst CLASSIFICATION_COLOR_ID_6 = 6;\nconst CLASSIFICATION_COLOR_ID_7 = 7;\n\nconst DEFAULT_CLASSIFICATION_COLOR_ID = CLASSIFICATION_COLOR_ID_0;\n\nexport {\n ACCESS_POLICY_RESTRICTION,\n APP_RESTRICTION_MESSAGE_TYPE,\n CLASSIFICATION_COLOR_ID_0,\n CLASSIFICATION_COLOR_ID_1,\n CLASSIFICATION_COLOR_ID_2,\n CLASSIFICATION_COLOR_ID_3,\n CLASSIFICATION_COLOR_ID_4,\n CLASSIFICATION_COLOR_ID_5,\n CLASSIFICATION_COLOR_ID_6,\n CLASSIFICATION_COLOR_ID_7,\n DEFAULT_CLASSIFICATION_COLOR_ID,\n DEFAULT_MAX_APP_COUNT,\n DOWNLOAD_CONTROL,\n LIST_ACCESS_LEVEL,\n MANAGED_USERS_ACCESS_LEVEL,\n SECURITY_CONTROLS_FORMAT,\n SHARED_LINK_ACCESS_LEVEL,\n};\n"],"file":"constants.js"}
@@ -44,11 +44,16 @@ type SharedLinkRestrictions = {
44
44
  accessLevel: SharedLinkAccessLevel,
45
45
  };
46
46
 
47
+ type watermarkApplied = {
48
+ enabled?: boolean,
49
+ };
50
+
47
51
  type Controls = {
48
52
  app?: ApplicationRestriction,
49
53
  download?: DownloadRestrictions,
50
54
  externalCollab?: ExternalCollabRestriction,
51
55
  sharedLink?: SharedLinkRestrictions,
56
+ watermark?: watermarkApplied,
52
57
  };
53
58
 
54
59
  type ControlsFormat = $Values<typeof SECURITY_CONTROLS_FORMAT>;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/features/classification/flowTypes.js"],"names":["LIST_ACCESS_LEVEL","MANAGED_USERS_ACCESS_LEVEL","SECURITY_CONTROLS_FORMAT","SHARED_LINK_ACCESS_LEVEL"],"mappings":"AAGA,SACIA,iBADJ,EAEIC,0BAFJ,EAGIC,wBAHJ,EAIIC,wBAJJ,QAKO,aALP","sourcesContent":["// @flow\nimport type { MessageDescriptor } from 'react-intl';\n\nimport {\n LIST_ACCESS_LEVEL,\n MANAGED_USERS_ACCESS_LEVEL,\n SECURITY_CONTROLS_FORMAT,\n SHARED_LINK_ACCESS_LEVEL,\n} from './constants';\n\ntype DownloadManagedUserAccessLevel = $Values<typeof MANAGED_USERS_ACCESS_LEVEL> | null;\n\ntype SharedLinkAccessLevel = $Values<typeof SHARED_LINK_ACCESS_LEVEL> | null;\n\ntype ExternalCollabAccessLevel = $Values<typeof LIST_ACCESS_LEVEL> | null;\n\ntype ApplicationAccessLevel = $Values<typeof LIST_ACCESS_LEVEL> | null;\n\ntype App = {\n displayText: string,\n};\n\ntype ExternalCollabRestriction = {\n accessLevel?: ExternalCollabAccessLevel,\n};\n\ntype ApplicationRestriction = {\n accessLevel?: ApplicationAccessLevel,\n apps: Array<App>,\n};\n\ntype DownloadRestriction = {\n restrictExternalUsers?: boolean,\n restrictManagedUsers?: DownloadManagedUserAccessLevel,\n};\n\ntype DownloadRestrictions = {\n desktop?: DownloadRestriction,\n mobile?: DownloadRestriction,\n web?: DownloadRestriction,\n};\n\ntype SharedLinkRestrictions = {\n accessLevel: SharedLinkAccessLevel,\n};\n\ntype Controls = {\n app?: ApplicationRestriction,\n download?: DownloadRestrictions,\n externalCollab?: ExternalCollabRestriction,\n sharedLink?: SharedLinkRestrictions,\n};\n\ntype ControlsFormat = $Values<typeof SECURITY_CONTROLS_FORMAT>;\n\ntype MessageItem = {\n message: MessageDescriptor,\n tooltipMessage?: MessageDescriptor,\n};\n\nexport type {\n ApplicationRestriction,\n Controls,\n ControlsFormat,\n DownloadRestrictions,\n ExternalCollabRestriction,\n MessageItem,\n SharedLinkRestrictions,\n};\n"],"file":"flowTypes.js"}
1
+ {"version":3,"sources":["../../../src/features/classification/flowTypes.js"],"names":["LIST_ACCESS_LEVEL","MANAGED_USERS_ACCESS_LEVEL","SECURITY_CONTROLS_FORMAT","SHARED_LINK_ACCESS_LEVEL"],"mappings":"AAGA,SACIA,iBADJ,EAEIC,0BAFJ,EAGIC,wBAHJ,EAIIC,wBAJJ,QAKO,aALP","sourcesContent":["// @flow\nimport type { MessageDescriptor } from 'react-intl';\n\nimport {\n LIST_ACCESS_LEVEL,\n MANAGED_USERS_ACCESS_LEVEL,\n SECURITY_CONTROLS_FORMAT,\n SHARED_LINK_ACCESS_LEVEL,\n} from './constants';\n\ntype DownloadManagedUserAccessLevel = $Values<typeof MANAGED_USERS_ACCESS_LEVEL> | null;\n\ntype SharedLinkAccessLevel = $Values<typeof SHARED_LINK_ACCESS_LEVEL> | null;\n\ntype ExternalCollabAccessLevel = $Values<typeof LIST_ACCESS_LEVEL> | null;\n\ntype ApplicationAccessLevel = $Values<typeof LIST_ACCESS_LEVEL> | null;\n\ntype App = {\n displayText: string,\n};\n\ntype ExternalCollabRestriction = {\n accessLevel?: ExternalCollabAccessLevel,\n};\n\ntype ApplicationRestriction = {\n accessLevel?: ApplicationAccessLevel,\n apps: Array<App>,\n};\n\ntype DownloadRestriction = {\n restrictExternalUsers?: boolean,\n restrictManagedUsers?: DownloadManagedUserAccessLevel,\n};\n\ntype DownloadRestrictions = {\n desktop?: DownloadRestriction,\n mobile?: DownloadRestriction,\n web?: DownloadRestriction,\n};\n\ntype SharedLinkRestrictions = {\n accessLevel: SharedLinkAccessLevel,\n};\n\ntype watermarkApplied = {\n enabled?: boolean,\n};\n\ntype Controls = {\n app?: ApplicationRestriction,\n download?: DownloadRestrictions,\n externalCollab?: ExternalCollabRestriction,\n sharedLink?: SharedLinkRestrictions,\n watermark?: watermarkApplied,\n};\n\ntype ControlsFormat = $Values<typeof SECURITY_CONTROLS_FORMAT>;\n\ntype MessageItem = {\n message: MessageDescriptor,\n tooltipMessage?: MessageDescriptor,\n};\n\nexport type {\n ApplicationRestriction,\n Controls,\n ControlsFormat,\n DownloadRestrictions,\n ExternalCollabRestriction,\n MessageItem,\n SharedLinkRestrictions,\n};\n"],"file":"flowTypes.js"}
@@ -87,8 +87,7 @@ function (_React$Component) {
87
87
  if (controlsFormat === FULL) {
88
88
  items = getFullSecurityControlsMessages(controls, maxAppCount);
89
89
  } else {
90
- var shortMessage = getShortSecurityControlsMessage(controls);
91
- items = shortMessage ? [shortMessage] : [];
90
+ items = getShortSecurityControlsMessage(controls);
92
91
 
93
92
  if (items.length && controlsFormat === SHORT_WITH_BTN) {
94
93
  modalItems = getFullSecurityControlsMessages(controls, maxAppCount);
@@ -67,8 +67,7 @@ class SecurityControls extends React.Component<Props, State> {
67
67
  if (controlsFormat === FULL) {
68
68
  items = getFullSecurityControlsMessages(controls, maxAppCount);
69
69
  } else {
70
- const shortMessage = getShortSecurityControlsMessage(controls);
71
- items = shortMessage ? [shortMessage] : [];
70
+ items = getShortSecurityControlsMessage(controls);
72
71
 
73
72
  if (items.length && controlsFormat === SHORT_WITH_BTN) {
74
73
  modalItems = getFullSecurityControlsMessages(controls, maxAppCount);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/classification/security-controls/SecurityControls.js"],"names":["React","FormattedMessage","DEFAULT_MAX_APP_COUNT","SECURITY_CONTROLS_FORMAT","getShortSecurityControlsMessage","getFullSecurityControlsMessages","messages","PlainButton","Label","SecurityControlsItem","SecurityControlsModal","FULL","SHORT","SHORT_WITH_BTN","SecurityControls","isSecurityControlsModalOpen","setState","props","classificationColor","classificationName","controls","controlsFormat","definition","itemName","maxAppCount","shouldRenderLabel","items","modalItems","shortMessage","length","state","shouldShowSecurityControlsModal","itemsList","map","message","tooltipMessage","id","securityControlsLabel","openModal","viewAll","closeModal","Component"],"mappings":"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","sourcesContent":["// @flow\nimport * as React from 'react';\nimport { FormattedMessage } from 'react-intl';\n\nimport { DEFAULT_MAX_APP_COUNT, SECURITY_CONTROLS_FORMAT } from '../constants';\nimport { getShortSecurityControlsMessage, getFullSecurityControlsMessages } from './utils';\nimport messages from './messages';\nimport PlainButton from '../../../components/plain-button';\nimport Label from '../../../components/label/Label';\nimport SecurityControlsItem from './SecurityControlsItem';\nimport SecurityControlsModal from './SecurityControlsModal';\nimport type { Controls, ControlsFormat } from '../flowTypes';\n\nimport './SecurityControls.scss';\n\nconst { FULL, SHORT, SHORT_WITH_BTN } = SECURITY_CONTROLS_FORMAT;\n\ntype Props = {\n classificationColor?: string,\n classificationName?: string,\n controls: Controls,\n controlsFormat: ControlsFormat,\n definition?: string,\n itemName?: string,\n maxAppCount?: number,\n shouldRenderLabel?: boolean,\n};\n\ntype State = {\n isSecurityControlsModalOpen: boolean,\n};\n\nclass SecurityControls extends React.Component<Props, State> {\n static defaultProps = {\n classificationName: '',\n definition: '',\n itemName: '',\n controls: {},\n controlsFormat: SHORT,\n maxAppCount: DEFAULT_MAX_APP_COUNT,\n shouldRenderLabel: false,\n };\n\n state = {\n isSecurityControlsModalOpen: false,\n };\n\n openModal = () => this.setState({ isSecurityControlsModalOpen: true });\n\n closeModal = () => this.setState({ isSecurityControlsModalOpen: false });\n\n render() {\n const {\n classificationColor,\n classificationName,\n controls,\n controlsFormat,\n definition,\n itemName,\n maxAppCount,\n shouldRenderLabel,\n } = this.props;\n\n let items = [];\n let modalItems;\n\n if (controlsFormat === FULL) {\n items = getFullSecurityControlsMessages(controls, maxAppCount);\n } else {\n const shortMessage = getShortSecurityControlsMessage(controls);\n items = shortMessage ? [shortMessage] : [];\n\n if (items.length && controlsFormat === SHORT_WITH_BTN) {\n modalItems = getFullSecurityControlsMessages(controls, maxAppCount);\n }\n }\n\n if (!items.length) {\n return null;\n }\n\n const { isSecurityControlsModalOpen } = this.state;\n const shouldShowSecurityControlsModal =\n controlsFormat === SHORT_WITH_BTN && !!itemName && !!classificationName && !!definition;\n\n let itemsList = (\n <ul className=\"bdl-SecurityControls\">\n {items.map(({ message, tooltipMessage }) => (\n <SecurityControlsItem key={message.id} message={message} tooltipMessage={tooltipMessage} />\n ))}\n </ul>\n );\n\n if (shouldRenderLabel) {\n itemsList = <Label text={<FormattedMessage {...messages.securityControlsLabel} />}>{itemsList}</Label>;\n }\n\n return (\n <>\n {itemsList}\n {shouldShowSecurityControlsModal && (\n <>\n <PlainButton className=\"lnk\" onClick={this.openModal} type=\"button\">\n <FormattedMessage {...messages.viewAll} />\n </PlainButton>\n <SecurityControlsModal\n classificationColor={classificationColor}\n classificationName={classificationName}\n closeModal={this.closeModal}\n definition={definition}\n itemName={itemName}\n isSecurityControlsModalOpen={isSecurityControlsModalOpen}\n modalItems={modalItems}\n />\n </>\n )}\n </>\n );\n }\n}\n\nexport type { Props as SecurityControlsProps };\nexport default SecurityControls;\n"],"file":"SecurityControls.js"}
1
+ {"version":3,"sources":["../../../../src/features/classification/security-controls/SecurityControls.js"],"names":["React","FormattedMessage","DEFAULT_MAX_APP_COUNT","SECURITY_CONTROLS_FORMAT","getShortSecurityControlsMessage","getFullSecurityControlsMessages","messages","PlainButton","Label","SecurityControlsItem","SecurityControlsModal","FULL","SHORT","SHORT_WITH_BTN","SecurityControls","isSecurityControlsModalOpen","setState","props","classificationColor","classificationName","controls","controlsFormat","definition","itemName","maxAppCount","shouldRenderLabel","items","modalItems","length","state","shouldShowSecurityControlsModal","itemsList","map","message","tooltipMessage","id","securityControlsLabel","openModal","viewAll","closeModal","Component"],"mappings":"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","sourcesContent":["// @flow\nimport * as React from 'react';\nimport { FormattedMessage } from 'react-intl';\n\nimport { DEFAULT_MAX_APP_COUNT, SECURITY_CONTROLS_FORMAT } from '../constants';\nimport { getShortSecurityControlsMessage, getFullSecurityControlsMessages } from './utils';\nimport messages from './messages';\nimport PlainButton from '../../../components/plain-button';\nimport Label from '../../../components/label/Label';\nimport SecurityControlsItem from './SecurityControlsItem';\nimport SecurityControlsModal from './SecurityControlsModal';\nimport type { Controls, ControlsFormat } from '../flowTypes';\n\nimport './SecurityControls.scss';\n\nconst { FULL, SHORT, SHORT_WITH_BTN } = SECURITY_CONTROLS_FORMAT;\n\ntype Props = {\n classificationColor?: string,\n classificationName?: string,\n controls: Controls,\n controlsFormat: ControlsFormat,\n definition?: string,\n itemName?: string,\n maxAppCount?: number,\n shouldRenderLabel?: boolean,\n};\n\ntype State = {\n isSecurityControlsModalOpen: boolean,\n};\n\nclass SecurityControls extends React.Component<Props, State> {\n static defaultProps = {\n classificationName: '',\n definition: '',\n itemName: '',\n controls: {},\n controlsFormat: SHORT,\n maxAppCount: DEFAULT_MAX_APP_COUNT,\n shouldRenderLabel: false,\n };\n\n state = {\n isSecurityControlsModalOpen: false,\n };\n\n openModal = () => this.setState({ isSecurityControlsModalOpen: true });\n\n closeModal = () => this.setState({ isSecurityControlsModalOpen: false });\n\n render() {\n const {\n classificationColor,\n classificationName,\n controls,\n controlsFormat,\n definition,\n itemName,\n maxAppCount,\n shouldRenderLabel,\n } = this.props;\n\n let items = [];\n let modalItems;\n\n if (controlsFormat === FULL) {\n items = getFullSecurityControlsMessages(controls, maxAppCount);\n } else {\n items = getShortSecurityControlsMessage(controls);\n\n if (items.length && controlsFormat === SHORT_WITH_BTN) {\n modalItems = getFullSecurityControlsMessages(controls, maxAppCount);\n }\n }\n\n if (!items.length) {\n return null;\n }\n\n const { isSecurityControlsModalOpen } = this.state;\n const shouldShowSecurityControlsModal =\n controlsFormat === SHORT_WITH_BTN && !!itemName && !!classificationName && !!definition;\n\n let itemsList = (\n <ul className=\"bdl-SecurityControls\">\n {items.map(({ message, tooltipMessage }) => (\n <SecurityControlsItem key={message.id} message={message} tooltipMessage={tooltipMessage} />\n ))}\n </ul>\n );\n\n if (shouldRenderLabel) {\n itemsList = <Label text={<FormattedMessage {...messages.securityControlsLabel} />}>{itemsList}</Label>;\n }\n\n return (\n <>\n {itemsList}\n {shouldShowSecurityControlsModal && (\n <>\n <PlainButton className=\"lnk\" onClick={this.openModal} type=\"button\">\n <FormattedMessage {...messages.viewAll} />\n </PlainButton>\n <SecurityControlsModal\n classificationColor={classificationColor}\n classificationName={classificationName}\n closeModal={this.closeModal}\n definition={definition}\n itemName={itemName}\n isSecurityControlsModalOpen={isSecurityControlsModalOpen}\n modalItems={modalItems}\n />\n </>\n )}\n </>\n );\n }\n}\n\nexport type { Props as SecurityControlsProps };\nexport default SecurityControls;\n"],"file":"SecurityControls.js"}
@@ -16,6 +16,10 @@ var messages = defineMessages({
16
16
  "id": "boxui.securityControls.shortApp",
17
17
  "defaultMessage": "Application restrictions apply"
18
18
  },
19
+ shortWatermarking: {
20
+ "id": "boxui.securityControls.shortWatermarking",
21
+ "defaultMessage": "Watermarking applied"
22
+ },
19
23
  shortSharingDownload: {
20
24
  "id": "boxui.securityControls.shortSharingDownload",
21
25
  "defaultMessage": "Sharing and download restrictions apply"
@@ -40,6 +44,10 @@ var messages = defineMessages({
40
44
  "id": "boxui.securityControls.sharingCollabAndCompanyOnly",
41
45
  "defaultMessage": "Shared links cannot be made publicly accessible."
42
46
  },
47
+ watermarkingApplied: {
48
+ "id": "boxui.securityControls.watermarkingApplied",
49
+ "defaultMessage": "Watermarking will be applied for Previewer Uploaders, Previewers and Viewers."
50
+ },
43
51
  externalCollabBlock: {
44
52
  "id": "boxui.securityControls.externalCollabBlock",
45
53
  "defaultMessage": "External collaboration restricted."
@@ -24,6 +24,11 @@ const messages = defineMessages({
24
24
  'Short summary displayed for classification when an application download restriction is applied to it',
25
25
  id: 'boxui.securityControls.shortApp',
26
26
  },
27
+ shortWatermarking: {
28
+ defaultMessage: 'Watermarking applied',
29
+ description: 'Short summary displayed for classification when watermarking is applied to it',
30
+ id: 'boxui.securityControls.shortWatermarking',
31
+ },
27
32
  shortSharingDownload: {
28
33
  defaultMessage: 'Sharing and download restrictions apply',
29
34
  description:
@@ -58,6 +63,11 @@ const messages = defineMessages({
58
63
  description: 'Bullet point that summarizes collaborators shared link restriction applied to classification',
59
64
  id: 'boxui.securityControls.sharingCollabAndCompanyOnly',
60
65
  },
66
+ watermarkingApplied: {
67
+ defaultMessage: 'Watermarking will be applied for Previewer Uploaders, Previewers and Viewers.',
68
+ description: 'Bullet point that summarizes watermarking applied to classification',
69
+ id: 'boxui.securityControls.watermarkingApplied',
70
+ },
61
71
  externalCollabBlock: {
62
72
  defaultMessage: 'External collaboration restricted.',
63
73
  description:
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/classification/security-controls/messages.js"],"names":["defineMessages","messages","securityControlsLabel","shortSharing","shortDownload","shortApp","shortSharingDownload","shortSharingApp","shortDownloadApp","shortAllRestrictions","sharingCollabOnly","sharingCollabAndCompanyOnly","externalCollabBlock","externalCollabDomainList","appDownloadRestricted","appDownloadBlacklist","appDownloadBlacklistOverflow","appDownloadWhitelist","appDownloadWhitelistOverflow","allAppNames","webDownloadOwners","webDownloadOwnersEditors","webDownloadExternalOwners","webDownloadExternalOwnersEditors","webDownloadExternal","mobileDownloadOwners","mobileDownloadOwnersEditors","mobileDownloadExternalOwners","mobileDownloadExternalOwnersEditors","mobileDownloadExternal","desktopDownloadOwners","desktopDownloadOwnersEditors","desktopDownloadExternalOwners","desktopDownloadExternalOwnersEditors","desktopDownloadExternal","viewAll","modalTitle","modalDescription"],"mappings":"AACA,SAASA,cAAT,QAA+B,YAA/B;AAEA,IAAMC,QAAQ,GAAGD,cAAc,CAAC;AAC5BE,EAAAA,qBAAqB;AAAA;AAAA;AAAA,GADO;AAO5BC,EAAAA,YAAY;AAAA;AAAA;AAAA,GAPgB;AAY5BC,EAAAA,aAAa;AAAA;AAAA;AAAA,GAZe;AAiB5BC,EAAAA,QAAQ;AAAA;AAAA;AAAA,GAjBoB;AAuB5BC,EAAAA,oBAAoB;AAAA;AAAA;AAAA,GAvBQ;AA6B5BC,EAAAA,eAAe;AAAA;AAAA;AAAA,GA7Ba;AAmC5BC,EAAAA,gBAAgB;AAAA;AAAA;AAAA,GAnCY;AAyC5BC,EAAAA,oBAAoB;AAAA;AAAA;AAAA,GAzCQ;AA+C5BC,EAAAA,iBAAiB;AAAA;AAAA;AAAA,GA/CW;AAoD5BC,EAAAA,2BAA2B;AAAA;AAAA;AAAA,GApDC;AAyD5BC,EAAAA,mBAAmB;AAAA;AAAA;AAAA,GAzDS;AA+D5BC,EAAAA,wBAAwB;AAAA;AAAA;AAAA,GA/DI;AAoE5BC,EAAAA,qBAAqB;AAAA;AAAA;AAAA,GApEO;AAyE5BC,EAAAA,oBAAoB;AAAA;AAAA;AAAA,GAzEQ;AA8E5BC,EAAAA,4BAA4B;AAAA;AAAA;AAAA,GA9EA;AAoF5BC,EAAAA,oBAAoB;AAAA;AAAA;AAAA,GApFQ;AAyF5BC,EAAAA,4BAA4B;AAAA;AAAA;AAAA,GAzFA;AA+F5BC,EAAAA,WAAW;AAAA;AAAA;AAAA,GA/FiB;AAoG5B;AACAC,EAAAA,iBAAiB;AAAA;AAAA;AAAA,GArGW;AA2G5BC,EAAAA,wBAAwB;AAAA;AAAA;AAAA,GA3GI;AAiH5BC,EAAAA,yBAAyB;AAAA;AAAA;AAAA,GAjHG;AAuH5BC,EAAAA,gCAAgC;AAAA;AAAA;AAAA,GAvHJ;AA8H5BC,EAAAA,mBAAmB;AAAA;AAAA;AAAA,GA9HS;AAoI5B;AACAC,EAAAA,oBAAoB;AAAA;AAAA;AAAA,GArIQ;AA2I5BC,EAAAA,2BAA2B;AAAA;AAAA;AAAA,GA3IC;AAiJ5BC,EAAAA,4BAA4B;AAAA;AAAA;AAAA,GAjJA;AAuJ5BC,EAAAA,mCAAmC;AAAA;AAAA;AAAA,GAvJP;AA8J5BC,EAAAA,sBAAsB;AAAA;AAAA;AAAA,GA9JM;AAoK5B;AACAC,EAAAA,qBAAqB;AAAA;AAAA;AAAA,GArKO;AA2K5BC,EAAAA,4BAA4B;AAAA;AAAA;AAAA,GA3KA;AAiL5BC,EAAAA,6BAA6B;AAAA;AAAA;AAAA,GAjLD;AAwL5BC,EAAAA,oCAAoC;AAAA;AAAA;AAAA,GAxLR;AA+L5BC,EAAAA,uBAAuB;AAAA;AAAA;AAAA,GA/LK;AAqM5B;AACAC,EAAAA,OAAO;AAAA;AAAA;AAAA,GAtMqB;AA2M5BC,EAAAA,UAAU;AAAA;AAAA;AAAA,GA3MkB;AAgN5BC,EAAAA,gBAAgB;AAAA;AAAA;AAAA;AAhNY,CAAD,CAA/B;AAwNA,eAAepC,QAAf","sourcesContent":["// @flow\nimport { defineMessages } from 'react-intl';\n\nconst messages = defineMessages({\n securityControlsLabel: {\n defaultMessage: 'Restrictions',\n description:\n 'Label displayed above the security restrictions on the file due to the classification label and associated policies.',\n id: 'boxui.securityControls.securityControlsLabel',\n },\n shortSharing: {\n defaultMessage: 'Sharing restriction applies',\n description: 'Short summary displayed for classification when a sharing restriction is applied to it',\n id: 'boxui.securityControls.shortSharing',\n },\n shortDownload: {\n defaultMessage: 'Download restrictions apply',\n description: 'Short summary displayed for classification when a download restriction is applied to it',\n id: 'boxui.securityControls.shortDownload',\n },\n shortApp: {\n defaultMessage: 'Application restrictions apply',\n description:\n 'Short summary displayed for classification when an application download restriction is applied to it',\n id: 'boxui.securityControls.shortApp',\n },\n shortSharingDownload: {\n defaultMessage: 'Sharing and download restrictions apply',\n description:\n 'Short summary displayed for classification when both sharing and download restrictions are applied to it',\n id: 'boxui.securityControls.shortSharingDownload',\n },\n shortSharingApp: {\n defaultMessage: 'Sharing and app restrictions apply',\n description:\n 'Short summary displayed for classification when both sharing and app download restrictions are applied to it',\n id: 'boxui.securityControls.shortSharingApp',\n },\n shortDownloadApp: {\n defaultMessage: 'Download and app restrictions apply',\n description:\n 'Short summary displayed for classification when both download and app download restrictions are applied to it',\n id: 'boxui.securityControls.shortDownloadApp',\n },\n shortAllRestrictions: {\n defaultMessage: 'Sharing, download and app restrictions apply',\n description:\n 'Short summary displayed for classification when sharing, download and app download restrictions are applied to it',\n id: 'boxui.securityControls.shortAllRestrictions',\n },\n sharingCollabOnly: {\n defaultMessage: 'Shared links allowed for collaborators only.',\n description: 'Bullet point that summarizes shared link restriction applied to classification',\n id: 'boxui.securityControls.sharingCollabOnly',\n },\n sharingCollabAndCompanyOnly: {\n defaultMessage: 'Shared links cannot be made publicly accessible.',\n description: 'Bullet point that summarizes collaborators shared link restriction applied to classification',\n id: 'boxui.securityControls.sharingCollabAndCompanyOnly',\n },\n externalCollabBlock: {\n defaultMessage: 'External collaboration restricted.',\n description:\n 'Bullet point that summarizes external collaboration blocked restriction applied to classification',\n id: 'boxui.securityControls.externalCollabBlock',\n },\n externalCollabDomainList: {\n defaultMessage: 'External collaboration limited to approved domains.',\n description: 'Bullet point that summarizes external collaboration restriction applied to classification',\n id: 'boxui.securityControls.externalCollabDomainList',\n },\n appDownloadRestricted: {\n defaultMessage: 'Download restricted for some applications.',\n description: 'Bullet point that summarizes application download restriction applied to classification',\n id: 'boxui.securityControls.appDownloadRestricted',\n },\n appDownloadBlacklist: {\n defaultMessage: 'Download restricted for some applications: {appNames}',\n description: 'Bullet point that summarizes application download restriction applied to classification',\n id: 'boxui.securityControls.appDownloadBlacklist',\n },\n appDownloadBlacklistOverflow: {\n defaultMessage: 'Download restricted for some applications: {appNames} +{remainingAppCount} more',\n description:\n 'Bullet point that summarizes application download restriction applied to classification. This variation is used when the list of applications is longer than the configured threshold',\n id: 'boxui.securityControls.appDownloadBlacklistOverflow',\n },\n appDownloadWhitelist: {\n defaultMessage: 'Only select applications are allowed: {appNames}',\n description: 'Bullet point that summarizes application download restriction applied to classification',\n id: 'boxui.securityControls.appDownloadWhitelist',\n },\n appDownloadWhitelistOverflow: {\n defaultMessage: 'Only select applications are allowed: {appNames} +{remainingAppCount} more',\n description:\n 'Bullet point that summarizes application download restriction applied to classification. This variation is used when the list of applications is longer than the configured threshold',\n id: 'boxui.securityControls.appDownloadWhitelistOverflow',\n },\n allAppNames: {\n defaultMessage: 'All applications: {appsList}',\n description: 'Name list of all applications download restriction applied to classification',\n id: 'boxui.securityControls.allAppNames',\n },\n // Web Download Restrictions\n webDownloadOwners: {\n defaultMessage: 'Download restricted on web, except Owners/Co-Owners.',\n description:\n 'Bullet point that summarizes web download restrictions applied to classification, when restriction applies to managed users except Owners/Co-Owners',\n id: 'boxui.securityControls.webDownloadOwners',\n },\n webDownloadOwnersEditors: {\n defaultMessage: 'Download restricted on web, except Owners/Co-Owners/Editors.',\n description:\n 'Bullet point that summarizes web download restrictions applied to classification, when restriction applies to managed users except Owners/Co-Owners/Editors',\n id: 'boxui.securityControls.webDownloadOwnersEditors',\n },\n webDownloadExternalOwners: {\n defaultMessage: 'Download restricted on web, except Owners/Co-Owners. Also restricted for external users.',\n description:\n 'Bullet point that summarizes web download restrictions applied to classification, when restriction applies to external users and managed users except Owners/Co-Owners',\n id: 'boxui.securityControls.webDownloadExternalOwners',\n },\n webDownloadExternalOwnersEditors: {\n defaultMessage:\n 'Download restricted on web, except Owners/Co-Owners/Editors. Also restricted for external users.',\n description:\n 'Bullet point that summarizes web download restrictions applied to classification, when restriction applies to external users and managed users except Owners/Co-Owners/Editors',\n id: 'boxui.securityControls.webDownloadExternalOwnersEditors',\n },\n webDownloadExternal: {\n defaultMessage: 'Download restricted on web for external users.',\n description:\n 'Bullet point that summarizes web download restrictions applied to classification, when restriction applies to external users',\n id: 'boxui.securityControls.webDownloadExternal',\n },\n // Mobile Download Restrictions\n mobileDownloadOwners: {\n defaultMessage: 'Download restricted on mobile, except Owners/Co-Owners.',\n description:\n 'Bullet point that summarizes mobile download restrictions applied to classification, when restriction applies to managed users except Owners/Co-Owners',\n id: 'boxui.securityControls.mobileDownloadOwners',\n },\n mobileDownloadOwnersEditors: {\n defaultMessage: 'Download restricted on mobile, except Owners/Co-Owners/Editors.',\n description:\n 'Bullet point that summarizes mobile download restrictions applied to classification, when restriction applies to managed users except Owners/Co-Owners/Editors',\n id: 'boxui.securityControls.mobileDownloadOwnersEditors',\n },\n mobileDownloadExternalOwners: {\n defaultMessage: 'Download restricted on mobile, except Owners/Co-Owners. Also restricted for external users.',\n description:\n 'Bullet point that summarizes mobile download restrictions applied to classification, when restriction applies to external users and managed users except Owners/Co-Owners',\n id: 'boxui.securityControls.mobileDownloadExternalOwners',\n },\n mobileDownloadExternalOwnersEditors: {\n defaultMessage:\n 'Download restricted on mobile, except Owners/Co-Owners/Editors. Also restricted for external users.',\n description:\n 'Bullet point that summarizes mobile download restrictions applied to classification, when restriction applies to external users and managed users except Owners/Co-Owners/Editors',\n id: 'boxui.securityControls.mobileDownloadExternalOwnersEditors',\n },\n mobileDownloadExternal: {\n defaultMessage: 'Download restricted on mobile for external users.',\n description:\n 'Bullet point that summarizes mobile download restrictions applied to classification, when restriction applies to external users',\n id: 'boxui.securityControls.mobileDownloadExternal',\n },\n // Desktop Download Restrictions\n desktopDownloadOwners: {\n defaultMessage: 'Download restricted on Box Drive, except Owners/Co-Owners.',\n description:\n 'Bullet point that summarizes desktop download restrictions applied to classification, when restriction applies to managed users except Owners/Co-Owners. Box Drive is a product name and not translated',\n id: 'boxui.securityControls.desktopDownloadOwners',\n },\n desktopDownloadOwnersEditors: {\n defaultMessage: 'Download restricted on Box Drive, except Owners/Co-Owners/Editors.',\n description:\n 'Bullet point that summarizes desktop download restrictions applied to classification, when restriction applies to managed users except Owners/Co-Owners/Editors. Box Drive is a product name and not translated',\n id: 'boxui.securityControls.desktopDownloadOwnersEditors',\n },\n desktopDownloadExternalOwners: {\n defaultMessage:\n 'Download restricted on Box Drive, except Owners/Co-Owners. Also restricted for external users.',\n description:\n 'Bullet point that summarizes desktop download restrictions applied to classification, when restriction applies to external users and managed users except Owners/Co-Owners. Box Drive is a product name and not translated',\n id: 'boxui.securityControls.desktopDownloadExternalOwners',\n },\n desktopDownloadExternalOwnersEditors: {\n defaultMessage:\n 'Download restricted on Box Drive, except Owners/Co-Owners/Editors. Also restricted for external users.',\n description:\n 'Bullet point that summarizes desktop download restrictions applied to classification, when restriction applies to external users and managed users except Owners/Co-Owners/Editors. Box Drive is a product name and not translated',\n id: 'boxui.securityControls.desktopDownloadExternalOwnersEditors',\n },\n desktopDownloadExternal: {\n defaultMessage: 'Download restricted on Box Drive for external users.',\n description:\n 'Bullet point that summarizes desktop download restrictions applied to classification, when restriction applies to external users. Box Drive is a product name and not translated',\n id: 'boxui.securityControls.downloadExternal',\n },\n // Security Constrols Modal\n viewAll: {\n defaultMessage: 'View All',\n description: 'Button to display security controls modal',\n id: 'boxui.securityControls.viewAll',\n },\n modalTitle: {\n defaultMessage: \"View Classification for '{itemName}'\",\n description: 'Title for modal to display classification and security controls details',\n id: 'boxui.securityControls.modalTitle',\n },\n modalDescription: {\n defaultMessage:\n 'Classification labels defined by your administrator can be used to label content and apply security policies.',\n description: 'Description for modal to display classification and security controls details',\n id: 'boxui.securityControls.modalDescription',\n },\n});\n\nexport default messages;\n"],"file":"messages.js"}
1
+ {"version":3,"sources":["../../../../src/features/classification/security-controls/messages.js"],"names":["defineMessages","messages","securityControlsLabel","shortSharing","shortDownload","shortApp","shortWatermarking","shortSharingDownload","shortSharingApp","shortDownloadApp","shortAllRestrictions","sharingCollabOnly","sharingCollabAndCompanyOnly","watermarkingApplied","externalCollabBlock","externalCollabDomainList","appDownloadRestricted","appDownloadBlacklist","appDownloadBlacklistOverflow","appDownloadWhitelist","appDownloadWhitelistOverflow","allAppNames","webDownloadOwners","webDownloadOwnersEditors","webDownloadExternalOwners","webDownloadExternalOwnersEditors","webDownloadExternal","mobileDownloadOwners","mobileDownloadOwnersEditors","mobileDownloadExternalOwners","mobileDownloadExternalOwnersEditors","mobileDownloadExternal","desktopDownloadOwners","desktopDownloadOwnersEditors","desktopDownloadExternalOwners","desktopDownloadExternalOwnersEditors","desktopDownloadExternal","viewAll","modalTitle","modalDescription"],"mappings":"AACA,SAASA,cAAT,QAA+B,YAA/B;AAEA,IAAMC,QAAQ,GAAGD,cAAc,CAAC;AAC5BE,EAAAA,qBAAqB;AAAA;AAAA;AAAA,GADO;AAO5BC,EAAAA,YAAY;AAAA;AAAA;AAAA,GAPgB;AAY5BC,EAAAA,aAAa;AAAA;AAAA;AAAA,GAZe;AAiB5BC,EAAAA,QAAQ;AAAA;AAAA;AAAA,GAjBoB;AAuB5BC,EAAAA,iBAAiB;AAAA;AAAA;AAAA,GAvBW;AA4B5BC,EAAAA,oBAAoB;AAAA;AAAA;AAAA,GA5BQ;AAkC5BC,EAAAA,eAAe;AAAA;AAAA;AAAA,GAlCa;AAwC5BC,EAAAA,gBAAgB;AAAA;AAAA;AAAA,GAxCY;AA8C5BC,EAAAA,oBAAoB;AAAA;AAAA;AAAA,GA9CQ;AAoD5BC,EAAAA,iBAAiB;AAAA;AAAA;AAAA,GApDW;AAyD5BC,EAAAA,2BAA2B;AAAA;AAAA;AAAA,GAzDC;AA8D5BC,EAAAA,mBAAmB;AAAA;AAAA;AAAA,GA9DS;AAmE5BC,EAAAA,mBAAmB;AAAA;AAAA;AAAA,GAnES;AAyE5BC,EAAAA,wBAAwB;AAAA;AAAA;AAAA,GAzEI;AA8E5BC,EAAAA,qBAAqB;AAAA;AAAA;AAAA,GA9EO;AAmF5BC,EAAAA,oBAAoB;AAAA;AAAA;AAAA,GAnFQ;AAwF5BC,EAAAA,4BAA4B;AAAA;AAAA;AAAA,GAxFA;AA8F5BC,EAAAA,oBAAoB;AAAA;AAAA;AAAA,GA9FQ;AAmG5BC,EAAAA,4BAA4B;AAAA;AAAA;AAAA,GAnGA;AAyG5BC,EAAAA,WAAW;AAAA;AAAA;AAAA,GAzGiB;AA8G5B;AACAC,EAAAA,iBAAiB;AAAA;AAAA;AAAA,GA/GW;AAqH5BC,EAAAA,wBAAwB;AAAA;AAAA;AAAA,GArHI;AA2H5BC,EAAAA,yBAAyB;AAAA;AAAA;AAAA,GA3HG;AAiI5BC,EAAAA,gCAAgC;AAAA;AAAA;AAAA,GAjIJ;AAwI5BC,EAAAA,mBAAmB;AAAA;AAAA;AAAA,GAxIS;AA8I5B;AACAC,EAAAA,oBAAoB;AAAA;AAAA;AAAA,GA/IQ;AAqJ5BC,EAAAA,2BAA2B;AAAA;AAAA;AAAA,GArJC;AA2J5BC,EAAAA,4BAA4B;AAAA;AAAA;AAAA,GA3JA;AAiK5BC,EAAAA,mCAAmC;AAAA;AAAA;AAAA,GAjKP;AAwK5BC,EAAAA,sBAAsB;AAAA;AAAA;AAAA,GAxKM;AA8K5B;AACAC,EAAAA,qBAAqB;AAAA;AAAA;AAAA,GA/KO;AAqL5BC,EAAAA,4BAA4B;AAAA;AAAA;AAAA,GArLA;AA2L5BC,EAAAA,6BAA6B;AAAA;AAAA;AAAA,GA3LD;AAkM5BC,EAAAA,oCAAoC;AAAA;AAAA;AAAA,GAlMR;AAyM5BC,EAAAA,uBAAuB;AAAA;AAAA;AAAA,GAzMK;AA+M5B;AACAC,EAAAA,OAAO;AAAA;AAAA;AAAA,GAhNqB;AAqN5BC,EAAAA,UAAU;AAAA;AAAA;AAAA,GArNkB;AA0N5BC,EAAAA,gBAAgB;AAAA;AAAA;AAAA;AA1NY,CAAD,CAA/B;AAkOA,eAAetC,QAAf","sourcesContent":["// @flow\nimport { defineMessages } from 'react-intl';\n\nconst messages = defineMessages({\n securityControlsLabel: {\n defaultMessage: 'Restrictions',\n description:\n 'Label displayed above the security restrictions on the file due to the classification label and associated policies.',\n id: 'boxui.securityControls.securityControlsLabel',\n },\n shortSharing: {\n defaultMessage: 'Sharing restriction applies',\n description: 'Short summary displayed for classification when a sharing restriction is applied to it',\n id: 'boxui.securityControls.shortSharing',\n },\n shortDownload: {\n defaultMessage: 'Download restrictions apply',\n description: 'Short summary displayed for classification when a download restriction is applied to it',\n id: 'boxui.securityControls.shortDownload',\n },\n shortApp: {\n defaultMessage: 'Application restrictions apply',\n description:\n 'Short summary displayed for classification when an application download restriction is applied to it',\n id: 'boxui.securityControls.shortApp',\n },\n shortWatermarking: {\n defaultMessage: 'Watermarking applied',\n description: 'Short summary displayed for classification when watermarking is applied to it',\n id: 'boxui.securityControls.shortWatermarking',\n },\n shortSharingDownload: {\n defaultMessage: 'Sharing and download restrictions apply',\n description:\n 'Short summary displayed for classification when both sharing and download restrictions are applied to it',\n id: 'boxui.securityControls.shortSharingDownload',\n },\n shortSharingApp: {\n defaultMessage: 'Sharing and app restrictions apply',\n description:\n 'Short summary displayed for classification when both sharing and app download restrictions are applied to it',\n id: 'boxui.securityControls.shortSharingApp',\n },\n shortDownloadApp: {\n defaultMessage: 'Download and app restrictions apply',\n description:\n 'Short summary displayed for classification when both download and app download restrictions are applied to it',\n id: 'boxui.securityControls.shortDownloadApp',\n },\n shortAllRestrictions: {\n defaultMessage: 'Sharing, download and app restrictions apply',\n description:\n 'Short summary displayed for classification when sharing, download and app download restrictions are applied to it',\n id: 'boxui.securityControls.shortAllRestrictions',\n },\n sharingCollabOnly: {\n defaultMessage: 'Shared links allowed for collaborators only.',\n description: 'Bullet point that summarizes shared link restriction applied to classification',\n id: 'boxui.securityControls.sharingCollabOnly',\n },\n sharingCollabAndCompanyOnly: {\n defaultMessage: 'Shared links cannot be made publicly accessible.',\n description: 'Bullet point that summarizes collaborators shared link restriction applied to classification',\n id: 'boxui.securityControls.sharingCollabAndCompanyOnly',\n },\n watermarkingApplied: {\n defaultMessage: 'Watermarking will be applied for Previewer Uploaders, Previewers and Viewers.',\n description: 'Bullet point that summarizes watermarking applied to classification',\n id: 'boxui.securityControls.watermarkingApplied',\n },\n externalCollabBlock: {\n defaultMessage: 'External collaboration restricted.',\n description:\n 'Bullet point that summarizes external collaboration blocked restriction applied to classification',\n id: 'boxui.securityControls.externalCollabBlock',\n },\n externalCollabDomainList: {\n defaultMessage: 'External collaboration limited to approved domains.',\n description: 'Bullet point that summarizes external collaboration restriction applied to classification',\n id: 'boxui.securityControls.externalCollabDomainList',\n },\n appDownloadRestricted: {\n defaultMessage: 'Download restricted for some applications.',\n description: 'Bullet point that summarizes application download restriction applied to classification',\n id: 'boxui.securityControls.appDownloadRestricted',\n },\n appDownloadBlacklist: {\n defaultMessage: 'Download restricted for some applications: {appNames}',\n description: 'Bullet point that summarizes application download restriction applied to classification',\n id: 'boxui.securityControls.appDownloadBlacklist',\n },\n appDownloadBlacklistOverflow: {\n defaultMessage: 'Download restricted for some applications: {appNames} +{remainingAppCount} more',\n description:\n 'Bullet point that summarizes application download restriction applied to classification. This variation is used when the list of applications is longer than the configured threshold',\n id: 'boxui.securityControls.appDownloadBlacklistOverflow',\n },\n appDownloadWhitelist: {\n defaultMessage: 'Only select applications are allowed: {appNames}',\n description: 'Bullet point that summarizes application download restriction applied to classification',\n id: 'boxui.securityControls.appDownloadWhitelist',\n },\n appDownloadWhitelistOverflow: {\n defaultMessage: 'Only select applications are allowed: {appNames} +{remainingAppCount} more',\n description:\n 'Bullet point that summarizes application download restriction applied to classification. This variation is used when the list of applications is longer than the configured threshold',\n id: 'boxui.securityControls.appDownloadWhitelistOverflow',\n },\n allAppNames: {\n defaultMessage: 'All applications: {appsList}',\n description: 'Name list of all applications download restriction applied to classification',\n id: 'boxui.securityControls.allAppNames',\n },\n // Web Download Restrictions\n webDownloadOwners: {\n defaultMessage: 'Download restricted on web, except Owners/Co-Owners.',\n description:\n 'Bullet point that summarizes web download restrictions applied to classification, when restriction applies to managed users except Owners/Co-Owners',\n id: 'boxui.securityControls.webDownloadOwners',\n },\n webDownloadOwnersEditors: {\n defaultMessage: 'Download restricted on web, except Owners/Co-Owners/Editors.',\n description:\n 'Bullet point that summarizes web download restrictions applied to classification, when restriction applies to managed users except Owners/Co-Owners/Editors',\n id: 'boxui.securityControls.webDownloadOwnersEditors',\n },\n webDownloadExternalOwners: {\n defaultMessage: 'Download restricted on web, except Owners/Co-Owners. Also restricted for external users.',\n description:\n 'Bullet point that summarizes web download restrictions applied to classification, when restriction applies to external users and managed users except Owners/Co-Owners',\n id: 'boxui.securityControls.webDownloadExternalOwners',\n },\n webDownloadExternalOwnersEditors: {\n defaultMessage:\n 'Download restricted on web, except Owners/Co-Owners/Editors. Also restricted for external users.',\n description:\n 'Bullet point that summarizes web download restrictions applied to classification, when restriction applies to external users and managed users except Owners/Co-Owners/Editors',\n id: 'boxui.securityControls.webDownloadExternalOwnersEditors',\n },\n webDownloadExternal: {\n defaultMessage: 'Download restricted on web for external users.',\n description:\n 'Bullet point that summarizes web download restrictions applied to classification, when restriction applies to external users',\n id: 'boxui.securityControls.webDownloadExternal',\n },\n // Mobile Download Restrictions\n mobileDownloadOwners: {\n defaultMessage: 'Download restricted on mobile, except Owners/Co-Owners.',\n description:\n 'Bullet point that summarizes mobile download restrictions applied to classification, when restriction applies to managed users except Owners/Co-Owners',\n id: 'boxui.securityControls.mobileDownloadOwners',\n },\n mobileDownloadOwnersEditors: {\n defaultMessage: 'Download restricted on mobile, except Owners/Co-Owners/Editors.',\n description:\n 'Bullet point that summarizes mobile download restrictions applied to classification, when restriction applies to managed users except Owners/Co-Owners/Editors',\n id: 'boxui.securityControls.mobileDownloadOwnersEditors',\n },\n mobileDownloadExternalOwners: {\n defaultMessage: 'Download restricted on mobile, except Owners/Co-Owners. Also restricted for external users.',\n description:\n 'Bullet point that summarizes mobile download restrictions applied to classification, when restriction applies to external users and managed users except Owners/Co-Owners',\n id: 'boxui.securityControls.mobileDownloadExternalOwners',\n },\n mobileDownloadExternalOwnersEditors: {\n defaultMessage:\n 'Download restricted on mobile, except Owners/Co-Owners/Editors. Also restricted for external users.',\n description:\n 'Bullet point that summarizes mobile download restrictions applied to classification, when restriction applies to external users and managed users except Owners/Co-Owners/Editors',\n id: 'boxui.securityControls.mobileDownloadExternalOwnersEditors',\n },\n mobileDownloadExternal: {\n defaultMessage: 'Download restricted on mobile for external users.',\n description:\n 'Bullet point that summarizes mobile download restrictions applied to classification, when restriction applies to external users',\n id: 'boxui.securityControls.mobileDownloadExternal',\n },\n // Desktop Download Restrictions\n desktopDownloadOwners: {\n defaultMessage: 'Download restricted on Box Drive, except Owners/Co-Owners.',\n description:\n 'Bullet point that summarizes desktop download restrictions applied to classification, when restriction applies to managed users except Owners/Co-Owners. Box Drive is a product name and not translated',\n id: 'boxui.securityControls.desktopDownloadOwners',\n },\n desktopDownloadOwnersEditors: {\n defaultMessage: 'Download restricted on Box Drive, except Owners/Co-Owners/Editors.',\n description:\n 'Bullet point that summarizes desktop download restrictions applied to classification, when restriction applies to managed users except Owners/Co-Owners/Editors. Box Drive is a product name and not translated',\n id: 'boxui.securityControls.desktopDownloadOwnersEditors',\n },\n desktopDownloadExternalOwners: {\n defaultMessage:\n 'Download restricted on Box Drive, except Owners/Co-Owners. Also restricted for external users.',\n description:\n 'Bullet point that summarizes desktop download restrictions applied to classification, when restriction applies to external users and managed users except Owners/Co-Owners. Box Drive is a product name and not translated',\n id: 'boxui.securityControls.desktopDownloadExternalOwners',\n },\n desktopDownloadExternalOwnersEditors: {\n defaultMessage:\n 'Download restricted on Box Drive, except Owners/Co-Owners/Editors. Also restricted for external users.',\n description:\n 'Bullet point that summarizes desktop download restrictions applied to classification, when restriction applies to external users and managed users except Owners/Co-Owners/Editors. Box Drive is a product name and not translated',\n id: 'boxui.securityControls.desktopDownloadExternalOwnersEditors',\n },\n desktopDownloadExternal: {\n defaultMessage: 'Download restricted on Box Drive for external users.',\n description:\n 'Bullet point that summarizes desktop download restrictions applied to classification, when restriction applies to external users. Box Drive is a product name and not translated',\n id: 'boxui.securityControls.downloadExternal',\n },\n // Security Constrols Modal\n viewAll: {\n defaultMessage: 'View All',\n description: 'Button to display security controls modal',\n id: 'boxui.securityControls.viewAll',\n },\n modalTitle: {\n defaultMessage: \"View Classification for '{itemName}'\",\n description: 'Title for modal to display classification and security controls details',\n id: 'boxui.securityControls.modalTitle',\n },\n modalDescription: {\n defaultMessage:\n 'Classification labels defined by your administrator can be used to label content and apply security policies.',\n description: 'Description for modal to display classification and security controls details',\n id: 'boxui.securityControls.modalDescription',\n },\n});\n\nexport default messages;\n"],"file":"messages.js"}
@@ -21,7 +21,8 @@ import { ACCESS_POLICY_RESTRICTION, APP_RESTRICTION_MESSAGE_TYPE, DOWNLOAD_CONTR
21
21
  var SHARED_LINK = ACCESS_POLICY_RESTRICTION.SHARED_LINK,
22
22
  DOWNLOAD = ACCESS_POLICY_RESTRICTION.DOWNLOAD,
23
23
  EXTERNAL_COLLAB = ACCESS_POLICY_RESTRICTION.EXTERNAL_COLLAB,
24
- APP = ACCESS_POLICY_RESTRICTION.APP;
24
+ APP = ACCESS_POLICY_RESTRICTION.APP,
25
+ WATERMARK = ACCESS_POLICY_RESTRICTION.WATERMARK;
25
26
  var DEFAULT = APP_RESTRICTION_MESSAGE_TYPE.DEFAULT,
26
27
  WITH_APP_LIST = APP_RESTRICTION_MESSAGE_TYPE.WITH_APP_LIST,
27
28
  WITH_OVERFLOWN_APP_LIST = APP_RESTRICTION_MESSAGE_TYPE.WITH_OVERFLOWN_APP_LIST;
@@ -36,57 +37,53 @@ var COLLAB_ONLY = SHARED_LINK_ACCESS_LEVEL.COLLAB_ONLY,
36
37
  PUBLIC = SHARED_LINK_ACCESS_LEVEL.PUBLIC;
37
38
 
38
39
  var getShortSecurityControlsMessage = function getShortSecurityControlsMessage(controls) {
40
+ var items = [];
39
41
  var sharedLink = controls.sharedLink,
40
42
  download = controls.download,
41
43
  externalCollab = controls.externalCollab,
42
- app = controls.app; // Shared link and external collab restrictions are grouped
44
+ app = controls.app,
45
+ watermark = controls.watermark; // Shared link and external collab restrictions are grouped
43
46
  // together as generic "sharing" restrictions
44
47
 
45
48
  var sharing = sharedLink && sharedLink.accessLevel !== PUBLIC || externalCollab;
46
49
 
47
50
  if (sharing && download && app) {
48
- return {
51
+ items.push({
49
52
  message: messages.shortAllRestrictions
50
- };
51
- }
52
-
53
- if (sharing && download) {
54
- return {
53
+ });
54
+ } else if (sharing && download) {
55
+ items.push({
55
56
  message: messages.shortSharingDownload
56
- };
57
- }
58
-
59
- if (sharing && app) {
60
- return {
57
+ });
58
+ } else if (sharing && app) {
59
+ items.push({
61
60
  message: messages.shortSharingApp
62
- };
63
- }
64
-
65
- if (download && app) {
66
- return {
61
+ });
62
+ } else if (download && app) {
63
+ items.push({
67
64
  message: messages.shortDownloadApp
68
- };
69
- }
70
-
71
- if (sharing) {
72
- return {
65
+ });
66
+ } else if (sharing) {
67
+ items.push({
73
68
  message: messages.shortSharing
74
- };
75
- }
76
-
77
- if (download) {
78
- return {
69
+ });
70
+ } else if (download) {
71
+ items.push({
79
72
  message: messages.shortDownload
80
- };
73
+ });
74
+ } else if (app) {
75
+ items.push({
76
+ message: messages.shortApp
77
+ });
81
78
  }
82
79
 
83
- if (app) {
84
- return {
85
- message: messages.shortApp
86
- };
80
+ if (watermark) {
81
+ items.push({
82
+ message: messages.shortWatermarking
83
+ });
87
84
  }
88
85
 
89
- return null;
86
+ return items;
90
87
  };
91
88
 
92
89
  var getSharedLinkMessages = function getSharedLinkMessages(controls) {
@@ -114,6 +111,19 @@ var getSharedLinkMessages = function getSharedLinkMessages(controls) {
114
111
  return items;
115
112
  };
116
113
 
114
+ var getWatermarkingMessages = function getWatermarkingMessages(controls) {
115
+ var items = [];
116
+ var isWatermarkEnabled = getProp(controls, "".concat(WATERMARK, ".enabled"), false);
117
+
118
+ if (isWatermarkEnabled) {
119
+ items.push({
120
+ message: messages.watermarkingApplied
121
+ });
122
+ }
123
+
124
+ return items;
125
+ };
126
+
117
127
  var getExternalCollabMessages = function getExternalCollabMessages(controls) {
118
128
  var items = [];
119
129
  var accessLevel = getProp(controls, "".concat(EXTERNAL_COLLAB, ".accessLevel"));
@@ -255,7 +265,7 @@ var getDownloadMessages = function getDownloadMessages(controls) {
255
265
  };
256
266
 
257
267
  var getFullSecurityControlsMessages = function getFullSecurityControlsMessages(controls, maxAppCount) {
258
- var items = [].concat(_toConsumableArray(getSharedLinkMessages(controls)), _toConsumableArray(getExternalCollabMessages(controls)), _toConsumableArray(getDownloadMessages(controls)), _toConsumableArray(getAppDownloadMessages(controls, maxAppCount)));
268
+ var items = [].concat(_toConsumableArray(getSharedLinkMessages(controls)), _toConsumableArray(getExternalCollabMessages(controls)), _toConsumableArray(getDownloadMessages(controls)), _toConsumableArray(getAppDownloadMessages(controls, maxAppCount)), _toConsumableArray(getWatermarkingMessages(controls)));
259
269
  return items;
260
270
  };
261
271
 
@@ -15,47 +15,41 @@ import {
15
15
  SHARED_LINK_ACCESS_LEVEL,
16
16
  } from '../constants';
17
17
 
18
- const { SHARED_LINK, DOWNLOAD, EXTERNAL_COLLAB, APP } = ACCESS_POLICY_RESTRICTION;
18
+ const { SHARED_LINK, DOWNLOAD, EXTERNAL_COLLAB, APP, WATERMARK } = ACCESS_POLICY_RESTRICTION;
19
19
  const { DEFAULT, WITH_APP_LIST, WITH_OVERFLOWN_APP_LIST } = APP_RESTRICTION_MESSAGE_TYPE;
20
20
  const { DESKTOP, MOBILE, WEB } = DOWNLOAD_CONTROL;
21
21
  const { BLOCK, WHITELIST, BLACKLIST } = LIST_ACCESS_LEVEL;
22
22
  const { COLLAB_ONLY, COLLAB_AND_COMPANY_ONLY, PUBLIC } = SHARED_LINK_ACCESS_LEVEL;
23
23
 
24
- const getShortSecurityControlsMessage = (controls: Controls): ?MessageItem => {
25
- const { sharedLink, download, externalCollab, app } = controls;
24
+ const getShortSecurityControlsMessage = (controls: Controls): Array<MessageItem> => {
25
+ const items = [];
26
+ const { sharedLink, download, externalCollab, app, watermark } = controls;
27
+
26
28
  // Shared link and external collab restrictions are grouped
27
29
  // together as generic "sharing" restrictions
28
30
  const sharing = (sharedLink && sharedLink.accessLevel !== PUBLIC) || externalCollab;
29
31
 
30
32
  if (sharing && download && app) {
31
- return { message: messages.shortAllRestrictions };
32
- }
33
-
34
- if (sharing && download) {
35
- return { message: messages.shortSharingDownload };
36
- }
37
-
38
- if (sharing && app) {
39
- return { message: messages.shortSharingApp };
40
- }
41
-
42
- if (download && app) {
43
- return { message: messages.shortDownloadApp };
44
- }
45
-
46
- if (sharing) {
47
- return { message: messages.shortSharing };
33
+ items.push({ message: messages.shortAllRestrictions });
34
+ } else if (sharing && download) {
35
+ items.push({ message: messages.shortSharingDownload });
36
+ } else if (sharing && app) {
37
+ items.push({ message: messages.shortSharingApp });
38
+ } else if (download && app) {
39
+ items.push({ message: messages.shortDownloadApp });
40
+ } else if (sharing) {
41
+ items.push({ message: messages.shortSharing });
42
+ } else if (download) {
43
+ items.push({ message: messages.shortDownload });
44
+ } else if (app) {
45
+ items.push({ message: messages.shortApp });
48
46
  }
49
47
 
50
- if (download) {
51
- return { message: messages.shortDownload };
48
+ if (watermark) {
49
+ items.push({ message: messages.shortWatermarking });
52
50
  }
53
51
 
54
- if (app) {
55
- return { message: messages.shortApp };
56
- }
57
-
58
- return null;
52
+ return items;
59
53
  };
60
54
 
61
55
  const getSharedLinkMessages = (controls: Controls): Array<MessageItem> => {
@@ -76,6 +70,16 @@ const getSharedLinkMessages = (controls: Controls): Array<MessageItem> => {
76
70
  return items;
77
71
  };
78
72
 
73
+ const getWatermarkingMessages = (controls: Controls): Array<MessageItem> => {
74
+ const items = [];
75
+ const isWatermarkEnabled = getProp(controls, `${WATERMARK}.enabled`, false);
76
+ if (isWatermarkEnabled) {
77
+ items.push({ message: messages.watermarkingApplied });
78
+ }
79
+
80
+ return items;
81
+ };
82
+
79
83
  const getExternalCollabMessages = (controls: Controls): Array<MessageItem> => {
80
84
  const items = [];
81
85
  const accessLevel = getProp(controls, `${EXTERNAL_COLLAB}.accessLevel`);
@@ -191,6 +195,7 @@ const getFullSecurityControlsMessages = (controls: Controls, maxAppCount?: numbe
191
195
  ...getExternalCollabMessages(controls),
192
196
  ...getDownloadMessages(controls),
193
197
  ...getAppDownloadMessages(controls, maxAppCount),
198
+ ...getWatermarkingMessages(controls),
194
199
  ];
195
200
  return items;
196
201
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/features/classification/security-controls/utils.js"],"names":["getProp","isNil","appRestrictionsMessageMap","downloadRestrictionsMessageMap","messages","ACCESS_POLICY_RESTRICTION","APP_RESTRICTION_MESSAGE_TYPE","DOWNLOAD_CONTROL","LIST_ACCESS_LEVEL","SHARED_LINK_ACCESS_LEVEL","SHARED_LINK","DOWNLOAD","EXTERNAL_COLLAB","APP","DEFAULT","WITH_APP_LIST","WITH_OVERFLOWN_APP_LIST","DESKTOP","MOBILE","WEB","BLOCK","WHITELIST","BLACKLIST","COLLAB_ONLY","COLLAB_AND_COMPANY_ONLY","PUBLIC","getShortSecurityControlsMessage","controls","sharedLink","download","externalCollab","app","sharing","accessLevel","message","shortAllRestrictions","shortSharingDownload","shortSharingApp","shortDownloadApp","shortSharing","shortDownload","shortApp","getSharedLinkMessages","items","push","sharingCollabOnly","sharingCollabAndCompanyOnly","getExternalCollabMessages","externalCollabBlock","externalCollabDomainList","getAppDownloadMessages","maxAppCount","appDownloadRestricted","apps","length","appsToDisplay","slice","remainingAppCount","appNames","map","displayText","join","appsList","values","tooltipMessage","allAppNames","messageType","getDownloadMessages","web","mobile","desktop","downloadRestrictions","platform","restrictions","Object","keys","forEach","platformKey","restrictExternalUsers","restrictManagedUsers","externalRestricted","externalAllowed","default","getFullSecurityControlsMessages"],"mappings":";;;;;;;;;;;;;;AACA,OAAOA,OAAP,MAAoB,YAApB;AACA,OAAOC,KAAP,MAAkB,cAAlB;AAIA,OAAOC,yBAAP,MAAsC,6BAAtC;AACA,OAAOC,8BAAP,MAA2C,kCAA3C;AACA,OAAOC,QAAP,MAAqB,YAArB;AACA,SACIC,yBADJ,EAEIC,4BAFJ,EAGIC,gBAHJ,EAIIC,iBAJJ,EAKIC,wBALJ,QAMO,cANP;IAQQC,W,GAAgDL,yB,CAAhDK,W;IAAaC,Q,GAAmCN,yB,CAAnCM,Q;IAAUC,e,GAAyBP,yB,CAAzBO,e;IAAiBC,G,GAAQR,yB,CAARQ,G;IACxCC,O,GAAoDR,4B,CAApDQ,O;IAASC,a,GAA2CT,4B,CAA3CS,a;IAAeC,uB,GAA4BV,4B,CAA5BU,uB;IACxBC,O,GAAyBV,gB,CAAzBU,O;IAASC,M,GAAgBX,gB,CAAhBW,M;IAAQC,G,GAAQZ,gB,CAARY,G;IACjBC,K,GAAgCZ,iB,CAAhCY,K;IAAOC,S,GAAyBb,iB,CAAzBa,S;IAAWC,S,GAAcd,iB,CAAdc,S;IAClBC,W,GAAiDd,wB,CAAjDc,W;IAAaC,uB,GAAoCf,wB,CAApCe,uB;IAAyBC,M,GAAWhB,wB,CAAXgB,M;;AAE9C,IAAMC,+BAA+B,GAAG,SAAlCA,+BAAkC,CAACC,QAAD,EAAsC;AAAA,MAClEC,UADkE,GACpBD,QADoB,CAClEC,UADkE;AAAA,MACtDC,QADsD,GACpBF,QADoB,CACtDE,QADsD;AAAA,MAC5CC,cAD4C,GACpBH,QADoB,CAC5CG,cAD4C;AAAA,MAC5BC,GAD4B,GACpBJ,QADoB,CAC5BI,GAD4B,EAE1E;AACA;;AACA,MAAMC,OAAO,GAAIJ,UAAU,IAAIA,UAAU,CAACK,WAAX,KAA2BR,MAA1C,IAAqDK,cAArE;;AAEA,MAAIE,OAAO,IAAIH,QAAX,IAAuBE,GAA3B,EAAgC;AAC5B,WAAO;AAAEG,MAAAA,OAAO,EAAE9B,QAAQ,CAAC+B;AAApB,KAAP;AACH;;AAED,MAAIH,OAAO,IAAIH,QAAf,EAAyB;AACrB,WAAO;AAAEK,MAAAA,OAAO,EAAE9B,QAAQ,CAACgC;AAApB,KAAP;AACH;;AAED,MAAIJ,OAAO,IAAID,GAAf,EAAoB;AAChB,WAAO;AAAEG,MAAAA,OAAO,EAAE9B,QAAQ,CAACiC;AAApB,KAAP;AACH;;AAED,MAAIR,QAAQ,IAAIE,GAAhB,EAAqB;AACjB,WAAO;AAAEG,MAAAA,OAAO,EAAE9B,QAAQ,CAACkC;AAApB,KAAP;AACH;;AAED,MAAIN,OAAJ,EAAa;AACT,WAAO;AAAEE,MAAAA,OAAO,EAAE9B,QAAQ,CAACmC;AAApB,KAAP;AACH;;AAED,MAAIV,QAAJ,EAAc;AACV,WAAO;AAAEK,MAAAA,OAAO,EAAE9B,QAAQ,CAACoC;AAApB,KAAP;AACH;;AAED,MAAIT,GAAJ,EAAS;AACL,WAAO;AAAEG,MAAAA,OAAO,EAAE9B,QAAQ,CAACqC;AAApB,KAAP;AACH;;AAED,SAAO,IAAP;AACH,CAnCD;;AAqCA,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACf,QAAD,EAA4C;AACtE,MAAMgB,KAAK,GAAG,EAAd;AACA,MAAMV,WAAW,GAAGjC,OAAO,CAAC2B,QAAD,YAAcjB,WAAd,kBAA3B;;AAEA,UAAQuB,WAAR;AACI,SAAKV,WAAL;AACIoB,MAAAA,KAAK,CAACC,IAAN,CAAW;AAAEV,QAAAA,OAAO,EAAE9B,QAAQ,CAACyC;AAApB,OAAX;AACA;;AACJ,SAAKrB,uBAAL;AACImB,MAAAA,KAAK,CAACC,IAAN,CAAW;AAAEV,QAAAA,OAAO,EAAE9B,QAAQ,CAAC0C;AAApB,OAAX;AACA;;AACJ;AACI;AACA;AATR;;AAWA,SAAOH,KAAP;AACH,CAhBD;;AAkBA,IAAMI,yBAAyB,GAAG,SAA5BA,yBAA4B,CAACpB,QAAD,EAA4C;AAC1E,MAAMgB,KAAK,GAAG,EAAd;AACA,MAAMV,WAAW,GAAGjC,OAAO,CAAC2B,QAAD,YAAcf,eAAd,kBAA3B;;AAEA,UAAQqB,WAAR;AACI,SAAKb,KAAL;AACIuB,MAAAA,KAAK,CAACC,IAAN,CAAW;AAAEV,QAAAA,OAAO,EAAE9B,QAAQ,CAAC4C;AAApB,OAAX;AACA;;AACJ,SAAK3B,SAAL;AACA,SAAKC,SAAL;AACIqB,MAAAA,KAAK,CAACC,IAAN,CAAW;AAAEV,QAAAA,OAAO,EAAE9B,QAAQ,CAAC6C;AAApB,OAAX;AACA;;AACJ;AACI;AACA;AAVR;;AAYA,SAAON,KAAP;AACH,CAjBD;;AAmBA,IAAMO,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACvB,QAAD,EAAqBwB,WAArB,EAAkE;AAC7F,MAAMR,KAAK,GAAG,EAAd;AACA,MAAMV,WAAW,GAAGjC,OAAO,CAAC2B,QAAD,YAAcd,GAAd,kBAA3B;;AAEA,UAAQoB,WAAR;AACI,SAAKb,KAAL;AACIuB,MAAAA,KAAK,CAACC,IAAN,CAAW;AAAEV,QAAAA,OAAO,EAAE9B,QAAQ,CAACgD;AAApB,OAAX;AACA;;AACJ,SAAK/B,SAAL;AACA,SAAKC,SAAL;AAAgB;AACZ,YAAM+B,IAAI,GAAGrD,OAAO,CAAC2B,QAAD,YAAcd,GAAd,YAA0B,EAA1B,CAApB;AAEAsC,QAAAA,WAAW,GAAGlD,KAAK,CAACkD,WAAD,CAAL,GAAqBE,IAAI,CAACC,MAA1B,GAAmCH,WAAjD;AACA,YAAMI,aAAa,GAAGF,IAAI,CAACG,KAAL,CAAW,CAAX,EAAcL,WAAd,CAAtB;AACA,YAAMM,iBAAiB,GAAGJ,IAAI,CAACG,KAAL,CAAWL,WAAX,EAAwBG,MAAlD;AACA,YAAMI,QAAQ,GAAGH,aAAa,CAACI,GAAd,CAAkB;AAAA,cAAGC,WAAH,QAAGA,WAAH;AAAA,iBAAqBA,WAArB;AAAA,SAAlB,EAAoDC,IAApD,CAAyD,IAAzD,CAAjB;;AAEA,YAAIJ,iBAAJ,EAAuB;AACnB,cAAMK,QAAQ,GAAGT,IAAI,CAACM,GAAL,CAAS;AAAA,gBAAGC,WAAH,SAAGA,WAAH;AAAA,mBAAqBA,WAArB;AAAA,WAAT,EAA2CC,IAA3C,CAAgD,IAAhD,CAAjB;AAEAlB,UAAAA,KAAK,CAACC,IAAN,CAAW;AACPV,YAAAA,OAAO,oBACAhC,yBAAyB,CAAC+B,WAAD,CAAzB,CAAuCjB,uBAAvC,CADA;AAEH+C,cAAAA,MAAM,EAAE;AAAEL,gBAAAA,QAAQ,EAARA,QAAF;AAAYD,gBAAAA,iBAAiB,EAAjBA;AAAZ;AAFL,cADA;AAKPO,YAAAA,cAAc,oBACP5D,QAAQ,CAAC6D,WADF;AAEVF,cAAAA,MAAM,EAAE;AAAED,gBAAAA,QAAQ,EAARA;AAAF;AAFE;AALP,WAAX;AAUH,SAbD,MAaO;AACH;AACA;AACA,cAAMI,WAAW,GAAGb,IAAI,CAACC,MAAL,GAAcvC,aAAd,GAA8BD,OAAlD;AAEA6B,UAAAA,KAAK,CAACC,IAAN,CAAW;AACPV,YAAAA,OAAO,oBACAhC,yBAAyB,CAAC+B,WAAD,CAAzB,CAAuCiC,WAAvC,CADA;AAEHH,cAAAA,MAAM,EAAE;AAAEL,gBAAAA,QAAQ,EAARA;AAAF;AAFL;AADA,WAAX;AAMH;;AACD;AACH;;AACD;AACI;AACA;AA1CR;;AA4CA,SAAOf,KAAP;AACH,CAjDD;;AAmDA,IAAMwB,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACxC,QAAD,EAA4C;AAAA;;AACpE,MAAMgB,KAAK,GAAG,EAAd;;AADoE,iBAEnC3C,OAAO,CAAC2B,QAAD,EAAWhB,QAAX,EAAqB,EAArB,CAF4B;AAAA,MAE5DyD,GAF4D,YAE5DA,GAF4D;AAAA,MAEvDC,MAFuD,YAEvDA,MAFuD;AAAA,MAE/CC,OAF+C,YAE/CA,OAF+C;;AAIpE,MAAMC,oBAAoB,uEACrBpD,GADqB,EACf;AACHqD,IAAAA,QAAQ,EAAErD,GADP;AAEHsD,IAAAA,YAAY,EAAEL;AAFX,GADe,0CAKrBlD,MALqB,EAKZ;AACNsD,IAAAA,QAAQ,EAAEtD,MADJ;AAENuD,IAAAA,YAAY,EAAEJ;AAFR,GALY,0CASrBpD,OATqB,EASX;AACPuD,IAAAA,QAAQ,EAAEvD,OADH;AAEPwD,IAAAA,YAAY,EAAEH;AAFP,GATW,yBAA1B;AAeAI,EAAAA,MAAM,CAACC,IAAP,CAAYJ,oBAAZ,EAAkCK,OAAlC,CAA0C,UAAAC,WAAW,EAAI;AAAA,iCAClBN,oBAAoB,CAACM,WAAD,CADF;AAAA,QAC7CL,QAD6C,0BAC7CA,QAD6C;AAAA,QACnCC,YADmC,0BACnCA,YADmC;;AAGrD,QAAI,CAACA,YAAL,EAAmB;AACf;AACH;;AALoD,QAM7CK,qBAN6C,GAMGL,YANH,CAM7CK,qBAN6C;AAAA,QAMtBC,oBANsB,GAMGN,YANH,CAMtBM,oBANsB;;AAQrD,QAAIA,oBAAoB,IAAID,qBAA5B,EAAmD;AAC/CnC,MAAAA,KAAK,CAACC,IAAN,CAAW;AAAEV,QAAAA,OAAO,EAAE/B,8BAA8B,CAACqE,QAAD,CAA9B,CAAyCQ,kBAAzC,CAA4DD,oBAA5D;AAAX,OAAX;AACH,KAFD,MAEO,IAAIA,oBAAJ,EAA0B;AAC7BpC,MAAAA,KAAK,CAACC,IAAN,CAAW;AAAEV,QAAAA,OAAO,EAAE/B,8BAA8B,CAACqE,QAAD,CAA9B,CAAyCS,eAAzC,CAAyDF,oBAAzD;AAAX,OAAX;AACH,KAFM,MAEA,IAAID,qBAAJ,EAA2B;AAC9BnC,MAAAA,KAAK,CAACC,IAAN,CAAW;AAAEV,QAAAA,OAAO,EAAE/B,8BAA8B,CAACqE,QAAD,CAA9B,CAAyCQ,kBAAzC,CAA4DE;AAAvE,OAAX;AACH;AACJ,GAfD;AAiBA,SAAOvC,KAAP;AACH,CArCD;;AAuCA,IAAMwC,+BAA+B,GAAG,SAAlCA,+BAAkC,CAACxD,QAAD,EAAqBwB,WAArB,EAAkE;AACtG,MAAMR,KAAK,gCACJD,qBAAqB,CAACf,QAAD,CADjB,sBAEJoB,yBAAyB,CAACpB,QAAD,CAFrB,sBAGJwC,mBAAmB,CAACxC,QAAD,CAHf,sBAIJuB,sBAAsB,CAACvB,QAAD,EAAWwB,WAAX,CAJlB,EAAX;AAMA,SAAOR,KAAP;AACH,CARD;;AAUA,SAASjB,+BAAT,EAA0CyD,+BAA1C","sourcesContent":["// @flow\nimport getProp from 'lodash/get';\nimport isNil from 'lodash/isNil';\n\nimport type { Controls, MessageItem } from '../flowTypes';\n\nimport appRestrictionsMessageMap from './appRestrictionsMessageMap';\nimport downloadRestrictionsMessageMap from './downloadRestrictionsMessageMap';\nimport messages from './messages';\nimport {\n ACCESS_POLICY_RESTRICTION,\n APP_RESTRICTION_MESSAGE_TYPE,\n DOWNLOAD_CONTROL,\n LIST_ACCESS_LEVEL,\n SHARED_LINK_ACCESS_LEVEL,\n} from '../constants';\n\nconst { SHARED_LINK, DOWNLOAD, EXTERNAL_COLLAB, APP } = ACCESS_POLICY_RESTRICTION;\nconst { DEFAULT, WITH_APP_LIST, WITH_OVERFLOWN_APP_LIST } = APP_RESTRICTION_MESSAGE_TYPE;\nconst { DESKTOP, MOBILE, WEB } = DOWNLOAD_CONTROL;\nconst { BLOCK, WHITELIST, BLACKLIST } = LIST_ACCESS_LEVEL;\nconst { COLLAB_ONLY, COLLAB_AND_COMPANY_ONLY, PUBLIC } = SHARED_LINK_ACCESS_LEVEL;\n\nconst getShortSecurityControlsMessage = (controls: Controls): ?MessageItem => {\n const { sharedLink, download, externalCollab, app } = controls;\n // Shared link and external collab restrictions are grouped\n // together as generic \"sharing\" restrictions\n const sharing = (sharedLink && sharedLink.accessLevel !== PUBLIC) || externalCollab;\n\n if (sharing && download && app) {\n return { message: messages.shortAllRestrictions };\n }\n\n if (sharing && download) {\n return { message: messages.shortSharingDownload };\n }\n\n if (sharing && app) {\n return { message: messages.shortSharingApp };\n }\n\n if (download && app) {\n return { message: messages.shortDownloadApp };\n }\n\n if (sharing) {\n return { message: messages.shortSharing };\n }\n\n if (download) {\n return { message: messages.shortDownload };\n }\n\n if (app) {\n return { message: messages.shortApp };\n }\n\n return null;\n};\n\nconst getSharedLinkMessages = (controls: Controls): Array<MessageItem> => {\n const items = [];\n const accessLevel = getProp(controls, `${SHARED_LINK}.accessLevel`);\n\n switch (accessLevel) {\n case COLLAB_ONLY:\n items.push({ message: messages.sharingCollabOnly });\n break;\n case COLLAB_AND_COMPANY_ONLY:\n items.push({ message: messages.sharingCollabAndCompanyOnly });\n break;\n default:\n // no-op\n break;\n }\n return items;\n};\n\nconst getExternalCollabMessages = (controls: Controls): Array<MessageItem> => {\n const items = [];\n const accessLevel = getProp(controls, `${EXTERNAL_COLLAB}.accessLevel`);\n\n switch (accessLevel) {\n case BLOCK:\n items.push({ message: messages.externalCollabBlock });\n break;\n case WHITELIST:\n case BLACKLIST:\n items.push({ message: messages.externalCollabDomainList });\n break;\n default:\n // no-op\n break;\n }\n return items;\n};\n\nconst getAppDownloadMessages = (controls: Controls, maxAppCount?: number): Array<MessageItem> => {\n const items = [];\n const accessLevel = getProp(controls, `${APP}.accessLevel`);\n\n switch (accessLevel) {\n case BLOCK:\n items.push({ message: messages.appDownloadRestricted });\n break;\n case WHITELIST:\n case BLACKLIST: {\n const apps = getProp(controls, `${APP}.apps`, []);\n\n maxAppCount = isNil(maxAppCount) ? apps.length : maxAppCount;\n const appsToDisplay = apps.slice(0, maxAppCount);\n const remainingAppCount = apps.slice(maxAppCount).length;\n const appNames = appsToDisplay.map(({ displayText }) => displayText).join(', ');\n\n if (remainingAppCount) {\n const appsList = apps.map(({ displayText }) => displayText).join(', ');\n\n items.push({\n message: {\n ...appRestrictionsMessageMap[accessLevel][WITH_OVERFLOWN_APP_LIST],\n values: { appNames, remainingAppCount },\n },\n tooltipMessage: {\n ...messages.allAppNames,\n values: { appsList },\n },\n });\n } else {\n // Display list of apps if available, otherwise use generic\n // app restriction copy\n const messageType = apps.length ? WITH_APP_LIST : DEFAULT;\n\n items.push({\n message: {\n ...appRestrictionsMessageMap[accessLevel][messageType],\n values: { appNames },\n },\n });\n }\n break;\n }\n default:\n // no-op\n break;\n }\n return items;\n};\n\nconst getDownloadMessages = (controls: Controls): Array<MessageItem> => {\n const items = [];\n const { web, mobile, desktop } = getProp(controls, DOWNLOAD, {});\n\n const downloadRestrictions = {\n [WEB]: {\n platform: WEB,\n restrictions: web,\n },\n [MOBILE]: {\n platform: MOBILE,\n restrictions: mobile,\n },\n [DESKTOP]: {\n platform: DESKTOP,\n restrictions: desktop,\n },\n };\n\n Object.keys(downloadRestrictions).forEach(platformKey => {\n const { platform, restrictions } = downloadRestrictions[platformKey];\n\n if (!restrictions) {\n return;\n }\n const { restrictExternalUsers, restrictManagedUsers } = restrictions;\n\n if (restrictManagedUsers && restrictExternalUsers) {\n items.push({ message: downloadRestrictionsMessageMap[platform].externalRestricted[restrictManagedUsers] });\n } else if (restrictManagedUsers) {\n items.push({ message: downloadRestrictionsMessageMap[platform].externalAllowed[restrictManagedUsers] });\n } else if (restrictExternalUsers) {\n items.push({ message: downloadRestrictionsMessageMap[platform].externalRestricted.default });\n }\n });\n\n return items;\n};\n\nconst getFullSecurityControlsMessages = (controls: Controls, maxAppCount?: number): Array<MessageItem> => {\n const items = [\n ...getSharedLinkMessages(controls),\n ...getExternalCollabMessages(controls),\n ...getDownloadMessages(controls),\n ...getAppDownloadMessages(controls, maxAppCount),\n ];\n return items;\n};\n\nexport { getShortSecurityControlsMessage, getFullSecurityControlsMessages };\n"],"file":"utils.js"}
1
+ {"version":3,"sources":["../../../../src/features/classification/security-controls/utils.js"],"names":["getProp","isNil","appRestrictionsMessageMap","downloadRestrictionsMessageMap","messages","ACCESS_POLICY_RESTRICTION","APP_RESTRICTION_MESSAGE_TYPE","DOWNLOAD_CONTROL","LIST_ACCESS_LEVEL","SHARED_LINK_ACCESS_LEVEL","SHARED_LINK","DOWNLOAD","EXTERNAL_COLLAB","APP","WATERMARK","DEFAULT","WITH_APP_LIST","WITH_OVERFLOWN_APP_LIST","DESKTOP","MOBILE","WEB","BLOCK","WHITELIST","BLACKLIST","COLLAB_ONLY","COLLAB_AND_COMPANY_ONLY","PUBLIC","getShortSecurityControlsMessage","controls","items","sharedLink","download","externalCollab","app","watermark","sharing","accessLevel","push","message","shortAllRestrictions","shortSharingDownload","shortSharingApp","shortDownloadApp","shortSharing","shortDownload","shortApp","shortWatermarking","getSharedLinkMessages","sharingCollabOnly","sharingCollabAndCompanyOnly","getWatermarkingMessages","isWatermarkEnabled","watermarkingApplied","getExternalCollabMessages","externalCollabBlock","externalCollabDomainList","getAppDownloadMessages","maxAppCount","appDownloadRestricted","apps","length","appsToDisplay","slice","remainingAppCount","appNames","map","displayText","join","appsList","values","tooltipMessage","allAppNames","messageType","getDownloadMessages","web","mobile","desktop","downloadRestrictions","platform","restrictions","Object","keys","forEach","platformKey","restrictExternalUsers","restrictManagedUsers","externalRestricted","externalAllowed","default","getFullSecurityControlsMessages"],"mappings":"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","sourcesContent":["// @flow\nimport getProp from 'lodash/get';\nimport isNil from 'lodash/isNil';\n\nimport type { Controls, MessageItem } from '../flowTypes';\n\nimport appRestrictionsMessageMap from './appRestrictionsMessageMap';\nimport downloadRestrictionsMessageMap from './downloadRestrictionsMessageMap';\nimport messages from './messages';\nimport {\n ACCESS_POLICY_RESTRICTION,\n APP_RESTRICTION_MESSAGE_TYPE,\n DOWNLOAD_CONTROL,\n LIST_ACCESS_LEVEL,\n SHARED_LINK_ACCESS_LEVEL,\n} from '../constants';\n\nconst { SHARED_LINK, DOWNLOAD, EXTERNAL_COLLAB, APP, WATERMARK } = ACCESS_POLICY_RESTRICTION;\nconst { DEFAULT, WITH_APP_LIST, WITH_OVERFLOWN_APP_LIST } = APP_RESTRICTION_MESSAGE_TYPE;\nconst { DESKTOP, MOBILE, WEB } = DOWNLOAD_CONTROL;\nconst { BLOCK, WHITELIST, BLACKLIST } = LIST_ACCESS_LEVEL;\nconst { COLLAB_ONLY, COLLAB_AND_COMPANY_ONLY, PUBLIC } = SHARED_LINK_ACCESS_LEVEL;\n\nconst getShortSecurityControlsMessage = (controls: Controls): Array<MessageItem> => {\n const items = [];\n const { sharedLink, download, externalCollab, app, watermark } = controls;\n\n // Shared link and external collab restrictions are grouped\n // together as generic \"sharing\" restrictions\n const sharing = (sharedLink && sharedLink.accessLevel !== PUBLIC) || externalCollab;\n\n if (sharing && download && app) {\n items.push({ message: messages.shortAllRestrictions });\n } else if (sharing && download) {\n items.push({ message: messages.shortSharingDownload });\n } else if (sharing && app) {\n items.push({ message: messages.shortSharingApp });\n } else if (download && app) {\n items.push({ message: messages.shortDownloadApp });\n } else if (sharing) {\n items.push({ message: messages.shortSharing });\n } else if (download) {\n items.push({ message: messages.shortDownload });\n } else if (app) {\n items.push({ message: messages.shortApp });\n }\n\n if (watermark) {\n items.push({ message: messages.shortWatermarking });\n }\n\n return items;\n};\n\nconst getSharedLinkMessages = (controls: Controls): Array<MessageItem> => {\n const items = [];\n const accessLevel = getProp(controls, `${SHARED_LINK}.accessLevel`);\n\n switch (accessLevel) {\n case COLLAB_ONLY:\n items.push({ message: messages.sharingCollabOnly });\n break;\n case COLLAB_AND_COMPANY_ONLY:\n items.push({ message: messages.sharingCollabAndCompanyOnly });\n break;\n default:\n // no-op\n break;\n }\n return items;\n};\n\nconst getWatermarkingMessages = (controls: Controls): Array<MessageItem> => {\n const items = [];\n const isWatermarkEnabled = getProp(controls, `${WATERMARK}.enabled`, false);\n if (isWatermarkEnabled) {\n items.push({ message: messages.watermarkingApplied });\n }\n\n return items;\n};\n\nconst getExternalCollabMessages = (controls: Controls): Array<MessageItem> => {\n const items = [];\n const accessLevel = getProp(controls, `${EXTERNAL_COLLAB}.accessLevel`);\n\n switch (accessLevel) {\n case BLOCK:\n items.push({ message: messages.externalCollabBlock });\n break;\n case WHITELIST:\n case BLACKLIST:\n items.push({ message: messages.externalCollabDomainList });\n break;\n default:\n // no-op\n break;\n }\n return items;\n};\n\nconst getAppDownloadMessages = (controls: Controls, maxAppCount?: number): Array<MessageItem> => {\n const items = [];\n const accessLevel = getProp(controls, `${APP}.accessLevel`);\n\n switch (accessLevel) {\n case BLOCK:\n items.push({ message: messages.appDownloadRestricted });\n break;\n case WHITELIST:\n case BLACKLIST: {\n const apps = getProp(controls, `${APP}.apps`, []);\n\n maxAppCount = isNil(maxAppCount) ? apps.length : maxAppCount;\n const appsToDisplay = apps.slice(0, maxAppCount);\n const remainingAppCount = apps.slice(maxAppCount).length;\n const appNames = appsToDisplay.map(({ displayText }) => displayText).join(', ');\n\n if (remainingAppCount) {\n const appsList = apps.map(({ displayText }) => displayText).join(', ');\n\n items.push({\n message: {\n ...appRestrictionsMessageMap[accessLevel][WITH_OVERFLOWN_APP_LIST],\n values: { appNames, remainingAppCount },\n },\n tooltipMessage: {\n ...messages.allAppNames,\n values: { appsList },\n },\n });\n } else {\n // Display list of apps if available, otherwise use generic\n // app restriction copy\n const messageType = apps.length ? WITH_APP_LIST : DEFAULT;\n\n items.push({\n message: {\n ...appRestrictionsMessageMap[accessLevel][messageType],\n values: { appNames },\n },\n });\n }\n break;\n }\n default:\n // no-op\n break;\n }\n return items;\n};\n\nconst getDownloadMessages = (controls: Controls): Array<MessageItem> => {\n const items = [];\n const { web, mobile, desktop } = getProp(controls, DOWNLOAD, {});\n\n const downloadRestrictions = {\n [WEB]: {\n platform: WEB,\n restrictions: web,\n },\n [MOBILE]: {\n platform: MOBILE,\n restrictions: mobile,\n },\n [DESKTOP]: {\n platform: DESKTOP,\n restrictions: desktop,\n },\n };\n\n Object.keys(downloadRestrictions).forEach(platformKey => {\n const { platform, restrictions } = downloadRestrictions[platformKey];\n\n if (!restrictions) {\n return;\n }\n const { restrictExternalUsers, restrictManagedUsers } = restrictions;\n\n if (restrictManagedUsers && restrictExternalUsers) {\n items.push({ message: downloadRestrictionsMessageMap[platform].externalRestricted[restrictManagedUsers] });\n } else if (restrictManagedUsers) {\n items.push({ message: downloadRestrictionsMessageMap[platform].externalAllowed[restrictManagedUsers] });\n } else if (restrictExternalUsers) {\n items.push({ message: downloadRestrictionsMessageMap[platform].externalRestricted.default });\n }\n });\n\n return items;\n};\n\nconst getFullSecurityControlsMessages = (controls: Controls, maxAppCount?: number): Array<MessageItem> => {\n const items = [\n ...getSharedLinkMessages(controls),\n ...getExternalCollabMessages(controls),\n ...getDownloadMessages(controls),\n ...getAppDownloadMessages(controls, maxAppCount),\n ...getWatermarkingMessages(controls),\n ];\n return items;\n};\n\nexport { getShortSecurityControlsMessage, getFullSecurityControlsMessages };\n"],"file":"utils.js"}
package/i18n/bn-IN.js CHANGED
@@ -617,7 +617,9 @@ export default {
617
617
  "boxui.securityControls.shortSharing": "শেয়ারিংয়ে সীমাবদ্ধতা প্রযোজ্য",
618
618
  "boxui.securityControls.shortSharingApp": "শেয়ারিং ও অ্যাপে সীমাবদ্ধতা প্রযোজ্য",
619
619
  "boxui.securityControls.shortSharingDownload": "শেয়ারিং ও ডাউনলোডে সীমাবদ্ধতা প্রযোজ্য",
620
+ "boxui.securityControls.shortWatermarking": "Watermarking applied",
620
621
  "boxui.securityControls.viewAll": "সমস্ত দেখুন",
622
+ "boxui.securityControls.watermarkingApplied": "Watermarking will be applied for Previewer Uploaders, Previewers and Viewers.",
621
623
  "boxui.securityControls.webDownloadExternal": "বাহ্যিক ব্যবহারকারীদের জন্য ওয়েবে ডাউনলোড সীমাবদ্ধ রয়েছে।",
622
624
  "boxui.securityControls.webDownloadExternalOwners": "মালিক/সহ-মালিক ছাড়া, ওয়েবে ডাউনলোড সীমাবদ্ধ রয়েছে। বাহ্যিক ব্যবহারকারীদের জন্যও সীমাবদ্ধ রয়েছে।",
623
625
  "boxui.securityControls.webDownloadExternalOwnersEditors": "মালিক/সহ-মালিক/সম্পাদক ছাড়া, ওয়েবে ডাউনলোড সীমাবদ্ধ রয়েছে। বাহ্যিক ব্যবহারকারীদের জন্যও সীমাবদ্ধ রয়েছে।",
package/i18n/da-DK.js CHANGED
@@ -617,7 +617,9 @@ export default {
617
617
  "boxui.securityControls.shortSharing": "Begrænsning for deling er gældende",
618
618
  "boxui.securityControls.shortSharingApp": "Begrænsninger for deling og apps er gældende",
619
619
  "boxui.securityControls.shortSharingDownload": "Begrænsninger for deling og download er gældende",
620
+ "boxui.securityControls.shortWatermarking": "Watermarking applied",
620
621
  "boxui.securityControls.viewAll": "Vis alle",
622
+ "boxui.securityControls.watermarkingApplied": "Watermarking will be applied for Previewer Uploaders, Previewers and Viewers.",
621
623
  "boxui.securityControls.webDownloadExternal": "Download er begrænset på internettet for eksterne brugere.",
622
624
  "boxui.securityControls.webDownloadExternalOwners": "Download er begrænset på internettet, undtagen for ejere/medejere. Begrænsningen gælder også for eksterne brugere.",
623
625
  "boxui.securityControls.webDownloadExternalOwnersEditors": "Download er begrænset på internettet, undtagen for ejere/medejere/redaktører. Begrænsningen gælder også for eksterne brugere.",
package/i18n/de-DE.js CHANGED
@@ -617,7 +617,9 @@ export default {
617
617
  "boxui.securityControls.shortSharing": "Freigabe-Einschränkung ist in Kraft",
618
618
  "boxui.securityControls.shortSharingApp": "Freigabe- und App-Einschränkungen sind in Kraft",
619
619
  "boxui.securityControls.shortSharingDownload": "Freigabe- und Download-Einschränkungen sind in Kraft",
620
+ "boxui.securityControls.shortWatermarking": "Watermarking applied",
620
621
  "boxui.securityControls.viewAll": "Alle anzeigen",
622
+ "boxui.securityControls.watermarkingApplied": "Watermarking will be applied for Previewer Uploaders, Previewers and Viewers.",
621
623
  "boxui.securityControls.webDownloadExternal": "Download im Web für externe Benutzer eingeschränkt.",
622
624
  "boxui.securityControls.webDownloadExternalOwners": "Download im Web für Benutzer mit Ausnahme von Eigentümern/Miteigentümern eingeschränkt. Auch für externe Benutzer eingeschränkt.",
623
625
  "boxui.securityControls.webDownloadExternalOwnersEditors": "Download im Web für Benutzer mit Ausnahme von Eigentümern/Miteigentümern/Bearbeitern eingeschränkt. Auch für externe Benutzer eingeschränkt.",