@mantine/spotlight 6.0.12 → 7.0.0-alpha.14

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 (153) hide show
  1. package/cjs/Spotlight.context.js +6 -11
  2. package/cjs/Spotlight.context.js.map +1 -1
  3. package/cjs/Spotlight.js +121 -0
  4. package/cjs/Spotlight.js.map +1 -0
  5. package/cjs/Spotlight.module.css.js +8 -0
  6. package/cjs/Spotlight.module.css.js.map +1 -0
  7. package/cjs/SpotlightAction.js +141 -0
  8. package/cjs/SpotlightAction.js.map +1 -0
  9. package/cjs/SpotlightActionsGroup.js +67 -0
  10. package/cjs/SpotlightActionsGroup.js.map +1 -0
  11. package/cjs/SpotlightActionsList.js +74 -0
  12. package/cjs/SpotlightActionsList.js.map +1 -0
  13. package/cjs/SpotlightEmpty.js +61 -0
  14. package/cjs/SpotlightEmpty.js.map +1 -0
  15. package/cjs/SpotlightFooter.js +61 -0
  16. package/cjs/SpotlightFooter.js.map +1 -0
  17. package/cjs/SpotlightRoot.js +178 -0
  18. package/cjs/SpotlightRoot.js.map +1 -0
  19. package/cjs/SpotlightSearch.js +89 -0
  20. package/cjs/SpotlightSearch.js.map +1 -0
  21. package/cjs/default-spotlight-filter.js +76 -0
  22. package/cjs/default-spotlight-filter.js.map +1 -0
  23. package/cjs/get-hotkeys.js +19 -0
  24. package/cjs/get-hotkeys.js.map +1 -0
  25. package/cjs/index.css +141 -0
  26. package/cjs/index.js +23 -12
  27. package/cjs/index.js.map +1 -1
  28. package/cjs/spotlight.store.js +155 -0
  29. package/cjs/spotlight.store.js.map +1 -0
  30. package/esm/Spotlight.context.js +5 -10
  31. package/esm/Spotlight.context.js.map +1 -1
  32. package/esm/Spotlight.js +113 -0
  33. package/esm/Spotlight.js.map +1 -0
  34. package/esm/Spotlight.module.css.js +4 -0
  35. package/esm/Spotlight.module.css.js.map +1 -0
  36. package/esm/SpotlightAction.js +133 -0
  37. package/esm/SpotlightAction.js.map +1 -0
  38. package/esm/SpotlightActionsGroup.js +59 -0
  39. package/esm/SpotlightActionsGroup.js.map +1 -0
  40. package/esm/SpotlightActionsList.js +66 -0
  41. package/esm/SpotlightActionsList.js.map +1 -0
  42. package/esm/SpotlightEmpty.js +53 -0
  43. package/esm/SpotlightEmpty.js.map +1 -0
  44. package/esm/SpotlightFooter.js +53 -0
  45. package/esm/SpotlightFooter.js.map +1 -0
  46. package/esm/SpotlightRoot.js +170 -0
  47. package/esm/SpotlightRoot.js.map +1 -0
  48. package/esm/SpotlightSearch.js +81 -0
  49. package/esm/SpotlightSearch.js.map +1 -0
  50. package/esm/default-spotlight-filter.js +72 -0
  51. package/esm/default-spotlight-filter.js.map +1 -0
  52. package/esm/get-hotkeys.js +15 -0
  53. package/esm/get-hotkeys.js.map +1 -0
  54. package/esm/index.css +141 -0
  55. package/esm/index.js +9 -3
  56. package/esm/index.js.map +1 -1
  57. package/esm/spotlight.store.js +130 -0
  58. package/esm/spotlight.store.js.map +1 -0
  59. package/lib/Spotlight.context.d.ts +13 -22
  60. package/lib/Spotlight.context.d.ts.map +1 -1
  61. package/lib/Spotlight.d.ts +68 -0
  62. package/lib/Spotlight.d.ts.map +1 -0
  63. package/lib/SpotlightAction.d.ts +38 -0
  64. package/lib/SpotlightAction.d.ts.map +1 -0
  65. package/lib/SpotlightActionsGroup.d.ts +22 -0
  66. package/lib/SpotlightActionsGroup.d.ts.map +1 -0
  67. package/lib/SpotlightActionsList.d.ts +17 -0
  68. package/lib/SpotlightActionsList.d.ts.map +1 -0
  69. package/lib/SpotlightEmpty.d.ts +17 -0
  70. package/lib/SpotlightEmpty.d.ts.map +1 -0
  71. package/lib/SpotlightFooter.d.ts +17 -0
  72. package/lib/SpotlightFooter.d.ts.map +1 -0
  73. package/lib/SpotlightRoot.d.ts +45 -0
  74. package/lib/SpotlightRoot.d.ts.map +1 -0
  75. package/lib/SpotlightSearch.d.ts +17 -0
  76. package/lib/SpotlightSearch.d.ts.map +1 -0
  77. package/lib/default-spotlight-filter.d.ts +3 -0
  78. package/lib/default-spotlight-filter.d.ts.map +1 -0
  79. package/lib/get-hotkeys.d.ts +4 -0
  80. package/lib/get-hotkeys.d.ts.map +1 -0
  81. package/lib/index.d.ts +17 -7
  82. package/lib/index.d.ts.map +1 -1
  83. package/lib/spotlight.store.d.ts +54 -0
  84. package/lib/spotlight.store.d.ts.map +1 -0
  85. package/package.json +29 -11
  86. package/cjs/ActionsList/ActionsList.js +0 -105
  87. package/cjs/ActionsList/ActionsList.js.map +0 -1
  88. package/cjs/ActionsList/ActionsList.styles.js +0 -23
  89. package/cjs/ActionsList/ActionsList.styles.js.map +0 -1
  90. package/cjs/DefaultAction/DefaultAction.js +0 -90
  91. package/cjs/DefaultAction/DefaultAction.js.map +0 -1
  92. package/cjs/DefaultAction/DefaultAction.styles.js +0 -66
  93. package/cjs/DefaultAction/DefaultAction.styles.js.map +0 -1
  94. package/cjs/Spotlight/Spotlight.js +0 -214
  95. package/cjs/Spotlight/Spotlight.js.map +0 -1
  96. package/cjs/Spotlight/Spotlight.styles.js +0 -24
  97. package/cjs/Spotlight/Spotlight.styles.js.map +0 -1
  98. package/cjs/Spotlight/filter-actions/filter-actions.js +0 -29
  99. package/cjs/Spotlight/filter-actions/filter-actions.js.map +0 -1
  100. package/cjs/SpotlightProvider.js +0 -131
  101. package/cjs/SpotlightProvider.js.map +0 -1
  102. package/cjs/events.js +0 -32
  103. package/cjs/events.js.map +0 -1
  104. package/cjs/use-actions-state/use-actions-state.js +0 -61
  105. package/cjs/use-actions-state/use-actions-state.js.map +0 -1
  106. package/cjs/use-spotlight-shortcuts/use-spotlight-shortcuts.js +0 -22
  107. package/cjs/use-spotlight-shortcuts/use-spotlight-shortcuts.js.map +0 -1
  108. package/esm/ActionsList/ActionsList.js +0 -97
  109. package/esm/ActionsList/ActionsList.js.map +0 -1
  110. package/esm/ActionsList/ActionsList.styles.js +0 -19
  111. package/esm/ActionsList/ActionsList.styles.js.map +0 -1
  112. package/esm/DefaultAction/DefaultAction.js +0 -82
  113. package/esm/DefaultAction/DefaultAction.js.map +0 -1
  114. package/esm/DefaultAction/DefaultAction.styles.js +0 -62
  115. package/esm/DefaultAction/DefaultAction.styles.js.map +0 -1
  116. package/esm/Spotlight/Spotlight.js +0 -206
  117. package/esm/Spotlight/Spotlight.js.map +0 -1
  118. package/esm/Spotlight/Spotlight.styles.js +0 -20
  119. package/esm/Spotlight/Spotlight.styles.js.map +0 -1
  120. package/esm/Spotlight/filter-actions/filter-actions.js +0 -25
  121. package/esm/Spotlight/filter-actions/filter-actions.js.map +0 -1
  122. package/esm/SpotlightProvider.js +0 -123
  123. package/esm/SpotlightProvider.js.map +0 -1
  124. package/esm/events.js +0 -20
  125. package/esm/events.js.map +0 -1
  126. package/esm/use-actions-state/use-actions-state.js +0 -57
  127. package/esm/use-actions-state/use-actions-state.js.map +0 -1
  128. package/esm/use-spotlight-shortcuts/use-spotlight-shortcuts.js +0 -17
  129. package/esm/use-spotlight-shortcuts/use-spotlight-shortcuts.js.map +0 -1
  130. package/lib/ActionsList/ActionsList.d.ts +0 -33
  131. package/lib/ActionsList/ActionsList.d.ts.map +0 -1
  132. package/lib/ActionsList/ActionsList.styles.d.ts +0 -11
  133. package/lib/ActionsList/ActionsList.styles.d.ts.map +0 -1
  134. package/lib/DefaultAction/DefaultAction.d.ts +0 -19
  135. package/lib/DefaultAction/DefaultAction.d.ts.map +0 -1
  136. package/lib/DefaultAction/DefaultAction.styles.d.ts +0 -17
  137. package/lib/DefaultAction/DefaultAction.styles.d.ts.map +0 -1
  138. package/lib/Spotlight/Spotlight.d.ts +0 -51
  139. package/lib/Spotlight/Spotlight.d.ts.map +0 -1
  140. package/lib/Spotlight/Spotlight.styles.d.ts +0 -10
  141. package/lib/Spotlight/Spotlight.styles.d.ts.map +0 -1
  142. package/lib/Spotlight/filter-actions/filter-actions.d.ts +0 -3
  143. package/lib/Spotlight/filter-actions/filter-actions.d.ts.map +0 -1
  144. package/lib/SpotlightProvider.d.ts +0 -34
  145. package/lib/SpotlightProvider.d.ts.map +0 -1
  146. package/lib/events.d.ts +0 -25
  147. package/lib/events.d.ts.map +0 -1
  148. package/lib/types.d.ts +0 -22
  149. package/lib/types.d.ts.map +0 -1
  150. package/lib/use-actions-state/use-actions-state.d.ts +0 -12
  151. package/lib/use-actions-state/use-actions-state.d.ts.map +0 -1
  152. package/lib/use-spotlight-shortcuts/use-spotlight-shortcuts.d.ts +0 -4
  153. package/lib/use-spotlight-shortcuts/use-spotlight-shortcuts.d.ts.map +0 -1
