stargazer-ui 1.2.1 → 1.3.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 (353) hide show
  1. package/Bar/Bar.type.d.ts +6 -0
  2. package/Bar/index.js +2 -0
  3. package/Bar/index.js.map +1 -0
  4. package/Bar/package.json +1 -0
  5. package/Button/Button.js +12 -0
  6. package/Button/Button.js.map +1 -0
  7. package/{types/components/Button → Button}/Button.types.d.ts +1 -2
  8. package/Button/index.d.ts +3 -0
  9. package/Button/index.js +7 -0
  10. package/Button/index.js.map +1 -0
  11. package/Button/package.json +1 -0
  12. package/ButtonGroup/ButtonGroup.d.ts +4 -0
  13. package/ButtonGroup/ButtonGroup.js +10 -0
  14. package/ButtonGroup/ButtonGroup.js.map +1 -0
  15. package/ButtonGroup/ButtonGroup.types.d.ts +7 -0
  16. package/ButtonGroup/index.d.ts +3 -0
  17. package/ButtonGroup/index.js +7 -0
  18. package/ButtonGroup/index.js.map +1 -0
  19. package/ButtonGroup/package.json +1 -0
  20. package/Card/Card.js +41 -0
  21. package/Card/Card.js.map +1 -0
  22. package/{types/components/Card → Card}/Card.types.d.ts +3 -1
  23. package/Card/index.d.ts +3 -0
  24. package/Card/index.js +7 -0
  25. package/Card/index.js.map +1 -0
  26. package/Card/package.json +1 -0
  27. package/CloseButton/CloseButton.js +11 -0
  28. package/CloseButton/CloseButton.js.map +1 -0
  29. package/{types/components/CloseButton → CloseButton}/CloseButton.types.d.ts +1 -1
  30. package/CloseButton/index.d.ts +3 -0
  31. package/CloseButton/index.js +7 -0
  32. package/CloseButton/index.js.map +1 -0
  33. package/CloseButton/package.json +1 -0
  34. package/Dropdown/Dropdown.js +309 -0
  35. package/Dropdown/Dropdown.js.map +1 -0
  36. package/{types/components/Dropdown → Dropdown}/Dropdown.types.d.ts +3 -10
  37. package/Dropdown/index.d.ts +4 -0
  38. package/Dropdown/index.js +8 -0
  39. package/Dropdown/index.js.map +1 -0
  40. package/Dropdown/package.json +1 -0
  41. package/FileUploadButton/FileUploadButton.d.ts +4 -0
  42. package/FileUploadButton/FileUploadButton.js +21 -0
  43. package/FileUploadButton/FileUploadButton.js.map +1 -0
  44. package/FileUploadButton/FileUploadButton.types.d.ts +7 -0
  45. package/FileUploadButton/index.d.ts +3 -0
  46. package/FileUploadButton/index.js +7 -0
  47. package/FileUploadButton/index.js.map +1 -0
  48. package/FileUploadButton/package.json +1 -0
  49. package/FloatingLabel/FloatingLabel.js +17 -0
  50. package/FloatingLabel/FloatingLabel.js.map +1 -0
  51. package/{types/components/FloatingLabel → FloatingLabel}/FloatingLabel.types.d.ts +1 -1
  52. package/FloatingLabel/index.d.ts +3 -0
  53. package/FloatingLabel/index.js +7 -0
  54. package/FloatingLabel/index.js.map +1 -0
  55. package/FloatingLabel/package.json +1 -0
  56. package/Form/Form.d.ts +42 -0
  57. package/Form/Form.js +370 -0
  58. package/Form/Form.js.map +1 -0
  59. package/Form/Form.types.d.ts +135 -0
  60. package/Form/index.d.ts +4 -0
  61. package/Form/index.js +8 -0
  62. package/Form/index.js.map +1 -0
  63. package/Form/package.json +1 -0
  64. package/InputGroup/InputGroup.d.ts +7 -0
  65. package/InputGroup/InputGroup.js +31 -0
  66. package/InputGroup/InputGroup.js.map +1 -0
  67. package/InputGroup/InputGroup.types.d.ts +16 -0
  68. package/InputGroup/index.d.ts +4 -0
  69. package/InputGroup/index.js +7 -0
  70. package/InputGroup/index.js.map +1 -0
  71. package/InputGroup/package.json +1 -0
  72. package/List/List.d.ts +14 -0
  73. package/List/List.js +76 -0
  74. package/List/List.js.map +1 -0
  75. package/List/List.types.d.ts +28 -0
  76. package/List/index.d.ts +3 -0
  77. package/List/index.js +7 -0
  78. package/List/index.js.map +1 -0
  79. package/List/package.json +1 -0
  80. package/{types/components/Modal → Modal}/Modal.d.ts +1 -1
  81. package/Modal/Modal.js +160 -0
  82. package/Modal/Modal.js.map +1 -0
  83. package/{types/components/Modal → Modal}/Modal.types.d.ts +3 -2
  84. package/Modal/index.d.ts +3 -0
  85. package/Modal/index.js +7 -0
  86. package/Modal/index.js.map +1 -0
  87. package/Modal/package.json +1 -0
  88. package/Nav/Nav.js +28 -0
  89. package/Nav/Nav.js.map +1 -0
  90. package/{types/components/Nav → Nav}/Nav.types.d.ts +1 -1
  91. package/Nav/index.d.ts +4 -0
  92. package/Nav/index.js +7 -0
  93. package/Nav/index.js.map +1 -0
  94. package/Nav/package.json +1 -0
  95. package/{types/components/NavBar → NavBar}/Navbar.d.ts +1 -2
  96. package/NavBar/Navbar.js +36 -0
  97. package/NavBar/Navbar.js.map +1 -0
  98. package/{types/components/NavBar → NavBar}/Navbar.types.d.ts +2 -1
  99. package/NavBar/index.d.ts +4 -0
  100. package/NavBar/index.js +8 -0
  101. package/NavBar/index.js.map +1 -0
  102. package/NavBar/package.json +1 -0
  103. package/{types/components/NavDropdown → NavDropdown}/NavDropdown.d.ts +2 -2
  104. package/NavDropdown/NavDropdown.js +77 -0
  105. package/NavDropdown/NavDropdown.js.map +1 -0
  106. package/NavDropdown/index.d.ts +3 -0
  107. package/NavDropdown/index.js +7 -0
  108. package/NavDropdown/index.js.map +1 -0
  109. package/NavDropdown/package.json +1 -0
  110. package/Overlay/Overlay.d.ts +4 -0
  111. package/Overlay/Overlay.js +236 -0
  112. package/Overlay/Overlay.js.map +1 -0
  113. package/Overlay/Overlay.types.d.ts +22 -0
  114. package/{src/Overlay/index.ts → Overlay/index.d.ts} +3 -3
  115. package/Overlay/index.js +7 -0
  116. package/Overlay/index.js.map +1 -0
  117. package/Overlay/package.json +1 -0
  118. package/Popout/Popout.js +110 -0
  119. package/Popout/Popout.js.map +1 -0
  120. package/{types/components/Popout → Popout}/Popout.types.d.ts +1 -1
  121. package/Popout/index.d.ts +3 -0
  122. package/Popout/index.js +7 -0
  123. package/Popout/index.js.map +1 -0
  124. package/Popout/package.json +1 -0
  125. package/Spinner/Spinner.js +12 -0
  126. package/Spinner/Spinner.js.map +1 -0
  127. package/Spinner/index.d.ts +3 -0
  128. package/Spinner/index.js +7 -0
  129. package/Spinner/index.js.map +1 -0
  130. package/Spinner/package.json +1 -0
  131. package/Table/Table.js +11 -0
  132. package/Table/Table.js.map +1 -0
  133. package/{types/components/Table → Table}/Table.types.d.ts +1 -1
  134. package/Table/index.d.ts +3 -0
  135. package/Table/index.js +7 -0
  136. package/Table/index.js.map +1 -0
  137. package/Table/package.json +1 -0
  138. package/Tabs/Tabs.js +168 -0
  139. package/Tabs/Tabs.js.map +1 -0
  140. package/{types/components/Tabs → Tabs}/Tabs.types.d.ts +12 -1
  141. package/Tabs/index.d.ts +3 -0
  142. package/Tabs/index.js +7 -0
  143. package/Tabs/index.js.map +1 -0
  144. package/Tabs/package.json +1 -0
  145. package/ToggleButton/ToggleButton.d.ts +4 -0
  146. package/ToggleButton/ToggleButton.js +17 -0
  147. package/ToggleButton/ToggleButton.js.map +1 -0
  148. package/ToggleButton/ToggleButton.types.d.ts +7 -0
  149. package/ToggleButton/index.d.ts +3 -0
  150. package/ToggleButton/index.js +7 -0
  151. package/ToggleButton/index.js.map +1 -0
  152. package/ToggleButton/package.json +1 -0
  153. package/{src/hooks/index.ts → hooks/index.d.ts} +6 -6
  154. package/hooks/index.js +7 -0
  155. package/hooks/index.js.map +1 -0
  156. package/hooks/package.json +1 -0
  157. package/hooks/useClassname.d.ts +2 -0
  158. package/hooks/useClassname.js +7 -0
  159. package/hooks/useClassname.js.map +1 -0
  160. package/hooks/useDraggable.d.ts +23 -0
  161. package/hooks/useDraggable.js +147 -0
  162. package/hooks/useDraggable.js.map +1 -0
  163. package/hooks/useKeepElementFocused.d.ts +2 -0
  164. package/hooks/useKeepElementFocused.js +37 -0
  165. package/hooks/useKeepElementFocused.js.map +1 -0
  166. package/hooks/useQueryParams.d.ts +2 -0
  167. package/hooks/useQueryParams.js +13 -0
  168. package/hooks/useQueryParams.js.map +1 -0
  169. package/hooks/useScreenSize.d.ts +5 -0
  170. package/hooks/useScreenSize.js +21 -0
  171. package/hooks/useScreenSize.js.map +1 -0
  172. package/index.d.ts +18 -0
  173. package/index.js +19 -0
  174. package/index.js.map +1 -0
  175. package/package.json +1 -79
  176. package/styles/stargazerui.css +6513 -0
  177. package/styles/stargazerui.css.map +1 -0
  178. package/{src/utils/BaseTypes.ts → utils/BaseTypes.d.ts} +24 -30
  179. package/utils/ContrastingColor.d.ts +1 -0
  180. package/utils/MergeClassnames.d.ts +2 -0
  181. package/utils/MergeClassnames.js +7 -0
  182. package/utils/MergeClassnames.js.map +1 -0
  183. package/utils/MergeRefs.d.ts +2 -0
  184. package/utils/MergeRefs.js +16 -0
  185. package/utils/MergeRefs.js.map +1 -0
  186. package/.babelrc.json +0 -10
  187. package/.eslintrc.cjs +0 -18
  188. package/.gitattributes +0 -2
  189. package/LICENSE +0 -21
  190. package/dev/index.html +0 -12
  191. package/dev/index.jsx +0 -49
  192. package/dev/index.scss +0 -59
  193. package/dev/pages/ButtonPage.jsx +0 -44
  194. package/dev/pages/CardPage.jsx +0 -81
  195. package/dev/pages/DropdownPage.jsx +0 -31
  196. package/dev/pages/FormPage.jsx +0 -130
  197. package/dev/pages/ListPage.jsx +0 -52
  198. package/dev/pages/ModalPage.jsx +0 -37
  199. package/dev/pages/OverlayPage.jsx +0 -35
  200. package/dev/pages/components.jsx +0 -19
  201. package/dev/stargazerui.css +0 -3762
  202. package/dev/stargazerui.css.map +0 -1
  203. package/dev/test.jsx +0 -88
  204. package/rollup.config.js +0 -140
  205. package/scripts/writePackageJsons.js +0 -42
  206. package/src/Bar/Bar.tsx +0 -0
  207. package/src/Bar/Bar.type.ts +0 -9
  208. package/src/Bar/index.ts +0 -0
  209. package/src/Button/Button.tsx +0 -17
  210. package/src/Button/Button.types.ts +0 -8
  211. package/src/Button/index.ts +0 -3
  212. package/src/ButtonGroup/ButtonGroup.tsx +0 -14
  213. package/src/ButtonGroup/ButtonGroup.types.ts +0 -8
  214. package/src/ButtonGroup/index.ts +0 -3
  215. package/src/Card/Card.tsx +0 -70
  216. package/src/Card/Card.types.ts +0 -33
  217. package/src/Card/index.ts +0 -3
  218. package/src/CloseButton/CloseButton.tsx +0 -14
  219. package/src/CloseButton/CloseButton.types.ts +0 -6
  220. package/src/CloseButton/index.ts +0 -3
  221. package/src/Dropdown/Dropdown.tsx +0 -358
  222. package/src/Dropdown/Dropdown.types.ts +0 -52
  223. package/src/Dropdown/index.ts +0 -4
  224. package/src/FileUploadButton/FileUploadButton.tsx +0 -27
  225. package/src/FileUploadButton/FileUploadButton.types.ts +0 -9
  226. package/src/FileUploadButton/index.ts +0 -3
  227. package/src/FloatingLabel/FloatingLabel.tsx +0 -22
  228. package/src/FloatingLabel/FloatingLabel.types.ts +0 -11
  229. package/src/FloatingLabel/index.ts +0 -3
  230. package/src/Form/Form.tsx +0 -445
  231. package/src/Form/Form.types.ts +0 -117
  232. package/src/Form/index.ts +0 -4
  233. package/src/InputGroup/InputGroup.tsx +0 -46
  234. package/src/InputGroup/InputGroup.types.ts +0 -21
  235. package/src/InputGroup/index.ts +0 -4
  236. package/src/List/List.tsx +0 -112
  237. package/src/List/List.types.ts +0 -34
  238. package/src/List/index.ts +0 -4
  239. package/src/Modal/Modal.tsx +0 -220
  240. package/src/Modal/Modal.types.ts +0 -49
  241. package/src/Modal/index.ts +0 -4
  242. package/src/Nav/Nav.tsx +0 -43
  243. package/src/Nav/Nav.types.ts +0 -21
  244. package/src/Nav/index.ts +0 -4
  245. package/src/NavBar/Navbar.tsx +0 -57
  246. package/src/NavBar/Navbar.types.ts +0 -24
  247. package/src/NavBar/index.ts +0 -4
  248. package/src/NavDropdown/NavDropdown.tsx +0 -93
  249. package/src/NavDropdown/NavDropdown.types.ts +0 -6
  250. package/src/NavDropdown/index.ts +0 -3
  251. package/src/Overlay/Overlay.tsx +0 -277
  252. package/src/Overlay/Overlay.types.ts +0 -20
  253. package/src/Popout/Popout.tsx +0 -155
  254. package/src/Popout/Popout.types.ts +0 -42
  255. package/src/Popout/index.ts +0 -3
  256. package/src/Spinner/Spinner.tsx +0 -15
  257. package/src/Spinner/Spinner.types.ts +0 -7
  258. package/src/Spinner/index.ts +0 -3
  259. package/src/Table/Table.tsx +0 -16
  260. package/src/Table/Table.types.ts +0 -9
  261. package/src/Table/index.ts +0 -3
  262. package/src/Tabs/Tabs.tsx +0 -215
  263. package/src/Tabs/Tabs.types.ts +0 -49
  264. package/src/Tabs/index.ts +0 -3
  265. package/src/ToggleButton/ToggleButton.tsx +0 -21
  266. package/src/ToggleButton/ToggleButton.types.ts +0 -8
  267. package/src/ToggleButton/index.ts +0 -3
  268. package/src/hooks/useClassname.ts +0 -5
  269. package/src/hooks/useDraggable.ts +0 -186
  270. package/src/hooks/useKeepElementFocused.ts +0 -37
  271. package/src/hooks/useScreenSize.ts +0 -24
  272. package/src/index.ts +0 -21
  273. package/src/styles/_Card.scss +0 -166
  274. package/src/styles/_CloseButton.scss +0 -51
  275. package/src/styles/_CustomButton.scss +0 -132
  276. package/src/styles/_Dropdown.scss +0 -120
  277. package/src/styles/_FloatingLabel.scss +0 -56
  278. package/src/styles/_Forms.scss +0 -7
  279. package/src/styles/_Grid.scss +0 -178
  280. package/src/styles/_InputGroup.scss +0 -71
  281. package/src/styles/_List.scss +0 -62
  282. package/src/styles/_Modal.scss +0 -234
  283. package/src/styles/_ModalOld.scss +0 -242
  284. package/src/styles/_Nav.scss +0 -36
  285. package/src/styles/_NavBar.scss +0 -116
  286. package/src/styles/_NavDropdown.scss +0 -34
  287. package/src/styles/_OffCanvas.scss +0 -260
  288. package/src/styles/_OverLay.scss +0 -56
  289. package/src/styles/_Popout.scss +0 -75
  290. package/src/styles/_Spinner.scss +0 -19
  291. package/src/styles/_Table.scss +0 -34
  292. package/src/styles/_Tabs.scss +0 -129
  293. package/src/styles/_colors.scss +0 -510
  294. package/src/styles/_components.scss +0 -40
  295. package/src/styles/_functions.scss +0 -134
  296. package/src/styles/_mixins.scss +0 -26
  297. package/src/styles/_reset.scss +0 -231
  298. package/src/styles/_utilities.scss +0 -2480
  299. package/src/styles/_variables.scss +0 -146
  300. package/src/styles/forms/_FormCheck.scss +0 -269
  301. package/src/styles/forms/_FormControl.scss +0 -102
  302. package/src/styles/forms/_FormGroup.scss +0 -21
  303. package/src/styles/forms/_FormLabel.scss +0 -3
  304. package/src/styles/forms/_FormSelect.scss +0 -164
  305. package/src/styles/forms/_FormSlider.scss +0 -116
  306. package/src/styles/forms/_FormText.scss +0 -6
  307. package/src/utils/ContrastingColor.ts +0 -25
  308. package/src/utils/FileImportExport.js +0 -50
  309. package/src/utils/MergeClassnames.ts +0 -5
  310. package/src/utils/MergeRefs.ts +0 -12
  311. package/src/vite-env.d.ts +0 -1
  312. package/tsconfig-build.json +0 -4
  313. package/tsconfig.json +0 -79
  314. package/tsconfig.node.json +0 -10
  315. package/types/BaseTypes.d.ts +0 -19
  316. package/types/components/Button/index.d.ts +0 -1
  317. package/types/components/Card/index.d.ts +0 -1
  318. package/types/components/CloseButton/index.d.ts +0 -1
  319. package/types/components/Dropdown/index.d.ts +0 -1
  320. package/types/components/FloatingLabel/index.d.ts +0 -1
  321. package/types/components/Form/Form.d.ts +0 -17
  322. package/types/components/Form/Form.types.d.ts +0 -50
  323. package/types/components/Form/index.d.ts +0 -1
  324. package/types/components/InputGroup/InputGroup.d.ts +0 -6
  325. package/types/components/InputGroup/InputGroup.types.d.ts +0 -10
  326. package/types/components/InputGroup/index.d.ts +0 -1
  327. package/types/components/Modal/index.d.ts +0 -1
  328. package/types/components/Nav/index.d.ts +0 -1
  329. package/types/components/NavBar/index.d.ts +0 -1
  330. package/types/components/NavDropdown/index.d.ts +0 -1
  331. package/types/components/Popout/index.d.ts +0 -1
  332. package/types/components/Spinner/index.d.ts +0 -1
  333. package/types/components/Table/index.d.ts +0 -1
  334. package/types/components/Tabs/index.d.ts +0 -1
  335. package/types/components/ToggleButton/ToggleButton.d.ts +0 -9
  336. package/types/components/ToggleButton/ToggleButton.types.d.ts +0 -0
  337. package/types/components/ToggleButton/index.d.ts +0 -1
  338. package/types/components/index.d.ts +0 -16
  339. package/types/index.d.ts +0 -1
  340. package/vite.config.js +0 -57
  341. package/vite.config.js.timestamp-1708777378490-e94428ceb2bf9.mjs +0 -42
  342. /package/{types/components/Button → Button}/Button.d.ts +0 -0
  343. /package/{types/components/Card → Card}/Card.d.ts +0 -0
  344. /package/{types/components/CloseButton → CloseButton}/CloseButton.d.ts +0 -0
  345. /package/{types/components/Dropdown → Dropdown}/Dropdown.d.ts +0 -0
  346. /package/{types/components/FloatingLabel → FloatingLabel}/FloatingLabel.d.ts +0 -0
  347. /package/{types/components/Nav → Nav}/Nav.d.ts +0 -0
  348. /package/{types/components/NavDropdown → NavDropdown}/NavDropdown.types.d.ts +0 -0
  349. /package/{types/components/Popout → Popout}/Popout.d.ts +0 -0
  350. /package/{types/components/Spinner → Spinner}/Spinner.d.ts +0 -0
  351. /package/{types/components/Spinner → Spinner}/Spinner.types.d.ts +0 -0
  352. /package/{types/components/Table → Table}/Table.d.ts +0 -0
  353. /package/{types/components/Tabs → Tabs}/Tabs.d.ts +0 -0
