@contractspec/lib.ui-kit 1.46.2 → 1.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/dist/ui/aspect-ratio.d.ts +5 -5
  2. package/dist/ui/aspect-ratio.d.ts.map +1 -1
  3. package/dist/ui/atoms/FilterSelect/FilterSelect.js.map +1 -1
  4. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.js.map +1 -1
  5. package/dist/ui/atoms/Pagination/Pagination.js.map +1 -1
  6. package/dist/ui/atoms/SearchInput/SearchInput.js.map +1 -1
  7. package/dist/ui/avatar.d.ts +4 -4
  8. package/dist/ui/badge.d.ts +4 -4
  9. package/dist/ui/breadcrumb.d.ts +8 -8
  10. package/dist/ui/button.d.ts +5 -5
  11. package/dist/ui/card.d.ts +7 -7
  12. package/dist/ui/checkbox.d.ts +3 -3
  13. package/dist/ui/checkbox.d.ts.map +1 -1
  14. package/dist/ui/collapsible.d.ts +9 -9
  15. package/dist/ui/collapsible.d.ts.map +1 -1
  16. package/dist/ui/context-menu.d.ts +16 -16
  17. package/dist/ui/date-picker.d.ts +2 -2
  18. package/dist/ui/date-picker.d.ts.map +1 -1
  19. package/dist/ui/date-range-picker.d.ts +2 -2
  20. package/dist/ui/date-range-picker.d.ts.map +1 -1
  21. package/dist/ui/datetime-picker.d.ts +2 -2
  22. package/dist/ui/datetime-picker.d.ts.map +1 -1
  23. package/dist/ui/dialog.d.ts +10 -10
  24. package/dist/ui/dialog.d.ts.map +1 -1
  25. package/dist/ui/dropdown-menu.d.ts +16 -16
  26. package/dist/ui/dropdown-menu.d.ts.map +1 -1
  27. package/dist/ui/empty-state.d.ts +4 -4
  28. package/dist/ui/empty-state.d.ts.map +1 -1
  29. package/dist/ui/empty.d.ts +9 -9
  30. package/dist/ui/empty.d.ts.map +1 -1
  31. package/dist/ui/fab.d.ts +3 -3
  32. package/dist/ui/fab.d.ts.map +1 -1
  33. package/dist/ui/field.d.ts +14 -14
  34. package/dist/ui/field.d.ts.map +1 -1
  35. package/dist/ui/form.d.ts +7 -7
  36. package/dist/ui/hover-card.d.ts +6 -6
  37. package/dist/ui/input.d.ts +2 -2
  38. package/dist/ui/label.d.ts +2 -2
  39. package/dist/ui/label.d.ts.map +1 -1
  40. package/dist/ui/link.d.ts +2 -2
  41. package/dist/ui/link.d.ts.map +1 -1
  42. package/dist/ui/loading-button.d.ts +2 -2
  43. package/dist/ui/loading-button.d.ts.map +1 -1
  44. package/dist/ui/loading-overlay.d.ts +2 -2
  45. package/dist/ui/loading-overlay.d.ts.map +1 -1
  46. package/dist/ui/loading-screen.d.ts +2 -2
  47. package/dist/ui/loading-screen.d.ts.map +1 -1
  48. package/dist/ui/marketing/FeatureGrid.d.ts +2 -2
  49. package/dist/ui/marketing/FeatureGrid.d.ts.map +1 -1
  50. package/dist/ui/marketing/Hero.d.ts +2 -2
  51. package/dist/ui/marketing/Hero.d.ts.map +1 -1
  52. package/dist/ui/marketing/PricingTable.d.ts +2 -2
  53. package/dist/ui/marketing/PricingTable.d.ts.map +1 -1
  54. package/dist/ui/menubar.d.ts +17 -17
  55. package/dist/ui/menubar.d.ts.map +1 -1
  56. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.js +0 -2
  57. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.js.map +1 -1
  58. package/dist/ui/molecules/SkeletonList.d.ts +2 -2
  59. package/dist/ui/molecules/SkeletonList.d.ts.map +1 -1
  60. package/dist/ui/navigation-menu.d.ts +12 -12
  61. package/dist/ui/navigation-menu.d.ts.map +1 -1
  62. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.d.ts +2 -2
  63. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.d.ts.map +1 -1
  64. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.js.map +1 -1
  65. package/dist/ui/organisms/ListPage/ListPage.d.ts +2 -2
  66. package/dist/ui/organisms/ListPage/ListPage.d.ts.map +1 -1
  67. package/dist/ui/organisms/ListPage/ListPage.js +0 -2
  68. package/dist/ui/organisms/ListPage/ListPage.js.map +1 -1
  69. package/dist/ui/page-header.d.ts +5 -5
  70. package/dist/ui/page-header.d.ts.map +1 -1
  71. package/dist/ui/password-strength.d.ts +2 -2
  72. package/dist/ui/password-strength.d.ts.map +1 -1
  73. package/dist/ui/password-strength.js.map +1 -1
  74. package/dist/ui/popover.d.ts +8 -8
  75. package/dist/ui/popover.d.ts.map +1 -1
  76. package/dist/ui/progress.d.ts +2 -2
  77. package/dist/ui/progress.d.ts.map +1 -1
  78. package/dist/ui/radio-group.d.ts +3 -3
  79. package/dist/ui/radio-group.d.ts.map +1 -1
  80. package/dist/ui/select.d.ts +13 -13
  81. package/dist/ui/select.d.ts.map +1 -1
  82. package/dist/ui/separator.d.ts +2 -2
  83. package/dist/ui/separator.d.ts.map +1 -1
  84. package/dist/ui/skeleton.d.ts +2 -2
  85. package/dist/ui/skeleton.d.ts.map +1 -1
  86. package/dist/ui/stack.d.ts +17 -17
  87. package/dist/ui/stack.d.ts.map +1 -1
  88. package/dist/ui/stepper.d.ts +4 -4
  89. package/dist/ui/stepper.d.ts.map +1 -1
  90. package/dist/ui/switch.d.ts +2 -2
  91. package/dist/ui/switch.d.ts.map +1 -1
  92. package/dist/ui/table.d.ts +8 -8
  93. package/dist/ui/table.d.ts.map +1 -1
  94. package/dist/ui/tabs.d.ts +11 -11
  95. package/dist/ui/text.d.ts +2 -2
  96. package/dist/ui/text.d.ts.map +1 -1
  97. package/dist/ui/time-picker.d.ts +2 -2
  98. package/dist/ui/toggle-group.d.ts +4 -4
  99. package/dist/ui/toggle-group.d.ts.map +1 -1
  100. package/dist/ui/toggle.d.ts +6 -6
  101. package/dist/ui/tooltip.d.ts +6 -6
  102. package/dist/ui/tooltip.d.ts.map +1 -1
  103. package/dist/ui/typography.d.ts +12 -12
  104. package/dist/ui/useColorScheme.d.ts +2 -2
  105. package/dist/ui/useListState.js.map +1 -1
  106. package/dist/ui/usecases/UseCaseCard.d.ts +2 -2
  107. package/dist/ui/usecases/UserStoryCard.d.ts +2 -2
  108. package/dist/ui/usecases/UserStoryCard.d.ts.map +1 -1
  109. package/package.json +13 -10
