thread-ui 0.5.0 → 0.7.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 (252) hide show
  1. package/README.md +10 -2
  2. package/dist/components/data-display/data-display-controls/data-display-controls.d.ts +2 -0
  3. package/dist/components/data-display/data-display-controls/data-display-controls.js +48 -0
  4. package/dist/components/data-display/data-display-controls/data-display-controls.js.map +1 -0
  5. package/dist/components/data-display/data-display-controls/data-display-controls.types.d.ts +19 -0
  6. package/dist/components/data-display/data-display-controls/data-display-controls.types.js +2 -0
  7. package/dist/components/data-display/data-display-controls/data-display-controls.types.js.map +1 -0
  8. package/dist/components/data-display/data-display-controls/index.d.ts +2 -0
  9. package/dist/components/data-display/data-display-controls/index.js +2 -0
  10. package/dist/components/data-display/data-display-controls/index.js.map +1 -0
  11. package/dist/components/data-display/data-display-controls/use-data-display-controls.d.ts +2 -0
  12. package/dist/components/data-display/data-display-controls/use-data-display-controls.js +41 -0
  13. package/dist/components/data-display/data-display-controls/use-data-display-controls.js.map +1 -0
  14. package/dist/components/data-display/filter-controls/filter-controls.types.d.ts +91 -0
  15. package/dist/components/data-display/filter-controls/filter-controls.types.js +2 -0
  16. package/dist/components/data-display/filter-controls/filter-controls.types.js.map +1 -0
  17. package/dist/components/data-display/filter-controls/index.d.ts +4 -0
  18. package/dist/components/data-display/filter-controls/index.js +4 -0
  19. package/dist/components/data-display/filter-controls/index.js.map +1 -0
  20. package/dist/components/data-display/filter-controls/use-filter-controls.d.ts +23 -0
  21. package/dist/components/data-display/filter-controls/use-filter-controls.js +98 -0
  22. package/dist/components/data-display/filter-controls/use-filter-controls.js.map +1 -0
  23. package/dist/components/data-display/filter-controls/variants/filter-controls.d.ts +10 -0
  24. package/dist/components/data-display/filter-controls/variants/filter-controls.js +52 -0
  25. package/dist/components/data-display/filter-controls/variants/filter-controls.js.map +1 -0
  26. package/dist/components/data-display/filter-controls/variants/inline-filter-controls.d.ts +13 -0
  27. package/dist/components/data-display/filter-controls/variants/inline-filter-controls.js +77 -0
  28. package/dist/components/data-display/filter-controls/variants/inline-filter-controls.js.map +1 -0
  29. package/dist/components/data-display/index.d.ts +3 -0
  30. package/dist/components/data-display/index.js +4 -0
  31. package/dist/components/data-display/index.js.map +1 -0
  32. package/dist/components/data-display/sort-controls/index.d.ts +3 -0
  33. package/dist/components/data-display/sort-controls/index.js +3 -0
  34. package/dist/components/data-display/sort-controls/index.js.map +1 -0
  35. package/dist/components/data-display/sort-controls/sort-controls.d.ts +11 -0
  36. package/dist/components/data-display/sort-controls/sort-controls.js +58 -0
  37. package/dist/components/data-display/sort-controls/sort-controls.js.map +1 -0
  38. package/dist/components/data-display/sort-controls/sort-controls.types.d.ts +68 -0
  39. package/dist/components/data-display/sort-controls/sort-controls.types.js +2 -0
  40. package/dist/components/data-display/sort-controls/sort-controls.types.js.map +1 -0
  41. package/dist/components/data-display/sort-controls/use-sort-controls.d.ts +23 -0
  42. package/dist/components/data-display/sort-controls/use-sort-controls.js +94 -0
  43. package/dist/components/data-display/sort-controls/use-sort-controls.js.map +1 -0
  44. package/dist/components/form-elements/{dropdown → dropdowns/dropdown}/dropdown.d.ts +1 -1
  45. package/dist/components/form-elements/dropdowns/dropdown/dropdown.js +41 -0
  46. package/dist/components/form-elements/dropdowns/dropdown/dropdown.js.map +1 -0
  47. package/dist/components/form-elements/{dropdown → dropdowns/dropdown}/dropdown.types.d.ts +7 -9
  48. package/dist/components/form-elements/dropdowns/dropdown/dropdown.types.js.map +1 -0
  49. package/dist/components/form-elements/dropdowns/dropdown/index.js.map +1 -0
  50. package/dist/components/form-elements/dropdowns/dropdown-base/dropdown-base.d.ts +8 -0
  51. package/dist/components/form-elements/dropdowns/dropdown-base/dropdown-base.js +46 -0
  52. package/dist/components/form-elements/dropdowns/dropdown-base/dropdown-base.js.map +1 -0
  53. package/dist/components/form-elements/dropdowns/dropdown-base/dropdown-base.types.d.ts +26 -0
  54. package/dist/components/form-elements/dropdowns/dropdown-base/dropdown-base.types.js +2 -0
  55. package/dist/components/form-elements/dropdowns/dropdown-base/dropdown-base.types.js.map +1 -0
  56. package/dist/components/form-elements/dropdowns/dropdown-base/index.d.ts +2 -0
  57. package/dist/components/form-elements/dropdowns/dropdown-base/index.js +2 -0
  58. package/dist/components/form-elements/dropdowns/dropdown-base/index.js.map +1 -0
  59. package/dist/components/form-elements/dropdowns/index.d.ts +2 -0
  60. package/dist/components/form-elements/dropdowns/index.js +3 -0
  61. package/dist/components/form-elements/dropdowns/index.js.map +1 -0
  62. package/dist/components/form-elements/dropdowns/multi-dropdown/index.d.ts +2 -0
  63. package/dist/components/form-elements/dropdowns/multi-dropdown/index.js +2 -0
  64. package/dist/components/form-elements/dropdowns/multi-dropdown/index.js.map +1 -0
  65. package/dist/components/form-elements/dropdowns/multi-dropdown/multi-dropdown.d.ts +15 -0
  66. package/dist/components/form-elements/dropdowns/multi-dropdown/multi-dropdown.js +55 -0
  67. package/dist/components/form-elements/dropdowns/multi-dropdown/multi-dropdown.js.map +1 -0
  68. package/dist/components/form-elements/dropdowns/multi-dropdown/multi-dropdown.types.d.ts +25 -0
  69. package/dist/components/form-elements/dropdowns/multi-dropdown/multi-dropdown.types.js +2 -0
  70. package/dist/components/form-elements/dropdowns/multi-dropdown/multi-dropdown.types.js.map +1 -0
  71. package/dist/components/form-elements/file-upload/components/file-upload-content.js +12 -12
  72. package/dist/components/form-elements/file-upload/components/file-upload-content.js.map +1 -1
  73. package/dist/components/form-elements/file-upload/components/file-upload-preview.js +35 -35
  74. package/dist/components/form-elements/file-upload/components/file-upload-preview.js.map +1 -1
  75. package/dist/components/form-elements/file-upload/components/item-previews.js +22 -22
  76. package/dist/components/form-elements/file-upload/components/item-previews.js.map +1 -1
  77. package/dist/components/form-elements/form-label/form-label.d.ts +1 -1
  78. package/dist/components/form-elements/form-label/form-label.js +35 -9
  79. package/dist/components/form-elements/form-label/form-label.js.map +1 -1
  80. package/dist/components/form-elements/form-label/form-label.types.d.ts +3 -0
  81. package/dist/components/form-elements/index.d.ts +2 -2
  82. package/dist/components/form-elements/index.js +2 -2
  83. package/dist/components/form-elements/index.js.map +1 -1
  84. package/dist/components/form-elements/input-wrapper.js +8 -8
  85. package/dist/components/form-elements/input-wrapper.js.map +1 -1
  86. package/dist/components/form-elements/number-input/number-input.js +55 -55
  87. package/dist/components/form-elements/number-input/number-input.js.map +1 -1
  88. package/dist/components/form-elements/text-input/text-input.js +4 -4
  89. package/dist/components/form-elements/text-input/text-input.js.map +1 -1
  90. package/dist/components/index.d.ts +1 -0
  91. package/dist/components/index.js +1 -0
  92. package/dist/components/index.js.map +1 -1
  93. package/dist/components/layouts/column-layout/column-layout.d.ts +1 -1
  94. package/dist/components/layouts/column-layout/column-layout.js +25 -22
  95. package/dist/components/layouts/column-layout/column-layout.js.map +1 -1
  96. package/dist/components/layouts/column-layout/column-layout.types.d.ts +4 -1
  97. package/dist/components/layouts/container/container.d.ts +11 -0
  98. package/dist/components/layouts/container/container.js +28 -0
  99. package/dist/components/layouts/container/container.js.map +1 -0
  100. package/dist/components/layouts/container/container.types.d.ts +11 -0
  101. package/dist/components/layouts/container/container.types.js +2 -0
  102. package/dist/components/layouts/container/container.types.js.map +1 -0
  103. package/dist/components/layouts/container/index.d.ts +2 -0
  104. package/dist/components/layouts/container/index.js +2 -0
  105. package/dist/components/layouts/container/index.js.map +1 -0
  106. package/dist/components/layouts/footer/footer.js +38 -38
  107. package/dist/components/layouts/footer/footer.js.map +1 -1
  108. package/dist/components/layouts/index.d.ts +1 -0
  109. package/dist/components/layouts/index.js +1 -0
  110. package/dist/components/layouts/index.js.map +1 -1
  111. package/dist/components/layouts/layout-component.types.d.ts +9 -0
  112. package/dist/components/layouts/layout-component.types.js +2 -0
  113. package/dist/components/layouts/layout-component.types.js.map +1 -0
  114. package/dist/components/layouts/layout-wrapper.d.ts +7 -0
  115. package/dist/components/layouts/layout-wrapper.js +9 -0
  116. package/dist/components/layouts/layout-wrapper.js.map +1 -0
  117. package/dist/components/layouts/masonry-layout/masonry-layout.d.ts +1 -1
  118. package/dist/components/layouts/masonry-layout/masonry-layout.js +18 -18
  119. package/dist/components/layouts/masonry-layout/masonry-layout.js.map +1 -1
  120. package/dist/components/layouts/masonry-layout/masonry-layout.types.d.ts +3 -2
  121. package/dist/components/media/info-card/info-card.js +51 -52
  122. package/dist/components/media/info-card/info-card.js.map +1 -1
  123. package/dist/components/media/media-card/media-card.js +133 -119
  124. package/dist/components/media/media-card/media-card.js.map +1 -1
  125. package/dist/components/navigation/nav-menu/items/base-item/base-item.d.ts +1 -1
  126. package/dist/components/navigation/nav-menu/items/base-item/base-item.js +38 -38
  127. package/dist/components/navigation/nav-menu/items/base-item/base-item.js.map +1 -1
  128. package/dist/components/navigation/nav-menu/items/nav-drop-down-item/nav-drop-down-item.js +58 -58
  129. package/dist/components/navigation/nav-menu/items/nav-drop-down-item/nav-drop-down-item.js.map +1 -1
  130. package/dist/components/navigation/nav-menu/nav-menu.js +104 -104
  131. package/dist/components/navigation/nav-menu/nav-menu.js.map +1 -1
  132. package/dist/components/navigation/side-nav/side-nav-item/side-nav-item.js +42 -42
  133. package/dist/components/navigation/side-nav/side-nav-item/side-nav-item.js.map +1 -1
  134. package/dist/components/navigation/side-nav/side-nav.js +15 -15
  135. package/dist/components/navigation/side-nav/side-nav.js.map +1 -1
  136. package/dist/components/typography/page-header/page-header.js +14 -14
  137. package/dist/components/typography/page-header/page-header.js.map +1 -1
  138. package/dist/components/typography/typography.d.ts +10 -8
  139. package/dist/components/typography/typography.js +42 -8
  140. package/dist/components/typography/typography.js.map +1 -1
  141. package/dist/components/ui/button/button-recipe.js +90 -6
  142. package/dist/components/ui/button/button-recipe.js.map +1 -1
  143. package/dist/components/ui/button/button.d.ts +1 -1
  144. package/dist/components/ui/button/button.js +3 -2
  145. package/dist/components/ui/button/button.js.map +1 -1
  146. package/dist/components/ui/button/button.types.d.ts +5 -1
  147. package/dist/components/ui/card/card.js +72 -72
  148. package/dist/components/ui/card/card.js.map +1 -1
  149. package/dist/components/ui/divider/divider.js +24 -22
  150. package/dist/components/ui/divider/divider.js.map +1 -1
  151. package/dist/components/ui/icon/icon.d.ts +1 -1
  152. package/dist/components/ui/icon/icon.js +1 -1
  153. package/dist/components/ui/icon-button/icon-button.d.ts +1 -1
  154. package/dist/components/ui/icon-button/icon-button.js +4 -7
  155. package/dist/components/ui/icon-button/icon-button.js.map +1 -1
  156. package/dist/components/ui/loaders/dots-loader/dots-loader.js +46 -46
  157. package/dist/components/ui/loaders/dots-loader/dots-loader.js.map +1 -1
  158. package/dist/components/ui/loaders/skeleton/skeleton.js +17 -17
  159. package/dist/components/ui/loaders/skeleton/skeleton.js.map +1 -1
  160. package/dist/components/ui/loaders/spin-loader/spin-loader.js +28 -28
  161. package/dist/components/ui/loaders/spin-loader/spin-loader.js.map +1 -1
  162. package/dist/components/ui/modal/components/modal-content.js +80 -80
  163. package/dist/components/ui/modal/components/modal-content.js.map +1 -1
  164. package/dist/components/ui/modal/modal.js +33 -15
  165. package/dist/components/ui/modal/modal.js.map +1 -1
  166. package/dist/components/ui/modal/modal.types.d.ts +2 -0
  167. package/dist/components/ui/toggle/toggle.js +37 -48
  168. package/dist/components/ui/toggle/toggle.js.map +1 -1
  169. package/dist/hooks/index.d.ts +3 -0
  170. package/dist/hooks/index.js +4 -0
  171. package/dist/hooks/index.js.map +1 -0
  172. package/dist/hooks/use-click-outside/index.d.ts +1 -0
  173. package/dist/hooks/use-click-outside/index.js +2 -0
  174. package/dist/hooks/use-click-outside/index.js.map +1 -0
  175. package/dist/hooks/use-click-outside/use-click-outside.d.ts +10 -0
  176. package/dist/hooks/use-click-outside/use-click-outside.js +26 -0
  177. package/dist/hooks/use-click-outside/use-click-outside.js.map +1 -0
  178. package/dist/hooks/use-dismiss/index.d.ts +1 -0
  179. package/dist/hooks/use-dismiss/index.js +2 -0
  180. package/dist/hooks/use-dismiss/index.js.map +1 -0
  181. package/dist/hooks/use-dismiss/use-dismiss.d.ts +13 -0
  182. package/dist/hooks/use-dismiss/use-dismiss.js +42 -0
  183. package/dist/hooks/use-dismiss/use-dismiss.js.map +1 -0
  184. package/dist/hooks/use-pathname/index.js.map +1 -0
  185. package/dist/hooks/use-pathname/use-pathname.d.ts +8 -0
  186. package/dist/{utils/hooks → hooks}/use-pathname/use-pathname.js +7 -0
  187. package/dist/hooks/use-pathname/use-pathname.js.map +1 -0
  188. package/dist/index.d.ts +1 -0
  189. package/dist/index.js +2 -0
  190. package/dist/index.js.map +1 -1
  191. package/dist/internal-components/conditional-wrapper/conditional-wrapper.d.ts +2 -0
  192. package/dist/internal-components/conditional-wrapper/conditional-wrapper.js +12 -0
  193. package/dist/internal-components/conditional-wrapper/conditional-wrapper.js.map +1 -0
  194. package/dist/internal-components/conditional-wrapper/conditional-wrapper.types.d.ts +9 -0
  195. package/dist/internal-components/conditional-wrapper/conditional-wrapper.types.js +2 -0
  196. package/dist/internal-components/conditional-wrapper/conditional-wrapper.types.js.map +1 -0
  197. package/dist/internal-components/conditional-wrapper/index.d.ts +2 -0
  198. package/dist/internal-components/conditional-wrapper/index.js +2 -0
  199. package/dist/internal-components/conditional-wrapper/index.js.map +1 -0
  200. package/dist/internal-components/image/render-image.js.map +1 -1
  201. package/dist/internal-components/index.d.ts +3 -1
  202. package/dist/internal-components/index.js +3 -1
  203. package/dist/internal-components/index.js.map +1 -1
  204. package/dist/internal-components/optional-icon-button/index.d.ts +2 -0
  205. package/dist/internal-components/optional-icon-button/index.js +2 -0
  206. package/dist/internal-components/optional-icon-button/index.js.map +1 -0
  207. package/dist/internal-components/optional-icon-button/optional-icon-button.d.ts +2 -0
  208. package/dist/internal-components/optional-icon-button/optional-icon-button.js +9 -0
  209. package/dist/internal-components/optional-icon-button/optional-icon-button.js.map +1 -0
  210. package/dist/internal-components/optional-icon-button/optional-icon-button.types.d.ts +4 -0
  211. package/dist/internal-components/optional-icon-button/optional-icon-button.types.js +2 -0
  212. package/dist/internal-components/optional-icon-button/optional-icon-button.types.js.map +1 -0
  213. package/dist/styled-system/recipes/button.d.ts +2 -1
  214. package/dist/styled-system/recipes/button.mjs +114 -1
  215. package/dist/styled-system/styles.css +1 -1
  216. package/dist/styles/panda.css +1 -1
  217. package/dist/theme/css-name-configurations/theme-css-names.d.ts +13 -1
  218. package/dist/types/colors/utility-color-options.types.d.ts +2 -0
  219. package/dist/types/image/image.types.d.ts +2 -0
  220. package/dist/types/theme/theme.types.d.ts +37 -23
  221. package/dist/types/utility/deep-partial.types.d.ts +1 -0
  222. package/dist/types/utility/index.d.ts +1 -0
  223. package/dist/types/utility/type-production.types.d.ts +4 -0
  224. package/dist/types/utility/type-production.types.js +2 -0
  225. package/dist/types/utility/type-production.types.js.map +1 -0
  226. package/dist/utils/index.d.ts +0 -1
  227. package/dist/utils/index.js +0 -1
  228. package/dist/utils/index.js.map +1 -1
  229. package/dist/utils/theme-utilities/get-utility-icon-size/get-utility-icon-size.js +4 -4
  230. package/dist/utils/theme-utilities/get-utility-icon-size/get-utility-icon-size.js.map +1 -1
  231. package/package.json +1 -1
  232. package/dist/components/form-elements/dropdown/dropdown.js +0 -83
  233. package/dist/components/form-elements/dropdown/dropdown.js.map +0 -1
  234. package/dist/components/form-elements/dropdown/dropdown.types.js.map +0 -1
  235. package/dist/components/form-elements/dropdown/index.js.map +0 -1
  236. package/dist/utils/hooks/index.d.ts +0 -2
  237. package/dist/utils/hooks/index.js +0 -3
  238. package/dist/utils/hooks/index.js.map +0 -1
  239. package/dist/utils/hooks/use-outside-close-click/index.d.ts +0 -1
  240. package/dist/utils/hooks/use-outside-close-click/index.js +0 -2
  241. package/dist/utils/hooks/use-outside-close-click/index.js.map +0 -1
  242. package/dist/utils/hooks/use-outside-close-click/use-outside-close-click.d.ts +0 -2
  243. package/dist/utils/hooks/use-outside-close-click/use-outside-close-click.js +0 -16
  244. package/dist/utils/hooks/use-outside-close-click/use-outside-close-click.js.map +0 -1
  245. package/dist/utils/hooks/use-pathname/index.js.map +0 -1
  246. package/dist/utils/hooks/use-pathname/use-pathname.d.ts +0 -1
  247. package/dist/utils/hooks/use-pathname/use-pathname.js.map +0 -1
  248. /package/dist/components/form-elements/{dropdown → dropdowns/dropdown}/dropdown.types.js +0 -0
  249. /package/dist/components/form-elements/{dropdown → dropdowns/dropdown}/index.d.ts +0 -0
  250. /package/dist/components/form-elements/{dropdown → dropdowns/dropdown}/index.js +0 -0
  251. /package/dist/{utils/hooks → hooks}/use-pathname/index.d.ts +0 -0
  252. /package/dist/{utils/hooks → hooks}/use-pathname/index.js +0 -0
