@mantine/spotlight 7.2.2 → 7.3.0-alpha.1

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 (89) hide show
  1. package/cjs/Spotlight.cjs +76 -0
  2. package/cjs/Spotlight.cjs.map +1 -0
  3. package/cjs/{Spotlight.context.js → Spotlight.context.cjs} +1 -3
  4. package/cjs/Spotlight.context.cjs.map +1 -0
  5. package/cjs/{Spotlight.module.css.js → Spotlight.module.css.cjs} +2 -4
  6. package/cjs/Spotlight.module.css.cjs.map +1 -0
  7. package/cjs/SpotlightAction.cjs +91 -0
  8. package/cjs/SpotlightAction.cjs.map +1 -0
  9. package/cjs/SpotlightActionsGroup.cjs +32 -0
  10. package/cjs/SpotlightActionsGroup.cjs.map +1 -0
  11. package/cjs/SpotlightActionsList.cjs +42 -0
  12. package/cjs/SpotlightActionsList.cjs.map +1 -0
  13. package/cjs/SpotlightEmpty.cjs +30 -0
  14. package/cjs/SpotlightEmpty.cjs.map +1 -0
  15. package/cjs/SpotlightFooter.cjs +30 -0
  16. package/cjs/SpotlightFooter.cjs.map +1 -0
  17. package/cjs/SpotlightRoot.cjs +125 -0
  18. package/cjs/SpotlightRoot.cjs.map +1 -0
  19. package/cjs/SpotlightSearch.cjs +56 -0
  20. package/cjs/SpotlightSearch.cjs.map +1 -0
  21. package/cjs/{default-spotlight-filter.js → default-spotlight-filter.cjs} +4 -26
  22. package/cjs/default-spotlight-filter.cjs.map +1 -0
  23. package/cjs/{get-hotkeys.js → get-hotkeys.cjs} +2 -4
  24. package/cjs/get-hotkeys.cjs.map +1 -0
  25. package/cjs/{index.js → index.cjs} +10 -12
  26. package/cjs/index.cjs.map +1 -0
  27. package/cjs/index.css +1 -1
  28. package/cjs/{is-actions-group.js → is-actions-group.cjs} +1 -3
  29. package/cjs/is-actions-group.cjs.map +1 -0
  30. package/cjs/{limit-actions.js → limit-actions.cjs} +2 -4
  31. package/cjs/limit-actions.cjs.map +1 -0
  32. package/cjs/{spotlight.store.js → spotlight.store.cjs} +12 -33
  33. package/cjs/spotlight.store.cjs.map +1 -0
  34. package/esm/Spotlight.context.mjs.map +1 -1
  35. package/esm/Spotlight.mjs +8 -50
  36. package/esm/Spotlight.mjs.map +1 -1
  37. package/esm/{Spotlight.module.mjs → Spotlight.module.css.mjs} +2 -2
  38. package/esm/Spotlight.module.css.mjs.map +1 -0
  39. package/esm/SpotlightAction.mjs +27 -72
  40. package/esm/SpotlightAction.mjs.map +1 -1
  41. package/esm/SpotlightActionsGroup.mjs +8 -38
  42. package/esm/SpotlightActionsGroup.mjs.map +1 -1
  43. package/esm/SpotlightActionsList.mjs +8 -37
  44. package/esm/SpotlightActionsList.mjs.map +1 -1
  45. package/esm/SpotlightEmpty.mjs +8 -34
  46. package/esm/SpotlightEmpty.mjs.map +1 -1
  47. package/esm/SpotlightFooter.mjs +8 -34
  48. package/esm/SpotlightFooter.mjs.map +1 -1
  49. package/esm/SpotlightRoot.mjs +15 -68
  50. package/esm/SpotlightRoot.mjs.map +1 -1
  51. package/esm/SpotlightSearch.mjs +10 -41
  52. package/esm/SpotlightSearch.mjs.map +1 -1
  53. package/esm/default-spotlight-filter.mjs +3 -23
  54. package/esm/default-spotlight-filter.mjs.map +1 -1
  55. package/esm/get-hotkeys.mjs.map +1 -1
  56. package/esm/index.css +1 -1
  57. package/esm/index.layer.css +1 -1
  58. package/esm/is-actions-group.mjs.map +1 -1
  59. package/esm/limit-actions.mjs.map +1 -1
  60. package/esm/spotlight.store.mjs +11 -30
  61. package/esm/spotlight.store.mjs.map +1 -1
  62. package/lib/Spotlight.context.d.ts +0 -1
  63. package/lib/Spotlight.context.d.ts.map +1 -1
  64. package/package.json +29 -25
  65. package/cjs/Spotlight.context.js.map +0 -1
  66. package/cjs/Spotlight.js +0 -124
  67. package/cjs/Spotlight.js.map +0 -1
  68. package/cjs/Spotlight.module.css.js.map +0 -1
  69. package/cjs/SpotlightAction.js +0 -142
  70. package/cjs/SpotlightAction.js.map +0 -1
  71. package/cjs/SpotlightActionsGroup.js +0 -68
  72. package/cjs/SpotlightActionsGroup.js.map +0 -1
  73. package/cjs/SpotlightActionsList.js +0 -77
  74. package/cjs/SpotlightActionsList.js.map +0 -1
  75. package/cjs/SpotlightEmpty.js +0 -62
  76. package/cjs/SpotlightEmpty.js.map +0 -1
  77. package/cjs/SpotlightFooter.js +0 -62
  78. package/cjs/SpotlightFooter.js.map +0 -1
  79. package/cjs/SpotlightRoot.js +0 -184
  80. package/cjs/SpotlightRoot.js.map +0 -1
  81. package/cjs/SpotlightSearch.js +0 -93
  82. package/cjs/SpotlightSearch.js.map +0 -1
  83. package/cjs/default-spotlight-filter.js.map +0 -1
  84. package/cjs/get-hotkeys.js.map +0 -1
  85. package/cjs/index.js.map +0 -1
  86. package/cjs/is-actions-group.js.map +0 -1
  87. package/cjs/limit-actions.js.map +0 -1
  88. package/cjs/spotlight.store.js.map +0 -1
  89. package/esm/Spotlight.module.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"is-actions-group.mjs","sources":["../src/is-actions-group.ts"],"sourcesContent":["import type { SpotlightActionData, SpotlightActionGroupData } from './Spotlight';\n\nexport function isActionsGroup(\n item: SpotlightActionData | SpotlightActionGroupData\n): item is SpotlightActionGroupData {\n const _item = item as SpotlightActionGroupData;\n return _item.group !== undefined && Array.isArray(_item.actions);\n}\n"],"names":[],"mappings":";AAAO,SAAS,cAAc,CAAC,IAAI,EAAE;AACrC,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC;AACrB,EAAE,OAAO,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAChE;;"}