@@ -1,18 +1,18 @@
1
1
  import * as React$1 from "react";
2
- import * as react_native44 from "react-native";
3
- import * as react_jsx_runtime108 from "react/jsx-runtime";
2
+ import * as react_native25 from "react-native";
3
+ import * as react_jsx_runtime86 from "react/jsx-runtime";
4
4
  import * as _rn_primitives_tooltip0 from "@rn-primitives/tooltip";
5
5
 
6
6
  //#region ui/tooltip.d.ts
7
- declare const Tooltip: React$1.ForwardRefExoticComponent<react_native44.ViewProps & {
7
+ declare const Tooltip: React$1.ForwardRefExoticComponent<react_native25.ViewProps & {
8
8
  asChild?: boolean;
9
9
  } & {
10
10
  onOpenChange?: (open: boolean) => void;
11
11
  delayDuration?: number;
12
12
  skipDelayDuration?: number;
13
13
  disableHoverableContent?: boolean;
14
- } & React$1.RefAttributes<react_native44.View>>;
15
- declare const TooltipTrigger: React$1.ForwardRefExoticComponent<Omit<react_native44.PressableProps & React$1.RefAttributes<react_native44.View>, "ref"> & {
14
+ } & React$1.RefAttributes<react_native25.View>>;
15
+ declare const TooltipTrigger: React$1.ForwardRefExoticComponent<Omit<react_native25.PressableProps & React$1.RefAttributes<react_native25.View>, "ref"> & {
16
16
  asChild?: boolean;
17
17
  } & {
18
18
  onKeyDown?: (ev: React$1.KeyboardEvent) => void;
@@ -26,7 +26,7 @@ declare function TooltipContent({
26
26
  }: _rn_primitives_tooltip0.ContentProps & {
27
27
  ref?: React$1.RefObject<_rn_primitives_tooltip0.ContentRef>;
28
28
  portalHost?: string;
29
- }): react_jsx_runtime108.JSX.Element;
29
+ }): react_jsx_runtime86.JSX.Element;
30
30
  //#endregion
