@makroz/web 1.2.2 → 1.2.4

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 (139) hide show
  1. package/dist/auth/MkAuthProvider.d.ts.map +1 -1
  2. package/dist/auth/MkAuthProvider.js +21 -26
  3. package/dist/auth/MkAuthProvider.js.map +1 -1
  4. package/dist/context/MkAuthContext.d.ts +14 -0
  5. package/dist/context/MkAuthContext.d.ts.map +1 -1
  6. package/dist/context/MkAuthContext.js +9 -0
  7. package/dist/context/MkAuthContext.js.map +1 -1
  8. package/dist/hooks/useApi.d.ts +8 -8
  9. package/dist/hooks/useApi.d.ts.map +1 -1
  10. package/dist/hooks/useApi.js +55 -41
  11. package/dist/hooks/useApi.js.map +1 -1
  12. package/dist/hooks/useMkForm.d.ts.map +1 -1
  13. package/dist/hooks/useMkForm.js +21 -19
  14. package/dist/hooks/useMkForm.js.map +1 -1
  15. package/dist/hooks/useMkInfiniteList.d.ts +2 -2
  16. package/dist/hooks/useMkInfiniteList.d.ts.map +1 -1
  17. package/dist/hooks/useMkInfiniteList.js +41 -15
  18. package/dist/hooks/useMkInfiniteList.js.map +1 -1
  19. package/dist/hooks/useMkList.d.ts +29 -11
  20. package/dist/hooks/useMkList.d.ts.map +1 -1
  21. package/dist/hooks/useMkList.js.map +1 -1
  22. package/dist/theme/MkThemeProvider.d.ts.map +1 -1
  23. package/dist/theme/MkThemeProvider.js +34 -28
  24. package/dist/theme/MkThemeProvider.js.map +1 -1
  25. package/eslint-plugin-mk/__tests__/no-cross-module-import.test.js +26 -1
  26. package/eslint-plugin-mk/rules/no-cross-module-import.js +33 -4
  27. package/package.json +2 -2
  28. package/dist/components/MkAccordion.stories.test.d.ts +0 -2
  29. package/dist/components/MkAccordion.stories.test.d.ts.map +0 -1
  30. package/dist/components/MkAccordion.stories.test.js +0 -18
  31. package/dist/components/MkAccordion.stories.test.js.map +0 -1
  32. package/dist/components/MkAlert.stories.test.d.ts +0 -2
  33. package/dist/components/MkAlert.stories.test.d.ts.map +0 -1
  34. package/dist/components/MkAlert.stories.test.js +0 -16
  35. package/dist/components/MkAlert.stories.test.js.map +0 -1
  36. package/dist/components/MkAvatar.stories.test.d.ts +0 -2
  37. package/dist/components/MkAvatar.stories.test.d.ts.map +0 -1
  38. package/dist/components/MkAvatar.stories.test.js +0 -16
  39. package/dist/components/MkAvatar.stories.test.js.map +0 -1
  40. package/dist/components/MkBadge.stories.test.d.ts +0 -2
  41. package/dist/components/MkBadge.stories.test.d.ts.map +0 -1
  42. package/dist/components/MkBadge.stories.test.js +0 -16
  43. package/dist/components/MkBadge.stories.test.js.map +0 -1
  44. package/dist/components/MkButton.test.d.ts +0 -2
  45. package/dist/components/MkButton.test.d.ts.map +0 -1
  46. package/dist/components/MkButton.test.js +0 -56
  47. package/dist/components/MkButton.test.js.map +0 -1
  48. package/dist/components/MkCheck.stories.test.d.ts +0 -2
  49. package/dist/components/MkCheck.stories.test.d.ts.map +0 -1
  50. package/dist/components/MkCheck.stories.test.js +0 -16
  51. package/dist/components/MkCheck.stories.test.js.map +0 -1
  52. package/dist/components/MkDatePicker.stories.test.d.ts +0 -2
  53. package/dist/components/MkDatePicker.stories.test.d.ts.map +0 -1
  54. package/dist/components/MkDatePicker.stories.test.js +0 -16
  55. package/dist/components/MkDatePicker.stories.test.js.map +0 -1
  56. package/dist/components/MkDivider.stories.test.d.ts +0 -2
  57. package/dist/components/MkDivider.stories.test.d.ts.map +0 -1
  58. package/dist/components/MkDivider.stories.test.js +0 -15
  59. package/dist/components/MkDivider.stories.test.js.map +0 -1
  60. package/dist/components/MkDropDown.stories.test.d.ts +0 -2
  61. package/dist/components/MkDropDown.stories.test.d.ts.map +0 -1
  62. package/dist/components/MkDropDown.stories.test.js +0 -18
  63. package/dist/components/MkDropDown.stories.test.js.map +0 -1
  64. package/dist/components/MkEmptyState.stories.test.d.ts +0 -2
  65. package/dist/components/MkEmptyState.stories.test.d.ts.map +0 -1
  66. package/dist/components/MkEmptyState.stories.test.js +0 -15
  67. package/dist/components/MkEmptyState.stories.test.js.map +0 -1
  68. package/dist/components/MkFileUpload.stories.test.d.ts +0 -2
  69. package/dist/components/MkFileUpload.stories.test.d.ts.map +0 -1
  70. package/dist/components/MkFileUpload.stories.test.js +0 -15
  71. package/dist/components/MkFileUpload.stories.test.js.map +0 -1
  72. package/dist/components/MkInfiniteList.stories.test.d.ts +0 -2
  73. package/dist/components/MkInfiniteList.stories.test.d.ts.map +0 -1
  74. package/dist/components/MkInfiniteList.stories.test.js +0 -24
  75. package/dist/components/MkInfiniteList.stories.test.js.map +0 -1
  76. package/dist/components/MkInput.stories.test.d.ts +0 -2
  77. package/dist/components/MkInput.stories.test.d.ts.map +0 -1
  78. package/dist/components/MkInput.stories.test.js +0 -16
  79. package/dist/components/MkInput.stories.test.js.map +0 -1
  80. package/dist/components/MkLoading.stories.test.d.ts +0 -2
  81. package/dist/components/MkLoading.stories.test.d.ts.map +0 -1
  82. package/dist/components/MkLoading.stories.test.js +0 -15
  83. package/dist/components/MkLoading.stories.test.js.map +0 -1
  84. package/dist/components/MkProgressBar.stories.test.d.ts +0 -2
  85. package/dist/components/MkProgressBar.stories.test.d.ts.map +0 -1
  86. package/dist/components/MkProgressBar.stories.test.js +0 -15
  87. package/dist/components/MkProgressBar.stories.test.js.map +0 -1
  88. package/dist/components/MkRadio.stories.test.d.ts +0 -2
  89. package/dist/components/MkRadio.stories.test.d.ts.map +0 -1
  90. package/dist/components/MkRadio.stories.test.js +0 -18
  91. package/dist/components/MkRadio.stories.test.js.map +0 -1
  92. package/dist/components/MkSearchInput.stories.test.d.ts +0 -2
  93. package/dist/components/MkSearchInput.stories.test.d.ts.map +0 -1
  94. package/dist/components/MkSearchInput.stories.test.js +0 -15
  95. package/dist/components/MkSearchInput.stories.test.js.map +0 -1
  96. package/dist/components/MkSelect.stories.test.d.ts +0 -2
  97. package/dist/components/MkSelect.stories.test.d.ts.map +0 -1
  98. package/dist/components/MkSelect.stories.test.js +0 -21
  99. package/dist/components/MkSelect.stories.test.js.map +0 -1
  100. package/dist/components/MkSkeleton.stories.test.d.ts +0 -2
  101. package/dist/components/MkSkeleton.stories.test.d.ts.map +0 -1
  102. package/dist/components/MkSkeleton.stories.test.js +0 -15
  103. package/dist/components/MkSkeleton.stories.test.js.map +0 -1
  104. package/dist/components/MkSwitch.stories.test.d.ts +0 -2
  105. package/dist/components/MkSwitch.stories.test.d.ts.map +0 -1
  106. package/dist/components/MkSwitch.stories.test.js +0 -15
  107. package/dist/components/MkSwitch.stories.test.js.map +0 -1
  108. package/dist/components/MkTable.stories.test.d.ts +0 -2
  109. package/dist/components/MkTable.stories.test.d.ts.map +0 -1
  110. package/dist/components/MkTable.stories.test.js +0 -25
  111. package/dist/components/MkTable.stories.test.js.map +0 -1
  112. package/dist/components/MkTextArea.stories.test.d.ts +0 -2
  113. package/dist/components/MkTextArea.stories.test.d.ts.map +0 -1
  114. package/dist/components/MkTextArea.stories.test.js +0 -15
  115. package/dist/components/MkTextArea.stories.test.js.map +0 -1
  116. package/dist/components/MkToastContainer.stories.test.d.ts +0 -2
  117. package/dist/components/MkToastContainer.stories.test.d.ts.map +0 -1
  118. package/dist/components/MkToastContainer.stories.test.js +0 -29
  119. package/dist/components/MkToastContainer.stories.test.js.map +0 -1
  120. package/dist/components/MkTooltip.stories.test.d.ts +0 -2
  121. package/dist/components/MkTooltip.stories.test.d.ts.map +0 -1
  122. package/dist/components/MkTooltip.stories.test.js +0 -15
  123. package/dist/components/MkTooltip.stories.test.js.map +0 -1
  124. package/dist/components/MkWindowList.stories.test.d.ts +0 -2
  125. package/dist/components/MkWindowList.stories.test.d.ts.map +0 -1
  126. package/dist/components/MkWindowList.stories.test.js +0 -19
  127. package/dist/components/MkWindowList.stories.test.js.map +0 -1
  128. package/dist/hooks/useApi.test.d.ts +0 -2
  129. package/dist/hooks/useApi.test.d.ts.map +0 -1
  130. package/dist/hooks/useApi.test.js +0 -184
  131. package/dist/hooks/useApi.test.js.map +0 -1
  132. package/dist/hooks/useMkCrud.test.d.ts +0 -2
  133. package/dist/hooks/useMkCrud.test.d.ts.map +0 -1
  134. package/dist/hooks/useMkCrud.test.js +0 -87
  135. package/dist/hooks/useMkCrud.test.js.map +0 -1
  136. package/dist/hooks/useMkForm.test.d.ts +0 -2
  137. package/dist/hooks/useMkForm.test.d.ts.map +0 -1
  138. package/dist/hooks/useMkForm.test.js +0 -81
  139. package/dist/hooks/useMkForm.test.js.map +0 -1
