@mantine/spotlight 6.0.13 → 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
package/esm/index.css ADDED
@@ -0,0 +1,141 @@
1
+ .mantine-oGSwC9x {
2
+ overflow: hidden;
3
+ height: 100%;
4
+ max-height: var(--spotlight-max-height);
5
+ }
6
+
7
+ .mantine-Fe2lxBl {
8
+ display: flex;
9
+ flex-direction: column;
10
+ height: 100%;
11
+ }
12
+
13
+ .mantine-hZL9kbl {
14
+ border: 0;
15
+ background-color: transparent;
16
+ }
17
+
18
+ .mantine-wb4sUqR {
19
+ border-top: calc(0.0625rem * var(--mantine-scale)) solid var(--_actions-list-border);
20
+ flex: 1;
21
+ padding: calc(0.25rem * var(--mantine-scale));
22
+ max-height: calc(100% - calc(3.125rem * var(--mantine-scale)));
23
+ }
24
+
25
+ [data-mantine-color-scheme='light'] .mantine-wb4sUqR {
26
+ --_actions-list-border: var(--mantine-color-gray-2);
27
+ }
28
+
29
+ [data-mantine-color-scheme='dark'] .mantine-wb4sUqR {
30
+ --_actions-list-border: var(--mantine-color-dark-4);
31
+ }
32
+
33
+ .mantine-E9Jobyg {
34
+ display: flex;
35
+ align-items: center;
36
+ width: 100%;
37
+ padding: calc(0.4375rem * var(--mantine-scale)) var(--mantine-spacing-md);
38
+ border-radius: var(--mantine-radius-default);
39
+ background-color: var(--_action-bg, transparent);
40
+ color: var(--_action-color, inherit);
41
+ }
42
+
43
+ @media (hover: hover) {
44
+ [data-mantine-color-scheme='light'] .mantine-E9Jobyg:not([data-selected]):hover {
45
+ --_action-bg: var(--mantine-color-gray-0);
46
+ }
47
+
48
+ [data-mantine-color-scheme='dark'] .mantine-E9Jobyg:not([data-selected]):hover {
49
+ --_action-bg: var(--mantine-color-dark-6);
50
+ }
51
+ }
52
+
53
+ @media (hover: none) {
54
+ [data-mantine-color-scheme='light'] .mantine-E9Jobyg:not([data-selected]):active {
55
+ --_action-bg: var(--mantine-color-gray-0);
56
+ }
57
+
58
+ [data-mantine-color-scheme='dark'] .mantine-E9Jobyg:not([data-selected]):active {
59
+ --_action-bg: var(--mantine-color-dark-6);
60
+ }
61
+ }
62
+
63
+ .mantine-E9Jobyg[data-selected] {
64
+ --_action-bg: var(--mantine-color-primary);
65
+ --_action-color: var(--mantine-color-white);
66
+ --_action-description-color: var(--mantine-color-white);
67
+ --_action-description-opacity: 0.7;
68
+ }
69
+
70
+ .mantine-H88WHeq {
71
+ flex: 1;
72
+ }
73
+
74
+ .mantine-qjilEb4 {
75
+ margin-left: var(--_action-section-ml);
76
+ margin-right: var(--_action-section-mr);
77
+ opacity: var(--_action-section-opacity, 1);
78
+ color: var(--_action-section-color, inherit);
79
+ }
80
+
81
+ .mantine-qjilEb4[data-dimmed] {
82
+ --_action-section-opacity: var(--_action-description-opacity, 1);
83
+ --_action-section-color: var(--_action-description-color, var(--mantine-color-dimmed));
84
+ }
85
+
86
+ .mantine-qjilEb4[data-position='left'] {
87
+ --_action-section-mr: var(--mantine-spacing-md);
88
+ }
89
+
90
+ .mantine-qjilEb4[data-position='right'] {
91
+ --_action-section-ml: var(--mantine-spacing-md);
92
+ }
93
+
94
+ .mantine-B0huk7i {
95
+ display: block;
96
+ }
97
+
98
+ .mantine-LuXNfaT {
99
+ display: block;
100
+ font-size: var(--mantine-font-size-xs);
101
+ opacity: var(--_action-description-opacity, 1);
102
+ color: var(--_action-description-color, var(--mantine-color-dimmed));
103
+ }
104
+
105
+ .mantine-QuaaZgR {
106
+ color: var(--mantine-color-dimmed);
107
+ padding: var(--mantine-spacing-md);
108
+ text-align: center;
109
+ }
110
+
111
+ .mantine-UGR-82u {
112
+ padding: var(--mantine-spacing-xs) calc(var(--mantine-spacing-md) + calc(0.25rem * var(--mantine-scale)));
113
+ border-top: calc(0.0625rem * var(--mantine-scale)) solid var(--_footer-border);
114
+ }
115
+
116
+ [data-mantine-color-scheme='light'] .mantine-UGR-82u {
117
+ --_footer-border: var(--mantine-color-gray-2);
118
+ }
119
+
120
+ [data-mantine-color-scheme='dark'] .mantine-UGR-82u {
121
+ --_footer-border: var(--mantine-color-dark-4);
122
+ }
123
+
124
+ .mantine-cEuV4u5 {
125
+ display: var(--_display, flex);
126
+ flex-direction: column;
127
+ margin-top: var(--mantine-spacing-md);
128
+ }
129
+
130
+ .mantine-cEuV4u5::before {
131
+ content: var(--spotlight-label);
132
+ text-transform: uppercase;
133
+ font-size: var(--mantine-font-size-xs);
134
+ font-weight: 700;
135
+ color: var(--mantine-color-dimmed);
136
+ padding-left: var(--mantine-spacing-md);
137
+ }
138
+
139
+ .mantine-cEuV4u5:empty {
140
+ --_display: none;
141
+ }
package/esm/index.js CHANGED
@@ -1,4 +1,10 @@
1
- export { useSpotlight } from './Spotlight.context.js';
2
- export { SpotlightProvider } from './SpotlightProvider.js';
3
- export { closeSpotlight, openSpotlight, registerSpotlightActions, removeSpotlightActions, spotlight, toggleSpotlight, triggerSpotlightAction } from './events.js';
1
+ 'use client';
2
+ export { closeSpotlight, createSpotlight, createSpotlightStore, openSpotlight, spotlight, toggleSpotlight, useSpotlight } from './spotlight.store.js';
3
+ export { Spotlight } from './Spotlight.js';
4
+ export { SpotlightAction } from './SpotlightAction.js';
5
+ export { SpotlightActionsGroup } from './SpotlightActionsGroup.js';
6
+ export { SpotlightActionsList } from './SpotlightActionsList.js';
7
+ export { SpotlightEmpty } from './SpotlightEmpty.js';
8
+ export { SpotlightFooter } from './SpotlightFooter.js';
9
+ export { SpotlightSearch } from './SpotlightSearch.js';
4
10
  //# sourceMappingURL=index.js.map
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,130 @@
1
+ import { clamp } from '@mantine/hooks';
2
+ import { createStore, useStore } from '@mantine/store';
3
+
4
+ var __defProp = Object.defineProperty;
5
+ var __defProps = Object.defineProperties;
6
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
10
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
11
+ var __spreadValues = (a, b) => {
12
+ for (var prop in b || (b = {}))
13
+ if (__hasOwnProp.call(b, prop))
14
+ __defNormalProp(a, prop, b[prop]);
15
+ if (__getOwnPropSymbols)
16
+ for (var prop of __getOwnPropSymbols(b)) {
17
+ if (__propIsEnum.call(b, prop))
18
+ __defNormalProp(a, prop, b[prop]);
19
+ }
20
+ return a;
21
+ };
22
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
23
+ const createSpotlightStore = () => createStore({
24
+ opened: false,
25
+ empty: false,
26
+ selected: -1,
27
+ listId: "",
28
+ query: "",
29
+ registeredActions: /* @__PURE__ */ new Set()
30
+ });
31
+ const useSpotlight = (store) => useStore(store);
32
+ function updateSpotlightStateAction(update, store) {
33
+ const state = store.getState();
34
+ store.setState(__spreadValues(__spreadValues({}, state), update(store.getState())));
35
+ }
36
+ function openSpotlightAction(store) {
37
+ updateSpotlightStateAction(() => ({ opened: true }), store);
38
+ }
39
+ function closeSpotlightAction(store) {
40
+ updateSpotlightStateAction(() => ({ opened: false }), store);
41
+ }
42
+ function toggleSpotlightAction(store) {
43
+ updateSpotlightStateAction((state) => ({ opened: !state.opened }), store);
44
+ }
45
+ function setSelectedAction(index, store) {
46
+ store.updateState((state) => __spreadProps(__spreadValues({}, state), { selected: index }));
47
+ }
48
+ function setListId(id, store) {
49
+ store.updateState((state) => __spreadProps(__spreadValues({}, state), { listId: id }));
50
+ }
51
+ function selectAction(index, store) {
52
+ var _a, _b;
53
+ const state = store.getState();
54
+ const actionsList = document.getElementById(state.listId);
55
+ const selected = actionsList.querySelector("[data-selected]");
56
+ const actions = actionsList.querySelectorAll("[data-action]");
57
+ const nextIndex = index === -1 ? actions.length - 1 : index === actions.length ? 0 : index;
58
+ const selectedIndex = clamp(nextIndex, 0, actions.length - 1);
59
+ selected == null ? void 0 : selected.removeAttribute("data-selected");
60
+ (_a = actions[selectedIndex]) == null ? void 0 : _a.scrollIntoView({ block: "nearest" });
61
+ (_b = actions[selectedIndex]) == null ? void 0 : _b.setAttribute("data-selected", "true");
62
+ setSelectedAction(selectedIndex, store);
63
+ return selectedIndex;
64
+ }
65
+ function selectNextAction(store) {
66
+ return selectAction(store.getState().selected + 1, store);
67
+ }
68
+ function selectPreviousAction(store) {
69
+ return selectAction(store.getState().selected - 1, store);
70
+ }
71
+ function triggerSelectedAction(store) {
72
+ const state = store.getState();
73
+ const selected = document.querySelector(`#${state.listId} [data-selected]`);
74
+ selected == null ? void 0 : selected.click();
75
+ }
76
+ function registerAction(id, store) {
77
+ const state = store.getState();
78
+ state.registeredActions.add(id);
79
+ return () => {
80
+ state.registeredActions.delete(id);
81
+ };
82
+ }
83
+ function setQuery(query, store) {
84
+ updateSpotlightStateAction(() => ({ query }), store);
85
+ Promise.resolve().then(() => {
86
+ selectAction(0, store);
87
+ updateSpotlightStateAction(
88
+ (state) => ({
89
+ empty: state.query.trim().length > 0 && state.registeredActions.size === 0 || false
90
+ }),
91
+ store
92
+ );
93
+ });
94
+ }
95
+ function clearSpotlightState({ clearQuery }, store) {
96
+ store.updateState((state) => __spreadProps(__spreadValues({}, state), {
97
+ selected: -1,
98
+ query: clearQuery ? "" : state.query,
99
+ empty: clearQuery ? false : state.empty
100
+ }));
101
+ }
102
+ const spotlightActions = {
103
+ open: openSpotlightAction,
104
+ close: closeSpotlightAction,
105
+ toggle: toggleSpotlightAction,
106
+ updateState: updateSpotlightStateAction,
107
+ setSelectedAction,
108
+ setListId,
109
+ selectAction,
110
+ selectNextAction,
111
+ selectPreviousAction,
112
+ triggerSelectedAction,
113
+ registerAction,
114
+ setQuery,
115
+ clearSpotlightState
116
+ };
117
+ function createSpotlight() {
118
+ const store = createSpotlightStore();
119
+ const actions = {
120
+ open: () => openSpotlightAction(store),
121
+ close: () => closeSpotlightAction(store),
122
+ toggle: () => toggleSpotlightAction(store)
123
+ };
124
+ return [store, actions];
125
+ }
126
+ const [spotlightStore, spotlight] = createSpotlight();
127
+ const { open: openSpotlight, close: closeSpotlight, toggle: toggleSpotlight } = spotlight;
128
+
129
+ export { clearSpotlightState, closeSpotlight, closeSpotlightAction, createSpotlight, createSpotlightStore, openSpotlight, openSpotlightAction, registerAction, selectAction, selectNextAction, selectPreviousAction, setListId, setQuery, setSelectedAction, spotlight, spotlightActions, spotlightStore, toggleSpotlight, toggleSpotlightAction, triggerSelectedAction, updateSpotlightStateAction, useSpotlight };
130
+ //# sourceMappingURL=spotlight.store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spotlight.store.js","sources":["../src/spotlight.store.ts"],"sourcesContent":["import { clamp } from '@mantine/hooks';\nimport { createStore, useStore, MantineStore } from '@mantine/store';\n\nexport interface SpotlightState {\n opened: boolean;\n selected: number;\n listId: string;\n query: string;\n empty: boolean;\n registeredActions: Set<string>;\n}\n\nexport type SpotlightStore = MantineStore<SpotlightState>;\n\nexport const createSpotlightStore = () =>\n createStore<SpotlightState>({\n opened: false,\n empty: false,\n selected: -1,\n listId: '',\n query: '',\n registeredActions: new Set(),\n });\n\nexport const useSpotlight = (store: SpotlightStore) => useStore(store);\n\nexport function updateSpotlightStateAction(\n update: (state: SpotlightState) => Partial<SpotlightState>,\n store: SpotlightStore\n) {\n const state = store.getState();\n store.setState({ ...state, ...update(store.getState()) });\n}\n\nexport function openSpotlightAction(store: SpotlightStore) {\n updateSpotlightStateAction(() => ({ opened: true }), store);\n}\n\nexport function closeSpotlightAction(store: SpotlightStore) {\n updateSpotlightStateAction(() => ({ opened: false }), store);\n}\n\nexport function toggleSpotlightAction(store: SpotlightStore) {\n updateSpotlightStateAction((state) => ({ opened: !state.opened }), store);\n}\n\nexport function setSelectedAction(index: number, store: SpotlightStore) {\n store.updateState((state) => ({ ...state, selected: index }));\n}\n\nexport function setListId(id: string, store: SpotlightStore) {\n store.updateState((state) => ({ ...state, listId: id }));\n}\n\nexport function selectAction(index: number, store: SpotlightStore): number {\n const state = store.getState();\n const actionsList = document.getElementById(state.listId)!;\n const selected = actionsList.querySelector<HTMLButtonElement>('[data-selected]');\n const actions = actionsList.querySelectorAll<HTMLButtonElement>('[data-action]');\n const nextIndex = index === -1 ? actions.length - 1 : index === actions.length ? 0 : index;\n\n const selectedIndex = clamp(nextIndex, 0, actions.length - 1);\n selected?.removeAttribute('data-selected');\n actions[selectedIndex]?.scrollIntoView({ block: 'nearest' });\n actions[selectedIndex]?.setAttribute('data-selected', 'true');\n setSelectedAction(selectedIndex, store);\n\n return selectedIndex;\n}\n\nexport function selectNextAction(store: SpotlightStore) {\n return selectAction(store.getState().selected + 1, store);\n}\n\nexport function selectPreviousAction(store: SpotlightStore) {\n return selectAction(store.getState().selected - 1, store);\n}\n\nexport function triggerSelectedAction(store: SpotlightStore) {\n const state = store.getState();\n const selected = document.querySelector<HTMLButtonElement>(`#${state.listId} [data-selected]`);\n selected?.click();\n}\n\nexport function registerAction(id: string, store: SpotlightStore) {\n const state = store.getState();\n state.registeredActions.add(id);\n return () => {\n state.registeredActions.delete(id);\n };\n}\n\nexport function setQuery(query: string, store: SpotlightStore) {\n updateSpotlightStateAction(() => ({ query }), store);\n Promise.resolve().then(() => {\n selectAction(0, store);\n updateSpotlightStateAction(\n (state) => ({\n empty: (state.query.trim().length > 0 && state.registeredActions.size === 0) || false,\n }),\n store\n );\n });\n}\n\nexport function clearSpotlightState(\n { clearQuery }: { clearQuery: boolean | undefined },\n store: SpotlightStore\n) {\n store.updateState((state) => ({\n ...state,\n selected: -1,\n query: clearQuery ? '' : state.query,\n empty: clearQuery ? false : state.empty,\n }));\n}\n\nexport const spotlightActions = {\n open: openSpotlightAction,\n close: closeSpotlightAction,\n toggle: toggleSpotlightAction,\n updateState: updateSpotlightStateAction,\n setSelectedAction,\n setListId,\n selectAction,\n selectNextAction,\n selectPreviousAction,\n triggerSelectedAction,\n registerAction,\n setQuery,\n clearSpotlightState,\n};\n\nexport function createSpotlight() {\n const store = createSpotlightStore();\n const actions = {\n open: () => openSpotlightAction(store),\n close: () => closeSpotlightAction(store),\n toggle: () => toggleSpotlightAction(store),\n };\n\n return [store, actions] as const;\n}\n\nexport const [spotlightStore, spotlight] = createSpotlight();\nexport const { open: openSpotlight, close: closeSpotlight, toggle: toggleSpotlight } = spotlight;\n"],"names":[],"mappings":"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"}
@@ -1,25 +1,16 @@
1
- /// <reference types="react" />
2
- import type { SpotlightAction } from './types';
3
- export interface SpotlightContextValue {
4
- /** Opens spotlight */
5
- openSpotlight(): void;
6
- /** Closes spotlight */
7
- closeSpotlight(): void;
8
- /** Toggles spotlight opened state */
9
- toggleSpotlight(): void;
10
- /** Triggers action with given id */
11
- triggerAction(actionId: string): void;
12
- /** Registers additional actions */
13
- registerActions(actions: SpotlightAction[]): void;
14
- /** Removes actions with given ids */
15
- removeActions(actionIds: string[]): void;
16
- /** Current opened state */
17
- opened: boolean;
18
- /** List of registered actions */
19
- actions: SpotlightAction[];
20
- /** Search query */
1
+ import { GetStylesApi } from '@mantine/core';
2
+ import type { SpotlightRootFactory } from './SpotlightRoot';
3
+ import { SpotlightStore } from './spotlight.store';
4
+ interface SpotlightContextValue {
21
5
  query: string;
6
+ setQuery(query: string): void;
7
+ getStyles: GetStylesApi<SpotlightRootFactory>;
8
+ store: SpotlightStore;
9
+ closeOnActionTrigger: boolean | undefined;
22
10
  }
23
- export declare const SpotlightContext: import("react").Context<SpotlightContextValue>;
24
- export declare function useSpotlight(): SpotlightContextValue;
11
+ export declare const SpotlightProvider: ({ children, value }: {
12
+ value: SpotlightContextValue;
13
+ children: import("react").ReactNode;
14
+ }) => JSX.Element, useSpotlightContext: () => SpotlightContextValue;
15
+ export {};
25
16
  //# sourceMappingURL=Spotlight.context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Spotlight.context.d.ts","sourceRoot":"","sources":["../src/Spotlight.context.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,MAAM,WAAW,qBAAqB;IACpC,sBAAsB;IACtB,aAAa,IAAI,IAAI,CAAC;IAEtB,uBAAuB;IACvB,cAAc,IAAI,IAAI,CAAC;IAEvB,qCAAqC;IACrC,eAAe,IAAI,IAAI,CAAC;IAExB,oCAAoC;IACpC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtC,mCAAmC;IACnC,eAAe,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IAElD,qCAAqC;IACrC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAEzC,2BAA2B;IAC3B,MAAM,EAAE,OAAO,CAAC;IAEhB,iCAAiC;IACjC,OAAO,EAAE,eAAe,EAAE,CAAC;IAE3B,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,gBAAgB,gDAA6C,CAAC;AAE3E,wBAAgB,YAAY,0BAQ3B"}
1
+ {"version":3,"file":"Spotlight.context.d.ts","sourceRoot":"","sources":["../src/Spotlight.context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,YAAY,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,UAAU,qBAAqB;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,YAAY,CAAC,oBAAoB,CAAC,CAAC;IAC9C,KAAK,EAAE,cAAc,CAAC;IACtB,oBAAoB,EAAE,OAAO,GAAG,SAAS,CAAC;CAC3C;AAED,eAAO,MAAO,iBAAiB;;;mBAAE,mBAAmB,6BAEnD,CAAC"}
@@ -0,0 +1,68 @@
1
+ import React from 'react';
2
+ import { Factory } from '@mantine/core';
3
+ import { spotlight } from './spotlight.store';
4
+ import { SpotlightSearch, SpotlightSearchProps } from './SpotlightSearch';
5
+ import { SpotlightActionsList } from './SpotlightActionsList';
6
+ import { SpotlightAction, SpotlightActionProps } from './SpotlightAction';
7
+ import { SpotlightEmpty } from './SpotlightEmpty';
8
+ import { SpotlightFooter } from './SpotlightFooter';
9
+ import { SpotlightActionsGroup } from './SpotlightActionsGroup';
10
+ import { SpotlightRoot, SpotlightRootProps, SpotlightRootStylesNames } from './SpotlightRoot';
11
+ export type SpotlightFilterFunction = (query: string, actions: SpotlightActions[]) => SpotlightActions[];
12
+ export interface SpotlightActionData extends SpotlightActionProps {
13
+ id: string;
14
+ group?: string;
15
+ }
16
+ export interface SpotlightActionGroupData {
17
+ group: string;
18
+ actions: SpotlightActionData[];
19
+ }
20
+ export type SpotlightActions = SpotlightActionData | SpotlightActionGroupData;
21
+ export type SpotlightStylesNames = SpotlightRootStylesNames;
22
+ export interface SpotlightProps extends SpotlightRootProps {
23
+ /** Props passed down to the `Spotlight.Search` */
24
+ searchProps?: SpotlightSearchProps;
25
+ /** Actions data, passed down to `Spotlight.Action` component */
26
+ actions: SpotlightActions[];
27
+ /** Function to filter actions data based on search query, by default actions are filtered by title, description and keywords */
28
+ filter?: SpotlightFilterFunction;
29
+ /** Message displayed when none of the actions match given `filter` */
30
+ nothingFound?: React.ReactNode;
31
+ /** Determines whether search query should be highlighted in action label, `false` by default */
32
+ highlightQuery?: boolean;
33
+ }
34
+ export type SpotlightFactory = Factory<{
35
+ props: SpotlightProps;
36
+ ref: HTMLDivElement;
37
+ stylesNames: SpotlightStylesNames;
38
+ staticComponents: {
39
+ Search: typeof SpotlightSearch;
40
+ ActionsList: typeof SpotlightActionsList;
41
+ Action: typeof SpotlightAction;
42
+ Empty: typeof SpotlightEmpty;
43
+ Footer: typeof SpotlightFooter;
44
+ ActionsGroup: typeof SpotlightActionsGroup;
45
+ Root: typeof SpotlightRoot;
46
+ open: typeof spotlight.open;
47
+ close: typeof spotlight.close;
48
+ toggle: typeof spotlight.toggle;
49
+ };
50
+ }>;
51
+ export declare const Spotlight: import("@mantine/core").MantineComponent<{
52
+ props: SpotlightProps;
53
+ ref: HTMLDivElement;
54
+ stylesNames: SpotlightStylesNames;
55
+ staticComponents: {
56
+ Search: typeof SpotlightSearch;
57
+ ActionsList: typeof SpotlightActionsList;
58
+ Action: typeof SpotlightAction;
59
+ Empty: typeof SpotlightEmpty;
60
+ Footer: typeof SpotlightFooter;
61
+ ActionsGroup: typeof SpotlightActionsGroup;
62
+ Root: typeof SpotlightRoot;
63
+ open: typeof spotlight.open;
64
+ close: typeof spotlight.close;
65
+ toggle: typeof spotlight.toggle;
66
+ };
67
+ }>;
68
+ //# sourceMappingURL=Spotlight.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spotlight.d.ts","sourceRoot":"","sources":["../src/Spotlight.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAqB,OAAO,EAAoB,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAkB,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAI9F,MAAM,MAAM,uBAAuB,GAAG,CACpC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,gBAAgB,EAAE,KACxB,gBAAgB,EAAE,CAAC;AAExB,MAAM,WAAW,mBAAoB,SAAQ,oBAAoB;IAC/D,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,mBAAmB,EAAE,CAAC;CAChC;AAED,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,GAAG,wBAAwB,CAAC;AAQ9E,MAAM,MAAM,oBAAoB,GAAG,wBAAwB,CAAC;AAE5D,MAAM,WAAW,cAAe,SAAQ,kBAAkB;IACxD,kDAAkD;IAClD,WAAW,CAAC,EAAE,oBAAoB,CAAC;IAEnC,gEAAgE;IAChE,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAE5B,gIAAgI;IAChI,MAAM,CAAC,EAAE,uBAAuB,CAAC;IAEjC,sEAAsE;IACtE,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE/B,gGAAgG;IAChG,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC;IACrC,KAAK,EAAE,cAAc,CAAC;IACtB,GAAG,EAAE,cAAc,CAAC;IACpB,WAAW,EAAE,oBAAoB,CAAC;IAClC,gBAAgB,EAAE;QAChB,MAAM,EAAE,OAAO,eAAe,CAAC;QAC/B,WAAW,EAAE,OAAO,oBAAoB,CAAC;QACzC,MAAM,EAAE,OAAO,eAAe,CAAC;QAC/B,KAAK,EAAE,OAAO,cAAc,CAAC;QAC7B,MAAM,EAAE,OAAO,eAAe,CAAC;QAC/B,YAAY,EAAE,OAAO,qBAAqB,CAAC;QAC3C,IAAI,EAAE,OAAO,aAAa,CAAC;QAC3B,IAAI,EAAE,OAAO,SAAS,CAAC,IAAI,CAAC;QAC5B,KAAK,EAAE,OAAO,SAAS,CAAC,KAAK,CAAC;QAC9B,MAAM,EAAE,OAAO,SAAS,CAAC,MAAM,CAAC;KACjC,CAAC;CACH,CAAC,CAAC;AAgBH,eAAO,MAAM,SAAS;WA/Bb,cAAc;SAChB,cAAc;iBACN,oBAAoB;sBACf;QAChB,MAAM,EAAE,sBAAsB,CAAC;QAC/B,WAAW,EAAE,2BAA2B,CAAC;QACzC,MAAM,EAAE,sBAAsB,CAAC;QAC/B,KAAK,EAAE,qBAAqB,CAAC;QAC7B,MAAM,EAAE,sBAAsB,CAAC;QAC/B,YAAY,EAAE,4BAA4B,CAAC;QAC3C,IAAI,EAAE,oBAAoB,CAAC;QAC3B,MAAM,OAAO,cAAc,CAAC;QAC5B,OAAO,OAAO,eAAe,CAAC;QAC9B,MAAM,EAAE,OAAO,UAAU,MAAM,CAAC;KACjC;EAgED,CAAC"}
@@ -0,0 +1,38 @@
1
+ import React from 'react';
2
+ import { BoxProps, StylesApiProps, ElementProps, Factory, MantineColor } from '@mantine/core';
3
+ export type SpotlightActionStylesNames = 'action' | 'actionLabel' | 'actionDescription' | 'actionSection' | 'actionBody';
4
+ export interface SpotlightActionProps extends BoxProps, StylesApiProps<SpotlightActionFactory>, ElementProps<'button'> {
5
+ /** Action label, pass string to use in default filter */
6
+ label?: string;
7
+ /** Action description, pass string to use in default filter */
8
+ description?: string;
9
+ /** Section displayed on the left side of the label, for example, icon */
10
+ leftSection?: React.ReactNode;
11
+ /** Section displayed on the right side of the label, for example, hotkey */
12
+ rightSection?: React.ReactNode;
13
+ /** Children override default action elements, if passed, label, description and sections are hidden */
14
+ children?: React.ReactNode;
15
+ /** Determines whether left and right sections should have dimmed styles, `true` by default */
16
+ dimmedSections?: boolean;
17
+ /** Determines whether search query should be highlighted in action label, `false` by default */
18
+ highlightQuery?: boolean;
19
+ /** Key of `theme.colors` of any valid CSS color that will be used to highlight search query, `'yellow'` by default */
20
+ highlightColor?: MantineColor;
21
+ /** Determines whether the spotlight should be closed when action is triggered, overrides `closeOnActionTrigger` prop set on `Spotlight` */
22
+ closeSpotlightOnTrigger?: boolean;
23
+ /** Keywords that are used for default filtering, not displayed anywhere, can be a string: "react,router,javascript" or an array: ['react', 'router', 'javascript'] */
24
+ keywords?: string | string[];
25
+ }
26
+ export type SpotlightActionFactory = Factory<{
27
+ props: SpotlightActionProps;
28
+ ref: HTMLButtonElement;
29
+ stylesNames: SpotlightActionStylesNames;
30
+ compound: true;
31
+ }>;
32
+ export declare const SpotlightAction: import("@mantine/core").MantineComponent<{
33
+ props: SpotlightActionProps;
34
+ ref: HTMLButtonElement;
35
+ stylesNames: SpotlightActionStylesNames;
36
+ compound: true;
37
+ }>;
38
+ //# sourceMappingURL=SpotlightAction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpotlightAction.d.ts","sourceRoot":"","sources":["../src/SpotlightAction.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAEL,QAAQ,EACR,cAAc,EAEd,YAAY,EAEZ,OAAO,EAEP,YAAY,EAEb,MAAM,eAAe,CAAC;AAKvB,MAAM,MAAM,0BAA0B,GAClC,QAAQ,GACR,aAAa,GACb,mBAAmB,GACnB,eAAe,GACf,YAAY,CAAC;AAEjB,MAAM,WAAW,oBACf,SAAQ,QAAQ,EACd,cAAc,CAAC,sBAAsB,CAAC,EACtC,YAAY,CAAC,QAAQ,CAAC;IACxB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,yEAAyE;IACzE,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE9B,4EAA4E;IAC5E,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE/B,uGAAuG;IACvG,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B,8FAA8F;IAC9F,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,gGAAgG;IAChG,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,sHAAsH;IACtH,cAAc,CAAC,EAAE,YAAY,CAAC;IAE9B,2IAA2I;IAC3I,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC,sKAAsK;IACtK,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC9B;AAED,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAAC;IAC3C,KAAK,EAAE,oBAAoB,CAAC;IAC5B,GAAG,EAAE,iBAAiB,CAAC;IACvB,WAAW,EAAE,0BAA0B,CAAC;IACxC,QAAQ,EAAE,IAAI,CAAC;CAChB,CAAC,CAAC;AAOH,eAAO,MAAM,eAAe;WAXnB,oBAAoB;SACtB,iBAAiB;iBACT,0BAA0B;cAC7B,IAAI;EAkGd,CAAC"}
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ import { BoxProps, StylesApiProps, ElementProps, Factory } from '@mantine/core';
3
+ export type SpotlightActionsGroupStylesNames = 'actionsGroup';
4
+ export interface SpotlightActionsGroupProps extends BoxProps, StylesApiProps<SpotlightActionsGroupFactory>, ElementProps<'div'> {
5
+ /** `Spotlight.Action` components */
6
+ children?: React.ReactNode;
7
+ /** Group label */
8
+ label?: React.ReactNode;
9
+ }
10
+ export type SpotlightActionsGroupFactory = Factory<{
11
+ props: SpotlightActionsGroupProps;
12
+ ref: HTMLDivElement;
13
+ stylesNames: SpotlightActionsGroupStylesNames;
14
+ compound: true;
15
+ }>;
16
+ export declare const SpotlightActionsGroup: import("@mantine/core").MantineComponent<{
17
+ props: SpotlightActionsGroupProps;
18
+ ref: HTMLDivElement;
19
+ stylesNames: SpotlightActionsGroupStylesNames;
20
+ compound: true;
21
+ }>;
22
+ //# sourceMappingURL=SpotlightActionsGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpotlightActionsGroup.d.ts","sourceRoot":"","sources":["../src/SpotlightActionsGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAEL,QAAQ,EACR,cAAc,EAEd,YAAY,EAEZ,OAAO,EACR,MAAM,eAAe,CAAC;AAIvB,MAAM,MAAM,gCAAgC,GAAG,cAAc,CAAC;AAE9D,MAAM,WAAW,0BACf,SAAQ,QAAQ,EACd,cAAc,CAAC,4BAA4B,CAAC,EAC5C,YAAY,CAAC,KAAK,CAAC;IACrB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B,kBAAkB;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACzB;AAED,MAAM,MAAM,4BAA4B,GAAG,OAAO,CAAC;IACjD,KAAK,EAAE,0BAA0B,CAAC;IAClC,GAAG,EAAE,cAAc,CAAC;IACpB,WAAW,EAAE,gCAAgC,CAAC;IAC9C,QAAQ,EAAE,IAAI,CAAC;CAChB,CAAC,CAAC;AAIH,eAAO,MAAM,qBAAqB;WARzB,0BAA0B;SAC5B,cAAc;iBACN,gCAAgC;cACnC,IAAI;EAuBd,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { BoxProps, StylesApiProps, ElementProps, Factory } from '@mantine/core';
2
+ export type SpotlightActionsListStylesNames = 'actionsList' | 'actionsListInner';
3
+ export interface SpotlightActionsListProps extends BoxProps, StylesApiProps<SpotlightActionsListFactory>, ElementProps<'div'> {
4
+ }
5
+ export type SpotlightActionsListFactory = Factory<{
6
+ props: SpotlightActionsListProps;
7
+ ref: HTMLDivElement;
8
+ stylesNames: SpotlightActionsListStylesNames;
9
+ compound: true;
10
+ }>;
11
+ export declare const SpotlightActionsList: import("@mantine/core").MantineComponent<{
12
+ props: SpotlightActionsListProps;
13
+ ref: HTMLDivElement;
14
+ stylesNames: SpotlightActionsListStylesNames;
15
+ compound: true;
16
+ }>;
17
+ //# sourceMappingURL=SpotlightActionsList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpotlightActionsList.d.ts","sourceRoot":"","sources":["../src/SpotlightActionsList.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,cAAc,EAEd,YAAY,EAEZ,OAAO,EAER,MAAM,eAAe,CAAC;AAKvB,MAAM,MAAM,+BAA+B,GAAG,aAAa,GAAG,kBAAkB,CAAC;AAEjF,MAAM,WAAW,yBACf,SAAQ,QAAQ,EACd,cAAc,CAAC,2BAA2B,CAAC,EAC3C,YAAY,CAAC,KAAK,CAAC;CAAG;AAE1B,MAAM,MAAM,2BAA2B,GAAG,OAAO,CAAC;IAChD,KAAK,EAAE,yBAAyB,CAAC;IACjC,GAAG,EAAE,cAAc,CAAC;IACpB,WAAW,EAAE,+BAA+B,CAAC;IAC7C,QAAQ,EAAE,IAAI,CAAC;CAChB,CAAC,CAAC;AAIH,eAAO,MAAM,oBAAoB;WARxB,yBAAyB;SAC3B,cAAc;iBACN,+BAA+B;cAClC,IAAI;EA+Bd,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { BoxProps, StylesApiProps, ElementProps, Factory } from '@mantine/core';
2
+ export type SpotlightEmptyStylesNames = 'empty';
3
+ export interface SpotlightEmptyProps extends BoxProps, StylesApiProps<SpotlightEmptyFactory>, ElementProps<'div'> {
4
+ }
5
+ export type SpotlightEmptyFactory = Factory<{
6
+ props: SpotlightEmptyProps;
7
+ ref: HTMLDivElement;
8
+ stylesNames: SpotlightEmptyStylesNames;
9
+ compound: true;
10
+ }>;
11
+ export declare const SpotlightEmpty: import("@mantine/core").MantineComponent<{
12
+ props: SpotlightEmptyProps;
13
+ ref: HTMLDivElement;
14
+ stylesNames: SpotlightEmptyStylesNames;
15
+ compound: true;
16
+ }>;
17
+ //# sourceMappingURL=SpotlightEmpty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpotlightEmpty.d.ts","sourceRoot":"","sources":["../src/SpotlightEmpty.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,QAAQ,EACR,cAAc,EAEd,YAAY,EAEZ,OAAO,EACR,MAAM,eAAe,CAAC;AAIvB,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC;AAEhD,MAAM,WAAW,mBACf,SAAQ,QAAQ,EACd,cAAc,CAAC,qBAAqB,CAAC,EACrC,YAAY,CAAC,KAAK,CAAC;CAAG;AAE1B,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC;IAC1C,KAAK,EAAE,mBAAmB,CAAC;IAC3B,GAAG,EAAE,cAAc,CAAC;IACpB,WAAW,EAAE,yBAAyB,CAAC;IACvC,QAAQ,EAAE,IAAI,CAAC;CAChB,CAAC,CAAC;AAIH,eAAO,MAAM,cAAc;WARlB,mBAAmB;SACrB,cAAc;iBACN,yBAAyB;cAC5B,IAAI;EAqBd,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { BoxProps, StylesApiProps, ElementProps, Factory } from '@mantine/core';
2
+ export type SpotlightFooterStylesNames = 'footer';
3
+ export interface SpotlightFooterProps extends BoxProps, StylesApiProps<SpotlightFooterFactory>, ElementProps<'div'> {
4
+ }
5
+ export type SpotlightFooterFactory = Factory<{
6
+ props: SpotlightFooterProps;
7
+ ref: HTMLDivElement;
8
+ stylesNames: SpotlightFooterStylesNames;
9
+ compound: true;
10
+ }>;
11
+ export declare const SpotlightFooter: import("@mantine/core").MantineComponent<{
12
+ props: SpotlightFooterProps;
13
+ ref: HTMLDivElement;
14
+ stylesNames: SpotlightFooterStylesNames;
15
+ compound: true;
16
+ }>;
17
+ //# sourceMappingURL=SpotlightFooter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpotlightFooter.d.ts","sourceRoot":"","sources":["../src/SpotlightFooter.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,QAAQ,EACR,cAAc,EAEd,YAAY,EAEZ,OAAO,EACR,MAAM,eAAe,CAAC;AAIvB,MAAM,MAAM,0BAA0B,GAAG,QAAQ,CAAC;AAElD,MAAM,WAAW,oBACf,SAAQ,QAAQ,EACd,cAAc,CAAC,sBAAsB,CAAC,EACtC,YAAY,CAAC,KAAK,CAAC;CAAG;AAE1B,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAAC;IAC3C,KAAK,EAAE,oBAAoB,CAAC;IAC5B,GAAG,EAAE,cAAc,CAAC;IACpB,WAAW,EAAE,0BAA0B,CAAC;IACxC,QAAQ,EAAE,IAAI,CAAC;CAChB,CAAC,CAAC;AAIH,eAAO,MAAM,eAAe;WARnB,oBAAoB;SACtB,cAAc;iBACN,0BAA0B;cAC7B,IAAI;EAmBd,CAAC"}
@@ -0,0 +1,45 @@
1
+ import React from 'react';
2
+ import { StylesApiProps, Factory, ModalProps, ModalStylesNames } from '@mantine/core';
3
+ import { SpotlightStore } from './spotlight.store';
4
+ export type SpotlightRootStylesNames = ModalStylesNames | 'search' | 'actionsList' | 'action' | 'empty' | 'footer' | 'actionBody' | 'actionLabel' | 'actionDescription' | 'actionSection' | 'actionsGroup';
5
+ export interface SpotlightRootProps extends StylesApiProps<SpotlightRootFactory>, Omit<ModalProps, 'styles' | 'classNames' | 'vars' | 'variant' | 'opened' | 'onClose'> {
6
+ /** Spotlight store, can be used to create multiple instances of spotlight */
7
+ store?: SpotlightStore;
8
+ /** Controlled Spotlight search query */
9
+ query?: string;
10
+ /** Called when query changes */
11
+ onQueryChange?(query: string): void;
12
+ /** Determines whether the search query should be cleared when the spotlight is closed, `true` by default */
13
+ clearQueryOnClose?: boolean;
14
+ /** Keyboard shortcut or a list of shortcuts to trigger spotlight, `'mod + K'` by default */
15
+ shortcut?: string | string[] | null;
16
+ /** A list of tags which when focused will be ignored by shortcut, `['input', 'textarea', 'select']` by default */
17
+ tagsToIgnore?: string[];
18
+ /** Determines whether shortcut should trigger based in contentEditable, `false` by default */
19
+ triggerOnContentEditable?: boolean;
20
+ /** If set, spotlight will not be rendered */
21
+ disabled?: boolean;
22
+ /** Called when spotlight opens */
23
+ onSpotlightOpen?(): void;
24
+ /** Called when spotlight closes */
25
+ onSpotlightClose?(): void;
26
+ /** Forces opened state, useful for tests */
27
+ forceOpened?: boolean;
28
+ /** Determines whether spotlight should be closed when one of the actions is triggered, `true` by default */
29
+ closeOnActionTrigger?: boolean;
30
+ /** Spotlight content max-height, `400` by default */
31
+ maxHeight?: React.CSSProperties['maxHeight'];
32
+ }
33
+ export type SpotlightRootFactory = Factory<{
34
+ props: SpotlightRootProps;
35
+ ref: HTMLDivElement;
36
+ stylesNames: SpotlightRootStylesNames;
37
+ compound: true;
38
+ }>;
39
+ export declare const SpotlightRoot: import("@mantine/core").MantineComponent<{
40
+ props: SpotlightRootProps;
41
+ ref: HTMLDivElement;
42
+ stylesNames: SpotlightRootStylesNames;
43
+ compound: true;
44
+ }>;
45
+ //# sourceMappingURL=SpotlightRoot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpotlightRoot.d.ts","sourceRoot":"","sources":["../src/SpotlightRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,cAAc,EAId,OAAO,EAEP,UAAU,EACV,gBAAgB,EAMjB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAgB,cAAc,EAAoC,MAAM,mBAAmB,CAAC;AAInG,MAAM,MAAM,wBAAwB,GAChC,gBAAgB,GAChB,QAAQ,GACR,aAAa,GACb,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,YAAY,GACZ,aAAa,GACb,mBAAmB,GACnB,eAAe,GACf,cAAc,CAAC;AAEnB,MAAM,WAAW,kBACf,SAAQ,cAAc,CAAC,oBAAoB,CAAC,EAC1C,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IACvF,6EAA6E;IAC7E,KAAK,CAAC,EAAE,cAAc,CAAC;IAEvB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,gCAAgC;IAChC,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpC,4GAA4G;IAC5G,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;IAEpC,kHAAkH;IAClH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,8FAA8F;IAC9F,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAEnC,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,kCAAkC;IAClC,eAAe,CAAC,IAAI,IAAI,CAAC;IAEzB,mCAAmC;IACnC,gBAAgB,CAAC,IAAI,IAAI,CAAC;IAE1B,4CAA4C;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,4GAA4G;IAC5G,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,qDAAqD;IACrD,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;CAC9C;AAED,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC;IACzC,KAAK,EAAE,kBAAkB,CAAC;IAC1B,GAAG,EAAE,cAAc,CAAC;IACpB,WAAW,EAAE,wBAAwB,CAAC;IACtC,QAAQ,EAAE,IAAI,CAAC;CAChB,CAAC,CAAC;AAeH,eAAO,MAAM,aAAa;WAnBjB,kBAAkB;SACpB,cAAc;iBACN,wBAAwB;cAC3B,IAAI;EAgHd,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { BoxProps, StylesApiProps, ElementProps, Factory, InputProps, InputStylesNames } from '@mantine/core';
2
+ export type SpotlightSearchStylesNames = InputStylesNames;
3
+ export interface SpotlightSearchProps extends BoxProps, Omit<InputProps, 'classNames' | 'styles' | 'vars' | 'variant'>, StylesApiProps<SpotlightSearchFactory>, ElementProps<'input', 'size'> {
4
+ }
5
+ export type SpotlightSearchFactory = Factory<{
6
+ props: SpotlightSearchProps;
7
+ ref: HTMLInputElement;
8
+ stylesNames: SpotlightSearchStylesNames;
9
+ compound: true;
10
+ }>;
11
+ export declare const SpotlightSearch: import("@mantine/core").MantineComponent<{
12
+ props: SpotlightSearchProps;
13
+ ref: HTMLInputElement;
14
+ stylesNames: SpotlightSearchStylesNames;
15
+ compound: true;
16
+ }>;
17
+ //# sourceMappingURL=SpotlightSearch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpotlightSearch.d.ts","sourceRoot":"","sources":["../src/SpotlightSearch.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,cAAc,EAEd,YAAY,EAEZ,OAAO,EAEP,UAAU,EACV,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAKvB,MAAM,MAAM,0BAA0B,GAAG,gBAAgB,CAAC;AAE1D,MAAM,WAAW,oBACf,SAAQ,QAAQ,EACd,IAAI,CAAC,UAAU,EAAE,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC,EAC9D,cAAc,CAAC,sBAAsB,CAAC,EACtC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC;CAAG;AAEpC,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAAC;IAC3C,KAAK,EAAE,oBAAoB,CAAC;IAC5B,GAAG,EAAE,gBAAgB,CAAC;IACtB,WAAW,EAAE,0BAA0B,CAAC;IACxC,QAAQ,EAAE,IAAI,CAAC;CAChB,CAAC,CAAC;AAMH,eAAO,MAAM,eAAe;WAVnB,oBAAoB;SACtB,gBAAgB;iBACR,0BAA0B;cAC7B,IAAI;EA8Cd,CAAC"}