31
31
  export { Tooltip, TooltipContent, TooltipTrigger };
32
32
  //# sourceMappingURL=tooltip.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.d.ts","names":[],"sources":["../../ui/tooltip.tsx"],"sourcesContent":[],"mappings":";;;;;;cAOM,SAAO,OAAA,CAAA,0BAAwB,cAAA,CAAxB,SAAA;;;;EAAP,aAA+B,CAAA,EAAA,MAAA;EAAA,iBAAxB,CAAA,EAAA,MAAA;EAAA,uBAAA,CAAA,EAAA,OAAA;0BAAA,cAAA,CAAA,IAAA;cAEP,cAFO,EAEO,OAAA,CAAA,yBAFP,CAEO,IAFP,CAEkC,cAAA,CAA3B,cAAA,GAAA,OAAA,CAAA,aAFP,CAEO,cAAA,CAAA,IAAA,CAFP,EAAA,KAAA,CAAA,GAAA;EAAA,OAAA,CAAA,EAAA,OAAA;AAAA,CAAA,GAEP;EAAyC,SAAA,CAAA,EAA3B,CAAA,EAAA,uBAAA,EAAA,GAAA,IAAA;EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,uBAAA,EAAA,GAAA,IAAA;CAAA,wBAAA,oCAAA,CAAA;iBAEX,cAAA,CAFW;EAAA,SAAA;EAAA,UAAA;EAAA,UAAA;EAAA,GAAA;CAAA,EAOjB,uBAAA,CAAiB,YAPA,GAAA;QAQZ,OAAA,CAAM,UAAU,uBAAA,CAAiB;;IAExC,oBAAA,CAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"tooltip.d.ts","names":[],"sources":["../../ui/tooltip.tsx"],"sourcesContent":[],"mappings":";;;;;;cAOM,SAAO,OAAA,CAAA,0BAAwB,cAAA,CAAxB,SAAA;;;;EAAP,aAA+B,CAAA,EAAA,MAAA;EAAA,iBAAxB,CAAA,EAAA,MAAA;EAAA,uBAAA,CAAA,EAAA,OAAA;0BAAA,cAAA,CAAA,IAAA;cAEP,cAFO,EAEO,OAAA,CAAA,yBAFP,CAEO,IAFP,CAEkC,cAAA,CAA3B,cAAA,GAAA,OAAA,CAAA,aAFP,CAEO,cAAA,CAAA,IAAA,CAFP,EAAA,KAAA,CAAA,GAAA;EAAA,OAAA,CAAA,EAAA,OAAA;AAAA,CAAA,GAEP;EAAyC,SAAA,CAAA,EAA3B,CAAA,EAAA,uBAAA,EAAA,GAAA,IAAA;EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,uBAAA,EAAA,GAAA,IAAA;CAAA,wBAAA,oCAAA,CAAA;iBAEX,cAAA,CAFW;EAAA,SAAA;EAAA,UAAA;EAAA,UAAA;EAAA,GAAA;CAAA,EAOjB,uBAAA,CAAiB,YAPA,GAAA;QAQZ,OAAA,CAAM,UAAU,uBAAA,CAAiB;;IAExC,mBAAA,CAAA,GAAA,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { TextProps } from "./text.js";