@@ -0,0 +1,135 @@
1
+ import { ReactNode, Dispatch } from "react";
2
+ import { BaseParagraphType, BaseDivType, BaseFormType, BaseInputType, BaseLabelType, BaseLItemType, BaseSelectType, BaseSpanType, BaseSmallType, BaseUListType, BaseSVGType } from "../utils/BaseTypes";
3
+ export type FormTagContextType = {
4
+ noValidate: boolean;
5
+ };
6
+ export type FormContextType = {
7
+ controlId?: string;
8
+ isInputGroup?: boolean;
9
+ isFLoatingLabel?: boolean;
10
+ };
11
+ export type FormType = {
12
+ children: ReactNode;
13
+ } & BaseFormType;
14
+ type ErrorMessageType = {
15
+ message: string;
16
+ type?: string;
17
+ className?: string;
18
+ style?: React.CSSProperties;
19
+ } & BaseParagraphType;
20
+ type HintMessageType = {
21
+ message: string;
22
+ className?: string;
23
+ style?: React.CSSProperties;
24
+ } & BaseParagraphType;
25
+ export type ErrorType = {
26
+ children?: ReactNode;
27
+ } & ErrorMessageType;
28
+ export type HintType = {
29
+ children?: ReactNode;
30
+ } & HintMessageType;
31
+ export type FormControlType = {
32
+ as?: React.ElementType;
33
+ className?: string;
34
+ plaintext?: boolean;
35
+ id?: string;
36
+ type?: string;
37
+ autoFocus?: boolean;
38
+ error?: ErrorMessageType;
39
+ hint?: HintMessageType;
40
+ } & BaseInputType;
41
+ export type SelectContextType = {
42
+ internalId?: string;
43
+ showList: boolean;
44
+ setShowList: Dispatch<React.SetStateAction<boolean>>;
45
+ activeDescendant: string;
46
+ setActiveDescendant: Dispatch<React.SetStateAction<string>>;
47
+ inputValue: string;
48
+ setInputValue: Dispatch<React.SetStateAction<string>>;
49
+ };
50
+ export type FormSelectType = {
51
+ children: ReactNode;
52
+ className?: string;
53
+ id?: string;
54
+ required?: boolean;
55
+ } & (BaseSelectType & BaseDivType);
56
+ export type FormSelectControlType = {
57
+ children?: ReactNode;
58
+ className?: string;
59
+ placeholder?: string;
60
+ searchable?: boolean;
61
+ inputRef?: React.Ref<HTMLInputElement>;
62
+ inputOptions?: FormSelectInputType;
63
+ } & BaseDivType;
64
+ export type FormSelectInputType = {
65
+ className?: string;
66
+ id?: string;
67
+ } & BaseInputType;
68
+ export type FormSelectListType = {
69
+ children: ReactNode;
70
+ className?: string;
71
+ id?: string;
72
+ } & BaseUListType;
73
+ export type FormSelectListItemType = {
74
+ children: ReactNode;
75
+ className?: string;
76
+ id?: string;
77
+ value?: string;
78
+ } & BaseLItemType;
79
+ export type FormGroupType = {
80
+ children: ReactNode;
81
+ className?: string;
82
+ controlId: string;
83
+ vertical?: boolean;
84
+ } & BaseDivType;
85
+ export type FormLabelType = {
86
+ children: ReactNode;
87
+ className?: string;
88
+ htmlFor?: string;
89
+ } & BaseLabelType;
90
+ export type FormCheckType = {
91
+ children?: ReactNode;
92
+ style?: React.CSSProperties;
93
+ classNameContainer?: string;
94
+ containerRef?: React.LegacyRef<HTMLDivElement>;
95
+ containerId?: string;
96
+ styleContainer?: React.CSSProperties;
97
+ classNameLabel?: string;
98
+ labelRef?: React.LegacyRef<HTMLLabelElement>;
99
+ label?: string;
100
+ labelId?: string;
101
+ styleLabel?: React.CSSProperties;
102
+ className?: string;
103
+ type?: string;
104
+ controlId?: string;
105
+ reverse?: boolean;
106
+ } & BaseInputType;
107
+ export type FormTextType = {
108
+ children: ReactNode;
109
+ className?: string;
110
+ } & BaseSmallType;
111
+ export type FormSliderType = {
112
+ children?: ReactNode;
113
+ className?: string;
114
+ style?: React.CSSProperties;
115
+ controlId: string;
116
+ min?: number;
117
+ max?: number;
118
+ step?: number;
119
+ defaultValue?: number;
120
+ value: number;
121
+ onChange(value: number): () => any;
122
+ } & BaseSpanType;
123
+ export type SliderContextType = {
124
+ children: ReactNode;
125
+ controlId: string;
126
+ min?: number;
127
+ max?: number;
128
+ step?: number;
129
+ };
130
+ export type WarningIconType = {
131
+ alt?: string;
132
+ size?: string | number;
133
+ color?: string;
134
+ } & BaseSVGType;
135
+ export {};
@@ -0,0 +1,4 @@
1
+ import Form from "./Form";
2
+ export default Form;
3
+ export { FormContextProvider, useFormContext } from "./Form";
4
+ export type { FormCheckType, FormContextType, FormControlType, FormGroupType, FormLabelType, FormSelectType, FormTextType, FormType } from "./Form.types";
package/Form/index.js ADDED
@@ -0,0 +1,8 @@
1
+ 'use client';
2
+ import Form from './Form.js';
3
+ export { FormContextProvider, useFormContext } from './Form.js';
4
+
5
+
6
+
7
+ export { Form as default };
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1 @@
1
+ {"name":"stargazer-ui/Form","private":false,"module":"./index.js","types":"./index.d.ts","peerDependencies":{"lodash":"^4.17.21","react":">=17.0.0","react-dom":">=17.0.0"}}
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ import { InputGroupText, InputGroupType, InputGroupGridType } from "./InputGroup.types";
3
+ declare const _default: React.ForwardRefExoticComponent<Omit<InputGroupType, "ref"> & React.RefAttributes<HTMLDivElement>> & {
4
+ Text: React.ForwardRefExoticComponent<Omit<InputGroupText, "ref"> & React.RefAttributes<HTMLLabelElement>>;
5
+ Grid: React.ForwardRefExoticComponent<Omit<InputGroupGridType, "ref"> & React.RefAttributes<HTMLDivElement>>;
6
+ };
7
+ export default _default;
@@ -0,0 +1,31 @@
1
+ 'use client';
2
+ import React, { forwardRef, useMemo } from 'react';
3
+ import { FormContextProvider, useFormContext } from '../Form/Form.js';
4
+ import useClassname from '../hooks/useClassname.js';
5
+ import 'lodash';
6
+
7
+ const InputGroup = forwardRef(({ children, className, controlId, ...restProps }, ref) => {
8
+ const context = useMemo(() => {
9
+ return { controlId: controlId, isInputGroup: true };
10
+ }, [controlId]);
11
+ return (React.createElement("div", { ref: ref, className: useClassname("sg-input-group", className), ...restProps },
12
+ React.createElement(FormContextProvider, { value: context }, children)));
13
+ });
14
+ InputGroup.displayName = "InputGroup";
15
+ const Grid = forwardRef(({ children, className, ...restProps }, ref) => {
16
+ return (React.createElement("div", { ref: ref, className: useClassname("sg-input-group-grid", className) }, children));
17
+ });
18
+ Grid.displayName = "InputGroupGrid";
19
+ const Text = forwardRef(({ children, className, htmlFor, ...restProps }, ref) => {
20
+ const { controlId } = useFormContext();
21
+ const computedHtmlFor = controlId ?? htmlFor;
22
+ return (React.createElement("label", { ref: ref, htmlFor: computedHtmlFor, className: useClassname("sg-input-group-text", className), ...restProps }, children));
23
+ });
24
+ Text.displayName = "InputGroupText";
25
+ var InputGroup$1 = Object.assign(InputGroup, {
26
+ Text: Text,
27
+ Grid: Grid
28
+ });
29
+
30
+ export { InputGroup$1 as default };
31
+ //# sourceMappingURL=InputGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputGroup.js","sources":["../../src/InputGroup/InputGroup.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAOA,MAAM,UAAU,GAAG,UAAU,CAAiC,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAG,GAAG,SAAS,EAAC,EAAE,GAAG,KAAI;AACnH,IAAA,MAAM,OAAO,GAAG,OAAO,CAAC,MAAK;QACzB,OAAO,EAAC,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAC,CAAA;AACrD,KAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;AACf,IAAA,QACI,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,CAAC,gBAAgB,EAAE,SAAS,CAAC,KAAM,SAAS,EAAA;QAC9E,KAAC,CAAA,aAAA,CAAA,mBAAmB,EAAC,EAAA,KAAK,EAAE,OAAO,IAC9B,QAAQ,CACS,CACpB,EACT;AACL,CAAC,CAAC,CAAA;AACF,UAAU,CAAC,WAAW,GAAG,YAAY,CAAA;AAErC,MAAM,IAAI,GAAG,UAAU,CAAsC,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,SAAS,EAAC,EAAE,GAAG,KAAI;AACtG,IAAA,QACI,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,CAAC,qBAAqB,EAAE,SAAS,CAAC,IACnE,QAAQ,CACP,EACT;AACL,CAAC,CAAC,CAAA;AACF,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAA;AAEnC,MAAM,IAAI,GAAG,UAAU,CAAoC,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,SAAS,EAAC,EAAE,GAAG,KAAI;AAC7G,IAAA,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAA;AAEtC,IAAA,MAAM,eAAe,GAAG,SAAS,IAAI,OAAO,CAAA;IAC5C,QACI,KAAO,CAAA,aAAA,CAAA,OAAA,EAAA,EAAA,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,CAAC,qBAAqB,EAAE,SAAS,CAAC,EAAA,GAAM,SAAS,EAC9G,EAAA,QAAQ,CACL,EACX;AACL,CAAC,CAAC,CAAA;AACF,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAA;AAEnC,mBAAgB,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE;AACtC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,IAAI,EAAE,IAAI;AACb,CAAA,CAAC;;;;"}
@@ -0,0 +1,16 @@
1
+ import { ReactNode } from "react";
2
+ import { BaseDivType, BaseLabelType } from "../utils/BaseTypes";
3
+ export type InputGroupType = {
4
+ children: ReactNode;
5
+ className?: string;
6
+ controlId: string;
7
+ } & BaseDivType;
8
+ export type InputGroupText = {
9
+ children: ReactNode;
10
+ className?: string;
11
+ htmlFor?: string;
12
+ } & BaseLabelType;
13
+ export type InputGroupGridType = {
14
+ children: ReactNode;
15
+ className?: string;
16
+ } & BaseDivType;
@@ -0,0 +1,4 @@
1
+ import InputGroup from "./InputGroup";
2
+ export default InputGroup;
3
+ export * from "./InputGroup";
4
+ export type { InputGroupText, InputGroupType } from "./InputGroup.types";
@@ -0,0 +1,7 @@
1
+ 'use client';
2
+ import InputGroup from './InputGroup.js';
3
+
4
+
5
+
6
+ export { InputGroup as default };
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -0,0 +1 @@
1
+ {"name":"stargazer-ui/InputGroup","private":false,"module":"./index.js","types":"./index.d.ts","peerDependencies":{"lodash":"^4.17.21","react":">=17.0.0","react-dom":">=17.0.0"}}
package/List/List.d.ts ADDED
@@ -0,0 +1,14 @@
1
+ import React from "react";
2
+ import { ListType, ListSublistType, ListItemType, ListLabelType, FormContextType } from "./List.types";
3
+ export declare const ListContext: React.Context<FormContextType | null>;
4
+ export declare const ListContextProvider: ({ children, value }: {
5
+ children: React.ReactNode;
6
+ value: FormContextType;
7
+ }) => React.JSX.Element;
8
+ export declare const useListContext: () => FormContextType | null;
9
+ declare const _default: React.ForwardRefExoticComponent<Omit<ListType, "ref"> & React.RefAttributes<HTMLUListElement>> & {
10
+ Sublist: React.ForwardRefExoticComponent<Omit<ListSublistType, "ref"> & React.RefAttributes<HTMLLIElement>>;
11
+ Item: React.ForwardRefExoticComponent<Omit<ListItemType, "ref"> & React.RefAttributes<HTMLLIElement>>;
12
+ Label: React.ForwardRefExoticComponent<Omit<ListLabelType, "ref"> & React.RefAttributes<HTMLSpanElement>>;
13
+ };
14
+ export default _default;
package/List/List.js ADDED
@@ -0,0 +1,76 @@
1
+ 'use client';
2
+ import React, { createContext, forwardRef, useMemo, useRef, cloneElement, useContext } from 'react';
3
+ import useDraggable from '../hooks/useDraggable.js';
4
+ import useClassname from '../hooks/useClassname.js';
5
+ import mergeRefs from '../utils/MergeRefs.js';
6
+
7
+ const ListContext = createContext(null);
8
+ const ListContextProvider = ({ children, value }) => {
9
+ return (React.createElement(ListContext.Provider, { value: value }, children));
10
+ };
11
+ const useListContext = () => {
12
+ const context = useContext(ListContext);
13
+ return context;
14
+ };
15
+ /*
16
+ const handlePhantomInsert = (event: React.PointerEvent, item: HTMLElement | null) => {
17
+ event.stopPropagation()
18
+ document.querySelectorAll(".phantom").forEach(phantom => phantom.remove())
19
+ if(item) { insertPhantomElement(item)}
20
+ }
21
+ */
22
+ const List = forwardRef(({ children, className, depth, tree = false, dragdrop = false, ...restProps }, ref) => {
23
+ const context = useListContext();
24
+ const initialContext = useMemo(() => ({
25
+ tree: tree,
26
+ draggable: dragdrop
27
+ }), []);
28
+ return (React.createElement("ul", { ref: ref, id: "test-list", "data-context": context ? "true" : "false", className: useClassname("sg-list", className), style: { "--depth": depth }, ...restProps }, !context ?
29
+ React.createElement(ListContextProvider, { value: initialContext }, children)
30
+ :
31
+ children));
32
+ });
33
+ List.displayName = "List";
34
+ const Sublist = forwardRef(({ children, className, depth, ...restProps }, ref) => {
35
+ const { draggable } = useListContext();
36
+ const itemRef = useRef(null);
37
+ const { coordinates, isMouseDown } = useDraggable(itemRef, { draggable });
38
+ return (React.createElement("li", { ref: mergeRefs([ref, itemRef]), "data-phantom": "none", className: useClassname("sg-sublist", className), style: { "--depth": depth, top: coordinates.top, left: coordinates.left, width: coordinates.width }, ...restProps }, children));
39
+ });
40
+ Sublist.displayName = "ListSubList";
41
+ const Item = forwardRef(({ children, className, ...restProps }, ref) => {
42
+ const { draggable } = useListContext();
43
+ const itemRef = useRef(null);
44
+ const { coordinates, isMouseDown } = useDraggable(itemRef, { draggable });
45
+ return (React.createElement("li", { ref: itemRef, "data-phantom": "none", className: useClassname("sg-list-item", className), style: { top: coordinates.top, left: coordinates.left, width: coordinates.width }, ...restProps }, children));
46
+ });
47
+ Item.displayName = "ListItem";
48
+ const Label = forwardRef(({ children, className, style, ...restProps }, ref) => {
49
+ const labelRef = useRef(null);
50
+ const computedClass = useClassname("sg-list-label", className);
51
+ //const coordinates = useDraggable(labelRef)
52
+ return ((typeof children === "string") ?
53
+ React.createElement("span", { ref: mergeRefs([ref, labelRef]), className: computedClass, style: { ...style }, ...restProps }, children)
54
+ :
55
+ cloneElement(children, {
56
+ ref: mergeRefs([ref, labelRef]),
57
+ className: computedClass,
58
+ style: { ...children.props.style }
59
+ }));
60
+ });
61
+ Label.displayName = "ListLabel";
62
+ /*
63
+ List.Sublist = Sublist
64
+ List.Item = Item
65
+ List.Label = Label
66
+
67
+ export default List
68
+ */
69
+ var List$1 = Object.assign(List, {
70
+ Sublist: Sublist,
71
+ Item: Item,
72
+ Label: Label
73
+ });
74
+
75
+ export { ListContext, ListContextProvider, List$1 as default, useListContext };
76
+ //# sourceMappingURL=List.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"List.js","sources":["../../src/List/List.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { ReactNode } from "react";
2
+ import { BaseUListType, BaseLItemType, BaseSpanType } from "../utils/BaseTypes";
3
+ export type FormContextType = {
4
+ depth?: number;
5
+ tree?: boolean;
6
+ draggable?: boolean;
7
+ };
8
+ export type ListType = {
9
+ children: ReactNode;
10
+ className: string;
11
+ depth: number;
12
+ tree: boolean;
13
+ dragdrop: boolean;
14
+ } & BaseUListType;
15
+ export type ListSublistType = {
16
+ children: ReactNode;
17
+ className: string;
18
+ depth: number;
19
+ } & BaseLItemType;
20
+ export type ListItemType = {
21
+ children: ReactNode;
22
+ className: string;
23
+ } & BaseLItemType;
24
+ export type ListLabelType = {
25
+ children: ReactNode;
26
+ className: string;
27
+ label: string;
28
+ } & BaseSpanType;
@@ -0,0 +1,3 @@
1
+ import List from "./List";
2
+ export type { ListType, ListSublistType, ListItemType, ListLabelType } from "./List.types";
3
+ export default List;
package/List/index.js ADDED
@@ -0,0 +1,7 @@
1
+ 'use client';
2
+ import List from './List.js';
3
+
4
+
5
+
6
+ export { List as default };
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -0,0 +1 @@
1
+ {"name":"stargazer-ui/List","private":false,"module":"./index.js","types":"./index.d.ts","peerDependencies":{"lodash":"^4.17.21","react":">=17.0.0","react-dom":">=17.0.0"}}
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  import { ModalBodyType, ModalType } from "./Modal.types";
3
- declare const _default: (({ children, centered, size, show, backdrop, onHide, className, id, ...restProps }: ModalType) => React.ReactPortal) & {
3
+ declare const _default: React.ForwardRefExoticComponent<Omit<ModalType, "ref"> & React.RefAttributes<HTMLDialogElement>> & {
4
4
  Header: React.ForwardRefExoticComponent<(Omit<{
5
5
  children: React.ReactNode;
6
6
  as?: React.ElementType<any, keyof React.JSX.IntrinsicElements> | undefined;
package/Modal/Modal.js ADDED
@@ -0,0 +1,160 @@
1
+ 'use client';
2
+ import React, { createContext, forwardRef, useState, useRef, useEffect, useContext } from 'react';
3
+ import { createPortal } from 'react-dom';
4
+ import CloseButton from '../CloseButton/CloseButton.js';
5
+ import Button from '../Button/Button.js';
6
+ import mergeRefs from '../utils/MergeRefs.js';
7
+
8
+ const ModalContext = createContext(null);
9
+ const ModalContextProvider = ({ children, value }) => {
10
+ return (React.createElement(ModalContext.Provider, { value: value }, children));
11
+ };
12
+ const useModalContext = () => {
13
+ const context = useContext(ModalContext);
14
+ if (!context) {
15
+ throw new Error("useModalContext has to be used within ModalContextProvider!");
16
+ }
17
+ return context;
18
+ };
19
+ const Modal = forwardRef(({ children, size = "md", show, backdrop = "static", fill = false, onHide, className, id, stretch, style, ...restProps }, ref) => {
20
+ const [showModal, setShowModal] = useState(show);
21
+ if (show && show != showModal) {
22
+ setShowModal(show);
23
+ }
24
+ const modalRef = useRef(null);
25
+ useKeepElementFocused(modalRef);
26
+ let typeCheck = typeof (show) === "boolean" && typeof (onHide) === "function" ? undefined : { show: typeof (show) === "boolean", onHide: typeof (onHide) === "function" };
27
+ if (typeCheck) {
28
+ console.error(!typeCheck.show ? "The variable 'show' must be used and must be a boolean used to decide when to show the modal!" : null, !typeCheck.onHide ? "The variable 'onHide' must be used and must be a function which is used to set 'show' as the modal gets closed!" : null);
29
+ }
30
+ const closeModal = () => {
31
+ const modal = modalRef.current;
32
+ modal.classList.add("close");
33
+ modal.addEventListener('animationend', (event) => {
34
+ console.log(event);
35
+ if (event.animationName === "scale-down") {
36
+ if (onHide) {
37
+ onHide();
38
+ }
39
+ setShowModal(false);
40
+ }
41
+ }, { once: true });
42
+ };
43
+ useEffect(() => {
44
+ const modal = modalRef.current;
45
+ if (!modal)
46
+ return;
47
+ if (showModal) {
48
+ modal.classList.remove('close');
49
+ modal.showModal();
50
+ }
51
+ else {
52
+ // modal.classList.add('close')
53
+ modal.close();
54
+ }
55
+ }, [showModal]);
56
+ let classNameComputed = `sg-modal-tag`;
57
+ if (className) {
58
+ classNameComputed += " " + className;
59
+ }
60
+ if (backdrop === "static" || backdrop === "true") {
61
+ classNameComputed += " sg-modal-static";
62
+ }
63
+ if (fill)
64
+ classNameComputed += " sg-modal-fill";
65
+ if (size && !fill)
66
+ classNameComputed += ` sg-modal-${size}`;
67
+ const handleKeyDown = (event) => {
68
+ const key = event.key;
69
+ if (key != "Escape") {
70
+ return;
71
+ }
72
+ event.preventDefault();
73
+ closeModal();
74
+ };
75
+ return (createPortal(React.createElement("dialog", { ref: mergeRefs([ref, modalRef]), className: classNameComputed, onKeyDown: (event) => handleKeyDown(event), ...restProps, style: { "--height": stretch ? "80%" : null, ...style } },
76
+ React.createElement(ModalContextProvider, { value: closeModal }, !typeCheck ?
77
+ children :
78
+ React.createElement(ErrorModal, { typeCheck: typeCheck, closeModal: closeModal }))), document.body));
79
+ });
80
+ Modal.displayName = "Modal";
81
+ const Header = forwardRef(({ children, as = "", className = "", closeButton = false, onClick, ...restProps }, ref) => {
82
+ let validAs = ["div", "span", "h1", "h2", "h3", "h4", "h5", "h6"];
83
+ let Component = validAs.find(valid => valid === as) ? as : "div";
84
+ const closeModal = useModalContext();
85
+ const onCloseButtonClick = (event) => {
86
+ if (onClick) {
87
+ onClick(event);
88
+ }
89
+ closeModal();
90
+ };
91
+ return (React.createElement(Component, { ref: ref, className: `sg-modal-header ${className}`, ...restProps },
92
+ children,
93
+ closeButton ? React.createElement(CloseButton, { variant: true, onClick: event => onCloseButtonClick(event) }) : null));
94
+ });
95
+ Header.displayName = "ModalHeader";
96
+ const Title = forwardRef(({ children, as = "h4", className, ...restProps }, ref) => {
97
+ let validAs = ["div", "span", "h1", "h2", "h3", "h4", "h5", "h6"];
98
+ let Component = validAs.find(valid => valid === as) ? as : "h4";
99
+ return (React.createElement(Component, { ref: ref, className: `sg-modal-title ${className}`, ...restProps }, children));
100
+ });
101
+ Title.displayName = "ModalTitle";
102
+ const Body = forwardRef(({ children, className, ...restProps }, ref) => {
103
+ return (React.createElement("div", { ref: ref, className: `sg-modal-body ${className}`, ...restProps }, children));
104
+ });
105
+ Body.displayName = "ModalBody";
106
+ const Footer = forwardRef(({ children, className, ...restProps }, ref) => {
107
+ return (React.createElement("div", { ref: ref, className: `sg-modal-footer ${className}`, ...restProps }, children));
108
+ });
109
+ Footer.displayName = "ModalFooter";
110
+ var Modal$1 = Object.assign(Modal, {
111
+ Header: Header,
112
+ Title: Title,
113
+ Body: Body,
114
+ Footer: Footer
115
+ });
116
+ const useKeepElementFocused = function (elementRef) {
117
+ useEffect(() => {
118
+ const onKeyDown = (event) => {
119
+ const focusableElements = 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])';
120
+ const modal = elementRef.current;
121
+ if (modal) {
122
+ const firstFocusableElement = modal.querySelectorAll(focusableElements)[0];
123
+ const focusableContent = modal.querySelectorAll(focusableElements);
124
+ const lastFocusableElement = focusableContent[focusableContent.length - 1];
125
+ let isTabPressed = event.key === 'Tab';
126
+ if (!isTabPressed) {
127
+ return;
128
+ }
129
+ if (event.shiftKey) {
130
+ if (document.activeElement === firstFocusableElement) {
131
+ lastFocusableElement.focus();
132
+ event.preventDefault();
133
+ }
134
+ }
135
+ else if (document.activeElement === lastFocusableElement) {
136
+ firstFocusableElement.focus();
137
+ event.preventDefault();
138
+ }
139
+ }
140
+ };
141
+ document.addEventListener('keydown', onKeyDown, true);
142
+ return function cleanup() {
143
+ document.removeEventListener('keydown', onKeyDown, true);
144
+ };
145
+ }, [elementRef]);
146
+ };
147
+ const ErrorModal = ({ typeCheck, closeModal }) => {
148
+ return (React.createElement(React.Fragment, null,
149
+ React.createElement(Header, { closeButton: true },
150
+ React.createElement(Title, null, "An Error ocurred!")),
151
+ React.createElement(Body, null,
152
+ React.createElement("p", null,
153
+ !typeCheck.show ? "The variable 'show' must be used and must be a boolean used to decide when to show the modal!" : null,
154
+ !typeCheck.onHide ? "The variable 'onHide' must be used and must be a function which is used to set 'show' as the modal gets closed!" : null)),
155
+ React.createElement(Footer, null,
156
+ React.createElement(Button, { variant: "danger", type: "button", onClick: () => closeModal() }, "Close"))));
157
+ };
158
+
159
+ export { Modal$1 as default, useKeepElementFocused };
160
+ //# sourceMappingURL=Modal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Modal.js","sources":["../../src/Modal/Modal.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,15 +1,16 @@
1
1
  import { ReactNode } from "react";
2
- import { BaseDialogType, BaseDivType, BaseHeadingType, BaseSpanType } from "../../BaseTypes";
2
+ import { BaseDialogType, BaseDivType, BaseHeadingType, BaseSpanType } from "../utils/BaseTypes";
3
3
  export type ModalContextType = Function | null;
4
4
  export type ModalType = {
5
5
  children: ReactNode;
6
6
  className?: string;
7
7
  id?: string;
8
- centered?: boolean;
8
+ fill?: boolean;
9
9
  size?: string;
10
10
  show: boolean;
11
11
  backdrop?: string;
12
12
  onHide: Function;
13
+ stretch?: boolean;
13
14
  } & BaseDialogType;
14
15
  export type ModalHeaderType = {
15
16
  children: ReactNode;
@@ -0,0 +1,3 @@
1
+ import Modal from "./Modal";
2
+ export type { ModalBodyType, ModalContextType, ModalFooterType, ModalHeaderType, ModalTitleType, ModalType } from "./Modal.types";
3
+ export default Modal;
package/Modal/index.js ADDED
@@ -0,0 +1,7 @@
1
+ 'use client';
2
+ import Modal from './Modal.js';
3
+
4
+
5
+
6
+ export { Modal as default };
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
@@ -0,0 +1 @@
1
+ {"name":"stargazer-ui/Modal","private":false,"module":"./index.js","types":"./index.d.ts","peerDependencies":{"lodash":"^4.17.21","react":">=17.0.0","react-dom":">=17.0.0"}}
package/Nav/Nav.js ADDED
@@ -0,0 +1,28 @@
1
+ 'use client';
2
+ import React, { forwardRef } from 'react';
3
+ import { useNavbarContext } from '../NavBar/Navbar.js';
4
+
5
+ const Nav = forwardRef(({ children, className, as = "ul", ...restProps }, ref) => {
6
+ const Component = as;
7
+ const navbarContext = useNavbarContext();
8
+ const navbarPrefix = navbarContext ? navbarContext : "sg-navbar-";
9
+ return (React.createElement(Component, { ref: ref, className: `${className} ${navbarPrefix}nav`, ...restProps }, children));
10
+ });
11
+ Nav.displayName = "Nav";
12
+ const Item = forwardRef(({ children, className, as = "li", ...restProps }, ref) => {
13
+ const Component = as;
14
+ return (React.createElement(Component, { role: "none", ref: ref, className: `sg-nav-item${className ? " " + className : ""}`, ...restProps }, children));
15
+ });
16
+ Item.displayName = "NavItem";
17
+ const Link = forwardRef(({ children, className, as = "a", ...restProps }, ref) => {
18
+ const Component = as;
19
+ return (React.createElement(Component, { role: "menuitem", ref: ref, className: `sg-nav-link${className ? " " + className : ""}`, ...restProps }, children));
20
+ });
21
+ Link.displayName = "NavLink";
22
+ var Nav$1 = Object.assign(Nav, {
23
+ Item: Item,
24
+ Link: Link
25
+ });
26
+
27
+ export { Nav$1 as default };
28
+ //# sourceMappingURL=Nav.js.map