1
+ {"version":3,"file":"is-actions-group.mjs","sources":["../src/is-actions-group.ts"],"sourcesContent":["import type { SpotlightActionData, SpotlightActionGroupData } from './Spotlight';\n\nexport function isActionsGroup(\n item: SpotlightActionData | SpotlightActionGroupData\n): item is SpotlightActionGroupData {\n const _item = item as SpotlightActionGroupData;\n return _item.group !== undefined && Array.isArray(_item.actions);\n}\n"],"names":[],"mappings":";AACO,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAA,CAAA,CAAA,CAAI,CAAE,CAAA,CAAA;AACrC,CAAA,CAAE,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAC;AACrB,CAAA,CAAE,OAAO,CAAK,CAAA,CAAA,CAAA,CAAA,CAAC,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,KAAK,CAAC,CAAA,CAAA,CAAA,CAAI,CAAK,CAAA,CAAA,CAAA,CAAA,CAAC,OAAO,CAAC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAC,CAAC;AAChE,CAAA;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"limit-actions.mjs","sources":["../src/limit-actions.ts"],"sourcesContent":["import type { SpotlightActions, SpotlightActionData } from './Spotlight';\nimport { isActionsGroup } from './is-actions-group';\n\nexport function limitActions(actions: SpotlightActions[], limit: number) {\n const result: SpotlightActions[] = [];\n\n if (!Array.isArray(actions)) {\n return [];\n }\n\n for (let i = 0; i < actions.length; i += 1) {\n const item = actions[i];\n\n if (result.length >= limit) {\n return result;\n }\n\n if (isActionsGroup(item)) {\n result.push({\n group: item.group,\n actions: limitActions(item.actions, limit - result.length) as SpotlightActionData[],\n });\n }\n\n if (!isActionsGroup(item)) {\n result.push(item);\n }\n }\n\n return result;\n}\n"],"names":[],"mappings":";;;AACO,SAAS,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE;AAC7C,EAAE,MAAM,MAAM,GAAG,EAAE,CAAC;AACpB,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AAC/B,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AAC9C,IAAI,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAC5B,IAAI,IAAI,MAAM,CAAC,MAAM,IAAI,KAAK,EAAE;AAChC,MAAM,OAAO,MAAM,CAAC;AACpB,KAAK;AACL,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE;AAC9B,MAAM,MAAM,CAAC,IAAI,CAAC;AAClB,QAAQ,KAAK,EAAE,IAAI,CAAC,KAAK;AACzB,QAAQ,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;AAClE,OAAO,CAAC,CAAC;AACT,KAAK;AACL,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;AAC/B,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,KAAK;AACL,GAAG;AACH,EAAE,OAAO,MAAM,CAAC;AAChB;;"}
1
+ {"version":3,"file":"limit-actions.mjs","sources":["../src/limit-actions.ts"],"sourcesContent":["import type { SpotlightActions, SpotlightActionData } from './Spotlight';\nimport { isActionsGroup } from './is-actions-group';\n\nexport function limitActions(actions: SpotlightActions[], limit: number) {\n const result: SpotlightActions[] = [];\n\n if (!Array.isArray(actions)) {\n return [];\n }\n\n for (let i = 0; i < actions.length; i += 1) {\n const item = actions[i];\n\n if (result.length >= limit) {\n return result;\n }\n\n if (isActionsGroup(item)) {\n result.push({\n group: item.group,\n actions: limitActions(item.actions, limit - result.length) as SpotlightActionData[],\n });\n }\n\n if (!isActionsGroup(item)) {\n result.push(item);\n }\n }\n\n return result;\n}\n"],"names":[],"mappings":"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"}
@@ -2,25 +2,6 @@
2
2
  import { clamp } from '@mantine/hooks';
3
3
  import { createStore, useStore } from '@mantine/store';
4
4
 
5
- var __defProp = Object.defineProperty;
6
- var __defProps = Object.defineProperties;
7
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
8
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
9
- var __hasOwnProp = Object.prototype.hasOwnProperty;
10
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
- var __spreadValues = (a, b) => {
13
- for (var prop in b || (b = {}))
14
- if (__hasOwnProp.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- if (__getOwnPropSymbols)
17
- for (var prop of __getOwnPropSymbols(b)) {
18
- if (__propIsEnum.call(b, prop))
19
- __defNormalProp(a, prop, b[prop]);
20
- }
21
- return a;
22
- };
23
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
5
  const createSpotlightStore = () => createStore({
25
6
  opened: false,
26
7
  empty: false,
@@ -32,7 +13,7 @@ const createSpotlightStore = () => createStore({
32
13
  const useSpotlight = (store) => useStore(store);
33
14
  function updateSpotlightStateAction(update, store) {
34
15
  const state = store.getState();
35
- store.setState(__spreadValues(__spreadValues({}, state), update(store.getState())));
16
+ store.setState({ ...state, ...update(store.getState()) });
36
17
  }
37
18
  function openSpotlightAction(store) {
38
19
  updateSpotlightStateAction(() => ({ opened: true }), store);
@@ -44,22 +25,21 @@ function toggleSpotlightAction(store) {
44
25
  updateSpotlightStateAction((state) => ({ opened: !state.opened }), store);
45
26
  }
46
27
  function setSelectedAction(index, store) {
47
- store.updateState((state) => __spreadProps(__spreadValues({}, state), { selected: index }));
28
+ store.updateState((state) => ({ ...state, selected: index }));
48
29
  }
49
30
  function setListId(id, store) {
50
- store.updateState((state) => __spreadProps(__spreadValues({}, state), { listId: id }));
31
+ store.updateState((state) => ({ ...state, listId: id }));
51
32
  }
52
33
  function selectAction(index, store) {
53
- var _a, _b, _c;
54
34
  const state = store.getState();
55
35
  const actionsList = document.getElementById(state.listId);
56
- const selected = actionsList == null ? void 0 : actionsList.querySelector("[data-selected]");
57
- const actions = (_a = actionsList == null ? void 0 : actionsList.querySelectorAll("[data-action]")) != null ? _a : [];
36
+ const selected = actionsList?.querySelector("[data-selected]");
37
+ const actions = actionsList?.querySelectorAll("[data-action]") ?? [];
58
38
  const nextIndex = index === -1 ? actions.length - 1 : index === actions.length ? 0 : index;
59
39
  const selectedIndex = clamp(nextIndex, 0, actions.length - 1);
60
- selected == null ? void 0 : selected.removeAttribute("data-selected");
61
- (_b = actions[selectedIndex]) == null ? void 0 : _b.scrollIntoView({ block: "nearest" });
62
- (_c = actions[selectedIndex]) == null ? void 0 : _c.setAttribute("data-selected", "true");
40
+ selected?.removeAttribute("data-selected");
41
+ actions[selectedIndex]?.scrollIntoView({ block: "nearest" });
42
+ actions[selectedIndex]?.setAttribute("data-selected", "true");
63
43
  setSelectedAction(selectedIndex, store);
64
44
  return selectedIndex;
65
45
  }
@@ -72,7 +52,7 @@ function selectPreviousAction(store) {
72
52
  function triggerSelectedAction(store) {
73
53
  const state = store.getState();
74
54
  const selected = document.querySelector(`#${state.listId} [data-selected]`);
75
- selected == null ? void 0 : selected.click();
55
+ selected?.click();
76
56
  }
77
57
  function registerAction(id, store) {
78
58
  const state = store.getState();
@@ -94,7 +74,8 @@ function setQuery(query, store) {
94
74
  });
95
75
  }
96
76
  function clearSpotlightState({ clearQuery }, store) {
97
- store.updateState((state) => __spreadProps(__spreadValues({}, state), {
77
+ store.updateState((state) => ({
78
+ ...state,
98
79
  selected: -1,
99
80
  query: clearQuery ? "" : state.query,
100
81
  empty: clearQuery ? false : state.empty
@@ -1 +1 @@
1
- {"version":3,"file":"spotlight.store.mjs","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
+ {"version":3,"file":"spotlight.store.mjs","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,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { GetStylesApi } from '@mantine/core';
3
2
  import type { SpotlightRootFactory } from './SpotlightRoot';
4
3
  import { SpotlightStore } from './spotlight.store';
@@ -1 +1 @@
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,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,EAAE,YAAY,CAAC,oBAAoB,CAAC,CAAC;IAC9C,KAAK,EAAE,cAAc,CAAC;IACtB,oBAAoB,EAAE,OAAO,GAAG,SAAS,CAAC;CAC3C;AAED,eAAO,MAAO,iBAAiB;;;+CAAE,mBAAmB,6BAEnD,CAAC"}
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,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,EAAE,YAAY,CAAC,oBAAoB,CAAC,CAAC;IAC9C,KAAK,EAAE,cAAc,CAAC;IACtB,oBAAoB,EAAE,OAAO,GAAG,SAAS,CAAC;CAC3C;AAED,eAAO,MAAO,iBAAiB;;;+CAAE,mBAAmB,6BAEnD,CAAC"}
package/package.json CHANGED
@@ -1,9 +1,25 @@
1
1
  {
2
2
  "name": "@mantine/spotlight",
3
- "version": "7.2.2",
4
- "main": "./cjs/index.js",
5
- "types": "./lib/index.d.ts",
3
+ "version": "7.3.0-alpha.1",
4
+ "homepage": "https://mantine.dev",
5
+ "license": "MIT",
6
+ "author": "Vitaly Rtishchev <rtivital@gmail.com>",
7
+ "keywords": [
8
+ "command-center",
9
+ "components",
10
+ "frontend",
11
+ "library",
12
+ "next",
13
+ "nextjs",
14
+ "react",
15
+ "search",
16
+ "ui",
17
+ "ui-kit"
18
+ ],
19
+ "sideEffects": false,
20
+ "main": "./cjs/index.cjs",
6
21
  "module": "./esm/index.mjs",
22
+ "types": "./lib/index.d.ts",
7
23
  "exports": {
8
24
  ".": {
9
25
  "import": {
@@ -12,41 +28,29 @@
12
28
  },
13
29
  "require": {
14
30
  "types": "./lib/index.d.ts",
15
- "default": "./cjs/index.js"
31
+ "default": "./cjs/index.cjs"
16
32
  }
17
33
  },
18
34
  "./styles.css": "./esm/index.css",
19
35
  "./styles.layer.css": "./esm/index.layer.css"
20
36
  },
21
- "license": "MIT",
22
- "author": "Vitaly Rtishchev <rtivital@gmail.com>",
23
- "sideEffects": false,
24
- "homepage": "https://mantine.dev",
25
37
  "repository": {
26
38
  "url": "https://github.com/mantinedev/mantine.git",
27
39
  "type": "git",
28
40
  "directory": "src/mantine-spotlight"
29
41
  },
30
- "keywords": [
31
- "react",
32
- "next",
33
- "nextjs",
34
- "ui",
35
- "components",
36
- "ui-kit",
37
- "library",
38
- "frontend",
39
- "search",
40
- "command-center"
41
- ],
42
42
  "peerDependencies": {
43
- "@mantine/core": "7.2.2",
44
- "@mantine/hooks": "7.2.2",
43
+ "@mantine/core": "7.3.0-alpha.1",
44
+ "@mantine/hooks": "7.3.0-alpha.1",
45
45
  "react": "^18.2.0",
46
46
  "react-dom": "^18.2.0"
47
47
  },
48
48
  "dependencies": {
49
- "@mantine/store": "7.2.2"
49
+ "@mantine/store": "7.3.0-alpha.1"
50
50
  },
51
- "devDependencies": {}
52
- }
51
+ "devDependencies": {
52
+ "@mantine/core": "7.3.0-alpha.1",
53
+ "@mantine/hooks": "7.3.0-alpha.1",
54
+ "@tests/core": "1.0.0"
55
+ }
56
+ }
@@ -1 +0,0 @@
1
- {"version":3,"file":"Spotlight.context.js","sources":["../src/Spotlight.context.ts"],"sourcesContent":["import { createSafeContext, GetStylesApi } from '@mantine/core';\nimport type { SpotlightRootFactory } from './SpotlightRoot';\nimport { SpotlightStore } from './spotlight.store';\n\ninterface SpotlightContextValue {\n query: string;\n setQuery: (query: string) => void;\n getStyles: GetStylesApi<SpotlightRootFactory>;\n store: SpotlightStore;\n closeOnActionTrigger: boolean | undefined;\n}\n\nexport const [SpotlightProvider, useSpotlightContext] = createSafeContext<SpotlightContextValue>(\n 'Spotlight component was not found in tree'\n);\n"],"names":["createSafeContext"],"mappings":";;;;;;;AACY,MAAC,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,GAAGA,sBAAiB;AACzE,EAAE,2CAA2C;AAC7C;;;"}
package/cjs/Spotlight.js DELETED
@@ -1,124 +0,0 @@
1
- 'use client';
2
- 'use strict';
3
-
4
- Object.defineProperty(exports, '__esModule', { value: true });
5
-
6
- var React = require('react');
7
- var hooks = require('@mantine/hooks');
8
- var core = require('@mantine/core');
9
- var spotlight_store = require('./spotlight.store.js');
10
- var SpotlightSearch = require('./SpotlightSearch.js');
11
- var SpotlightActionsList = require('./SpotlightActionsList.js');
12
- var SpotlightAction = require('./SpotlightAction.js');
13
- var SpotlightEmpty = require('./SpotlightEmpty.js');
14
- var SpotlightFooter = require('./SpotlightFooter.js');
15
- var SpotlightActionsGroup = require('./SpotlightActionsGroup.js');
16
- var SpotlightRoot = require('./SpotlightRoot.js');
17
- var defaultSpotlightFilter = require('./default-spotlight-filter.js');
18
- var isActionsGroup = require('./is-actions-group.js');
19
- var limitActions = require('./limit-actions.js');
20
- var Spotlight_module = require('./Spotlight.module.css.js');
21
-
22
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
23
-
24
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
25
-
26
- var __defProp = Object.defineProperty;
27
- var __defProps = Object.defineProperties;
28
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
29
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
30
- var __hasOwnProp = Object.prototype.hasOwnProperty;
31
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
32
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
33
- var __spreadValues = (a, b) => {
34
- for (var prop in b || (b = {}))
35
- if (__hasOwnProp.call(b, prop))
36
- __defNormalProp(a, prop, b[prop]);
37
- if (__getOwnPropSymbols)
38
- for (var prop of __getOwnPropSymbols(b)) {
39
- if (__propIsEnum.call(b, prop))
40
- __defNormalProp(a, prop, b[prop]);
41
- }
42
- return a;
43
- };
44
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
45
- var __objRest = (source, exclude) => {
46
- var target = {};
47
- for (var prop in source)
48
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
49
- target[prop] = source[prop];
50
- if (source != null && __getOwnPropSymbols)
51
- for (var prop of __getOwnPropSymbols(source)) {
52
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
53
- target[prop] = source[prop];
54
- }
55
- return target;
56
- };
57
- const defaultProps = {
58
- size: 600,
59
- yOffset: 80,
60
- limit: Infinity,
61
- zIndex: core.getDefaultZIndex("max"),
62
- overlayProps: { backgroundOpacity: 0.35, blur: 7 },
63
- transitionProps: { duration: 200, transition: "pop" },
64
- store: spotlight_store.spotlightStore,
65
- filter: defaultSpotlightFilter.defaultSpotlightFilter,
66
- clearQueryOnClose: true,
67
- closeOnActionTrigger: true,
68
- shortcut: "mod + K",
69
- highlightQuery: false
70
- };
71
- const Spotlight = core.factory((_props, ref) => {
72
- const props = core.useProps("Spotlight", defaultProps, _props);
73
- const _a = props, {
74
- searchProps,
75
- filter,
76
- query,
77
- onQueryChange,
78
- actions,
79
- nothingFound,
80
- highlightQuery,
81
- limit
82
- } = _a, others = __objRest(_a, [
83
- "searchProps",
84
- "filter",
85
- "query",
86
- "onQueryChange",
87
- "actions",
88
- "nothingFound",
89
- "highlightQuery",
90
- "limit"
91
- ]);
92
- const [_query, setQuery] = hooks.useUncontrolled({
93
- value: query,
94
- defaultValue: "",
95
- finalValue: "",
96
- onChange: onQueryChange
97
- });
98
- const filteredActions = limitActions.limitActions(filter(_query, actions), limit).map((item) => {
99
- if (isActionsGroup.isActionsGroup(item)) {
100
- const items = item.actions.map((_a2) => {
101
- var _b = _a2, { id } = _b, actionData = __objRest(_b, ["id"]);
102
- return /* @__PURE__ */ React__default.createElement(SpotlightAction.SpotlightAction, __spreadValues({ key: id, highlightQuery }, actionData));
103
- });
104
- return /* @__PURE__ */ React__default.createElement(SpotlightActionsGroup.SpotlightActionsGroup, { key: item.group, label: item.group }, items);
105
- }
106
- return /* @__PURE__ */ React__default.createElement(SpotlightAction.SpotlightAction, __spreadValues({ key: item.id, highlightQuery }, item));
107
- });
108
- return /* @__PURE__ */ React__default.createElement(SpotlightRoot.SpotlightRoot, __spreadProps(__spreadValues({}, others), { query: _query, onQueryChange: setQuery, ref }), /* @__PURE__ */ React__default.createElement(SpotlightSearch.SpotlightSearch, __spreadValues({}, searchProps)), /* @__PURE__ */ React__default.createElement(SpotlightActionsList.SpotlightActionsList, null, filteredActions, filteredActions.length === 0 && nothingFound && /* @__PURE__ */ React__default.createElement(SpotlightEmpty.SpotlightEmpty, null, nothingFound)));
109
- });
110
- Spotlight.classes = Spotlight_module['default'];
111
- Spotlight.displayName = "@mantine/spotlight/Spotlight";
112
- Spotlight.Search = SpotlightSearch.SpotlightSearch;
113
- Spotlight.ActionsList = SpotlightActionsList.SpotlightActionsList;
114
- Spotlight.Action = SpotlightAction.SpotlightAction;
115
- Spotlight.Empty = SpotlightEmpty.SpotlightEmpty;
116
- Spotlight.ActionsGroup = SpotlightActionsGroup.SpotlightActionsGroup;
117
- Spotlight.Footer = SpotlightFooter.SpotlightFooter;
118
- Spotlight.Root = SpotlightRoot.SpotlightRoot;
119
- Spotlight.open = spotlight_store.spotlight.open;
120
- Spotlight.close = spotlight_store.spotlight.close;
121
- Spotlight.toggle = spotlight_store.spotlight.toggle;
122
-
123
- exports.Spotlight = Spotlight;
124
- //# sourceMappingURL=Spotlight.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Spotlight.js","sources":["../src/Spotlight.tsx"],"sourcesContent":["import React from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { factory, useProps, Factory, getDefaultZIndex } from '@mantine/core';\nimport { spotlightStore, spotlight } from './spotlight.store';\nimport { SpotlightSearch, SpotlightSearchProps } from './SpotlightSearch';\nimport { SpotlightActionsList } from './SpotlightActionsList';\nimport { SpotlightAction, SpotlightActionProps } from './SpotlightAction';\nimport { SpotlightEmpty } from './SpotlightEmpty';\nimport { SpotlightFooter } from './SpotlightFooter';\nimport { SpotlightActionsGroup } from './SpotlightActionsGroup';\nimport { SpotlightRoot, SpotlightRootProps, SpotlightRootStylesNames } from './SpotlightRoot';\nimport { defaultSpotlightFilter } from './default-spotlight-filter';\nimport { isActionsGroup } from './is-actions-group';\nimport { limitActions } from './limit-actions';\nimport classes from './Spotlight.module.css';\n\nexport type SpotlightFilterFunction = (\n query: string,\n actions: SpotlightActions[]\n) => SpotlightActions[];\n\nexport interface SpotlightActionData extends SpotlightActionProps {\n id: string;\n group?: string;\n}\n\nexport interface SpotlightActionGroupData {\n group: string;\n actions: SpotlightActionData[];\n}\n\nexport type SpotlightActions = SpotlightActionData | SpotlightActionGroupData;\n\nexport type SpotlightStylesNames = SpotlightRootStylesNames;\n\nexport interface SpotlightProps extends SpotlightRootProps {\n /** Props passed down to the `Spotlight.Search` */\n searchProps?: SpotlightSearchProps;\n\n /** Actions data, passed down to `Spotlight.Action` component */\n actions: SpotlightActions[];\n\n /** Function to filter actions data based on search query, by default actions are filtered by title, description and keywords */\n filter?: SpotlightFilterFunction;\n\n /** Message displayed when none of the actions match given `filter` */\n nothingFound?: React.ReactNode;\n\n /** Determines whether search query should be highlighted in action label, `false` by default */\n highlightQuery?: boolean;\n\n /** Maximum number of actions displayed at a time, `Infinity` by default */\n limit?: number;\n}\n\nexport type SpotlightFactory = Factory<{\n props: SpotlightProps;\n ref: HTMLDivElement;\n stylesNames: SpotlightStylesNames;\n staticComponents: {\n Search: typeof SpotlightSearch;\n ActionsList: typeof SpotlightActionsList;\n Action: typeof SpotlightAction;\n Empty: typeof SpotlightEmpty;\n Footer: typeof SpotlightFooter;\n ActionsGroup: typeof SpotlightActionsGroup;\n Root: typeof SpotlightRoot;\n open: typeof spotlight.open;\n close: typeof spotlight.close;\n toggle: typeof spotlight.toggle;\n };\n}>;\n\nconst defaultProps: Partial<SpotlightProps> = {\n size: 600,\n yOffset: 80,\n limit: Infinity,\n zIndex: getDefaultZIndex('max'),\n overlayProps: { backgroundOpacity: 0.35, blur: 7 },\n transitionProps: { duration: 200, transition: 'pop' },\n store: spotlightStore,\n filter: defaultSpotlightFilter,\n clearQueryOnClose: true,\n closeOnActionTrigger: true,\n shortcut: 'mod + K',\n highlightQuery: false,\n};\n\nexport const Spotlight = factory<SpotlightFactory>((_props, ref) => {\n const props = useProps('Spotlight', defaultProps, _props);\n const {\n searchProps,\n filter,\n query,\n onQueryChange,\n actions,\n nothingFound,\n highlightQuery,\n limit,\n ...others\n } = props;\n\n const [_query, setQuery] = useUncontrolled({\n value: query,\n defaultValue: '',\n finalValue: '',\n onChange: onQueryChange,\n });\n\n const filteredActions = limitActions(filter!(_query, actions), limit!).map((item) => {\n if (isActionsGroup(item)) {\n const items = item.actions.map(({ id, ...actionData }) => (\n <SpotlightAction key={id} highlightQuery={highlightQuery} {...actionData} />\n ));\n\n return (\n <SpotlightActionsGroup key={item.group} label={item.group}>\n {items}\n </SpotlightActionsGroup>\n );\n }\n\n return <SpotlightAction key={item.id} highlightQuery={highlightQuery} {...item} />;\n });\n\n return (\n <SpotlightRoot {...others} query={_query} onQueryChange={setQuery} ref={ref}>\n <SpotlightSearch {...searchProps} />\n <SpotlightActionsList>\n {filteredActions}\n {filteredActions.length === 0 && nothingFound && (\n <SpotlightEmpty>{nothingFound}</SpotlightEmpty>\n )}\n </SpotlightActionsList>\n </SpotlightRoot>\n );\n});\n\nSpotlight.classes = classes;\nSpotlight.displayName = '@mantine/spotlight/Spotlight';\nSpotlight.Search = SpotlightSearch;\nSpotlight.ActionsList = SpotlightActionsList;\nSpotlight.Action = SpotlightAction;\nSpotlight.Empty = SpotlightEmpty;\nSpotlight.ActionsGroup = SpotlightActionsGroup;\nSpotlight.Footer = SpotlightFooter;\nSpotlight.Root = SpotlightRoot;\nSpotlight.open = spotlight.open;\nSpotlight.close = spotlight.close;\nSpotlight.toggle = spotlight.toggle;\n"],"names":["getDefaultZIndex","spotlightStore","defaultSpotlightFilter","factory","useProps","useUncontrolled","limitActions","isActionsGroup","React","SpotlightAction","SpotlightActionsGroup","SpotlightRoot","SpotlightSearch","SpotlightActionsList","SpotlightEmpty","classes","SpotlightFooter","spotlight"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Spotlight.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -1,142 +0,0 @@
1
- 'use client';
2
- 'use strict';
3
-
4
- Object.defineProperty(exports, '__esModule', { value: true });
5
-
6
- var React = require('react');
7
- var core = require('@mantine/core');
8
- var Spotlight_module = require('./Spotlight.module.css.js');
9
- var Spotlight_context = require('./Spotlight.context.js');
10
- var spotlight_store = require('./spotlight.store.js');
11
-
12
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
13
-
14
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
15
-
16
- var __defProp = Object.defineProperty;
17
- var __defProps = Object.defineProperties;
18
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
19
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
20
- var __hasOwnProp = Object.prototype.hasOwnProperty;
21
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
22
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
23
- var __spreadValues = (a, b) => {
24
- for (var prop in b || (b = {}))
25
- if (__hasOwnProp.call(b, prop))
26
- __defNormalProp(a, prop, b[prop]);
27
- if (__getOwnPropSymbols)
28
- for (var prop of __getOwnPropSymbols(b)) {
29
- if (__propIsEnum.call(b, prop))
30
- __defNormalProp(a, prop, b[prop]);
31
- }
32
- return a;
33
- };
34
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
35
- var __objRest = (source, exclude) => {
36
- var target = {};
37
- for (var prop in source)
38
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
39
- target[prop] = source[prop];
40
- if (source != null && __getOwnPropSymbols)
41
- for (var prop of __getOwnPropSymbols(source)) {
42
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
43
- target[prop] = source[prop];
44
- }
45
- return target;
46
- };
47
- const defaultProps = {
48
- dimmedSections: true,
49
- highlightQuery: false
50
- };
51
- const SpotlightAction = core.factory((_props, ref) => {
52
- const props = core.useProps("SpotlightAction", defaultProps, _props);
53
- const _a = props, {
54
- className,
55
- style,
56
- classNames,
57
- styles,
58
- id,
59
- description,
60
- label,
61
- leftSection,
62
- rightSection,
63
- children,
64
- dimmedSections,
65
- highlightQuery,
66
- highlightColor,
67
- closeSpotlightOnTrigger,
68
- onClick,
69
- onMouseDown,
70
- keywords,
71
- vars
72
- } = _a, others = __objRest(_a, [
73
- "className",
74
- "style",
75
- "classNames",
76
- "styles",
77
- "id",
78
- "description",
79
- "label",
80
- "leftSection",
81
- "rightSection",
82
- "children",
83
- "dimmedSections",
84
- "highlightQuery",
85
- "highlightColor",
86
- "closeSpotlightOnTrigger",
87
- "onClick",
88
- "onMouseDown",
89
- "keywords",
90
- "vars"
91
- ]);
92
- const ctx = Spotlight_context.useSpotlightContext();
93
- const stylesApi = { classNames, styles };
94
- const labelNode = highlightQuery && typeof label === "string" ? /* @__PURE__ */ React__default.createElement(
95
- core.Highlight,
96
- __spreadValues({
97
- component: "span",
98
- highlight: ctx.query,
99
- color: highlightColor
100
- }, ctx.getStyles("actionLabel", stylesApi)),
101
- label
102
- ) : /* @__PURE__ */ React__default.createElement("span", __spreadValues({}, ctx.getStyles("actionLabel", stylesApi)), label);
103
- return /* @__PURE__ */ React__default.createElement(
104
- core.UnstyledButton,
105
- __spreadProps(__spreadValues(__spreadValues({
106
- ref,
107
- "data-action": true
108
- }, ctx.getStyles("action", __spreadValues({ className, style }, stylesApi))), others), {
109
- onMouseDown: (event) => {
110
- event.preventDefault();
111
- onMouseDown == null ? void 0 : onMouseDown(event);
112
- },
113
- onClick: (event) => {
114
- onClick == null ? void 0 : onClick(event);
115
- if (closeSpotlightOnTrigger != null ? closeSpotlightOnTrigger : ctx.closeOnActionTrigger) {
116
- spotlight_store.spotlightActions.close(ctx.store);
117
- }
118
- },
119
- tabIndex: -1
120
- }),
121
- children || /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, leftSection && /* @__PURE__ */ React__default.createElement(
122
- core.Box,
123
- __spreadValues({
124
- component: "span",
125
- mod: { position: "left", dimmed: dimmedSections }
126
- }, ctx.getStyles("actionSection", stylesApi)),
127
- leftSection
128
- ), /* @__PURE__ */ React__default.createElement("span", __spreadValues({}, ctx.getStyles("actionBody", stylesApi)), labelNode, /* @__PURE__ */ React__default.createElement("span", __spreadValues({}, ctx.getStyles("actionDescription", stylesApi)), description)), rightSection && /* @__PURE__ */ React__default.createElement(
129
- core.Box,
130
- __spreadValues({
131
- component: "span",
132
- mod: { position: "right", dimmed: dimmedSections }
133
- }, ctx.getStyles("actionSection", stylesApi)),
134
- rightSection
135
- ))
136
- );
137
- });
138
- SpotlightAction.classes = Spotlight_module['default'];
139
- SpotlightAction.displayName = "@mantine/spotlight/SpotlightAction";
140
-
141
- exports.SpotlightAction = SpotlightAction;
142
- //# sourceMappingURL=SpotlightAction.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SpotlightAction.js","sources":["../src/SpotlightAction.tsx"],"sourcesContent":["import React from 'react';\nimport {\n Box,\n BoxProps,\n CompoundStylesApiProps,\n factory,\n ElementProps,\n useProps,\n Factory,\n UnstyledButton,\n MantineColor,\n Highlight,\n} from '@mantine/core';\nimport classes from './Spotlight.module.css';\nimport { useSpotlightContext } from './Spotlight.context';\nimport { spotlightActions } from './spotlight.store';\n\nexport type SpotlightActionStylesNames =\n | 'action'\n | 'actionLabel'\n | 'actionDescription'\n | 'actionSection'\n | 'actionBody';\n\nexport interface SpotlightActionProps\n extends BoxProps,\n CompoundStylesApiProps<SpotlightActionFactory>,\n ElementProps<'button'> {\n /** Action label, pass string to use in default filter */\n label?: string;\n\n /** Action description, pass string to use in default filter */\n description?: string;\n\n /** Section displayed on the left side of the label, for example, icon */\n leftSection?: React.ReactNode;\n\n /** Section displayed on the right side of the label, for example, hotkey */\n rightSection?: React.ReactNode;\n\n /** Children override default action elements, if passed, label, description and sections are hidden */\n children?: React.ReactNode;\n\n /** Determines whether left and right sections should have dimmed styles, `true` by default */\n dimmedSections?: boolean;\n\n /** Determines whether search query should be highlighted in action label, `false` by default */\n highlightQuery?: boolean;\n\n /** Key of `theme.colors` of any valid CSS color that will be used to highlight search query, `'yellow'` by default */\n highlightColor?: MantineColor;\n\n /** Determines whether the spotlight should be closed when action is triggered, overrides `closeOnActionTrigger` prop set on `Spotlight` */\n closeSpotlightOnTrigger?: boolean;\n\n /** Keywords that are used for default filtering, not displayed anywhere, can be a string: \"react,router,javascript\" or an array: ['react', 'router', 'javascript'] */\n keywords?: string | string[];\n}\n\nexport type SpotlightActionFactory = Factory<{\n props: SpotlightActionProps;\n ref: HTMLButtonElement;\n stylesNames: SpotlightActionStylesNames;\n compound: true;\n}>;\n\nconst defaultProps: Partial<SpotlightActionProps> = {\n dimmedSections: true,\n highlightQuery: false,\n};\n\nexport const SpotlightAction = factory<SpotlightActionFactory>((_props, ref) => {\n const props = useProps('SpotlightAction', defaultProps, _props);\n const {\n className,\n style,\n classNames,\n styles,\n id,\n description,\n label,\n leftSection,\n rightSection,\n children,\n dimmedSections,\n highlightQuery,\n highlightColor,\n closeSpotlightOnTrigger,\n onClick,\n onMouseDown,\n keywords,\n vars,\n ...others\n } = props;\n\n const ctx = useSpotlightContext();\n\n const stylesApi = { classNames, styles };\n\n const labelNode =\n highlightQuery && typeof label === 'string' ? (\n <Highlight\n component=\"span\"\n highlight={ctx.query}\n color={highlightColor}\n {...ctx.getStyles('actionLabel', stylesApi)}\n >\n {label}\n </Highlight>\n ) : (\n <span {...ctx.getStyles('actionLabel', stylesApi)}>{label}</span>\n );\n\n return (\n <UnstyledButton\n ref={ref}\n data-action\n {...ctx.getStyles('action', { className, style, ...stylesApi })}\n {...others}\n onMouseDown={(event) => {\n event.preventDefault();\n onMouseDown?.(event);\n }}\n onClick={(event) => {\n onClick?.(event);\n if (closeSpotlightOnTrigger ?? ctx.closeOnActionTrigger) {\n spotlightActions.close(ctx.store);\n }\n }}\n tabIndex={-1}\n >\n {children || (\n <>\n {leftSection && (\n <Box\n component=\"span\"\n mod={{ position: 'left', dimmed: dimmedSections }}\n {...ctx.getStyles('actionSection', stylesApi)}\n >\n {leftSection}\n </Box>\n )}\n\n <span {...ctx.getStyles('actionBody', stylesApi)}>\n {labelNode}\n <span {...ctx.getStyles('actionDescription', stylesApi)}>{description}</span>\n </span>\n\n {rightSection && (\n <Box\n component=\"span\"\n mod={{ position: 'right', dimmed: dimmedSections }}\n {...ctx.getStyles('actionSection', stylesApi)}\n >\n {rightSection}\n </Box>\n )}\n </>\n )}\n </UnstyledButton>\n );\n});\n\nSpotlightAction.classes = classes;\nSpotlightAction.displayName = '@mantine/spotlight/SpotlightAction';\n"],"names":["factory","useProps","useSpotlightContext","React","Highlight","UnstyledButton","spotlightActions","Box","classes"],"mappings":"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"}