2
- import * as react_jsx_runtime97 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime87 from "react/jsx-runtime";
3
3
 
4
4
  //#region ui/typography.d.ts
5
5
  type TypographyProps = TextProps & {
@@ -9,57 +9,57 @@ declare function H1({
9
9
  className,
10
10
  asChild,
11
11
  ...props
12
- }: TypographyProps): react_jsx_runtime97.JSX.Element;
12
+ }: TypographyProps): react_jsx_runtime87.JSX.Element;
13
13
  declare function H2({
14
14
  className,
15
15
  asChild,
16
16
  ...props
17
- }: TypographyProps): react_jsx_runtime97.JSX.Element;
17
+ }: TypographyProps): react_jsx_runtime87.JSX.Element;
18
18
  declare function H3({
19
19
  className,
20
20
  asChild,
21
21
  ...props
22
- }: TypographyProps): react_jsx_runtime97.JSX.Element;
22
+ }: TypographyProps): react_jsx_runtime87.JSX.Element;
23
23
  declare function H4({
24
24
  className,
25
25
  asChild,
26
26
  ...props
27
- }: TypographyProps): react_jsx_runtime97.JSX.Element;
27
+ }: TypographyProps): react_jsx_runtime87.JSX.Element;
28
28
  declare function P({
29
29
  className,
30
30
  asChild,
31
31
  ...props
32
- }: TypographyProps): react_jsx_runtime97.JSX.Element;
32
+ }: TypographyProps): react_jsx_runtime87.JSX.Element;
33
33
  declare function BlockQuote({
34
34
  className,
35
35
  asChild,
36
36
  ...props
37
- }: TypographyProps): react_jsx_runtime97.JSX.Element;
37
+ }: TypographyProps): react_jsx_runtime87.JSX.Element;
38
38
  declare function Code({
39
39
  className,
40
40
  asChild,
41
41
  ...props
42
- }: TypographyProps): react_jsx_runtime97.JSX.Element;
42
+ }: TypographyProps): react_jsx_runtime87.JSX.Element;
43
43
  declare function Lead({
44
44
  className,
45
45
  asChild,
46
46
  ...props
47
- }: TypographyProps): react_jsx_runtime97.JSX.Element;
47
+ }: TypographyProps): react_jsx_runtime87.JSX.Element;
48
48
  declare function Large({
49
49
  className,
50
50
  asChild,
51
51
  ...props
52
- }: TypographyProps): react_jsx_runtime97.JSX.Element;
52
+ }: TypographyProps): react_jsx_runtime87.JSX.Element;
53
53
  declare function Small({
54
54
  className,
55
55
  asChild,
56
56
  ...props
57
- }: TypographyProps): react_jsx_runtime97.JSX.Element;
57
+ }: TypographyProps): react_jsx_runtime87.JSX.Element;
58
58
  declare function Muted({
59
59
  className,
60
60
  asChild,
61
61
  ...props
62
- }: TypographyProps): react_jsx_runtime97.JSX.Element;
62
+ }: TypographyProps): react_jsx_runtime87.JSX.Element;
63
63
  //#endregion
64
64
  export { BlockQuote, Code, H1, H2, H3, H4, Large, Lead, Muted, P, Small, TypographyProps };
65
65
  //# sourceMappingURL=typography.d.ts.map
@@ -1,10 +1,10 @@
1
- import * as react_native48 from "react-native";
1
+ import * as react_native29 from "react-native";
2
2
 
3
3
  //#region ui/useColorScheme.d.ts
4
4
  declare function useColorScheme(): {
5
5
  colorScheme: "light" | "dark";
6
6
  isDarkColorScheme: boolean;
7
- setColorScheme: (scheme: react_native48.ColorSchemeName) => void;
7
+ setColorScheme: (scheme: react_native29.ColorSchemeName) => void;
8
8
  toggleColorScheme: () => void;
9
9
  };