@@ -25,7 +25,19 @@ export interface MkListParams {
25
25
  per_page?: number;
26
26
  q?: string;
27
27
  sort?: string;
28
- filter?: Record<string, any>;
28
+ filter?: Record<string, unknown>;
29
+ }
30
+ /** Shape of the server response for paginated lists. */
31
+ export interface MkListResponse<T = unknown> {
32
+ data: T[];
33
+ __extraData?: {
34
+ current_page?: number;
35
+ last_page?: number;
36
+ per_page?: number;
37
+ total?: number;
38
+ [key: string]: unknown;
39
+ };
40
+ [key: string]: unknown;
29
41
  }
30
42
  export interface MkListOptions {
31
43
  /** Initial params. */
@@ -38,24 +50,30 @@ export interface MkListOptions {
38
50
  export declare function useMkList(endpoint: string, options?: MkListOptions): {
39
51
  params: MkListParams;
40
52
  setParams: import("react").Dispatch<import("react").SetStateAction<MkListParams>>;
41
- setFilter: (field: string, value: any) => void;
53
+ setFilter: (field: string, value: unknown) => void;
42
54
  setPage: (page: number) => void;
43
55
  setSearch: (q: string) => void;
44
56
  setSort: (sort: string) => void;
45
57
  setPerPage: (per_page: number) => void;
46
58
  resetFilters: () => void;
47
- refresh: (extraParams?: MkListParams) => Promise<import("@makroz/core").MkResponse<unknown>>;
59
+ refresh: (extraParams?: MkListParams) => Promise<import("@makroz/core").MkResponse<MkListResponse<unknown>>>;
48
60
  /** Pagination meta from __extraData */
49
- pagination: any;
61
+ pagination: {
62
+ [key: string]: unknown;
63
+ current_page?: number;
64
+ last_page?: number;
65
+ per_page?: number;
66
+ total?: number;
67
+ };
50
68
  status: import("@makroz/core").ApiStatus;
51
- data: any;
52
- error: any;
69
+ data: MkListResponse<unknown> | null;
70
+ error: unknown;
53
71
  waiting: number;
54
72
  loading: boolean;
55
- get: (endpoint: string, params?: any) => Promise<import("@makroz/core").MkResponse<unknown>>;
56
- post: (endpoint: string, body: any) => Promise<import("@makroz/core").MkResponse<unknown>>;
57
- put: (endpoint: string, body: any) => Promise<import("@makroz/core").MkResponse<unknown>>;
58
- delete: (endpoint: string) => Promise<import("@makroz/core").MkResponse<unknown>>;
59
- remove: (endpoint: string) => Promise<import("@makroz/core").MkResponse<unknown>>;
73
+ get: <R = MkListResponse<unknown>>(endpoint: string, params?: Record<string, string | number | boolean | Record<string, any>> | null) => Promise<import("@makroz/core").MkResponse<R>>;
74
+ post: <R = MkListResponse<unknown>>(endpoint: string, body: Record<string, unknown> | FormData | null) => Promise<import("@makroz/core").MkResponse<R>>;
75
+ put: <R = MkListResponse<unknown>>(endpoint: string, body: Record<string, unknown> | FormData | null) => Promise<import("@makroz/core").MkResponse<R>>;
76
+ delete: (endpoint: string) => Promise<import("@makroz/core").MkResponse<void>>;
77
+ remove: (endpoint: string) => Promise<import("@makroz/core").MkResponse<void>>;
60
78
  };
61
79
  //# sourceMappingURL=useMkList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMkList.d.ts","sourceRoot":"","sources":["../../src/hooks/useMkList.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,MAAM,WAAW,YAAY;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC1B,sBAAsB;IACtB,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,sEAAsE;IACtE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB;;;uBAiB7B,MAAM,SAAS,GAAG;oBAQrB,MAAM;mBAIP,MAAM;oBAIL,MAAM;2BAIC,MAAM;;4BA1B9B,YAAY;IAyD1B,uCAAuC;;;;;;;;;;;;EAG9C"}
1
+ {"version":3,"file":"useMkList.d.ts","sourceRoot":"","sources":["../../src/hooks/useMkList.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,MAAM,WAAW,YAAY;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,wDAAwD;AACxD,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,OAAO;IACvC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,WAAW,CAAC,EAAE;QACV,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KAC1B,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC1B,sBAAsB;IACtB,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,sEAAsE;IACtE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB;;;uBAiB7B,MAAM,SAAS,OAAO;oBAQzB,MAAM;mBAIP,MAAM;oBAIL,MAAM;2BAIC,MAAM;;4BA1B9B,YAAY;IAyD1B,uCAAuC;;;uBAtFxB,MAAM;oBACT,MAAM;mBACP,MAAM;gBACT,MAAM;;;;;;;;;;;;EAsFrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"useMkList.js","sourceRoot":"","sources":["../../src/hooks/useMkList.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useMkList.js","sourceRoot":"","sources":["../../src/hooks/useMkList.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MkThemeProvider.d.ts","sourceRoot":"","sources":["../../src/theme/MkThemeProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAkE,MAAM,OAAO,CAAC;AACvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG5C,UAAU,gBAAgB;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAEjC,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAID,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,WAAmB,EACnB,YAAY,GACb,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAiFpB;AAED,eAAO,MAAM,UAAU,wBAMtB,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"MkThemeProvider.d.ts","sourceRoot":"","sources":["../../src/theme/MkThemeProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA+E,MAAM,OAAO,CAAC;AACpG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG5C,UAAU,gBAAgB;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAEjC,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAID,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,WAAmB,EACnB,YAAY,GACb,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA2FpB;AAED,eAAO,MAAM,UAAU,wBAMtB,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import { createContext, useContext, useState, useMemo, useEffect } from 'react';
3
+ import { createContext, useContext, useState, useMemo, useCallback, useEffect } from 'react';
4
4
  import { tokens } from '@makroz/core';
5
5
  const ThemeContext = createContext(undefined);
6
6
  export function MkThemeProvider({ children, initialDark = false, defaultTheme, }) {
@@ -31,39 +31,45 @@ export function MkThemeProvider({ children, initialDark = false, defaultTheme, }
31
31
  // Apply overrides on top of base theme
32
32
  return Object.assign(Object.assign({}, baseTheme), customOverrides);
33
33
  }, [isDark, defaultTheme, customOverrides]);
34
- const value = {
35
- theme,
36
- isDark,
37
- toggleTheme: () => {
38
- const next = !isDark;
39
- setIsDark(next);
34
+ const toggleTheme = useCallback(() => {
35
+ setIsDark(prev => {
36
+ const next = !prev;
40
37
  if (typeof window !== 'undefined') {
41
38
  localStorage.setItem('mk-theme-dark', String(next));
42
39
  }
43
- },
44
- setDark: (dark) => {
45
- setIsDark(dark);
46
- if (typeof window !== 'undefined') {
47
- localStorage.setItem('mk-theme-dark', String(dark));
48
- }
49
- },
50
- customOverrides,
51
- updateOverride: (key, value) => {
52
- setCustomOverrides(prev => {
53
- const next = Object.assign(Object.assign({}, prev), { [key]: value });
54
- if (typeof window !== 'undefined') {
55
- localStorage.setItem('mk-theme-custom', JSON.stringify(next));
56
- }
57
- return next;
58
- });
59
- },
60
- resetOverrides: () => {
61
- setCustomOverrides({});
40
+ return next;
41
+ });
42
+ }, []);
43
+ const setDark = useCallback((dark) => {
44
+ setIsDark(dark);
45
+ if (typeof window !== 'undefined') {
46
+ localStorage.setItem('mk-theme-dark', String(dark));
47
+ }
48
+ }, []);
49
+ const updateOverride = useCallback((key, val) => {
50
+ setCustomOverrides(prev => {
51
+ const next = Object.assign(Object.assign({}, prev), { [key]: val });
62
52
  if (typeof window !== 'undefined') {
63
- localStorage.removeItem('mk-theme-custom');
53
+ localStorage.setItem('mk-theme-custom', JSON.stringify(next));
64
54
  }
55
+ return next;
56
+ });
57
+ }, []);
58
+ const resetOverrides = useCallback(() => {
59
+ setCustomOverrides({});
60
+ if (typeof window !== 'undefined') {
61
+ localStorage.removeItem('mk-theme-custom');
65
62
  }
66
- };
63
+ }, []);
64
+ const value = useMemo(() => ({
65
+ theme,
66
+ isDark,
67
+ toggleTheme,
68
+ setDark,
69
+ customOverrides,
70
+ updateOverride,
71
+ resetOverrides,
72
+ }), [theme, isDark, toggleTheme, setDark, customOverrides, updateOverride, resetOverrides]);
67
73
  useEffect(() => {
68
74
  const root = document.documentElement;
69
75
  // Helper to convert camelCase to kebab-case
@@ -1 +1 @@
1
- {"version":3,"file":"MkThemeProvider.js","sourceRoot":"","sources":["../../src/theme/MkThemeProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MkThemeProvider.js","sourceRoot":"","sources":["../../src/theme/MkThemeProvider.tsx"],"names":[],"mappings":"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"}
@@ -35,13 +35,38 @@ describe('no-cross-module-import', () => {
35
35
  filename: '/app/src/modules/payments/hooks/usePayment.ts',
36
36
  code: "import { foo } from './useFoo';",
37
37
  },
38
+ // Relative import pointing to sibling in same module — OK
39
+ {
40
+ filename: '/app/src/modules/payments/hooks/usePayment.ts',
41
+ code: "import { PaymentForm } from '../components/PaymentForm';",
42
+ },
43
+ // Relative import pointing to other module's public index — OK
44
+ {
45
+ filename: '/app/src/modules/payments/hooks/usePayment.ts',
46
+ code: "import { AdminModule } from '../../admin';",
47
+ },
48
+ // Relative import in test file pointing to cross-module deep path — OK (tests are excluded)
49
+ {
50
+ filename: '/app/src/modules/payments/__tests__/usePayment.test.ts',
51
+ code: "import { AdminForm } from '../../admin/components/AdminForm';",
52
+ },
53
+ {
54
+ filename: '/app/src/modules/payments/tests/usePayment.spec.tsx',
55
+ code: "import { AdminForm } from '@/modules/admin/components/AdminForm';",
56
+ },
38
57
  ],
39
58
 
40
59
  invalid: [
41
60
  // Cross-module deep import — should fail
42
61
  {
43
62
  filename: '/app/src/modules/payments/hooks/usePayment.ts',
44
- code: "import { AdminForm } from '@/modules/admin/components/AdminForm';",
63
+ code: "import { AdminForm } from '@/modules/admin/components/AdminForm';",
64
+ errors: [{ messageId: 'forbidden' }],
65
+ },
66
+ // Cross-module deep relative import — should fail
67
+ {
68
+ filename: '/app/src/modules/payments/hooks/usePayment.ts',
69
+ code: "import { AdminForm } from '../../admin/components/AdminForm';",
45
70
  errors: [{ messageId: 'forbidden' }],
46
71
  },
47
72
  // Cross-module re-export — should fail
@@ -19,6 +19,8 @@
19
19
  * Then the lint passes — the app is the consumer of the public API.
20
20
  */
21
21
 
22
+ import path from 'path';
23
+
22
24
  const MODULE_PATH_RE = /[\\/]modules[\\/]([\w-]+)(?:[\\/](.*))?/;
23
25
 
24
26
  const MESSAGE = "Cross-module import is forbidden. Use '@/modules/{{source}}' public API instead. Got: '{{imported}}'.";
@@ -38,6 +40,16 @@ export default {
38
40
 
39
41
  create(context) {
40
42
  const filename = context.getFilename();
43
+
44
+ // Skip boundary checks entirely if the file being linted belongs to tests
45
+ if (
46
+ filename.includes('__tests__') ||
47
+ /[/\\]tests[/\\]/.test(filename) ||
48
+ /\.(test|spec)\.[jt]sx?$/.test(filename)
49
+ ) {
50
+ return {};
51
+ }
52
+
41
53
  const moduleMatch = filename.match(MODULE_PATH_RE);
42
54
  if (!moduleMatch) {
43
55
  // File is outside any module — app-level code, ignore.
@@ -48,11 +60,28 @@ export default {
48
60
  function checkImport(node) {
49
61
  const importPath = node.source?.value;
50
62
  if (typeof importPath !== 'string') return;
51
- const importMatch = importPath.match(/^@\/modules\/([\w-]+)(?:\/(.+))?$/);
52
- if (!importMatch) return;
53
- const [, targetModule, subPath] = importMatch;
63
+
64
+ let targetModule;
65
+ let subPath;
66
+
67
+ if (importPath.startsWith('.') || importPath.startsWith('..')) {
68
+ const resolvedPath = path.resolve(path.dirname(filename), importPath);
69
+ const match = resolvedPath.match(MODULE_PATH_RE);
70
+ if (match) {
71
+ targetModule = match[1];
72
+ subPath = match[2];
73
+ }
74
+ } else {
75
+ const match = importPath.match(/^@\/modules\/([\w-]+)(?:\/(.+))?$/);
76
+ if (match) {
77
+ targetModule = match[1];
78
+ subPath = match[2];
79
+ }
80
+ }
81
+
82
+ if (!targetModule) return;
54
83
  if (targetModule === sourceModule) return; // same module, OK
55
- if (!subPath) return; // bare '@/modules/admin' (the index), OK
84
+ if (!subPath) return; // bare '@' import (the index), OK
56
85
 
57
86
  context.report({
58
87
  node,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@makroz/web",
3
- "version": "1.2.2",
3
+ "version": "1.2.4",
4
4
  "description": "React UI components and hooks for MK-Director web applications",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -29,7 +29,7 @@
29
29
  },
30
30
  "dependencies": {
31
31
  "@tanstack/react-query": "^5.62.0",
32
- "@makroz/core": "1.1.2"
32
+ "@makroz/core": "1.1.4"
33
33
  },
34
34
  "peerDependencies": {
35
35
  "next": "^16.0.0",
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=MkAccordion.stories.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MkAccordion.stories.test.d.ts","sourceRoot":"","sources":["../../src/components/MkAccordion.stories.test.tsx"],"names":[],"mappings":""}
@@ -1,18 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- /**
3
- * Smoke snapshot for MkAccordion — required by R-MK-002.
4
- */
5
- import { describe, it, expect, afterEach } from 'vitest';
6
- import { render, cleanup } from '@testing-library/react';
7
- import { MkAccordion } from './MkAccordion';
8
- describe('MkAccordion story smoke', () => {
9
- afterEach(cleanup);
10
- it('renders with items', () => {
11
- const { container } = render(_jsx(MkAccordion, { items: [
12
- { key: 'a', title: 'First', content: _jsx("p", { children: "First content" }) },
13
- { key: 'b', title: 'Second', content: _jsx("p", { children: "Second content" }) },
14
- ] }));
15
- expect(container.firstChild).toMatchSnapshot();
16
- });
17
- });
18
- //# sourceMappingURL=MkAccordion.stories.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MkAccordion.stories.test.js","sourceRoot":"","sources":["../../src/components/MkAccordion.stories.test.tsx"],"names":[],"mappings":";AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACrC,SAAS,CAAC,OAAO,CAAC,CAAC;IAEnB,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC1B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CACxB,KAAC,WAAW,IACR,KAAK,EAAE;gBACH,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,wCAAoB,EAAE;gBAC3D,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,yCAAqB,EAAE;aAChE,GACH,CACL,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,eAAe,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=MkAlert.stories.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MkAlert.stories.test.d.ts","sourceRoot":"","sources":["../../src/components/MkAlert.stories.test.tsx"],"names":[],"mappings":""}
@@ -1,16 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- /**
3
- * Smoke snapshot for MkAlert — generates `__snapshots__/MkAlert.stories.snap`.
4
- * Required by R-MK-002 stories coverage rule (mk:lint:stories).
5
- */
6
- import { describe, it, expect, afterEach } from 'vitest';
7
- import { render, cleanup } from '@testing-library/react';
8
- import { MkAlert } from './MkAlert';
9
- describe('MkAlert story smoke', () => {
10
- afterEach(cleanup);
11
- it('renders warning variant', () => {
12
- const { container } = render(_jsx(MkAlert, { variant: "warning", title: "Atenci\u00F3n", children: "Esta acci\u00F3n no se puede deshacer." }));
13
- expect(container.firstChild).toMatchSnapshot();
14
- });
15
- });
16
- //# sourceMappingURL=MkAlert.stories.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MkAlert.stories.test.js","sourceRoot":"","sources":["../../src/components/MkAlert.stories.test.tsx"],"names":[],"mappings":";AAAA;;;GAGG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACjC,SAAS,CAAC,OAAO,CAAC,CAAC;IAEnB,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QAC/B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CACxB,KAAC,OAAO,IAAC,OAAO,EAAC,SAAS,EAAC,KAAK,EAAC,eAAU,uDAEjC,CACb,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,eAAe,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=MkAvatar.stories.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MkAvatar.stories.test.d.ts","sourceRoot":"","sources":["../../src/components/MkAvatar.stories.test.tsx"],"names":[],"mappings":""}
@@ -1,16 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- /**
3
- * Smoke snapshot for MkAvatar — generates `__snapshots__/MkAvatar.stories.snap`.
4
- * Required by R-MK-002 stories coverage rule (mk:lint:stories).
5
- */
6
- import { describe, it, expect, afterEach } from 'vitest';
7
- import { render, cleanup } from '@testing-library/react';
8
- import { MkAvatar } from './MkAvatar';
9
- describe('MkAvatar story smoke', () => {
10
- afterEach(cleanup);
11
- it('renders with initials', () => {
12
- const { container } = render(_jsx(MkAvatar, { name: "Mario Guzman" }));
13
- expect(container.firstChild).toMatchSnapshot();
14
- });
15
- });
16
- //# sourceMappingURL=MkAvatar.stories.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MkAvatar.stories.test.js","sourceRoot":"","sources":["../../src/components/MkAvatar.stories.test.tsx"],"names":[],"mappings":";AAAA;;;GAGG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IAClC,SAAS,CAAC,OAAO,CAAC,CAAC;IAEnB,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC7B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,QAAQ,IAAC,IAAI,EAAC,cAAc,GAAG,CAAC,CAAC;QAC/D,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,eAAe,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=MkBadge.stories.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MkBadge.stories.test.d.ts","sourceRoot":"","sources":["../../src/components/MkBadge.stories.test.tsx"],"names":[],"mappings":""}
@@ -1,16 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- /**
3
- * Smoke snapshot for MkBadge — generates `__snapshots__/MkBadge.stories.snap`.
4
- * Required by R-MK-002 stories coverage rule (mk:lint:stories).
5
- */
6
- import { describe, it, expect, afterEach } from 'vitest';
7
- import { render, cleanup } from '@testing-library/react';
8
- import { MkBadge } from './MkBadge';
9
- describe('MkBadge story smoke', () => {
10
- afterEach(cleanup);
11
- it('renders with dot', () => {
12
- const { container } = render(_jsx(MkBadge, { variant: "success", dot: true, children: "Live" }));
13
- expect(container.firstChild).toMatchSnapshot();
14
- });
15
- });
16
- //# sourceMappingURL=MkBadge.stories.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MkBadge.stories.test.js","sourceRoot":"","sources":["../../src/components/MkBadge.stories.test.tsx"],"names":[],"mappings":";AAAA;;;GAGG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACjC,SAAS,CAAC,OAAO,CAAC,CAAC;IAEnB,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QACxB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,OAAO,IAAC,OAAO,EAAC,SAAS,EAAC,GAAG,2BAAe,CAAC,CAAC;QAC5E,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,eAAe,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=MkButton.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MkButton.test.d.ts","sourceRoot":"","sources":["../../src/components/MkButton.test.tsx"],"names":[],"mappings":""}
@@ -1,56 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { describe, it, expect, vi } from 'vitest';
3
- import { render, screen, fireEvent } from '@testing-library/react';
4
- import { MkButton } from '../components/MkButton';
5
- describe('MkButton', () => {
6
- it('renders with correct text', () => {
7
- render(_jsx(MkButton, { children: "Click me" }));
8
- const button = screen.getByRole('button');
9
- expect(button.textContent).toBe('Click me');
10
- });
11
- it('calls onClick when clicked', () => {
12
- const handleClick = vi.fn();
13
- render(_jsx(MkButton, { onClick: handleClick, children: "Click me" }));
14
- fireEvent.click(screen.getByRole('button'));
15
- expect(handleClick).toHaveBeenCalledTimes(1);
16
- });
17
- it('does not call onClick when disabled', () => {
18
- const handleClick = vi.fn();
19
- render(_jsx(MkButton, { disabled: true, onClick: handleClick, children: "Click me" }));
20
- fireEvent.click(screen.getByRole('button'));
21
- expect(handleClick).not.toHaveBeenCalled();
22
- });
23
- it('applies variant class correctly', () => {
24
- const { container } = render(_jsx(MkButton, { variant: "outline", children: "Outline" }));
25
- const button = container.querySelector('button');
26
- expect(button === null || button === void 0 ? void 0 : button.className).toMatch(/outline/);
27
- });
28
- it('shows loading spinner and disables button', () => {
29
- render(_jsx(MkButton, { loading: true, children: "Click me" }));
30
- const button = screen.getByRole('button');
31
- expect(button === null || button === void 0 ? void 0 : button.disabled).toBe(true);
32
- // When loading, children are replaced with spinner
33
- expect(button === null || button === void 0 ? void 0 : button.querySelector('span')).not.toBeNull();
34
- });
35
- it('does not render children when loading', () => {
36
- render(_jsx(MkButton, { loading: true, children: "Submit Form" }));
37
- // When loading, the spinner replaces the children
38
- expect(screen.queryByText('Submit Form')).toBeNull();
39
- });
40
- it('applies custom className', () => {
41
- const { container } = render(_jsx(MkButton, { className: "custom-class", children: "Test" }));
42
- const button = container.querySelector('button');
43
- expect(button === null || button === void 0 ? void 0 : button.className).toContain('custom-class');
44
- });
45
- it('supports error variant', () => {
46
- const { container } = render(_jsx(MkButton, { variant: "error", children: "Delete" }));
47
- const button = container.querySelector('button');
48
- expect(button === null || button === void 0 ? void 0 : button.className).toMatch(/error/);
49
- });
50
- it('supports ghost variant', () => {
51
- const { container } = render(_jsx(MkButton, { variant: "ghost", children: "Ghost" }));
52
- const button = container.querySelector('button');
53
- expect(button === null || button === void 0 ? void 0 : button.className).toMatch(/ghost/);
54
- });
55
- });
56
- //# sourceMappingURL=MkButton.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MkButton.test.js","sourceRoot":"","sources":["../../src/components/MkButton.test.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=MkCheck.stories.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MkCheck.stories.test.d.ts","sourceRoot":"","sources":["../../src/components/MkCheck.stories.test.tsx"],"names":[],"mappings":""}
@@ -1,16 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- /**
3
- * Smoke snapshot for MkCheck — generates `__snapshots__/MkCheck.stories.snap`.
4
- * Required by R-MK-002 stories coverage rule (mk:lint:stories).
5
- */
6
- import { describe, it, expect, afterEach } from 'vitest';
7
- import { render, cleanup } from '@testing-library/react';
8
- import { MkCheck } from './MkCheck';
9
- describe('MkCheck story smoke', () => {
10
- afterEach(cleanup);
11
- it('renders checked', () => {
12
- const { container } = render(_jsx(MkCheck, { label: "I agree", checked: true }));
13
- expect(container.firstChild).toMatchSnapshot();
14
- });
15
- });
16
- //# sourceMappingURL=MkCheck.stories.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MkCheck.stories.test.js","sourceRoot":"","sources":["../../src/components/MkCheck.stories.test.tsx"],"names":[],"mappings":";AAAA;;;GAGG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACjC,SAAS,CAAC,OAAO,CAAC,CAAC;IAEnB,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;QACvB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,OAAO,IAAC,KAAK,EAAC,SAAS,EAAC,OAAO,SAAG,CAAC,CAAC;QAClE,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,eAAe,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=MkDatePicker.stories.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MkDatePicker.stories.test.d.ts","sourceRoot":"","sources":["../../src/components/MkDatePicker.stories.test.tsx"],"names":[],"mappings":""}
@@ -1,16 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- /**
3
- * Smoke snapshot for MkDatePicker — generates `__snapshots__/MkDatePicker.stories.snap`.
4
- * Required by R-MK-002 stories coverage rule (mk:lint:stories).
5
- */
6
- import { describe, it, expect, afterEach } from 'vitest';
7
- import { render, cleanup } from '@testing-library/react';
8
- import { MkDatePicker } from './MkDatePicker';
9
- describe('MkDatePicker story smoke', () => {
10
- afterEach(cleanup);
11
- it('renders with value', () => {
12
- const { container } = render(_jsx(MkDatePicker, { label: "Birthday", value: "1990-04-15" }));
13
- expect(container.firstChild).toMatchSnapshot();
14
- });
15
- });
16
- //# sourceMappingURL=MkDatePicker.stories.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MkDatePicker.stories.test.js","sourceRoot":"","sources":["../../src/components/MkDatePicker.stories.test.tsx"],"names":[],"mappings":";AAAA;;;GAGG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACtC,SAAS,CAAC,OAAO,CAAC,CAAC;IAEnB,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC1B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CACxB,KAAC,YAAY,IAAC,KAAK,EAAC,UAAU,EAAC,KAAK,EAAC,YAAY,GAAG,CACvD,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,eAAe,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=MkDivider.stories.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MkDivider.stories.test.d.ts","sourceRoot":"","sources":["../../src/components/MkDivider.stories.test.tsx"],"names":[],"mappings":""}
@@ -1,15 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- /**
3
- * Smoke snapshot for MkDivider — required by R-MK-002 (mk:lint:stories).
4
- */
5
- import { describe, it, expect, afterEach } from 'vitest';
6
- import { render, cleanup } from '@testing-library/react';
7
- import { MkDivider } from './MkDivider';
8
- describe('MkDivider story smoke', () => {
9
- afterEach(cleanup);
10
- it('renders with label', () => {
11
- const { container } = render(_jsx(MkDivider, { label: "or continue with" }));
12
- expect(container.firstChild).toMatchSnapshot();
13
- });
14
- });
15
- //# sourceMappingURL=MkDivider.stories.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MkDivider.stories.test.js","sourceRoot":"","sources":["../../src/components/MkDivider.stories.test.tsx"],"names":[],"mappings":";AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACnC,SAAS,CAAC,OAAO,CAAC,CAAC;IAEnB,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC1B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,KAAC,SAAS,IAAC,KAAK,EAAC,kBAAkB,GAAG,CAAC,CAAC;QACrE,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,eAAe,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=MkDropDown.stories.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MkDropDown.stories.test.d.ts","sourceRoot":"","sources":["../../src/components/MkDropDown.stories.test.tsx"],"names":[],"mappings":""}