@@ -0,0 +1,4 @@
1
+ export type Override<T, U> = Omit<T, keyof U> & U;
2
+ export type Prettify<T> = {
3
+ [K in keyof T]: T[K];
4
+ } & {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=type-production.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-production.types.js","sourceRoot":"","sources":["../../../src/types/utility/type-production.types.ts"],"names":[],"mappings":""}
@@ -1,5 +1,4 @@
1
1
  export * from './context';
2
2
  export * from './data-manipulation';
3
- export * from './hooks';
4
3
  export * from './misc';
5
4
  export * from './theme-utilities';
@@ -1,6 +1,5 @@
1
1
  export * from './context';
2
2
  export * from './data-manipulation';
3
- export * from './hooks';
4
3
  export * from './misc';
5
4
  export * from './theme-utilities';
6
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,QAAQ,CAAC;AACvB,cAAc,mBAAmB,CAAC"}
@@ -1,13 +1,13 @@
1
1
  export const getUtilityIconSize = (size) => {
2
2
  switch (size) {
3
3
  case 'sm':
4
- return 16;
4
+ return 8;
5
5
  case 'md':
6
- return 24;
6
+ return 16;
7
7
  case 'lg':
8
- return 32;
9
- default:
10
8
  return 24;
9
+ default:
10
+ return 16;
11
11
  }
12
12
  };
13
13
  //# sourceMappingURL=get-utility-icon-size.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-utility-icon-size.js","sourceRoot":"","sources":["../../../../src/utils/theme-utilities/get-utility-icon-size/get-utility-icon-size.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAwB,EAAa,EAAE;IACzE,QAAQ,IAAI,EAAE,CAAC;QACd,KAAK,IAAI;YACR,OAAO,EAAE,CAAC;QACX,KAAK,IAAI;YACR,OAAO,EAAE,CAAC;QACX,KAAK,IAAI;YACR,OAAO,EAAE,CAAC;QACX;YACC,OAAO,EAAE,CAAC;IACZ,CAAC;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"get-utility-icon-size.js","sourceRoot":"","sources":["../../../../src/utils/theme-utilities/get-utility-icon-size/get-utility-icon-size.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAwB,EAAa,EAAE;IACzE,QAAQ,IAAI,EAAE,CAAC;QACd,KAAK,IAAI;YACR,OAAO,CAAC,CAAC;QACV,KAAK,IAAI;YACR,OAAO,EAAE,CAAC;QACX,KAAK,IAAI;YACR,OAAO,EAAE,CAAC;QACX;YACC,OAAO,EAAE,CAAC;IACZ,CAAC;AACF,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thread-ui",
3
- "version": "0.5.0",
3
+ "version": "0.7.0",
4
4
  "author": "Andrew Fisher",
5
5
  "description": "UI Library for React Applications.",
6
6
  "license": "MIT",
@@ -1,83 +0,0 @@
1
- 'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { useRef, useState } from 'react';
4
- import { InputWrapper } from '../input-wrapper';
5
- import { FormLabel } from '../form-label';
6
- import { Icon } from '../../../components/ui';
7
- import { css, cva, cx } from '../../../styled-system/css';
8
- import { baseInputStyles } from '../styles';
9
- import { useOutsideCloseClick } from '../../../utils';
10
- /**
11
- * Single-select dropdown with an option list and outside-click dismissal.
12
- *
13
- * @example
14
- * <Dropdown
15
- * title="Status"
16
- * value={status}
17
- * options={[{ label: 'Active', value: 'active' }, { label: 'Inactive', value: 'inactive' }]}
18
- * onSelect={(val) => setStatus(val)}
19
- * />
20
- */
21
- export const Dropdown = ({ id, title, value, options, onSelect, placeholder = 'Select an option...', }) => {
22
- // UI State Controls
23
- const [isOpen, setIsOpen] = useState(false);
24
- const dropdownRef = useRef(null);
25
- // Map Value to Dropdown Option
26
- const selected = options.find((opt) => opt.value === value);
27
- // User Actions
28
- const handleSelect = (option) => {
29
- onSelect(option.value);
30
- setIsOpen(false);
31
- };
32
- const toggleDropdown = () => setIsOpen(!isOpen);
33
- useOutsideCloseClick(true, dropdownRef, isOpen, () => setIsOpen(false));
34
- // Styles
35
- const styles = {
36
- container: css({
37
- width: '100%',
38
- color: 'text.standard',
39
- }),
40
- interior: css({
41
- width: '100%',
42
- position: 'relative',
43
- }),
44
- surfaceButton: css({
45
- width: '100%',
46
- display: 'flex',
47
- justifyContent: 'space-between',
48
- alignItems: 'center',
49
- }),
50
- list: css({
51
- backgroundColor: 'background',
52
- position: 'absolute',
53
- width: '100%',
54
- borderWidth: 'md',
55
- borderColor: 'structure',
56
- borderRadius: 'md',
57
- marginTop: '1',
58
- boxShadow: 'lg',
59
- zIndex: '10',
60
- maxHeight: '60',
61
- overflow: 'auto',
62
- }),
63
- item: cva({
64
- base: {
65
- cursor: 'pointer',
66
- paddingX: '4',
67
- paddingY: '2',
68
- _hover: { backgroundColor: 'surface' },
69
- },
70
- variants: {
71
- isSelected: {
72
- true: {
73
- backgroundColor: 'elevated',
74
- },
75
- },
76
- },
77
- }),
78
- };
79
- return (_jsx("div", { id: id, className: styles.container, children: _jsxs(InputWrapper, { children: [title && _jsx(FormLabel, { name: title, title: title }), _jsxs("div", { className: styles.interior, children: [_jsxs("button", { className: cx(styles.surfaceButton, baseInputStyles({ alt: true })), onClick: toggleDropdown, type: "button", children: [_jsx("span", { children: selected ? selected.label : placeholder }), _jsx(Icon, { name: isOpen ? 'CaretUp' : 'CaretDown', size: 16, color: "black" })] }), isOpen && (_jsx("ul", { className: styles.list, ref: dropdownRef, children: options.map((option, index) => (_jsx("li", { className: styles.item({
80
- isSelected: option.value === selected?.value,
81
- }), onClick: () => handleSelect(option), children: option.label }, index))) }))] })] }) }));
82
- };
83
- //# sourceMappingURL=dropdown.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dropdown.js","sourceRoot":"","sources":["../../../../src/components/form-elements/dropdown/dropdown.tsx"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"dropdown.types.js","sourceRoot":"","sources":["../../../../src/components/form-elements/dropdown/dropdown.types.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/form-elements/dropdown/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './use-pathname';
2
- export * from './use-outside-close-click';
@@ -1,3 +0,0 @@
1
- export * from './use-pathname';
2
- export * from './use-outside-close-click';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC"}
@@ -1 +0,0 @@
1
- export * from './use-outside-close-click';
@@ -1,2 +0,0 @@
1
- export * from './use-outside-close-click';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/hooks/use-outside-close-click/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC"}
@@ -1,2 +0,0 @@
1
- import { RefObject } from 'react';
2
- export declare const useOutsideCloseClick: (enabled: boolean, ref: RefObject<HTMLElement | null>, isOpen: boolean, onClose: () => void) => void;
@@ -1,16 +0,0 @@
1
- 'use client';
2
- import { useEffect } from 'react';
3
- export const useOutsideCloseClick = (enabled, ref, isOpen, onClose) => {
4
- useEffect(() => {
5
- if (!isOpen || !enabled)
6
- return;
7
- const handleClickOutside = (e) => {
8
- if (ref.current && !ref.current.contains(e.target)) {
9
- onClose();
10
- }
11
- };
12
- document.addEventListener('mousedown', handleClickOutside);
13
- return () => document.removeEventListener('mousedown', handleClickOutside);
14
- }, [isOpen, ref, onClose]);
15
- };
16
- //# sourceMappingURL=use-outside-close-click.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-outside-close-click.js","sourceRoot":"","sources":["../../../../src/utils/hooks/use-outside-close-click/use-outside-close-click.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EAAE,SAAS,EAAa,MAAM,OAAO,CAAC;AAE7C,MAAM,CAAC,MAAM,oBAAoB,GAAG,CACnC,OAAgB,EAChB,GAAkC,EAClC,MAAe,EACf,OAAmB,EAClB,EAAE;IACH,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO;YAAE,OAAO;QAEhC,MAAM,kBAAkB,GAAG,CAAC,CAAa,EAAE,EAAE;YAC5C,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC,EAAE,CAAC;gBAC5D,OAAO,EAAE,CAAC;YACX,CAAC;QACF,CAAC,CAAC;QAEF,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QAC3D,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;IAC5E,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/hooks/use-pathname/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1 +0,0 @@
1
- export declare const usePathname: () => string;
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-pathname.js","sourceRoot":"","sources":["../../../../src/utils/hooks/use-pathname/use-pathname.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC/B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB;IAEnE,SAAS,CAAC,GAAG,EAAE;QACd,mCAAmC;QACnC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEtC,MAAM,oBAAoB,GAAG,GAAG,EAAE;YACjC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC,CAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;QAC1D,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;IAC3E,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC"}