@ably/ui 8.7.0-dev.9659fc3 → 8.7.0-dev.98edac1
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.
- package/README.md +9 -2
- package/core/.DS_Store +0 -0
- package/core/DropdownMenu/component.js +1 -0
- package/core/DropdownMenu.jsx +313 -0
- package/core/{MeganavContentWhyAbly → DropdownMenuPreview}/component.js +0 -0
- package/core/{MeganavContentWhyAbly.jsx → DropdownMenuPreview.jsx} +0 -0
- package/core/Flash.jsx +129 -57
- package/core/Footer/component.css +10 -0
- package/core/Footer.jsx +135 -44
- package/core/Logo.jsx +28 -113
- package/core/Meganav/component.json +1 -1
- package/core/Meganav.jsx +186 -185
- package/core/MeganavContentDevelopers.jsx +21 -9
- package/core/MeganavContentUseCases.jsx +1 -1
- package/core/MeganavItemsDesktop.jsx +1 -1
- package/core/MeganavItemsMobile.jsx +1 -1
- package/core/Notice/component.js +1 -1
- package/core/Notice.jsx +130 -58
- package/core/images/ably-logo.png +0 -0
- package/core/images/high-performer-2022.png +0 -0
- package/core/images/highest-user-adoption-2022.png +0 -0
- package/core/images/users-love-us-2022.png +0 -0
- package/core/sprites.svg +42 -1
- package/core/styles.css +2 -0
- package/package.json +1 -1
- package/src/.DS_Store +0 -0
- package/src/core/.DS_Store +0 -0
- package/{preview/vendor/bundle/ruby/3.0.0/bundler/gems/ably-ui-abffd210ec0f/preview/log/.keep → src/core/DropdownMenu/component.js} +0 -0
- package/src/core/DropdownMenu/component.jsx +112 -0
- package/src/core/FeatureFooter/component.html.erb +1 -1
- package/src/core/Flash/component.jsx +40 -14
- package/src/core/Footer/component.css +10 -0
- package/src/core/Footer/component.html.erb +110 -48
- package/src/core/Footer/component.jsx +121 -46
- package/src/core/Logo/component.html.erb +2 -27
- package/src/core/Logo/component.jsx +7 -40
- package/src/core/Logo/component.rb +15 -6
- package/src/core/Meganav/component.html.erb +1 -1
- package/src/core/Meganav/component.json +1 -1
- package/src/core/Meganav/component.jsx +1 -1
- package/src/core/Meganav/component.rb +3 -2
- package/src/core/MeganavContentDevelopers/component.html.erb +17 -8
- package/src/core/MeganavContentDevelopers/component.jsx +17 -8
- package/src/core/MeganavContentUseCases/component.html.erb +1 -1
- package/src/core/MeganavContentUseCases/component.jsx +1 -1
- package/src/core/MeganavSearchSuggestions/component.html.erb +1 -1
- package/src/core/core.rb +12 -4
- package/src/core/icons/github.svg +1 -1
- package/src/core/icons/google.svg +3 -0
- package/src/core/icons/icon-display-chat-col.svg +4 -0
- package/src/core/icons/icon-display-integrations-col.svg +8 -0
- package/src/core/icons/icon-gui-check-circled-fill-black.svg +4 -0
- package/src/core/icons/icon-gui-filter-flow-step-1.svg +5 -0
- package/src/core/icons/icon-gui-filter-flow-step-2.svg +5 -0
- package/src/core/icons/icon-gui-filter-flow-step-3.svg +5 -0
- package/src/core/icons/icon-gui-resources.svg +3 -0
- package/src/core/icons/stackoverflow.svg +3 -0
- package/src/core/icons/youtube.svg +11 -0
- package/src/core/images/ably-logo.png +0 -0
- package/src/core/images/high-performer-2022.png +0 -0
- package/src/core/images/highest-user-adoption-2022.png +0 -0
- package/src/core/images/users-love-us-2022.png +0 -0
- package/src/core/styles/properties.css +2 -0
- package/tailwind.config.js +1 -0
- package/core/fonts/.DS_Store +0 -0
- package/core/images/.DS_Store +0 -0
- package/core/scripts.js.LICENSE.txt +0 -32
- package/preview/vendor/bundle/ruby/3.0.0/bundler/gems/ably-ui-abffd210ec0f/preview/tmp/.keep +0 -0
- package/preview/vendor/bundle/ruby/3.0.0/bundler/gems/ably-ui-abffd210ec0f/preview/tmp/pids/.keep +0 -0
- package/src/core/fonts/.DS_Store +0 -0
- package/src/core/images/.DS_Store +0 -0
- package/src/reset/.DS_Store +0 -0
package/README.md
CHANGED
|
@@ -239,7 +239,14 @@ yarn link @ably/ui
|
|
|
239
239
|
|
|
240
240
|
For `ruby`:
|
|
241
241
|
|
|
242
|
-
In `preview/Gemfile` replace
|
|
242
|
+
In `preview/Gemfile` replace the Ably UI gem version number with `path: '../'` like this:
|
|
243
|
+
|
|
244
|
+
```bash
|
|
245
|
+
# in preview
|
|
246
|
+
gem 'ably-ui', path: '../', require: 'ably_ui'
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
and run:
|
|
243
250
|
|
|
244
251
|
```bash
|
|
245
252
|
# in preview
|
|
@@ -284,7 +291,7 @@ To deploy a review app with your in-progress code, you can use the `pre-release`
|
|
|
284
291
|
|
|
285
292
|
```bash
|
|
286
293
|
# in root
|
|
287
|
-
|
|
294
|
+
scripts/pre-release.sh
|
|
288
295
|
```
|
|
289
296
|
|
|
290
297
|
This will do a couple of things:
|
package/core/.DS_Store
CHANGED
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports.AblyUi=o():(e.AblyUi=e.AblyUi||{},e.AblyUi.Core=e.AblyUi.Core||{},e.AblyUi.Core.DropdownMenu=o())}(this,(function(){return{}.default}));
|
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
(function webpackUniversalModuleDefinition(root, factory) {
|
|
2
|
+
if(typeof exports === 'object' && typeof module === 'object')
|
|
3
|
+
module.exports = factory(require("react"), require("prop-types"));
|
|
4
|
+
else if(typeof define === 'function' && define.amd)
|
|
5
|
+
define([, ], factory);
|
|
6
|
+
else {
|
|
7
|
+
var a = typeof exports === 'object' ? factory(require("react"), require("prop-types")) : factory(root[undefined], root[undefined]);
|
|
8
|
+
for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
|
|
9
|
+
}
|
|
10
|
+
})(this, function(__WEBPACK_EXTERNAL_MODULE__9281__, __WEBPACK_EXTERNAL_MODULE__3474__) {
|
|
11
|
+
return /******/ (() => { // webpackBootstrap
|
|
12
|
+
/******/ "use strict";
|
|
13
|
+
/******/ var __webpack_modules__ = ({
|
|
14
|
+
|
|
15
|
+
/***/ 9008:
|
|
16
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
17
|
+
|
|
18
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
19
|
+
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
20
|
+
/* harmony export */ });
|
|
21
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9281);
|
|
22
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
23
|
+
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3474);
|
|
24
|
+
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
|
|
25
|
+
var _excluded = ["name", "size", "color", "additionalCSS"];
|
|
26
|
+
|
|
27
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
28
|
+
|
|
29
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
30
|
+
|
|
31
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
var Icon = function Icon(_ref) {
|
|
37
|
+
var name = _ref.name,
|
|
38
|
+
_ref$size = _ref.size,
|
|
39
|
+
size = _ref$size === void 0 ? "0.75rem" : _ref$size,
|
|
40
|
+
_ref$color = _ref.color,
|
|
41
|
+
color = _ref$color === void 0 ? "" : _ref$color,
|
|
42
|
+
_ref$additionalCSS = _ref.additionalCSS,
|
|
43
|
+
additionalCSS = _ref$additionalCSS === void 0 ? "" : _ref$additionalCSS,
|
|
44
|
+
additionalAttributes = _objectWithoutProperties(_ref, _excluded);
|
|
45
|
+
|
|
46
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("svg", _extends({
|
|
47
|
+
className: "".concat(color, " ").concat(additionalCSS),
|
|
48
|
+
style: {
|
|
49
|
+
width: size,
|
|
50
|
+
height: size
|
|
51
|
+
}
|
|
52
|
+
}, additionalAttributes), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("use", {
|
|
53
|
+
xlinkHref: "#sprite-".concat(name)
|
|
54
|
+
}));
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
Icon.propTypes = {
|
|
58
|
+
name: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string.isRequired),
|
|
59
|
+
size: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
|
|
60
|
+
color: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
|
|
61
|
+
additionalCSS: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string)
|
|
62
|
+
};
|
|
63
|
+
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Icon);
|
|
64
|
+
|
|
65
|
+
/***/ }),
|
|
66
|
+
|
|
67
|
+
/***/ 3474:
|
|
68
|
+
/***/ ((module) => {
|
|
69
|
+
|
|
70
|
+
module.exports = __WEBPACK_EXTERNAL_MODULE__3474__;
|
|
71
|
+
|
|
72
|
+
/***/ }),
|
|
73
|
+
|
|
74
|
+
/***/ 9281:
|
|
75
|
+
/***/ ((module) => {
|
|
76
|
+
|
|
77
|
+
module.exports = __WEBPACK_EXTERNAL_MODULE__9281__;
|
|
78
|
+
|
|
79
|
+
/***/ })
|
|
80
|
+
|
|
81
|
+
/******/ });
|
|
82
|
+
/************************************************************************/
|
|
83
|
+
/******/ // The module cache
|
|
84
|
+
/******/ var __webpack_module_cache__ = {};
|
|
85
|
+
/******/
|
|
86
|
+
/******/ // The require function
|
|
87
|
+
/******/ function __webpack_require__(moduleId) {
|
|
88
|
+
/******/ // Check if module is in cache
|
|
89
|
+
/******/ var cachedModule = __webpack_module_cache__[moduleId];
|
|
90
|
+
/******/ if (cachedModule !== undefined) {
|
|
91
|
+
/******/ return cachedModule.exports;
|
|
92
|
+
/******/ }
|
|
93
|
+
/******/ // Create a new module (and put it into the cache)
|
|
94
|
+
/******/ var module = __webpack_module_cache__[moduleId] = {
|
|
95
|
+
/******/ // no module.id needed
|
|
96
|
+
/******/ // no module.loaded needed
|
|
97
|
+
/******/ exports: {}
|
|
98
|
+
/******/ };
|
|
99
|
+
/******/
|
|
100
|
+
/******/ // Execute the module function
|
|
101
|
+
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
|
102
|
+
/******/
|
|
103
|
+
/******/ // Return the exports of the module
|
|
104
|
+
/******/ return module.exports;
|
|
105
|
+
/******/ }
|
|
106
|
+
/******/
|
|
107
|
+
/************************************************************************/
|
|
108
|
+
/******/ /* webpack/runtime/compat get default export */
|
|
109
|
+
/******/ (() => {
|
|
110
|
+
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
111
|
+
/******/ __webpack_require__.n = (module) => {
|
|
112
|
+
/******/ var getter = module && module.__esModule ?
|
|
113
|
+
/******/ () => (module['default']) :
|
|
114
|
+
/******/ () => (module);
|
|
115
|
+
/******/ __webpack_require__.d(getter, { a: getter });
|
|
116
|
+
/******/ return getter;
|
|
117
|
+
/******/ };
|
|
118
|
+
/******/ })();
|
|
119
|
+
/******/
|
|
120
|
+
/******/ /* webpack/runtime/define property getters */
|
|
121
|
+
/******/ (() => {
|
|
122
|
+
/******/ // define getter functions for harmony exports
|
|
123
|
+
/******/ __webpack_require__.d = (exports, definition) => {
|
|
124
|
+
/******/ for(var key in definition) {
|
|
125
|
+
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
|
126
|
+
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
|
127
|
+
/******/ }
|
|
128
|
+
/******/ }
|
|
129
|
+
/******/ };
|
|
130
|
+
/******/ })();
|
|
131
|
+
/******/
|
|
132
|
+
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
|
133
|
+
/******/ (() => {
|
|
134
|
+
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
|
135
|
+
/******/ })();
|
|
136
|
+
/******/
|
|
137
|
+
/******/ /* webpack/runtime/make namespace object */
|
|
138
|
+
/******/ (() => {
|
|
139
|
+
/******/ // define __esModule on exports
|
|
140
|
+
/******/ __webpack_require__.r = (exports) => {
|
|
141
|
+
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
142
|
+
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
143
|
+
/******/ }
|
|
144
|
+
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
|
145
|
+
/******/ };
|
|
146
|
+
/******/ })();
|
|
147
|
+
/******/
|
|
148
|
+
/************************************************************************/
|
|
149
|
+
var __webpack_exports__ = {};
|
|
150
|
+
// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
|
|
151
|
+
(() => {
|
|
152
|
+
__webpack_require__.r(__webpack_exports__);
|
|
153
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
154
|
+
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
155
|
+
/* harmony export */ });
|
|
156
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9281);
|
|
157
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
158
|
+
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3474);
|
|
159
|
+
/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);
|
|
160
|
+
/* harmony import */ var _Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9008);
|
|
161
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
162
|
+
|
|
163
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
164
|
+
|
|
165
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
166
|
+
|
|
167
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
168
|
+
|
|
169
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
170
|
+
|
|
171
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
var DropdownMenuContext = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)();
|
|
177
|
+
|
|
178
|
+
var DropdownMenu = function DropdownMenu(_ref) {
|
|
179
|
+
var children = _ref.children;
|
|
180
|
+
|
|
181
|
+
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),
|
|
182
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
183
|
+
isOpen = _useState2[0],
|
|
184
|
+
setOpen = _useState2[1];
|
|
185
|
+
|
|
186
|
+
var ref = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
|
|
187
|
+
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
|
|
188
|
+
var clickHandler = function clickHandler(e) {
|
|
189
|
+
var _ref$current;
|
|
190
|
+
|
|
191
|
+
if (ref !== null && ref !== void 0 && (_ref$current = ref.current) !== null && _ref$current !== void 0 && _ref$current.contains(e.target)) return;
|
|
192
|
+
setOpen(false);
|
|
193
|
+
};
|
|
194
|
+
|
|
195
|
+
document.addEventListener("click", clickHandler);
|
|
196
|
+
return function () {
|
|
197
|
+
document.removeEventListener("click", clickHandler);
|
|
198
|
+
};
|
|
199
|
+
}, []);
|
|
200
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(DropdownMenuContext.Provider, {
|
|
201
|
+
value: {
|
|
202
|
+
isOpen: isOpen,
|
|
203
|
+
setOpen: setOpen
|
|
204
|
+
}
|
|
205
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
206
|
+
id: "dropdown-menu",
|
|
207
|
+
className: "relative",
|
|
208
|
+
ref: ref
|
|
209
|
+
}, children));
|
|
210
|
+
};
|
|
211
|
+
|
|
212
|
+
DropdownMenu.propTypes = {
|
|
213
|
+
children: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().node)
|
|
214
|
+
};
|
|
215
|
+
|
|
216
|
+
var Trigger = function Trigger(_ref2) {
|
|
217
|
+
var children = _ref2.children,
|
|
218
|
+
_ref2$additionalTrigg = _ref2.additionalTriggerCSS,
|
|
219
|
+
additionalTriggerCSS = _ref2$additionalTrigg === void 0 ? "" : _ref2$additionalTrigg;
|
|
220
|
+
|
|
221
|
+
var _useContext = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(DropdownMenuContext),
|
|
222
|
+
isOpen = _useContext.isOpen,
|
|
223
|
+
setOpen = _useContext.setOpen;
|
|
224
|
+
|
|
225
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
|
|
226
|
+
id: "menu-trigger",
|
|
227
|
+
onClick: function onClick() {
|
|
228
|
+
return setOpen(!isOpen);
|
|
229
|
+
},
|
|
230
|
+
className: "".concat(additionalTriggerCSS, " flex items-center p-8 ml-8 group hover:text-gui-hover hover:bg-light-grey active:text-gui-active focus:text-gui-focus focus:outline-none rounded-lg")
|
|
231
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("span", {
|
|
232
|
+
className: "leading-normal"
|
|
233
|
+
}, children), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
|
|
234
|
+
name: "icon-gui-disclosure-arrow",
|
|
235
|
+
color: "text-cool-black",
|
|
236
|
+
size: "1.25rem",
|
|
237
|
+
additionalCSS: "transform rotate-90 group-hover:text-gui-hover group-active:text-gui-active group-focus:text-gui-focus"
|
|
238
|
+
}));
|
|
239
|
+
};
|
|
240
|
+
|
|
241
|
+
Trigger.propTypes = {
|
|
242
|
+
children: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().node),
|
|
243
|
+
additionalTriggerCSS: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string)
|
|
244
|
+
};
|
|
245
|
+
|
|
246
|
+
var Content = function Content(_ref3) {
|
|
247
|
+
var children = _ref3.children,
|
|
248
|
+
_ref3$anchorPosition = _ref3.anchorPosition,
|
|
249
|
+
anchorPosition = _ref3$anchorPosition === void 0 ? "right" : _ref3$anchorPosition,
|
|
250
|
+
additionalContentCSS = _ref3.additionalContentCSS;
|
|
251
|
+
|
|
252
|
+
var _useContext2 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(DropdownMenuContext),
|
|
253
|
+
isOpen = _useContext2.isOpen;
|
|
254
|
+
|
|
255
|
+
if (!isOpen) {
|
|
256
|
+
return null;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
var anchorPositionClasses = anchorPosition === "right" ? "right-0" : "left-0";
|
|
260
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
261
|
+
id: "menu-content",
|
|
262
|
+
className: "".concat(additionalContentCSS, " absolute p-8 z-10 border border-mid-grey bg-white rounded shadow-container ").concat(anchorPositionClasses),
|
|
263
|
+
style: {
|
|
264
|
+
minWidth: 275,
|
|
265
|
+
top: 44
|
|
266
|
+
}
|
|
267
|
+
}, children);
|
|
268
|
+
};
|
|
269
|
+
|
|
270
|
+
Content.propTypes = {
|
|
271
|
+
children: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().node),
|
|
272
|
+
anchorPosition: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
|
|
273
|
+
additionalContentCSS: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string)
|
|
274
|
+
};
|
|
275
|
+
|
|
276
|
+
var Link = function Link(_ref4) {
|
|
277
|
+
var url = _ref4.url,
|
|
278
|
+
title = _ref4.title,
|
|
279
|
+
subtitle = _ref4.subtitle,
|
|
280
|
+
iconName = _ref4.iconName,
|
|
281
|
+
children = _ref4.children;
|
|
282
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
|
283
|
+
href: url,
|
|
284
|
+
className: "menu-link group block p-8 hover:bg-light-grey hover:text-cool-black rounded"
|
|
285
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
|
|
286
|
+
className: "mb-4"
|
|
287
|
+
}, title, iconName ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Icon_component_jsx__WEBPACK_IMPORTED_MODULE_2__.default, {
|
|
288
|
+
name: iconName,
|
|
289
|
+
size: "1rem",
|
|
290
|
+
color: "text-cool-black",
|
|
291
|
+
additionalCSS: "align-middle ml-8 relative -top-1 -left-4"
|
|
292
|
+
}) : null), subtitle ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
|
|
293
|
+
className: "text-p3 mb-16 text-dark-grey"
|
|
294
|
+
}, subtitle) : null, children);
|
|
295
|
+
};
|
|
296
|
+
|
|
297
|
+
Link.propTypes = {
|
|
298
|
+
url: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
|
|
299
|
+
title: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
|
|
300
|
+
subtitle: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
|
|
301
|
+
iconName: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().string),
|
|
302
|
+
children: (prop_types__WEBPACK_IMPORTED_MODULE_1___default().node)
|
|
303
|
+
};
|
|
304
|
+
DropdownMenu.Trigger = Trigger;
|
|
305
|
+
DropdownMenu.Content = Content;
|
|
306
|
+
DropdownMenu.Link = Link;
|
|
307
|
+
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (DropdownMenu);
|
|
308
|
+
})();
|
|
309
|
+
|
|
310
|
+
/******/ return __webpack_exports__;
|
|
311
|
+
/******/ })()
|
|
312
|
+
;
|
|
313
|
+
});
|
|
File without changes
|
|
File without changes
|
package/core/Flash.jsx
CHANGED
|
@@ -285,22 +285,55 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__5044__;
|
|
|
285
285
|
var __webpack_exports__ = {};
|
|
286
286
|
// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
|
|
287
287
|
(() => {
|
|
288
|
+
// ESM COMPAT FLAG
|
|
288
289
|
__webpack_require__.r(__webpack_exports__);
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
/*
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
290
|
+
|
|
291
|
+
// EXPORTS
|
|
292
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
293
|
+
"FLASH_DATA_ID": () => (/* binding */ FLASH_DATA_ID),
|
|
294
|
+
"Flashes": () => (/* binding */ Flashes),
|
|
295
|
+
"default": () => (/* binding */ Flash_component),
|
|
296
|
+
"reducerFlashes": () => (/* binding */ reducerFlashes)
|
|
297
|
+
});
|
|
298
|
+
|
|
299
|
+
// EXTERNAL MODULE: external {"commonjs":"react","commonjs2":"react"}
|
|
300
|
+
var external_commonjs_react_commonjs2_react_ = __webpack_require__(9281);
|
|
301
|
+
var external_commonjs_react_commonjs2_react_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_react_commonjs2_react_);
|
|
302
|
+
// EXTERNAL MODULE: external {"commonjs":"dompurify","commonjs2":"dompurify"}
|
|
303
|
+
var external_commonjs_dompurify_commonjs2_dompurify_ = __webpack_require__(6357);
|
|
304
|
+
var external_commonjs_dompurify_commonjs2_dompurify_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_dompurify_commonjs2_dompurify_);
|
|
305
|
+
// EXTERNAL MODULE: external {"commonjs":"prop-types","commonjs2":"prop-types"}
|
|
306
|
+
var external_commonjs_prop_types_commonjs2_prop_types_ = __webpack_require__(3474);
|
|
307
|
+
var external_commonjs_prop_types_commonjs2_prop_types_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_prop_types_commonjs2_prop_types_);
|
|
308
|
+
;// CONCATENATED MODULE: ./node_modules/nanoid/non-secure/index.js
|
|
309
|
+
let urlAlphabet =
|
|
310
|
+
'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'
|
|
311
|
+
let customAlphabet = (alphabet, defaultSize = 21) => {
|
|
312
|
+
return (size = defaultSize) => {
|
|
313
|
+
let id = ''
|
|
314
|
+
let i = size
|
|
315
|
+
while (i--) {
|
|
316
|
+
id += alphabet[(Math.random() * alphabet.length) | 0]
|
|
317
|
+
}
|
|
318
|
+
return id
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
let nanoid = (size = 21) => {
|
|
322
|
+
let id = ''
|
|
323
|
+
let i = size
|
|
324
|
+
while (i--) {
|
|
325
|
+
id += urlAlphabet[(Math.random() * 64) | 0]
|
|
326
|
+
}
|
|
327
|
+
return id
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
// EXTERNAL MODULE: ./src/core/remote-data-store.js
|
|
331
|
+
var remote_data_store = __webpack_require__(3511);
|
|
332
|
+
// EXTERNAL MODULE: ./src/core/ConnectStateWrapper/component.jsx
|
|
333
|
+
var component = __webpack_require__(9787);
|
|
334
|
+
// EXTERNAL MODULE: ./src/core/Icon/component.jsx
|
|
335
|
+
var Icon_component = __webpack_require__(9008);
|
|
336
|
+
;// CONCATENATED MODULE: ./src/core/Flash/component.jsx
|
|
304
337
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
305
338
|
|
|
306
339
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
@@ -335,6 +368,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
335
368
|
|
|
336
369
|
|
|
337
370
|
|
|
371
|
+
|
|
338
372
|
var REDUCER_KEY = "flashes";
|
|
339
373
|
var FLASH_DATA_ID = "ui-flashes";
|
|
340
374
|
var initialState = {
|
|
@@ -364,8 +398,8 @@ var selectFlashes = function selectFlashes(store) {
|
|
|
364
398
|
};
|
|
365
399
|
|
|
366
400
|
var FlashT = {
|
|
367
|
-
type:
|
|
368
|
-
content: (
|
|
401
|
+
type: external_commonjs_prop_types_commonjs2_prop_types_default().oneOf(["error", "success", "notice", "info", "alert"]),
|
|
402
|
+
content: (external_commonjs_prop_types_commonjs2_prop_types_default()).string
|
|
369
403
|
};
|
|
370
404
|
var FLASH_BG_COLOR = {
|
|
371
405
|
error: "bg-gui-error",
|
|
@@ -384,48 +418,60 @@ var FLASH_TEXT_COLOR = {
|
|
|
384
418
|
var AUTO_HIDE = ["success", "info", "notice"];
|
|
385
419
|
var AUTO_HIDE_TIME = 8000;
|
|
386
420
|
|
|
421
|
+
var useAutoHide = function useAutoHide(type, closeFlash) {
|
|
422
|
+
var timeoutId = (0,external_commonjs_react_commonjs2_react_.useRef)(null);
|
|
423
|
+
(0,external_commonjs_react_commonjs2_react_.useEffect)(function () {
|
|
424
|
+
if (AUTO_HIDE.includes(type)) {
|
|
425
|
+
timeoutId.current = setTimeout(function () {
|
|
426
|
+
closeFlash();
|
|
427
|
+
}, AUTO_HIDE_TIME);
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
return function () {
|
|
431
|
+
if (timeoutId.current) {
|
|
432
|
+
clearTimeout(timeoutId.current);
|
|
433
|
+
}
|
|
434
|
+
};
|
|
435
|
+
}, []);
|
|
436
|
+
};
|
|
437
|
+
|
|
387
438
|
var Flash = function Flash(_ref) {
|
|
388
|
-
var
|
|
389
|
-
|
|
390
|
-
|
|
439
|
+
var id = _ref.id,
|
|
440
|
+
type = _ref.type,
|
|
441
|
+
content = _ref.content,
|
|
442
|
+
removeFlash = _ref.removeFlash;
|
|
443
|
+
var ref = (0,external_commonjs_react_commonjs2_react_.useRef)(null);
|
|
391
444
|
|
|
392
|
-
var _useState = (0,
|
|
445
|
+
var _useState = (0,external_commonjs_react_commonjs2_react_.useState)(false),
|
|
393
446
|
_useState2 = _slicedToArray(_useState, 2),
|
|
394
447
|
closed = _useState2[0],
|
|
395
448
|
setClosed = _useState2[1];
|
|
396
449
|
|
|
397
|
-
var _useState3 = (0,
|
|
450
|
+
var _useState3 = (0,external_commonjs_react_commonjs2_react_.useState)(0),
|
|
398
451
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
399
452
|
flashHeight = _useState4[0],
|
|
400
453
|
setFlashHeight = _useState4[1];
|
|
401
454
|
|
|
402
|
-
var _useState5 = (0,
|
|
455
|
+
var _useState5 = (0,external_commonjs_react_commonjs2_react_.useState)(false),
|
|
403
456
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
404
457
|
triggerEntryAnimation = _useState6[0],
|
|
405
458
|
setTriggerEntryAnimation = _useState6[1];
|
|
406
459
|
|
|
407
|
-
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
|
|
408
|
-
return setTriggerEntryAnimation(true);
|
|
409
|
-
}, []);
|
|
410
|
-
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
|
|
411
|
-
if (AUTO_HIDE.includes(type)) {
|
|
412
|
-
setTimeout(function () {
|
|
413
|
-
// closeFlash is idempotent, we can call it even if the flash has been already closed
|
|
414
|
-
closeFlash();
|
|
415
|
-
}, AUTO_HIDE_TIME);
|
|
416
|
-
}
|
|
417
|
-
}, [closed]);
|
|
418
|
-
|
|
419
460
|
var closeFlash = function closeFlash() {
|
|
420
461
|
if (ref.current) {
|
|
421
462
|
setFlashHeight(ref.current.getBoundingClientRect().height);
|
|
422
463
|
}
|
|
423
464
|
|
|
465
|
+
setClosed(true);
|
|
424
466
|
setTimeout(function () {
|
|
425
|
-
|
|
426
|
-
},
|
|
467
|
+
removeFlash(id);
|
|
468
|
+
}, 100);
|
|
427
469
|
};
|
|
428
470
|
|
|
471
|
+
(0,external_commonjs_react_commonjs2_react_.useEffect)(function () {
|
|
472
|
+
return setTriggerEntryAnimation(true);
|
|
473
|
+
}, []);
|
|
474
|
+
useAutoHide(type, closeFlash);
|
|
429
475
|
var animateEntry = triggerEntryAnimation && !closed;
|
|
430
476
|
var style;
|
|
431
477
|
|
|
@@ -443,7 +489,7 @@ var Flash = function Flash(_ref) {
|
|
|
443
489
|
style = {};
|
|
444
490
|
}
|
|
445
491
|
|
|
446
|
-
var safeContent =
|
|
492
|
+
var safeContent = external_commonjs_dompurify_commonjs2_dompurify_default().sanitize(content, {
|
|
447
493
|
ALLOWED_TAGS: ["a"],
|
|
448
494
|
ALLOWED_ATTR: ["href", "data-method", "rel"]
|
|
449
495
|
});
|
|
@@ -459,28 +505,28 @@ var Flash = function Flash(_ref) {
|
|
|
459
505
|
error: "text-white",
|
|
460
506
|
alert: "text-white"
|
|
461
507
|
};
|
|
462
|
-
return /*#__PURE__*/
|
|
508
|
+
return /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
|
|
463
509
|
className: "ui-flash-message ui-grid-px ".concat(animateEntry ? "ui-flash-message-enter" : ""),
|
|
464
510
|
style: style,
|
|
465
511
|
ref: ref,
|
|
466
512
|
"data-id": "ui-flash"
|
|
467
|
-
}, /*#__PURE__*/
|
|
513
|
+
}, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
|
|
468
514
|
className: "".concat(FLASH_BG_COLOR[type], " p-32 flex align-center rounded shadow-container-subtle")
|
|
469
|
-
}, withIcons[type] && /*#__PURE__*/
|
|
515
|
+
}, withIcons[type] && /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(Icon_component.default, {
|
|
470
516
|
name: withIcons[type],
|
|
471
517
|
color: iconColor[type],
|
|
472
518
|
size: "1.5rem",
|
|
473
519
|
additionalCSS: "mr-16 self-baseline"
|
|
474
|
-
}), /*#__PURE__*/
|
|
520
|
+
}), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("p", {
|
|
475
521
|
className: "ui-flash-text ".concat(FLASH_TEXT_COLOR[type]),
|
|
476
522
|
dangerouslySetInnerHTML: {
|
|
477
523
|
__html: safeContent
|
|
478
524
|
}
|
|
479
|
-
}), /*#__PURE__*/
|
|
525
|
+
}), /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("button", {
|
|
480
526
|
type: "button",
|
|
481
527
|
className: "p-0 ml-auto self-start focus:outline-none",
|
|
482
528
|
onClick: closeFlash
|
|
483
|
-
}, /*#__PURE__*/
|
|
529
|
+
}, /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(Icon_component.default, {
|
|
484
530
|
name: "icon-gui-close",
|
|
485
531
|
color: iconColor[type],
|
|
486
532
|
size: "1.5rem",
|
|
@@ -492,26 +538,52 @@ Flash.propTypes = _objectSpread({}, FlashT);
|
|
|
492
538
|
|
|
493
539
|
var Flashes = function Flashes(_ref2) {
|
|
494
540
|
var flashes = _ref2.flashes;
|
|
495
|
-
|
|
496
|
-
|
|
541
|
+
|
|
542
|
+
var _useState7 = (0,external_commonjs_react_commonjs2_react_.useState)([]),
|
|
543
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
544
|
+
flashesWithIds = _useState8[0],
|
|
545
|
+
setFlashesWithIds = _useState8[1];
|
|
546
|
+
|
|
547
|
+
var removeFlash = function removeFlash(flashId) {
|
|
548
|
+
return setFlashesWithIds(function (items) {
|
|
549
|
+
return items.filter(function (item) {
|
|
550
|
+
return item.id !== flashId;
|
|
551
|
+
});
|
|
552
|
+
});
|
|
553
|
+
};
|
|
554
|
+
|
|
555
|
+
(0,external_commonjs_react_commonjs2_react_.useEffect)(function () {
|
|
556
|
+
setFlashesWithIds(function (state) {
|
|
557
|
+
return [].concat(_toConsumableArray(state), _toConsumableArray(((flashes === null || flashes === void 0 ? void 0 : flashes.items) || []).map(function (flash) {
|
|
558
|
+
return _objectSpread(_objectSpread({}, flash), {}, {
|
|
559
|
+
id: nanoid(),
|
|
560
|
+
removed: false
|
|
561
|
+
});
|
|
562
|
+
})));
|
|
563
|
+
});
|
|
564
|
+
}, [flashes]);
|
|
565
|
+
return /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement("div", {
|
|
497
566
|
className: "ui-flash",
|
|
498
567
|
"data-id": FLASH_DATA_ID
|
|
499
|
-
},
|
|
500
|
-
return
|
|
501
|
-
|
|
568
|
+
}, flashesWithIds.filter(function (item) {
|
|
569
|
+
return !item.removed;
|
|
570
|
+
}).map(function (flash) {
|
|
571
|
+
return /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(Flash, _extends({
|
|
572
|
+
removeFlash: removeFlash,
|
|
573
|
+
key: flash.id
|
|
502
574
|
}, flash));
|
|
503
575
|
}));
|
|
504
576
|
};
|
|
505
577
|
|
|
506
578
|
Flashes.propTypes = {
|
|
507
|
-
flashes:
|
|
508
|
-
items:
|
|
579
|
+
flashes: external_commonjs_prop_types_commonjs2_prop_types_default().shape({
|
|
580
|
+
items: external_commonjs_prop_types_commonjs2_prop_types_default().arrayOf(external_commonjs_prop_types_commonjs2_prop_types_default().shape(FlashT))
|
|
509
581
|
})
|
|
510
582
|
};
|
|
511
583
|
|
|
512
584
|
var BackendFlashes = function BackendFlashes(_ref3) {
|
|
513
585
|
var flashes = _ref3.flashes;
|
|
514
|
-
(0,
|
|
586
|
+
(0,external_commonjs_react_commonjs2_react_.useEffect)(function () {
|
|
515
587
|
var transformedFlashes = flashes.map(function (flash) {
|
|
516
588
|
var _flash = _slicedToArray(flash, 2),
|
|
517
589
|
type = _flash[0],
|
|
@@ -524,24 +596,24 @@ var BackendFlashes = function BackendFlashes(_ref3) {
|
|
|
524
596
|
}) || [];
|
|
525
597
|
|
|
526
598
|
if (transformedFlashes.length > 0) {
|
|
527
|
-
var store = (0,
|
|
599
|
+
var store = (0,remote_data_store/* getRemoteDataStore */.cO)();
|
|
528
600
|
store.dispatch({
|
|
529
601
|
type: "flash/push",
|
|
530
602
|
payload: transformedFlashes
|
|
531
603
|
});
|
|
532
604
|
}
|
|
533
605
|
}, []);
|
|
534
|
-
var WrappedFlashes = (0,
|
|
606
|
+
var WrappedFlashes = (0,component.default)(Flashes, {
|
|
535
607
|
flashes: selectFlashes
|
|
536
608
|
});
|
|
537
|
-
return /*#__PURE__*/
|
|
609
|
+
return /*#__PURE__*/external_commonjs_react_commonjs2_react_default().createElement(WrappedFlashes, null);
|
|
538
610
|
};
|
|
539
611
|
|
|
540
612
|
BackendFlashes.propTypes = {
|
|
541
|
-
flashes:
|
|
613
|
+
flashes: external_commonjs_prop_types_commonjs2_prop_types_default().arrayOf(external_commonjs_prop_types_commonjs2_prop_types_default().arrayOf((external_commonjs_prop_types_commonjs2_prop_types_default()).string))
|
|
542
614
|
};
|
|
543
615
|
|
|
544
|
-
/* harmony default export */ const
|
|
616
|
+
/* harmony default export */ const Flash_component = (BackendFlashes);
|
|
545
617
|
})();
|
|
546
618
|
|
|
547
619
|
/******/ return __webpack_exports__;
|