@@ -1,214 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var React = require('react');
6
- var core = require('@mantine/core');
7
- var utils = require('@mantine/utils');
8
- var hooks = require('@mantine/hooks');
9
- var DefaultAction = require('../DefaultAction/DefaultAction.js');
10
- var ActionsList = require('../ActionsList/ActionsList.js');
11
- var filterActions = require('./filter-actions/filter-actions.js');
12
- var Spotlight_styles = require('./Spotlight.styles.js');
13
-
14
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
15
-
16
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
17
-
18
- var __defProp = Object.defineProperty;
19
- var __defProps = Object.defineProperties;
20
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
21
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
22
- var __hasOwnProp = Object.prototype.hasOwnProperty;
23
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
24
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
25
- var __spreadValues = (a, b) => {
26
- for (var prop in b || (b = {}))
27
- if (__hasOwnProp.call(b, prop))
28
- __defNormalProp(a, prop, b[prop]);
29
- if (__getOwnPropSymbols)
30
- for (var prop of __getOwnPropSymbols(b)) {
31
- if (__propIsEnum.call(b, prop))
32
- __defNormalProp(a, prop, b[prop]);
33
- }
34
- return a;
35
- };
36
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
37
- var __objRest = (source, exclude) => {
38
- var target = {};
39
- for (var prop in source)
40
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
41
- target[prop] = source[prop];
42
- if (source != null && __getOwnPropSymbols)
43
- for (var prop of __getOwnPropSymbols(source)) {
44
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
45
- target[prop] = source[prop];
46
- }
47
- return target;
48
- };
49
- function SpotlightScrollArea(props) {
50
- return /* @__PURE__ */ React__default.createElement(core.ScrollArea.Autosize, __spreadValues({
51
- mah: "calc(100vh - 18rem)"
52
- }, props));
53
- }
54
- const defaultProps = {
55
- closeOnActionTrigger: true,
56
- highlightQuery: false,
57
- size: 600,
58
- yOffset: 120,
59
- filter: filterActions.filterActions,
60
- limit: 10,
61
- actionComponent: DefaultAction.DefaultAction,
62
- scrollAreaComponent: SpotlightScrollArea,
63
- actionsWrapperComponent: "div",
64
- zIndex: core.getDefaultZIndex("max"),
65
- overlayProps: { opacity: 0.2, blur: 7 }
66
- };
67
- function Spotlight(props) {
68
- const _a = core.useComponentDefaultProps("Spotlight", defaultProps, props), {
69
- query,
70
- onQueryChange,
71
- actions,
72
- onClose,
73
- opened,
74
- classNames,
75
- styles,
76
- closeOnActionTrigger,
77
- highlightQuery,
78
- highlightColor,
79
- className,
80
- searchPlaceholder,
81
- searchIcon,
82
- filter,
83
- nothingFoundMessage,
84
- limit,
85
- actionComponent,
86
- actionsWrapperComponent: ActionsWrapper,
87
- scrollAreaComponent: ScrollAreaComponent,
88
- searchInputProps,
89
- variant,
90
- target,
91
- radius
92
- } = _a, others = __objRest(_a, [
93
- "query",
94
- "onQueryChange",
95
- "actions",
96
- "onClose",
97
- "opened",
98
- "classNames",
99
- "styles",
100
- "closeOnActionTrigger",
101
- "highlightQuery",
102
- "highlightColor",
103
- "className",
104
- "searchPlaceholder",
105
- "searchIcon",
106
- "filter",
107
- "nothingFoundMessage",
108
- "limit",
109
- "actionComponent",
110
- "actionsWrapperComponent",
111
- "scrollAreaComponent",
112
- "searchInputProps",
113
- "variant",
114
- "target",
115
- "radius"
116
- ]);
117
- const [hovered, setHovered] = React.useState(-1);
118
- const [IMEOpen, setIMEOpen] = React.useState(false);
119
- const { classes, cx } = Spotlight_styles['default'](null, { name: "Spotlight", classNames, styles, variant });
120
- const resetHovered = () => setHovered(-1);
121
- const handleClose = () => {
122
- resetHovered();
123
- onClose();
124
- };
125
- const filteredActions = filter(query, actions).slice(0, limit);
126
- const groupedWithLabels = utils.getGroupedOptions(filteredActions).items;
127
- const groupedActions = groupedWithLabels.map((item) => item.type === "item" ? item.item : void 0).filter((item) => item);
128
- hooks.useDidUpdate(() => {
129
- if (groupedActions.length - 1 < hovered) {
130
- setHovered(groupedActions.length - 1);
131
- }
132
- }, [groupedActions.length]);
133
- const handleInputKeyDown = (event) => {
134
- var _a2, _b;
135
- if (IMEOpen) {
136
- return;
137
- }
138
- switch (event.key) {
139
- case "ArrowDown": {
140
- event.preventDefault();
141
- setHovered((current) => current < groupedActions.length - 1 ? current + 1 : 0);
142
- break;
143
- }
144
- case "ArrowUp": {
145
- event.preventDefault();
146
- setHovered((current) => current > 0 ? current - 1 : groupedActions.length - 1);
147
- break;
148
- }
149
- case "Enter": {
150
- event.preventDefault();
151
- const action = groupedActions[hovered];
152
- (_a2 = action == null ? void 0 : action.onTrigger) == null ? void 0 : _a2.call(action, action);
153
- if (((_b = action == null ? void 0 : action.closeOnTrigger) != null ? _b : closeOnActionTrigger) && (action == null ? void 0 : action.onTrigger)) {
154
- handleClose();
155
- }
156
- break;
157
- }
158
- case "Escape": {
159
- event.preventDefault();
160
- handleClose();
161
- }
162
- }
163
- };
164
- const handleInputChange = (event) => {
165
- onQueryChange(event.currentTarget.value);
166
- if (hovered === -1) {
167
- setHovered(0);
168
- }
169
- };
170
- return /* @__PURE__ */ React__default.createElement(core.Modal, __spreadValues({
171
- opened,
172
- onClose: handleClose,
173
- padding: 0,
174
- radius,
175
- scrollAreaComponent: core.Modal.NativeScrollArea,
176
- classNames: __spreadProps(__spreadValues({}, classNames), {
177
- content: cx(classes.content, classNames == null ? void 0 : classNames.content)
178
- }),
179
- styles,
180
- withCloseButton: false
181
- }, others), /* @__PURE__ */ React__default.createElement(core.TextInput, __spreadProps(__spreadValues({
182
- size: "lg"
183
- }, searchInputProps), {
184
- value: query,
185
- onChange: handleInputChange,
186
- onKeyDown: handleInputKeyDown,
187
- onCompositionStart: () => setIMEOpen(true),
188
- onCompositionEnd: () => setIMEOpen(false),
189
- classNames: { input: classes.searchInput },
190
- placeholder: searchPlaceholder,
191
- icon: searchIcon
192
- })), /* @__PURE__ */ React__default.createElement(ActionsWrapper, null, /* @__PURE__ */ React__default.createElement(ScrollAreaComponent, null, /* @__PURE__ */ React__default.createElement(ActionsList.ActionsList, {
193
- highlightQuery,
194
- highlightColor,
195
- actions: groupedWithLabels,
196
- actionComponent,
197
- hovered,
198
- query,
199
- nothingFoundMessage,
200
- onActionTrigger: (action) => {
201
- var _a2;
202
- action.onTrigger(action);
203
- ((_a2 = action.closeOnTrigger) != null ? _a2 : closeOnActionTrigger) && handleClose();
204
- },
205
- styles,
206
- classNames,
207
- radius,
208
- variant
209
- }))));
210
- }
211
- Spotlight.displayName = "@mantine/spotlight/Spotlight";
212
-
213
- exports.Spotlight = Spotlight;
214
- //# sourceMappingURL=Spotlight.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Spotlight.js","sources":["../../src/Spotlight/Spotlight.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport {\n DefaultProps,\n Selectors,\n TextInput,\n getDefaultZIndex,\n MantineColor,\n TextInputProps,\n Modal,\n ModalProps,\n ModalStylesNames,\n useComponentDefaultProps,\n ScrollArea,\n ScrollAreaAutosizeProps,\n} from '@mantine/core';\nimport { getGroupedOptions } from '@mantine/utils';\nimport { useDidUpdate } from '@mantine/hooks';\nimport { DefaultAction, DefaultActionProps } from '../DefaultAction/DefaultAction';\nimport { ActionsList, ActionsListStylesNames } from '../ActionsList/ActionsList';\nimport type { SpotlightAction } from '../types';\nimport { filterActions } from './filter-actions/filter-actions';\nimport useStyles from './Spotlight.styles';\n\nfunction SpotlightScrollArea(props: ScrollAreaAutosizeProps) {\n return <ScrollArea.Autosize mah=\"calc(100vh - 18rem)\" {...props} />;\n}\n\nexport type SpotlightStylesNames =\n | Selectors<typeof useStyles>\n | Exclude<ModalStylesNames, 'close' | 'header' | 'title'>\n | ActionsListStylesNames;\n\nexport interface InnerSpotlightProps\n extends Omit<\n ModalProps,\n 'styles' | 'classNames' | 'title' | 'withCloseButton' | 'opened' | 'onClose'\n >,\n DefaultProps<SpotlightStylesNames>,\n React.ComponentPropsWithoutRef<'div'> {\n variant?: string;\n\n /** Search input placeholder */\n searchPlaceholder?: string;\n\n /** Search input icon */\n searchIcon?: React.ReactNode;\n\n /** Function used to determine how actions will be filtered based on user input */\n filter?(query: string, actions: SpotlightAction[]): SpotlightAction[];\n\n /** Message displayed when actions were not found */\n nothingFoundMessage?: React.ReactNode;\n\n /** Number of actions displayed at a time */\n limit?: number;\n\n /** Should spotlight be closed when action is triggered */\n closeOnActionTrigger?: boolean;\n\n /** Component that is used to render actions */\n actionComponent?: React.FC<DefaultActionProps>;\n\n /** Component that is used to wrap actions list */\n actionsWrapperComponent?: React.FC<{ children: React.ReactNode }> | string;\n\n /** Should user query be highlighted in actions title */\n highlightQuery?: boolean;\n\n /** The highlight color */\n highlightColor?: MantineColor;\n\n /** Props spread to search input */\n searchInputProps?: TextInputProps;\n\n /** Component used as scrollable container for actions list, defaults to ScrollArea.Autosize */\n scrollAreaComponent?: React.FC<{ children: React.ReactNode }>;\n}\n\ninterface SpotlightProps extends InnerSpotlightProps {\n actions: SpotlightAction[];\n onClose(): void;\n opened: boolean;\n query: string;\n onQueryChange(query: string): void;\n}\n\nconst defaultProps: Partial<SpotlightProps> = {\n closeOnActionTrigger: true,\n highlightQuery: false,\n size: 600,\n yOffset: 120,\n filter: filterActions,\n limit: 10,\n actionComponent: DefaultAction,\n scrollAreaComponent: SpotlightScrollArea,\n actionsWrapperComponent: 'div',\n zIndex: getDefaultZIndex('max'),\n overlayProps: { opacity: 0.2, blur: 7 },\n};\n\nexport function Spotlight(props: SpotlightProps) {\n const {\n query,\n onQueryChange,\n actions,\n onClose,\n opened,\n classNames,\n styles,\n closeOnActionTrigger,\n highlightQuery,\n highlightColor,\n className,\n searchPlaceholder,\n searchIcon,\n filter,\n nothingFoundMessage,\n limit,\n actionComponent,\n actionsWrapperComponent: ActionsWrapper,\n scrollAreaComponent: ScrollAreaComponent,\n searchInputProps,\n variant,\n target,\n radius,\n ...others\n } = useComponentDefaultProps('Spotlight', defaultProps, props);\n\n const [hovered, setHovered] = useState(-1);\n const [IMEOpen, setIMEOpen] = useState(false);\n const { classes, cx } = useStyles(null, { name: 'Spotlight', classNames, styles, variant });\n\n const resetHovered = () => setHovered(-1);\n const handleClose = () => {\n resetHovered();\n onClose();\n };\n\n const filteredActions = filter(query, actions).slice(0, limit);\n const groupedWithLabels = getGroupedOptions(filteredActions).items;\n const groupedActions = groupedWithLabels\n .map((item) => (item.type === 'item' ? item.item : undefined))\n .filter((item) => item);\n\n useDidUpdate(() => {\n if (groupedActions.length - 1 < hovered) {\n setHovered(groupedActions.length - 1);\n }\n }, [groupedActions.length]);\n\n const handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (IMEOpen) {\n return;\n }\n\n switch (event.key) {\n case 'ArrowDown': {\n event.preventDefault();\n setHovered((current) => (current < groupedActions.length - 1 ? current + 1 : 0));\n break;\n }\n\n case 'ArrowUp': {\n event.preventDefault();\n setHovered((current) => (current > 0 ? current - 1 : groupedActions.length - 1));\n break;\n }\n\n case 'Enter': {\n event.preventDefault();\n const action = groupedActions[hovered];\n action?.onTrigger?.(action);\n if ((action?.closeOnTrigger ?? closeOnActionTrigger) && action?.onTrigger) {\n handleClose();\n }\n break;\n }\n\n case 'Escape': {\n event.preventDefault();\n handleClose();\n }\n }\n };\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n onQueryChange(event.currentTarget.value);\n if (hovered === -1) {\n setHovered(0);\n }\n };\n\n return (\n <Modal\n opened={opened}\n onClose={handleClose}\n padding={0}\n radius={radius}\n scrollAreaComponent={Modal.NativeScrollArea}\n classNames={{\n ...classNames,\n content: cx(classes.content, classNames?.content),\n }}\n styles={styles}\n withCloseButton={false}\n {...others}\n >\n <TextInput\n size=\"lg\"\n {...searchInputProps}\n value={query}\n onChange={handleInputChange}\n onKeyDown={handleInputKeyDown}\n onCompositionStart={() => setIMEOpen(true)}\n onCompositionEnd={() => setIMEOpen(false)}\n classNames={{ input: classes.searchInput }}\n placeholder={searchPlaceholder}\n icon={searchIcon}\n />\n <ActionsWrapper>\n <ScrollAreaComponent>\n <ActionsList\n highlightQuery={highlightQuery}\n highlightColor={highlightColor}\n actions={groupedWithLabels}\n actionComponent={actionComponent}\n hovered={hovered}\n query={query}\n nothingFoundMessage={nothingFoundMessage}\n onActionTrigger={(action) => {\n action.onTrigger(action);\n (action.closeOnTrigger ?? closeOnActionTrigger) && handleClose();\n }}\n styles={styles}\n classNames={classNames}\n radius={radius}\n variant={variant}\n />\n </ScrollAreaComponent>\n </ActionsWrapper>\n </Modal>\n );\n}\n\nSpotlight.displayName = '@mantine/spotlight/Spotlight';\n"],"names":["React","ScrollArea","filterActions","DefaultAction","getDefaultZIndex","useComponentDefaultProps","useState","useStyles","getGroupedOptions","useDidUpdate","Modal","TextInput","ActionsList"],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var core = require('@mantine/core');
6
-
7
- var useStyles = core.createStyles((theme) => ({
8
- content: {
9
- position: "relative",
10
- overflow: "hidden"
11
- },
12
- searchInput: {
13
- border: 0,
14
- borderBottomRightRadius: 0,
15
- borderBottomLeftRadius: 0,
16
- backgroundColor: theme.colorScheme === "dark" ? theme.colors.dark[7] : theme.white,
17
- "&, &:focus-within": {
18
- borderBottom: `${core.rem(1)} solid ${theme.colorScheme === "dark" ? theme.colors.dark[5] : theme.colors.gray[2]}`
19
- }
20
- }
21
- }));
22
-
23
- exports.default = useStyles;
24
- //# sourceMappingURL=Spotlight.styles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Spotlight.styles.js","sources":["../../src/Spotlight/Spotlight.styles.ts"],"sourcesContent":["import { createStyles, rem } from '@mantine/core';\n\nexport default createStyles((theme) => ({\n content: {\n position: 'relative',\n overflow: 'hidden',\n },\n\n searchInput: {\n border: 0,\n borderBottomRightRadius: 0,\n borderBottomLeftRadius: 0,\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[7] : theme.white,\n\n '&, &:focus-within': {\n borderBottom: `${rem(1)} solid ${\n theme.colorScheme === 'dark' ? theme.colors.dark[5] : theme.colors.gray[2]\n }`,\n },\n },\n}));\n"],"names":["createStyles","rem"],"mappings":";;;;;;AACA,gBAAeA,iBAAY,CAAC,CAAC,KAAK,MAAM;AACxC,EAAE,OAAO,EAAE;AACX,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,QAAQ,EAAE,QAAQ;AACtB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,MAAM,EAAE,CAAC;AACb,IAAI,uBAAuB,EAAE,CAAC;AAC9B,IAAI,sBAAsB,EAAE,CAAC;AAC7B,IAAI,eAAe,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK;AACtF,IAAI,mBAAmB,EAAE;AACzB,MAAM,YAAY,EAAE,CAAC,EAAEC,QAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACnH,KAAK;AACL,GAAG;AACH,CAAC,CAAC,CAAC;;;;"}
@@ -1,29 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- function getKeywords(keywords) {
6
- if (Array.isArray(keywords)) {
7
- return keywords.map((keyword) => keyword.trim()).join(",").toLowerCase().trim();
8
- }
9
- if (typeof keywords === "string") {
10
- return keywords.toLowerCase().trim();
11
- }
12
- return "";
13
- }
14
- function filterActions(_query, actions) {
15
- const query = _query.trim().toLowerCase();
16
- const priorityMatrix = [[], []];
17
- actions.forEach((action) => {
18
- var _a, _b;
19
- if ((_a = action.title) == null ? void 0 : _a.toLowerCase().includes(query)) {
20
- priorityMatrix[0].push(action);
21
- } else if (((_b = action.description) == null ? void 0 : _b.toLowerCase().includes(query)) || getKeywords(action.keywords).includes(query)) {
22
- priorityMatrix[1].push(action);
23
- }
24
- });
25
- return priorityMatrix.flat();
26
- }
27
-
28
- exports.filterActions = filterActions;
29
- //# sourceMappingURL=filter-actions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"filter-actions.js","sources":["../../../src/Spotlight/filter-actions/filter-actions.ts"],"sourcesContent":["import type { SpotlightAction } from '../../types';\n\nfunction getKeywords(keywords: string | string[]) {\n if (Array.isArray(keywords)) {\n return keywords\n .map((keyword) => keyword.trim())\n .join(',')\n .toLowerCase()\n .trim();\n }\n\n if (typeof keywords === 'string') {\n return keywords.toLowerCase().trim();\n }\n\n return '';\n}\n\nexport function filterActions(_query: string, actions: SpotlightAction[]) {\n const query = _query.trim().toLowerCase();\n const priorityMatrix = [[], []];\n actions.forEach((action) => {\n if (action.title?.toLowerCase().includes(query)) {\n priorityMatrix[0].push(action);\n } else if (\n action.description?.toLowerCase().includes(query) ||\n getKeywords(action.keywords).includes(query)\n ) {\n priorityMatrix[1].push(action);\n }\n });\n\n return priorityMatrix.flat();\n}\n"],"names":[],"mappings":";;;;AAAA,SAAS,WAAW,CAAC,QAAQ,EAAE;AAC/B,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AAC/B,IAAI,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;AACpF,GAAG;AACH,EAAE,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;AACpC,IAAI,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;AACzC,GAAG;AACH,EAAE,OAAO,EAAE,CAAC;AACZ,CAAC;AACM,SAAS,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE;AAC/C,EAAE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAC5C,EAAE,MAAM,cAAc,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAClC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK;AAC9B,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC;AACf,IAAI,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AACjF,MAAM,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACrC,KAAK,MAAM,IAAI,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,WAAW,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AAChJ,MAAM,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACrC,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,OAAO,cAAc,CAAC,IAAI,EAAE,CAAC;AAC/B;;;;"}
@@ -1,131 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var React = require('react');
6
- var hooks = require('@mantine/hooks');
7
- var events = require('./events.js');
8
- var Spotlight_context = require('./Spotlight.context.js');
9
- var Spotlight = require('./Spotlight/Spotlight.js');
10
- var useActionsState = require('./use-actions-state/use-actions-state.js');
11
- var useSpotlightShortcuts = require('./use-spotlight-shortcuts/use-spotlight-shortcuts.js');
12
-
13
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
14
-
15
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
16
-
17
- var __defProp = Object.defineProperty;
18
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
19
- var __hasOwnProp = Object.prototype.hasOwnProperty;
20
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
21
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
22
- var __spreadValues = (a, b) => {
23
- for (var prop in b || (b = {}))
24
- if (__hasOwnProp.call(b, prop))
25
- __defNormalProp(a, prop, b[prop]);
26
- if (__getOwnPropSymbols)
27
- for (var prop of __getOwnPropSymbols(b)) {
28
- if (__propIsEnum.call(b, prop))
29
- __defNormalProp(a, prop, b[prop]);
30
- }
31
- return a;
32
- };
33
- var __objRest = (source, exclude) => {
34
- var target = {};
35
- for (var prop in source)
36
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
37
- target[prop] = source[prop];
38
- if (source != null && __getOwnPropSymbols)
39
- for (var prop of __getOwnPropSymbols(source)) {
40
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
41
- target[prop] = source[prop];
42
- }
43
- return target;
44
- };
45
- function SpotlightProvider(_a) {
46
- var _b = _a, {
47
- actions,
48
- children,
49
- shortcut = "mod + K",
50
- query,
51
- onSpotlightClose,
52
- onSpotlightOpen,
53
- onQueryChange,
54
- onActionsChange,
55
- cleanQueryOnClose = true,
56
- transitionProps = { duration: 150 },
57
- disabled = false,
58
- tagsToIgnore = ["INPUT", "TEXTAREA", "SELECT"],
59
- triggerOnContentEditable = false
60
- } = _b, others = __objRest(_b, [
61
- "actions",
62
- "children",
63
- "shortcut",
64
- "query",
65
- "onSpotlightClose",
66
- "onSpotlightOpen",
67
- "onQueryChange",
68
- "onActionsChange",
69
- "cleanQueryOnClose",
70
- "transitionProps",
71
- "disabled",
72
- "tagsToIgnore",
73
- "triggerOnContentEditable"
74
- ]);
75
- const timeoutRef = React.useRef(-1);
76
- const [_query, setQuery] = hooks.useUncontrolled({
77
- value: query,
78
- defaultValue: "",
79
- finalValue: "",
80
- onChange: onQueryChange
81
- });
82
- const [_actions, { registerActions, removeActions, triggerAction }] = useActionsState.useActionsState({
83
- actions,
84
- onActionsChange
85
- });
86
- const handleQueryChange = (value) => {
87
- setQuery(value);
88
- onQueryChange == null ? void 0 : onQueryChange(value);
89
- };
90
- const [opened, { open, close, toggle }] = hooks.useDisclosure(false, {
91
- onClose: () => {
92
- onSpotlightClose == null ? void 0 : onSpotlightClose();
93
- if (cleanQueryOnClose) {
94
- timeoutRef.current = window.setTimeout(() => {
95
- handleQueryChange("");
96
- }, transitionProps.duration || 150);
97
- }
98
- },
99
- onOpen: () => {
100
- onSpotlightOpen == null ? void 0 : onSpotlightOpen();
101
- window.clearTimeout(timeoutRef.current);
102
- }
103
- });
104
- const ctx = {
105
- openSpotlight: open,
106
- closeSpotlight: close,
107
- toggleSpotlight: toggle,
108
- registerActions,
109
- removeActions,
110
- triggerAction,
111
- opened,
112
- actions: _actions,
113
- query: _query
114
- };
115
- useSpotlightShortcuts.useSpotlightShortcuts(shortcut, open, tagsToIgnore, triggerOnContentEditable);
116
- events.useSpotlightEvents({ open, close, toggle, registerActions, removeActions, triggerAction });
117
- return /* @__PURE__ */ React__default.createElement(Spotlight_context.SpotlightContext.Provider, {
118
- value: ctx
119
- }, !disabled && /* @__PURE__ */ React__default.createElement(Spotlight.Spotlight, __spreadValues({
120
- actions: _actions,
121
- onClose: close,
122
- opened,
123
- query: _query,
124
- onQueryChange: handleQueryChange,
125
- transitionProps
126
- }, others)), children);
127
- }
128
- SpotlightProvider.displayName = "@mantine/spotlight/SpotlightProvider";
129
-
130
- exports.SpotlightProvider = SpotlightProvider;
131
- //# sourceMappingURL=SpotlightProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SpotlightProvider.js","sources":["../src/SpotlightProvider.tsx"],"sourcesContent":["import React, { useRef } from 'react';\nimport { useDisclosure, useUncontrolled } from '@mantine/hooks';\nimport { useSpotlightEvents } from './events';\nimport { SpotlightContext } from './Spotlight.context';\nimport { InnerSpotlightProps, Spotlight } from './Spotlight/Spotlight';\nimport type { SpotlightAction } from './types';\nimport { useActionsState } from './use-actions-state/use-actions-state';\nimport { useSpotlightShortcuts } from './use-spotlight-shortcuts/use-spotlight-shortcuts';\n\nexport interface SpotlightProviderProps extends InnerSpotlightProps {\n /** Actions list */\n actions: SpotlightAction[];\n\n /** Called when actions change (registered or removed) */\n onActionsChange?(actions: SpotlightAction[]): void;\n\n /** Controlled search query */\n query?: string;\n\n /** Called when user enters text in search input */\n onQueryChange?(query: string): void;\n\n /** Your application */\n children?: React.ReactNode;\n\n /** Called when spotlight opens */\n onSpotlightOpen?(): void;\n\n /** Called when spotlight closes */\n onSpotlightClose?(): void;\n\n /** Keyboard shortcut or list of shortcuts to trigger spotlight */\n shortcut?: string | string[] | null;\n\n /** Should search be cleared when spotlight closes */\n cleanQueryOnClose?: boolean;\n\n /** Spotlight will not render if disabled is set to true */\n disabled?: boolean;\n\n /** Tags to ignore shortcut hotkeys on. */\n tagsToIgnore?: string[];\n\n /** Whether shortcuts should trigger based on contentEditable. */\n triggerOnContentEditable?: boolean;\n}\n\nexport function SpotlightProvider({\n actions,\n children,\n shortcut = 'mod + K',\n query,\n onSpotlightClose,\n onSpotlightOpen,\n onQueryChange,\n onActionsChange,\n cleanQueryOnClose = true,\n transitionProps = { duration: 150 },\n disabled = false,\n tagsToIgnore = ['INPUT', 'TEXTAREA', 'SELECT'],\n triggerOnContentEditable = false,\n ...others\n}: SpotlightProviderProps) {\n const timeoutRef = useRef<number>(-1);\n\n const [_query, setQuery] = useUncontrolled({\n value: query,\n defaultValue: '',\n finalValue: '',\n onChange: onQueryChange,\n });\n\n const [_actions, { registerActions, removeActions, triggerAction }] = useActionsState({\n actions,\n onActionsChange,\n });\n\n const handleQueryChange = (value: string) => {\n setQuery(value);\n onQueryChange?.(value);\n };\n\n const [opened, { open, close, toggle }] = useDisclosure(false, {\n onClose: () => {\n onSpotlightClose?.();\n if (cleanQueryOnClose) {\n timeoutRef.current = window.setTimeout(() => {\n handleQueryChange('');\n }, transitionProps.duration || 150);\n }\n },\n onOpen: () => {\n onSpotlightOpen?.();\n window.clearTimeout(timeoutRef.current);\n },\n });\n\n const ctx = {\n openSpotlight: open,\n closeSpotlight: close,\n toggleSpotlight: toggle,\n registerActions,\n removeActions,\n triggerAction,\n opened,\n actions: _actions,\n query: _query,\n };\n\n useSpotlightShortcuts(shortcut, open, tagsToIgnore, triggerOnContentEditable);\n useSpotlightEvents({ open, close, toggle, registerActions, removeActions, triggerAction });\n\n return (\n <SpotlightContext.Provider value={ctx}>\n {!disabled && (\n <Spotlight\n actions={_actions}\n onClose={close}\n opened={opened}\n query={_query}\n onQueryChange={handleQueryChange}\n transitionProps={transitionProps}\n {...others}\n />\n )}\n {children}\n </SpotlightContext.Provider>\n );\n}\n\nSpotlightProvider.displayName = '@mantine/spotlight/SpotlightProvider';\n"],"names":["useRef","useUncontrolled","useActionsState","useDisclosure","useSpotlightShortcuts","useSpotlightEvents","React","SpotlightContext","Spotlight"],"mappings":"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"}
package/cjs/events.js DELETED
@@ -1,32 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var utils = require('@mantine/utils');
6
-
7
- const [useSpotlightEvents, createEvent] = utils.createUseExternalEvents("mantine-spotlight");
8
- const openSpotlight = createEvent("open");
9
- const closeSpotlight = createEvent("close");
10
- const toggleSpotlight = createEvent("toggle");
11
- const triggerSpotlightAction = createEvent("triggerAction");
12
- const registerSpotlightActions = createEvent("registerActions");
13
- const removeSpotlightActions = createEvent("removeActions");
14
- const spotlight = {
15
- open: openSpotlight,
16
- close: closeSpotlight,
17
- toggle: toggleSpotlight,
18
- triggerAction: triggerSpotlightAction,
19
- registerActions: registerSpotlightActions,
20
- removeActions: removeSpotlightActions
21
- };
22
-
23
- exports.closeSpotlight = closeSpotlight;
24
- exports.createEvent = createEvent;
25
- exports.openSpotlight = openSpotlight;
26
- exports.registerSpotlightActions = registerSpotlightActions;
27
- exports.removeSpotlightActions = removeSpotlightActions;
28
- exports.spotlight = spotlight;
29
- exports.toggleSpotlight = toggleSpotlight;
30
- exports.triggerSpotlightAction = triggerSpotlightAction;
31
- exports.useSpotlightEvents = useSpotlightEvents;
32
- //# sourceMappingURL=events.js.map
package/cjs/events.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.js","sources":["../src/events.ts"],"sourcesContent":["import { createUseExternalEvents } from '@mantine/utils';\nimport type { SpotlightAction } from './types';\n\nexport type SpotlightEvents = {\n open(): void;\n close(): void;\n toggle(): void;\n triggerAction(id: string): void;\n registerActions(actions: SpotlightAction[]): void;\n removeActions(ids: string[]): void;\n};\n\nexport const [useSpotlightEvents, createEvent] =\n createUseExternalEvents<SpotlightEvents>('mantine-spotlight');\n\nexport const openSpotlight = createEvent('open');\nexport const closeSpotlight = createEvent('close');\nexport const toggleSpotlight = createEvent('toggle');\nexport const triggerSpotlightAction = createEvent('triggerAction');\nexport const registerSpotlightActions = createEvent('registerActions');\nexport const removeSpotlightActions = createEvent('removeActions');\n\nexport const spotlight = {\n open: openSpotlight,\n close: closeSpotlight,\n toggle: toggleSpotlight,\n triggerAction: triggerSpotlightAction,\n registerActions: registerSpotlightActions,\n removeActions: removeSpotlightActions,\n};\n"],"names":["createUseExternalEvents"],"mappings":";;;;;;AACY,MAAC,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAGA,6BAAuB,CAAC,mBAAmB,EAAE;AAClF,MAAC,aAAa,GAAG,WAAW,CAAC,MAAM,EAAE;AACrC,MAAC,cAAc,GAAG,WAAW,CAAC,OAAO,EAAE;AACvC,MAAC,eAAe,GAAG,WAAW,CAAC,QAAQ,EAAE;AACzC,MAAC,sBAAsB,GAAG,WAAW,CAAC,eAAe,EAAE;AACvD,MAAC,wBAAwB,GAAG,WAAW,CAAC,iBAAiB,EAAE;AAC3D,MAAC,sBAAsB,GAAG,WAAW,CAAC,eAAe,EAAE;AACvD,MAAC,SAAS,GAAG;AACzB,EAAE,IAAI,EAAE,aAAa;AACrB,EAAE,KAAK,EAAE,cAAc;AACvB,EAAE,MAAM,EAAE,eAAe;AACzB,EAAE,aAAa,EAAE,sBAAsB;AACvC,EAAE,eAAe,EAAE,wBAAwB;AAC3C,EAAE,aAAa,EAAE,sBAAsB;AACvC;;;;;;;;;;;;"}
@@ -1,61 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var hooks = require('@mantine/hooks');
6
-
7
- var __defProp = Object.defineProperty;
8
- var __defProps = Object.defineProperties;
9
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
10
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
11
- var __hasOwnProp = Object.prototype.hasOwnProperty;
12
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
13
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
14
- var __spreadValues = (a, b) => {
15
- for (var prop in b || (b = {}))
16
- if (__hasOwnProp.call(b, prop))
17
- __defNormalProp(a, prop, b[prop]);
18
- if (__getOwnPropSymbols)
19
- for (var prop of __getOwnPropSymbols(b)) {
20
- if (__propIsEnum.call(b, prop))
21
- __defNormalProp(a, prop, b[prop]);
22
- }
23
- return a;
24
- };
25
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
26
- function prepareAction(action) {
27
- return __spreadProps(__spreadValues({}, action), { id: action.id || hooks.randomId() });
28
- }
29
- function filterDuplicateActions(actions) {
30
- const ids = [];
31
- return actions.reduceRight((acc, action) => {
32
- if (!ids.includes(action.id)) {
33
- ids.push(action.id);
34
- acc.push(action);
35
- }
36
- return acc;
37
- }, []).reverse();
38
- }
39
- function prepareActions(initialActions) {
40
- return filterDuplicateActions(initialActions.map((action) => prepareAction(action)));
41
- }
42
- function useActionsState({ actions, onActionsChange }) {
43
- const registerActions = (payload) => onActionsChange == null ? void 0 : onActionsChange(prepareActions([...actions, ...payload]));
44
- const removeActions = (ids) => onActionsChange == null ? void 0 : onActionsChange(actions.filter((action) => !ids.includes(action.id)));
45
- const triggerAction = (id) => {
46
- var _a;
47
- const action = actions.find((item) => item.id === id);
48
- (_a = action == null ? void 0 : action.onTrigger) == null ? void 0 : _a.call(action, action);
49
- };
50
- return [
51
- prepareActions(actions),
52
- {
53
- registerActions,
54
- removeActions,
55
- triggerAction
56
- }
57
- ];
58
- }
59
-
60
- exports.useActionsState = useActionsState;
61
- //# sourceMappingURL=use-actions-state.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-actions-state.js","sources":["../../src/use-actions-state/use-actions-state.ts"],"sourcesContent":["import { randomId } from '@mantine/hooks';\nimport type { SpotlightAction } from '../types';\n\nfunction prepareAction(action: SpotlightAction) {\n return { ...action, id: action.id || randomId() };\n}\n\nfunction filterDuplicateActions(actions: SpotlightAction[]) {\n const ids = [];\n\n return actions\n .reduceRight<SpotlightAction[]>((acc, action) => {\n if (!ids.includes(action.id)) {\n ids.push(action.id);\n acc.push(action);\n }\n\n return acc;\n }, [])\n .reverse();\n}\n\nfunction prepareActions(initialActions: SpotlightAction[]) {\n return filterDuplicateActions(initialActions.map((action) => prepareAction(action)));\n}\n\ninterface UseActionsState {\n actions: SpotlightAction[];\n onActionsChange: (actions: SpotlightAction[]) => void;\n}\n\nexport function useActionsState({ actions, onActionsChange }: UseActionsState) {\n const registerActions = (payload: SpotlightAction[]) =>\n onActionsChange?.(prepareActions([...actions, ...payload]));\n\n const removeActions = (ids: string[]) =>\n onActionsChange?.(actions.filter((action) => !ids.includes(action.id)));\n\n const triggerAction = (id: string) => {\n const action = actions.find((item) => item.id === id);\n action?.onTrigger?.(action);\n };\n\n return [\n prepareActions(actions),\n {\n registerActions,\n removeActions,\n triggerAction,\n },\n ] as const;\n}\n"],"names":["randomId"],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var hooks = require('@mantine/hooks');
6
-
7
- function getHotkeysPayload(shortcuts, onToggle) {
8
- if (shortcuts === null) {
9
- return [];
10
- }
11
- if (Array.isArray(shortcuts)) {
12
- return shortcuts.map((shortcut) => [shortcut, onToggle]);
13
- }
14
- return [[shortcuts, onToggle]];
15
- }
16
- function useSpotlightShortcuts(shortcuts, onToggle, tagsToIgnore, triggerOnContentEditable) {
17
- hooks.useHotkeys(getHotkeysPayload(shortcuts, onToggle), tagsToIgnore, triggerOnContentEditable);
18
- }
19
-
20
- exports.getHotkeysPayload = getHotkeysPayload;
21
- exports.useSpotlightShortcuts = useSpotlightShortcuts;
22
- //# sourceMappingURL=use-spotlight-shortcuts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-spotlight-shortcuts.js","sources":["../../src/use-spotlight-shortcuts/use-spotlight-shortcuts.ts"],"sourcesContent":["import { HotkeyItem, useHotkeys } from '@mantine/hooks';\n\nexport function getHotkeysPayload(\n shortcuts: string | string[],\n onToggle: () => void\n): HotkeyItem[] {\n if (shortcuts === null) {\n return [];\n }\n\n if (Array.isArray(shortcuts)) {\n return shortcuts.map((shortcut) => [shortcut, onToggle]);\n }\n\n return [[shortcuts, onToggle]];\n}\n\nexport function useSpotlightShortcuts(\n shortcuts: string | string[],\n onToggle: () => void,\n tagsToIgnore?: string[],\n triggerOnContentEditable?: boolean\n) {\n useHotkeys(getHotkeysPayload(shortcuts, onToggle), tagsToIgnore, triggerOnContentEditable);\n}\n"],"names":["useHotkeys"],"mappings":";;;;;;AACO,SAAS,iBAAiB,CAAC,SAAS,EAAE,QAAQ,EAAE;AACvD,EAAE,IAAI,SAAS,KAAK,IAAI,EAAE;AAC1B,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;AAChC,IAAI,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC7D,GAAG;AACH,EAAE,OAAO,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;AACjC,CAAC;AACM,SAAS,qBAAqB,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,wBAAwB,EAAE;AACnG,EAAEA,gBAAU,CAAC,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,YAAY,EAAE,wBAAwB,CAAC,CAAC;AAC7F;;;;;"}