cozy-search 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -87,3 +87,17 @@ The search and assistant are dialogs. So you just need to create a route for eac
87
87
  }
88
88
  />
89
89
  ```
90
+
91
+ ### Opening AI conversation from a button
92
+
93
+ You can also use the `AssistantLink` component to get an onClick method that opens the AI conversation from a button.
94
+
95
+ ```jsx
96
+ import { AssistantLink } from 'cozy-search'
97
+
98
+ <AssistantLink>
99
+ {({ openAssistant }) => (
100
+ <a onClick={openAssistant}>Open assistant</a>
101
+ )}
102
+ </AssistantLink>
103
+ ```
@@ -30,7 +30,7 @@ var ChatUserItem = function ChatUserItem(_ref) {
30
30
  className: className,
31
31
  icon: /*#__PURE__*/_react.default.createElement(_Avatar.default, {
32
32
  text: (0, _contact.getInitials)(myself),
33
- size: "small"
33
+ size: "s"
34
34
  }),
35
35
  name: (0, _contact.getDisplayName)(myself),
36
36
  label: label
@@ -17,8 +17,6 @@ var _Buttons = _interopRequireDefault(require("cozy-ui/transpiled/react/Buttons"
17
17
 
18
18
  var _Icon = _interopRequireDefault(require("cozy-ui/transpiled/react/Icon"));
19
19
 
20
- var _IconButton = _interopRequireDefault(require("cozy-ui/transpiled/react/IconButton"));
21
-
22
20
  var _Paperplane = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/Paperplane"));
23
21
 
24
22
  var _Stop = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/Stop"));
@@ -113,34 +111,30 @@ var ConversationBar = function ConversationBar(_ref) {
113
111
  className: styles['conversationBar-input']
114
112
  },
115
113
  autoFocus: !isMobile,
116
- endAdornment: assistantStatus !== 'idle' ? /*#__PURE__*/_react.default.createElement(_IconButton.default, {
117
- className: "u-p-half",
118
- onClick: handleStop
119
- }, /*#__PURE__*/_react.default.createElement(_Buttons.default, {
114
+ endAdornment: assistantStatus !== 'idle' ? /*#__PURE__*/_react.default.createElement(_Buttons.default, {
120
115
  component: "div",
121
- className: "u-miw-auto u-w-2 u-h-2 u-bdrs-circle",
116
+ className: "u-miw-auto u-mih-auto u-w-2 u-h-2 u-bdrs-circle u-p-1 u-mr-1",
122
117
  classes: {
123
118
  label: 'u-flex u-w-auto'
124
119
  },
125
120
  label: /*#__PURE__*/_react.default.createElement(_Icon.default, {
126
121
  icon: _Stop.default,
127
122
  size: 12
128
- })
129
- })) : /*#__PURE__*/_react.default.createElement(_IconButton.default, {
130
- className: "u-p-half",
131
- disabled: !inputValue,
132
- onClick: handleClick
133
- }, /*#__PURE__*/_react.default.createElement(_Buttons.default, {
123
+ }),
124
+ onClick: handleStop
125
+ }) : /*#__PURE__*/_react.default.createElement(_Buttons.default, {
134
126
  component: "div",
135
- className: "u-miw-auto u-w-2 u-h-2 u-bdrs-circle",
127
+ className: "u-miw-auto u-mih-auto u-w-2 u-h-2 u-bdrs-circle u-p-1 u-mr-1",
136
128
  classes: {
137
129
  label: 'u-flex u-w-auto'
138
130
  },
139
131
  label: /*#__PURE__*/_react.default.createElement(_Icon.default, {
140
- icon: _Paperplane.default
132
+ icon: _Paperplane.default,
133
+ size: 12
141
134
  }),
142
- disabled: !inputValue
143
- })),
135
+ disabled: !inputValue,
136
+ onClick: handleClick
137
+ }),
144
138
  onKeyDown: function onKeyDown(ev) {
145
139
  if (!isMobile) {
146
140
  if (ev.shiftKey && ev.key === 'Enter') {
@@ -0,0 +1,4 @@
1
+ export default AssistantLinkWrapper;
2
+ declare function AssistantLinkWrapper({ children }: {
3
+ children: any;
4
+ }): JSX.Element;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _reactRouterDom = require("react-router-dom");
13
+
14
+ var _AssistantProvider = _interopRequireWildcard(require("../AssistantProvider"));
15
+
16
+ var _helpers = require("../helpers");
17
+
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+
20
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+
22
+ var AssistantLink = function AssistantLink(_ref) {
23
+ var children = _ref.children;
24
+
25
+ var _useAssistant = (0, _AssistantProvider.useAssistant)(),
26
+ onAssistantExecute = _useAssistant.onAssistantExecute;
27
+
28
+ var navigate = (0, _reactRouterDom.useNavigate)();
29
+
30
+ var openAssistant = function openAssistant() {
31
+ if (!(0, _helpers.isAssistantEnabled)()) return;
32
+ var conversationId = (0, _helpers.makeConversationId)();
33
+ onAssistantExecute({
34
+ value: '',
35
+ conversationId: conversationId
36
+ });
37
+ navigate("assistant/".concat(conversationId));
38
+ };
39
+
40
+ return /*#__PURE__*/_react.default.createElement(_AssistantProvider.default, null, children({
41
+ openAssistant: openAssistant
42
+ }));
43
+ };
44
+
45
+ var AssistantLinkWrapper = function AssistantLinkWrapper(_ref2) {
46
+ var children = _ref2.children;
47
+ return /*#__PURE__*/_react.default.createElement(_AssistantProvider.default, null, /*#__PURE__*/_react.default.createElement(AssistantLink, null, children));
48
+ };
49
+
50
+ var _default = AssistantLinkWrapper;
51
+ exports.default = _default;
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export { default as AssistantLink } from './components/Search/AssistantLink';
1
2
  export { default as AssistantDesktop } from './components/AssistantDesktop';
2
3
  export { default as AssistantMobile } from './components/AssistantMobile';
3
4
  export { default as AssistantDialog } from './components/Views/AssistantDialog';
package/dist/index.js CHANGED
@@ -17,6 +17,12 @@ Object.defineProperty(exports, "AssistantDialog", {
17
17
  return _AssistantDialog.default;
18
18
  }
19
19
  });
20
+ Object.defineProperty(exports, "AssistantLink", {
21
+ enumerable: true,
22
+ get: function get() {
23
+ return _AssistantLink.default;
24
+ }
25
+ });
20
26
  Object.defineProperty(exports, "AssistantMobile", {
21
27
  enumerable: true,
22
28
  get: function get() {
@@ -30,6 +36,8 @@ Object.defineProperty(exports, "SearchDialog", {
30
36
  }
31
37
  });
32
38
 
39
+ var _AssistantLink = _interopRequireDefault(require("./components/Search/AssistantLink"));
40
+
33
41
  var _AssistantDesktop = _interopRequireDefault(require("./components/AssistantDesktop"));
34
42
 
35
43
  var _AssistantMobile = _interopRequireDefault(require("./components/AssistantMobile"));
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "cozy-search",
3
3
  "description": "UI components about search bar and IA assistant",
4
- "version": "0.4.0",
4
+ "version": "0.5.0",
5
5
  "author": {
6
6
  "name": "Cozy Cloud",
7
7
  "url": "https://github.com/cozy"
@@ -87,5 +87,5 @@
87
87
  "lint": "cd .. && yarn eslint --ext js,jsx,ts packages/cozy-search"
88
88
  },
89
89
  "types": "dist/index.d.ts",
90
- "gitHead": "65814cf1789101b9b9bf84575810dc26eb05d8c4"
90
+ "gitHead": "5795e0e827a29ab23fe960d76fd75b63f77be304"
91
91
  }