10
10
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"useListState.js","names":["filterParams: Record<string, string>"],"sources":["../../ui/useListState.tsx"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react';\n\nexport interface UseListStateOptions {\n initialSearch?: string;\n initialFilters?: Record<string, string>;\n initialPage?: number;\n initialItemsPerPage?: number;\n debounceMs?: number;\n}\n\nexport interface UseListStateReturn {\n // Search\n searchQuery: string;\n setSearchQuery: (query: string) => void;\n\n // Filters\n filters: Record<string, string>;\n setFilter: (key: string, value: string) => void;\n clearFilters: () => void;\n\n // Pagination\n currentPage: number;\n itemsPerPage: number;\n setCurrentPage: (page: number) => void;\n setItemsPerPage: (itemsPerPage: number) => void;\n\n // Combined state for API calls\n queryParams: {\n search: string;\n page: number;\n limit: number;\n } & Record<string, string | number>;\n\n // Reset all\n resetAll: () => void;\n}\n\nexport const useListState = ({\n initialSearch = '',\n initialFilters = {},\n initialPage = 1,\n initialItemsPerPage = 25,\n}: UseListStateOptions = {}): UseListStateReturn => {\n const [searchQuery, setSearchQuery] = useState(initialSearch);\n const [filters, setFilters] = useState(initialFilters);\n const [currentPage, setCurrentPage] = useState(initialPage);\n const [itemsPerPage, setItemsPerPage] = useState(initialItemsPerPage);\n\n const setFilter = useCallback((key: string, value: string) => {\n setFilters((prev) => ({\n ...prev,\n [key]: value,\n }));\n // Reset to first page when filtering\n setCurrentPage(1);\n }, []);\n\n const clearFilters = useCallback(() => {\n setFilters({});\n setCurrentPage(1);\n }, []);\n\n const handleSetSearchQuery = useCallback((query: string) => {\n setSearchQuery(query);\n // Reset to first page when searching\n setCurrentPage(1);\n }, []);\n\n const handleSetItemsPerPage = useCallback((newItemsPerPage: number) => {\n setItemsPerPage(newItemsPerPage);\n // Reset to first page when changing items per page\n setCurrentPage(1);\n }, []);\n\n const resetAll = useCallback(() => {\n setSearchQuery(initialSearch);\n setFilters(initialFilters);\n setCurrentPage(initialPage);\n setItemsPerPage(initialItemsPerPage);\n }, [initialSearch, initialFilters, initialPage, initialItemsPerPage]);\n\n const queryParams = useMemo(() => {\n const baseParams = {\n search: searchQuery,\n page: currentPage,\n limit: itemsPerPage,\n };\n\n // Add active filters to params\n const filterParams: Record<string, string> = {};\n Object.entries(filters).forEach(([key, value]) => {\n if (value) {\n filterParams[key] = value;\n }\n });\n\n return { ...baseParams, ...filterParams };\n }, [searchQuery, filters, currentPage, itemsPerPage]);\n\n return {\n searchQuery,\n setSearchQuery: handleSetSearchQuery,\n filters,\n setFilter,\n clearFilters,\n currentPage,\n itemsPerPage,\n setCurrentPage,\n setItemsPerPage: handleSetItemsPerPage,\n queryParams,\n resetAll,\n };\n};\n"],"mappings":";;;AAqCA,MAAa,gBAAgB,EAC3B,gBAAgB,IAChB,iBAAiB,EAAE,EACnB,cAAc,GACd,sBAAsB,OACC,EAAE,KAAyB;CAClD,MAAM,CAAC,aAAa,kBAAkB,SAAS,cAAc;CAC7D,MAAM,CAAC,SAAS,cAAc,SAAS,eAAe;CACtD,MAAM,CAAC,aAAa,kBAAkB,SAAS,YAAY;CAC3D,MAAM,CAAC,cAAc,mBAAmB,SAAS,oBAAoB;CAErE,MAAM,YAAY,aAAa,KAAa,UAAkB;AAC5D,cAAY,UAAU;GACpB,GAAG;IACF,MAAM;GACR,EAAE;AAEH,iBAAe,EAAE;IAChB,EAAE,CAAC;CAEN,MAAM,eAAe,kBAAkB;AACrC,aAAW,EAAE,CAAC;AACd,iBAAe,EAAE;IAChB,EAAE,CAAC;CAEN,MAAM,uBAAuB,aAAa,UAAkB;AAC1D,iBAAe,MAAM;AAErB,iBAAe,EAAE;IAChB,EAAE,CAAC;CAEN,MAAM,wBAAwB,aAAa,oBAA4B;AACrE,kBAAgB,gBAAgB;AAEhC,iBAAe,EAAE;IAChB,EAAE,CAAC;CAEN,MAAM,WAAW,kBAAkB;AACjC,iBAAe,cAAc;AAC7B,aAAW,eAAe;AAC1B,iBAAe,YAAY;AAC3B,kBAAgB,oBAAoB;IACnC;EAAC;EAAe;EAAgB;EAAa;EAAoB,CAAC;AAoBrE,QAAO;EACL;EACA,gBAAgB;EAChB;EACA;EACA;EACA;EACA;EACA;EACA,iBAAiB;EACjB,aA5BkB,cAAc;GAChC,MAAM,aAAa;IACjB,QAAQ;IACR,MAAM;IACN,OAAO;IACR;GAGD,MAAMA,eAAuC,EAAE;AAC/C,UAAO,QAAQ,QAAQ,CAAC,SAAS,CAAC,KAAK,WAAW;AAChD,QAAI,MACF,cAAa,OAAO;KAEtB;AAEF,UAAO;IAAE,GAAG;IAAY,GAAG;IAAc;KACxC;GAAC;GAAa;GAAS;GAAa;GAAa,CAAC;EAanD;EACD"}
1
+ {"version":3,"file":"useListState.js","names":[],"sources":["../../ui/useListState.tsx"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react';\n\nexport interface UseListStateOptions {\n initialSearch?: string;\n initialFilters?: Record<string, string>;\n initialPage?: number;\n initialItemsPerPage?: number;\n debounceMs?: number;\n}\n\nexport interface UseListStateReturn {\n // Search\n searchQuery: string;\n setSearchQuery: (query: string) => void;\n\n // Filters\n filters: Record<string, string>;\n setFilter: (key: string, value: string) => void;\n clearFilters: () => void;\n\n // Pagination\n currentPage: number;\n itemsPerPage: number;\n setCurrentPage: (page: number) => void;\n setItemsPerPage: (itemsPerPage: number) => void;\n\n // Combined state for API calls\n queryParams: {\n search: string;\n page: number;\n limit: number;\n } & Record<string, string | number>;\n\n // Reset all\n resetAll: () => void;\n}\n\nexport const useListState = ({\n initialSearch = '',\n initialFilters = {},\n initialPage = 1,\n initialItemsPerPage = 25,\n}: UseListStateOptions = {}): UseListStateReturn => {\n const [searchQuery, setSearchQuery] = useState(initialSearch);\n const [filters, setFilters] = useState(initialFilters);\n const [currentPage, setCurrentPage] = useState(initialPage);\n const [itemsPerPage, setItemsPerPage] = useState(initialItemsPerPage);\n\n const setFilter = useCallback((key: string, value: string) => {\n setFilters((prev) => ({\n ...prev,\n [key]: value,\n }));\n // Reset to first page when filtering\n setCurrentPage(1);\n }, []);\n\n const clearFilters = useCallback(() => {\n setFilters({});\n setCurrentPage(1);\n }, []);\n\n const handleSetSearchQuery = useCallback((query: string) => {\n setSearchQuery(query);\n // Reset to first page when searching\n setCurrentPage(1);\n }, []);\n\n const handleSetItemsPerPage = useCallback((newItemsPerPage: number) => {\n setItemsPerPage(newItemsPerPage);\n // Reset to first page when changing items per page\n setCurrentPage(1);\n }, []);\n\n const resetAll = useCallback(() => {\n setSearchQuery(initialSearch);\n setFilters(initialFilters);\n setCurrentPage(initialPage);\n setItemsPerPage(initialItemsPerPage);\n }, [initialSearch, initialFilters, initialPage, initialItemsPerPage]);\n\n const queryParams = useMemo(() => {\n const baseParams = {\n search: searchQuery,\n page: currentPage,\n limit: itemsPerPage,\n };\n\n // Add active filters to params\n const filterParams: Record<string, string> = {};\n Object.entries(filters).forEach(([key, value]) => {\n if (value) {\n filterParams[key] = value;\n }\n });\n\n return { ...baseParams, ...filterParams };\n }, [searchQuery, filters, currentPage, itemsPerPage]);\n\n return {\n searchQuery,\n setSearchQuery: handleSetSearchQuery,\n filters,\n setFilter,\n clearFilters,\n currentPage,\n itemsPerPage,\n setCurrentPage,\n setItemsPerPage: handleSetItemsPerPage,\n queryParams,\n resetAll,\n };\n};\n"],"mappings":";;;AAqCA,MAAa,gBAAgB,EAC3B,gBAAgB,IAChB,iBAAiB,EAAE,EACnB,cAAc,GACd,sBAAsB,OACC,EAAE,KAAyB;CAClD,MAAM,CAAC,aAAa,kBAAkB,SAAS,cAAc;CAC7D,MAAM,CAAC,SAAS,cAAc,SAAS,eAAe;CACtD,MAAM,CAAC,aAAa,kBAAkB,SAAS,YAAY;CAC3D,MAAM,CAAC,cAAc,mBAAmB,SAAS,oBAAoB;CAErE,MAAM,YAAY,aAAa,KAAa,UAAkB;AAC5D,cAAY,UAAU;GACpB,GAAG;IACF,MAAM;GACR,EAAE;AAEH,iBAAe,EAAE;IAChB,EAAE,CAAC;CAEN,MAAM,eAAe,kBAAkB;AACrC,aAAW,EAAE,CAAC;AACd,iBAAe,EAAE;IAChB,EAAE,CAAC;CAEN,MAAM,uBAAuB,aAAa,UAAkB;AAC1D,iBAAe,MAAM;AAErB,iBAAe,EAAE;IAChB,EAAE,CAAC;CAEN,MAAM,wBAAwB,aAAa,oBAA4B;AACrE,kBAAgB,gBAAgB;AAEhC,iBAAe,EAAE;IAChB,EAAE,CAAC;CAEN,MAAM,WAAW,kBAAkB;AACjC,iBAAe,cAAc;AAC7B,aAAW,eAAe;AAC1B,iBAAe,YAAY;AAC3B,kBAAgB,oBAAoB;IACnC;EAAC;EAAe;EAAgB;EAAa;EAAoB,CAAC;AAoBrE,QAAO;EACL;EACA,gBAAgB;EAChB;EACA;EACA;EACA;EACA;EACA;EACA,iBAAiB;EACjB,aA5BkB,cAAc;GAChC,MAAM,aAAa;IACjB,QAAQ;IACR,MAAM;IACN,OAAO;IACR;GAGD,MAAM,eAAuC,EAAE;AAC/C,UAAO,QAAQ,QAAQ,CAAC,SAAS,CAAC,KAAK,WAAW;AAChD,QAAI,MACF,cAAa,OAAO;KAEtB;AAEF,UAAO;IAAE,GAAG;IAAY,GAAG;IAAc;KACxC;GAAC;GAAa;GAAS;GAAa;GAAa,CAAC;EAanD;EACD"}
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime112 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime155 from "react/jsx-runtime";
2
2
 
3
3
  //#region ui/usecases/UseCaseCard.d.ts
4
4
  declare function UseCaseCard({
@@ -13,7 +13,7 @@ declare function UseCaseCard({
13
13
  ctaHref?: string;
14
14
  ctaLabel?: string;
15
15
  onCtaClick?: () => void;
16
- }): react_jsx_runtime112.JSX.Element;
16
+ }): react_jsx_runtime155.JSX.Element;
17
17
  //#endregion
18
18
  export { UseCaseCard };
19
19
  //# sourceMappingURL=UseCaseCard.d.ts.map
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime113 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime83 from "react/jsx-runtime";
2
2
 
3
3
  //#region ui/usecases/UserStoryCard.d.ts
4
4
  declare function UserStoryCard({
@@ -9,7 +9,7 @@ declare function UserStoryCard({
9
9
  title: string;
10
10
  body?: string;
11
11
  outcome?: string;
12
- }): react_jsx_runtime113.JSX.Element;
12
+ }): react_jsx_runtime83.JSX.Element;
13
13
  //#endregion
14
14
  export { UserStoryCard };
15
15
  //# sourceMappingURL=UserStoryCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UserStoryCard.d.ts","names":[],"sources":["../../../ui/usecases/UserStoryCard.tsx"],"sourcesContent":[],"mappings":";;;iBAGgB,aAAA;;;;;;;EAAA,OAAA,CAAA,EAAA,MAAa;CAC3B,CAAA,EAOD,oBAAA,CAAA,GAAA,CAAA,OAPC"}
1
+ {"version":3,"file":"UserStoryCard.d.ts","names":[],"sources":["../../../ui/usecases/UserStoryCard.tsx"],"sourcesContent":[],"mappings":";;;iBAGgB,aAAA;;;;;;;EAAA,OAAA,CAAA,EAAA,MAAa;CAC3B,CAAA,EAOD,mBAAA,CAAA,GAAA,CAAA,OAPC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contractspec/lib.ui-kit",
3
- "version": "1.46.2",
3
+ "version": "1.47.0",
4
4
  "description": "Cross-platform UI components for React Native and web",
5
5
  "keywords": [
6
6
  "contractspec",
@@ -11,8 +11,6 @@
11
11
  "typescript"
12
12
  ],
13
13
  "type": "module",
14
- "main": "./dist/index.js",
15
- "module": "./dist/index.js",
16
14
  "types": "./dist/index.d.ts",
17
15
  "sideEffects": false,
18
16
  "scripts": {
@@ -28,9 +26,10 @@
28
26
  "lint:check": "eslint ui"
29
27
  },
30
28
  "dependencies": {
31
- "@contractspec/lib.ui-kit-core": "1.46.2",
32
- "@react-native-community/datetimepicker": "^8.4.5",
29
+ "@contractspec/lib.ui-kit-core": "1.47.0",
30
+ "@hookform/resolvers": "^5.2.2",
33
31
  "@react-native-async-storage/async-storage": "^2.1.2",
32
+ "@react-native-community/datetimepicker": "^8.6.0",
34
33
  "@react-navigation/native": "^7.1.26",
35
34
  "@rn-primitives/accordion": "^1.2.0",
36
35
  "@rn-primitives/alert-dialog": "^1.2.0",
@@ -79,10 +78,12 @@
79
78
  "expo-system-ui": "~5.0.7",
80
79
  "expo-updates": "~0.28.15",
81
80
  "expo-web-browser": "^14.2.0",
81
+ "lucide-react": "^0.562.0",
82
82
  "lucide-react-native": "^0.562.0",
83
83
  "nativewind": "5.0.0-preview.2",
84
84
  "react": "19.2.3",
85
85
  "react-dom": "19.2.3",
86
+ "react-hook-form": "^7.70.0",
86
87
  "react-native": "0.81.4",
87
88
  "react-native-device-info": "^14.1.1",
88
89
  "react-native-localize": "^3.5.2",
@@ -94,13 +95,15 @@
94
95
  "react-use": "^17.6.0",
95
96
  "tailwind-merge": "^3.3.1",
96
97
  "tailwindcss": "4.1.18",
97
- "tailwindcss-animate": "^1.0.7"
98
+ "tailwindcss-animate": "^1.0.7",
99
+ "zod": "^4.3.5"
98
100
  },
99
101
  "devDependencies": {
100
- "@babel/core": "^7.28.4",
101
- "@contractspec/tool.typescript": "1.46.2",
102
- "@contractspec/tool.tsdown": "1.46.2",
103
- "tsdown": "^0.18.3",
102
+ "@babel/core": "^7.28.6",
103
+ "@contractspec/tool.tsdown": "1.47.0",
104
+ "@contractspec/tool.typescript": "1.47.0",
105
+ "react-native-css": "^3.0.0",
106
+ "tsdown": "^0.19.0",
104
107
  "typescript": "^5.9.3"
105
108
  },
106
109
  "exports": {