@papillonbits/components 0.4.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 (629) hide show
  1. package/build/primer/Alert/Alert.js +142 -0
  2. package/build/primer/Alert/Alert.prop.js +43 -0
  3. package/build/primer/Alert/Alert.scss +158 -0
  4. package/build/primer/Alert/index.js +21 -0
  5. package/build/primer/Box/box.scss +294 -0
  6. package/build/primer/BranchName/branch-name.scss +32 -0
  7. package/build/primer/Breadcrumb/Breadcrumb.js +87 -0
  8. package/build/primer/Breadcrumb/Breadcrumb.prop.js +34 -0
  9. package/build/primer/Breadcrumb/Breadcrumb.scss +35 -0
  10. package/build/primer/Breadcrumb/index.js +21 -0
  11. package/build/primer/Button/Button.js +107 -0
  12. package/build/primer/Button/Button.prop.js +79 -0
  13. package/build/primer/Button/Button.scss +316 -0
  14. package/build/primer/Button/index.js +51 -0
  15. package/build/primer/Button/misc.scss +205 -0
  16. package/build/primer/Dropdown/Dropdown.js +126 -0
  17. package/build/primer/Dropdown/Dropdown.prop.js +39 -0
  18. package/build/primer/Dropdown/Dropdown.scss +276 -0
  19. package/build/primer/Dropdown/index.js +21 -0
  20. package/build/primer/ErrorBoundary/ErrorBoundary.js +82 -0
  21. package/build/primer/ErrorBoundary/ErrorBoundary.prop.js +15 -0
  22. package/build/primer/ErrorBoundary/index.js +13 -0
  23. package/build/primer/Form/Checkbox/Checkbox.js +53 -0
  24. package/build/primer/Form/Checkbox/Checkbox.md +32 -0
  25. package/build/primer/Form/Checkbox/Checkbox.prop.js +42 -0
  26. package/build/primer/Form/Checkbox/Checkbox.scss +8 -0
  27. package/build/primer/Form/Checkbox/__tests__/__snapshots__/Checkbox.int.test.js.snap +75 -0
  28. package/build/primer/Form/Checkbox/index.js +21 -0
  29. package/build/primer/Form/Input/Input.js +58 -0
  30. package/build/primer/Form/Input/Input.md +34 -0
  31. package/build/primer/Form/Input/Input.prop.js +51 -0
  32. package/build/primer/Form/Input/Input.scss +9 -0
  33. package/build/primer/Form/Input/__tests__/__snapshots__/Input.int.test.js.snap +25 -0
  34. package/build/primer/Form/Input/index.js +27 -0
  35. package/build/primer/Form/Radio/Radio.js +52 -0
  36. package/build/primer/Form/Radio/Radio.md +25 -0
  37. package/build/primer/Form/Radio/Radio.prop.js +40 -0
  38. package/build/primer/Form/Radio/Radio.scss +6 -0
  39. package/build/primer/Form/Radio/__tests__/__snapshots__/Radio.int.test.js.snap +65 -0
  40. package/build/primer/Form/Radio/index.js +21 -0
  41. package/build/primer/Form/form-control.scss +264 -0
  42. package/build/primer/Form/form-group.scss +277 -0
  43. package/build/primer/Form/form-select.scss +46 -0
  44. package/build/primer/Form/form-validation.scss +365 -0
  45. package/build/primer/Form/index.js +29 -0
  46. package/build/primer/Form/index.scss +8 -0
  47. package/build/primer/Form/input-group.scss +55 -0
  48. package/build/primer/Form/radio-group.scss +62 -0
  49. package/build/primer/Grid/DisplayTable/DisplayTable.js +71 -0
  50. package/build/primer/Grid/DisplayTable/DisplayTable.md +14 -0
  51. package/build/primer/Grid/DisplayTable/DisplayTable.prop.js +22 -0
  52. package/build/primer/Grid/DisplayTable/__tests__/__snapshots__/DisplayTable.int.test.js.snap +326 -0
  53. package/build/primer/Grid/DisplayTable/index.js +13 -0
  54. package/build/primer/Grid/FlexGrid/FlexGrid.js +277 -0
  55. package/build/primer/Grid/FlexGrid/FlexGrid.md +106 -0
  56. package/build/primer/Grid/FlexGrid/FlexGrid.prop.js +55 -0
  57. package/build/primer/Grid/FlexGrid/FlexGrid.scss +27 -0
  58. package/build/primer/Grid/FlexGrid/__tests__/__snapshots__/FlexGrid.int.test.js.snap +6247 -0
  59. package/build/primer/Grid/FlexGrid/index.js +27 -0
  60. package/build/primer/Grid/index.js +18 -0
  61. package/build/primer/Icon/Icon.js +79 -0
  62. package/build/primer/Icon/Icon.part.js +1497 -0
  63. package/build/primer/Icon/Icon.prop.js +554 -0
  64. package/build/primer/Icon/index.js +27 -0
  65. package/build/primer/Label/Label.js +40 -0
  66. package/build/primer/Label/Label.prop.js +41 -0
  67. package/build/primer/Label/counters.scss +38 -0
  68. package/build/primer/Label/diffstat.scss +37 -0
  69. package/build/primer/Label/index.js +13 -0
  70. package/build/primer/Label/index.scss +8 -0
  71. package/build/primer/Label/issue-labels.scss +25 -0
  72. package/build/primer/Label/labels.scss +94 -0
  73. package/build/primer/Label/mixins.scss +39 -0
  74. package/build/primer/Label/states.scss +56 -0
  75. package/build/primer/Layout/container.scss +32 -0
  76. package/build/primer/Layout/grid-offset.scss +45 -0
  77. package/build/primer/Layout/grid.scss +123 -0
  78. package/build/primer/Loader/Loader.js +82 -0
  79. package/build/primer/Loader/Loader.prop.js +26 -0
  80. package/build/primer/Loader/Loader.scss +21 -0
  81. package/build/primer/Loader/index.js +21 -0
  82. package/build/primer/Navigation/Menu/Menu.js +87 -0
  83. package/build/primer/Navigation/Menu/Menu.md +25 -0
  84. package/build/primer/Navigation/Menu/Menu.prop.js +32 -0
  85. package/build/primer/Navigation/Menu/Menu.scss +128 -0
  86. package/build/primer/Navigation/Menu/__tests__/__snapshots__/Menu.int.test.js.snap +114 -0
  87. package/build/primer/Navigation/Menu/index.js +13 -0
  88. package/build/primer/Navigation/TabNav/TabNav.js +148 -0
  89. package/build/primer/Navigation/TabNav/TabNav.md +56 -0
  90. package/build/primer/Navigation/TabNav/TabNav.prop.js +41 -0
  91. package/build/primer/Navigation/TabNav/TabNav.scss +103 -0
  92. package/build/primer/Navigation/TabNav/__tests__/__snapshots__/TabNav.int.test.js.snap +218 -0
  93. package/build/primer/Navigation/TabNav/index.js +21 -0
  94. package/build/primer/Navigation/UnderlineNav/UnderlineNav.js +148 -0
  95. package/build/primer/Navigation/UnderlineNav/UnderlineNav.md +65 -0
  96. package/build/primer/Navigation/UnderlineNav/UnderlineNav.prop.js +47 -0
  97. package/build/primer/Navigation/UnderlineNav/UnderlineNav.scss +92 -0
  98. package/build/primer/Navigation/UnderlineNav/__tests__/__snapshots__/UnderlineNav.int.test.js.snap +259 -0
  99. package/build/primer/Navigation/UnderlineNav/index.js +27 -0
  100. package/build/primer/Navigation/index.js +22 -0
  101. package/build/primer/Pagination/PreviousNext/PreviousNext.js +89 -0
  102. package/build/primer/Pagination/PreviousNext/PreviousNext.md +20 -0
  103. package/build/primer/Pagination/PreviousNext/PreviousNext.prop.js +61 -0
  104. package/build/primer/Pagination/PreviousNext/PreviousNext.scss +157 -0
  105. package/build/primer/Pagination/PreviousNext/__tests__/__snapshots__/PreviousNext.int.test.js.snap +63 -0
  106. package/build/primer/Pagination/PreviousNext/index.js +21 -0
  107. package/build/primer/Pagination/index.js +14 -0
  108. package/build/primer/Popover/Popover.js +77 -0
  109. package/build/primer/Popover/Popover.prop.js +47 -0
  110. package/build/primer/Popover/Popover.scss +230 -0
  111. package/build/primer/Popover/index.js +27 -0
  112. package/build/primer/Progress/Progress.js +41 -0
  113. package/build/primer/Progress/Progress.prop.js +26 -0
  114. package/build/primer/Progress/Progress.scss +29 -0
  115. package/build/primer/Progress/index.js +21 -0
  116. package/build/primer/SVG/icon/accessibility-16.svg +1 -0
  117. package/build/primer/SVG/icon/alert-16.svg +1 -0
  118. package/build/primer/SVG/icon/alert-24.svg +1 -0
  119. package/build/primer/SVG/icon/alert-fill-12.svg +1 -0
  120. package/build/primer/SVG/icon/apps-16.svg +1 -0
  121. package/build/primer/SVG/icon/archive-16.svg +1 -0
  122. package/build/primer/SVG/icon/archive-24.svg +1 -0
  123. package/build/primer/SVG/icon/arrow-both-16.svg +1 -0
  124. package/build/primer/SVG/icon/arrow-both-24.svg +1 -0
  125. package/build/primer/SVG/icon/arrow-down-16.svg +1 -0
  126. package/build/primer/SVG/icon/arrow-down-24.svg +1 -0
  127. package/build/primer/SVG/icon/arrow-down-left-24.svg +1 -0
  128. package/build/primer/SVG/icon/arrow-down-right-24.svg +1 -0
  129. package/build/primer/SVG/icon/arrow-left-16.svg +1 -0
  130. package/build/primer/SVG/icon/arrow-left-24.svg +1 -0
  131. package/build/primer/SVG/icon/arrow-right-16.svg +1 -0
  132. package/build/primer/SVG/icon/arrow-right-24.svg +1 -0
  133. package/build/primer/SVG/icon/arrow-switch-16.svg +1 -0
  134. package/build/primer/SVG/icon/arrow-switch-24.svg +1 -0
  135. package/build/primer/SVG/icon/arrow-up-16.svg +1 -0
  136. package/build/primer/SVG/icon/arrow-up-24.svg +1 -0
  137. package/build/primer/SVG/icon/arrow-up-left-24.svg +1 -0
  138. package/build/primer/SVG/icon/arrow-up-right-24.svg +1 -0
  139. package/build/primer/SVG/icon/beaker-16.svg +1 -0
  140. package/build/primer/SVG/icon/beaker-24.svg +1 -0
  141. package/build/primer/SVG/icon/bell-16.svg +1 -0
  142. package/build/primer/SVG/icon/bell-24.svg +1 -0
  143. package/build/primer/SVG/icon/bell-fill-16.svg +1 -0
  144. package/build/primer/SVG/icon/bell-fill-24.svg +1 -0
  145. package/build/primer/SVG/icon/bell-slash-16.svg +1 -0
  146. package/build/primer/SVG/icon/bell-slash-24.svg +1 -0
  147. package/build/primer/SVG/icon/blocked-16.svg +1 -0
  148. package/build/primer/SVG/icon/blocked-24.svg +1 -0
  149. package/build/primer/SVG/icon/bold-16.svg +1 -0
  150. package/build/primer/SVG/icon/bold-24.svg +1 -0
  151. package/build/primer/SVG/icon/book-16.svg +1 -0
  152. package/build/primer/SVG/icon/book-24.svg +1 -0
  153. package/build/primer/SVG/icon/bookmark-16.svg +1 -0
  154. package/build/primer/SVG/icon/bookmark-24.svg +1 -0
  155. package/build/primer/SVG/icon/bookmark-fill-24.svg +1 -0
  156. package/build/primer/SVG/icon/bookmark-slash-16.svg +1 -0
  157. package/build/primer/SVG/icon/bookmark-slash-24.svg +1 -0
  158. package/build/primer/SVG/icon/bookmark-slash-fill-24.svg +1 -0
  159. package/build/primer/SVG/icon/briefcase-16.svg +1 -0
  160. package/build/primer/SVG/icon/briefcase-24.svg +1 -0
  161. package/build/primer/SVG/icon/broadcast-16.svg +1 -0
  162. package/build/primer/SVG/icon/broadcast-24.svg +1 -0
  163. package/build/primer/SVG/icon/browser-16.svg +1 -0
  164. package/build/primer/SVG/icon/browser-24.svg +1 -0
  165. package/build/primer/SVG/icon/bug-16.svg +1 -0
  166. package/build/primer/SVG/icon/bug-24.svg +1 -0
  167. package/build/primer/SVG/icon/calendar-16.svg +1 -0
  168. package/build/primer/SVG/icon/calendar-24.svg +1 -0
  169. package/build/primer/SVG/icon/check-16.svg +1 -0
  170. package/build/primer/SVG/icon/check-24.svg +1 -0
  171. package/build/primer/SVG/icon/check-circle-16.svg +1 -0
  172. package/build/primer/SVG/icon/check-circle-24.svg +1 -0
  173. package/build/primer/SVG/icon/check-circle-fill-12.svg +1 -0
  174. package/build/primer/SVG/icon/check-circle-fill-16.svg +1 -0
  175. package/build/primer/SVG/icon/check-circle-fill-24.svg +1 -0
  176. package/build/primer/SVG/icon/checklist-16.svg +1 -0
  177. package/build/primer/SVG/icon/checklist-24.svg +1 -0
  178. package/build/primer/SVG/icon/chevron-down-16.svg +1 -0
  179. package/build/primer/SVG/icon/chevron-down-24.svg +1 -0
  180. package/build/primer/SVG/icon/chevron-left-16.svg +1 -0
  181. package/build/primer/SVG/icon/chevron-left-24.svg +1 -0
  182. package/build/primer/SVG/icon/chevron-right-16.svg +1 -0
  183. package/build/primer/SVG/icon/chevron-right-24.svg +1 -0
  184. package/build/primer/SVG/icon/chevron-up-16.svg +1 -0
  185. package/build/primer/SVG/icon/chevron-up-24.svg +1 -0
  186. package/build/primer/SVG/icon/circle-16.svg +1 -0
  187. package/build/primer/SVG/icon/circle-24.svg +1 -0
  188. package/build/primer/SVG/icon/circle-slash-16.svg +1 -0
  189. package/build/primer/SVG/icon/circle-slash-24.svg +1 -0
  190. package/build/primer/SVG/icon/clock-16.svg +1 -0
  191. package/build/primer/SVG/icon/clock-24.svg +1 -0
  192. package/build/primer/SVG/icon/cloud-16.svg +1 -0
  193. package/build/primer/SVG/icon/cloud-24.svg +1 -0
  194. package/build/primer/SVG/icon/cloud-offline-16.svg +1 -0
  195. package/build/primer/SVG/icon/cloud-offline-24.svg +1 -0
  196. package/build/primer/SVG/icon/code-16.svg +1 -0
  197. package/build/primer/SVG/icon/code-24.svg +1 -0
  198. package/build/primer/SVG/icon/code-of-conduct-16.svg +1 -0
  199. package/build/primer/SVG/icon/code-of-conduct-24.svg +1 -0
  200. package/build/primer/SVG/icon/code-review-16.svg +1 -0
  201. package/build/primer/SVG/icon/code-review-24.svg +1 -0
  202. package/build/primer/SVG/icon/code-square-16.svg +1 -0
  203. package/build/primer/SVG/icon/code-square-24.svg +1 -0
  204. package/build/primer/SVG/icon/codescan-16.svg +1 -0
  205. package/build/primer/SVG/icon/codescan-24.svg +1 -0
  206. package/build/primer/SVG/icon/codescan-checkmark-16.svg +1 -0
  207. package/build/primer/SVG/icon/codescan-checkmark-24.svg +1 -0
  208. package/build/primer/SVG/icon/codespaces-16.svg +1 -0
  209. package/build/primer/SVG/icon/codespaces-24.svg +1 -0
  210. package/build/primer/SVG/icon/columns-16.svg +1 -0
  211. package/build/primer/SVG/icon/columns-24.svg +1 -0
  212. package/build/primer/SVG/icon/comment-16.svg +1 -0
  213. package/build/primer/SVG/icon/comment-24.svg +1 -0
  214. package/build/primer/SVG/icon/comment-discussion-16.svg +1 -0
  215. package/build/primer/SVG/icon/comment-discussion-24.svg +1 -0
  216. package/build/primer/SVG/icon/commit-24.svg +1 -0
  217. package/build/primer/SVG/icon/container-16.svg +1 -0
  218. package/build/primer/SVG/icon/container-24.svg +1 -0
  219. package/build/primer/SVG/icon/copy-16.svg +1 -0
  220. package/build/primer/SVG/icon/copy-24.svg +1 -0
  221. package/build/primer/SVG/icon/cpu-16.svg +1 -0
  222. package/build/primer/SVG/icon/cpu-24.svg +1 -0
  223. package/build/primer/SVG/icon/credit-card-16.svg +1 -0
  224. package/build/primer/SVG/icon/credit-card-24.svg +1 -0
  225. package/build/primer/SVG/icon/cross-reference-16.svg +1 -0
  226. package/build/primer/SVG/icon/cross-reference-24.svg +1 -0
  227. package/build/primer/SVG/icon/dash-16.svg +1 -0
  228. package/build/primer/SVG/icon/dash-24.svg +1 -0
  229. package/build/primer/SVG/icon/database-16.svg +1 -0
  230. package/build/primer/SVG/icon/database-24.svg +1 -0
  231. package/build/primer/SVG/icon/dependabot-16.svg +1 -0
  232. package/build/primer/SVG/icon/dependabot-24.svg +1 -0
  233. package/build/primer/SVG/icon/desktop-download-16.svg +1 -0
  234. package/build/primer/SVG/icon/desktop-download-24.svg +1 -0
  235. package/build/primer/SVG/icon/device-camera-16.svg +1 -0
  236. package/build/primer/SVG/icon/device-camera-video-16.svg +1 -0
  237. package/build/primer/SVG/icon/device-camera-video-24.svg +1 -0
  238. package/build/primer/SVG/icon/device-desktop-16.svg +1 -0
  239. package/build/primer/SVG/icon/device-desktop-24.svg +1 -0
  240. package/build/primer/SVG/icon/device-mobile-16.svg +1 -0
  241. package/build/primer/SVG/icon/device-mobile-24.svg +1 -0
  242. package/build/primer/SVG/icon/diamond-16.svg +1 -0
  243. package/build/primer/SVG/icon/diamond-24.svg +1 -0
  244. package/build/primer/SVG/icon/diff-16.svg +1 -0
  245. package/build/primer/SVG/icon/diff-24.svg +1 -0
  246. package/build/primer/SVG/icon/diff-added-16.svg +1 -0
  247. package/build/primer/SVG/icon/diff-ignored-16.svg +1 -0
  248. package/build/primer/SVG/icon/diff-modified-16.svg +1 -0
  249. package/build/primer/SVG/icon/diff-removed-16.svg +1 -0
  250. package/build/primer/SVG/icon/diff-renamed-16.svg +1 -0
  251. package/build/primer/SVG/icon/dot-16.svg +1 -0
  252. package/build/primer/SVG/icon/dot-24.svg +1 -0
  253. package/build/primer/SVG/icon/dot-fill-16.svg +1 -0
  254. package/build/primer/SVG/icon/dot-fill-24.svg +1 -0
  255. package/build/primer/SVG/icon/download-16.svg +1 -0
  256. package/build/primer/SVG/icon/download-24.svg +1 -0
  257. package/build/primer/SVG/icon/duplicate-16.svg +1 -0
  258. package/build/primer/SVG/icon/duplicate-24.svg +1 -0
  259. package/build/primer/SVG/icon/ellipsis-16.svg +1 -0
  260. package/build/primer/SVG/icon/eye-16.svg +1 -0
  261. package/build/primer/SVG/icon/eye-24.svg +1 -0
  262. package/build/primer/SVG/icon/eye-closed-16.svg +1 -0
  263. package/build/primer/SVG/icon/eye-closed-24.svg +1 -0
  264. package/build/primer/SVG/icon/feed-discussion-16.svg +1 -0
  265. package/build/primer/SVG/icon/feed-forked-16.svg +1 -0
  266. package/build/primer/SVG/icon/feed-heart-16.svg +1 -0
  267. package/build/primer/SVG/icon/feed-merged-16.svg +1 -0
  268. package/build/primer/SVG/icon/feed-person-16.svg +1 -0
  269. package/build/primer/SVG/icon/feed-repo-16.svg +1 -0
  270. package/build/primer/SVG/icon/feed-rocket-16.svg +1 -0
  271. package/build/primer/SVG/icon/feed-star-16.svg +1 -0
  272. package/build/primer/SVG/icon/feed-tag-16.svg +1 -0
  273. package/build/primer/SVG/icon/feed-trophy-16.svg +1 -0
  274. package/build/primer/SVG/icon/file-16.svg +1 -0
  275. package/build/primer/SVG/icon/file-24.svg +1 -0
  276. package/build/primer/SVG/icon/file-badge-16.svg +1 -0
  277. package/build/primer/SVG/icon/file-binary-16.svg +1 -0
  278. package/build/primer/SVG/icon/file-binary-24.svg +1 -0
  279. package/build/primer/SVG/icon/file-code-16.svg +1 -0
  280. package/build/primer/SVG/icon/file-code-24.svg +1 -0
  281. package/build/primer/SVG/icon/file-diff-16.svg +1 -0
  282. package/build/primer/SVG/icon/file-diff-24.svg +1 -0
  283. package/build/primer/SVG/icon/file-directory-16.svg +1 -0
  284. package/build/primer/SVG/icon/file-directory-24.svg +1 -0
  285. package/build/primer/SVG/icon/file-directory-fill-16.svg +1 -0
  286. package/build/primer/SVG/icon/file-directory-fill-24.svg +1 -0
  287. package/build/primer/SVG/icon/file-directory-open-fill-16.svg +1 -0
  288. package/build/primer/SVG/icon/file-media-24.svg +1 -0
  289. package/build/primer/SVG/icon/file-submodule-16.svg +1 -0
  290. package/build/primer/SVG/icon/file-submodule-24.svg +1 -0
  291. package/build/primer/SVG/icon/file-symlink-file-16.svg +1 -0
  292. package/build/primer/SVG/icon/file-symlink-file-24.svg +1 -0
  293. package/build/primer/SVG/icon/file-zip-16.svg +1 -0
  294. package/build/primer/SVG/icon/file-zip-24.svg +1 -0
  295. package/build/primer/SVG/icon/filter-16.svg +1 -0
  296. package/build/primer/SVG/icon/filter-24.svg +1 -0
  297. package/build/primer/SVG/icon/flame-16.svg +1 -0
  298. package/build/primer/SVG/icon/flame-24.svg +1 -0
  299. package/build/primer/SVG/icon/fold-16.svg +1 -0
  300. package/build/primer/SVG/icon/fold-24.svg +1 -0
  301. package/build/primer/SVG/icon/fold-down-16.svg +1 -0
  302. package/build/primer/SVG/icon/fold-down-24.svg +1 -0
  303. package/build/primer/SVG/icon/fold-up-16.svg +1 -0
  304. package/build/primer/SVG/icon/fold-up-24.svg +1 -0
  305. package/build/primer/SVG/icon/gear-16.svg +1 -0
  306. package/build/primer/SVG/icon/gear-24.svg +1 -0
  307. package/build/primer/SVG/icon/gift-16.svg +1 -0
  308. package/build/primer/SVG/icon/gift-24.svg +1 -0
  309. package/build/primer/SVG/icon/git-branch-16.svg +1 -0
  310. package/build/primer/SVG/icon/git-branch-24.svg +1 -0
  311. package/build/primer/SVG/icon/git-commit-16.svg +1 -0
  312. package/build/primer/SVG/icon/git-commit-24.svg +1 -0
  313. package/build/primer/SVG/icon/git-compare-16.svg +1 -0
  314. package/build/primer/SVG/icon/git-compare-24.svg +1 -0
  315. package/build/primer/SVG/icon/git-merge-16.svg +1 -0
  316. package/build/primer/SVG/icon/git-merge-24.svg +1 -0
  317. package/build/primer/SVG/icon/git-pull-request-16.svg +1 -0
  318. package/build/primer/SVG/icon/git-pull-request-24.svg +1 -0
  319. package/build/primer/SVG/icon/git-pull-request-closed-16.svg +1 -0
  320. package/build/primer/SVG/icon/git-pull-request-closed-24.svg +1 -0
  321. package/build/primer/SVG/icon/git-pull-request-draft-16.svg +1 -0
  322. package/build/primer/SVG/icon/git-pull-request-draft-24.svg +1 -0
  323. package/build/primer/SVG/icon/globe-16.svg +1 -0
  324. package/build/primer/SVG/icon/globe-24.svg +1 -0
  325. package/build/primer/SVG/icon/grabber-16.svg +1 -0
  326. package/build/primer/SVG/icon/grabber-24.svg +1 -0
  327. package/build/primer/SVG/icon/graph-16.svg +1 -0
  328. package/build/primer/SVG/icon/graph-24.svg +1 -0
  329. package/build/primer/SVG/icon/hash-16.svg +1 -0
  330. package/build/primer/SVG/icon/hash-24.svg +1 -0
  331. package/build/primer/SVG/icon/heading-16.svg +1 -0
  332. package/build/primer/SVG/icon/heading-24.svg +1 -0
  333. package/build/primer/SVG/icon/heart-16.svg +1 -0
  334. package/build/primer/SVG/icon/heart-24.svg +1 -0
  335. package/build/primer/SVG/icon/heart-fill-16.svg +1 -0
  336. package/build/primer/SVG/icon/heart-fill-24.svg +1 -0
  337. package/build/primer/SVG/icon/history-16.svg +1 -0
  338. package/build/primer/SVG/icon/history-24.svg +1 -0
  339. package/build/primer/SVG/icon/home-16.svg +1 -0
  340. package/build/primer/SVG/icon/home-24.svg +1 -0
  341. package/build/primer/SVG/icon/home-fill-24.svg +1 -0
  342. package/build/primer/SVG/icon/horizontal-rule-16.svg +1 -0
  343. package/build/primer/SVG/icon/horizontal-rule-24.svg +1 -0
  344. package/build/primer/SVG/icon/hourglass-16.svg +1 -0
  345. package/build/primer/SVG/icon/hourglass-24.svg +1 -0
  346. package/build/primer/SVG/icon/hubot-16.svg +1 -0
  347. package/build/primer/SVG/icon/hubot-24.svg +1 -0
  348. package/build/primer/SVG/icon/id-badge-16.svg +1 -0
  349. package/build/primer/SVG/icon/image-16.svg +1 -0
  350. package/build/primer/SVG/icon/image-24.svg +1 -0
  351. package/build/primer/SVG/icon/inbox-16.svg +1 -0
  352. package/build/primer/SVG/icon/inbox-24.svg +1 -0
  353. package/build/primer/SVG/icon/infinity-16.svg +1 -0
  354. package/build/primer/SVG/icon/infinity-24.svg +1 -0
  355. package/build/primer/SVG/icon/info-16.svg +1 -0
  356. package/build/primer/SVG/icon/info-24.svg +1 -0
  357. package/build/primer/SVG/icon/issue-closed-16.svg +1 -0
  358. package/build/primer/SVG/icon/issue-closed-24.svg +1 -0
  359. package/build/primer/SVG/icon/issue-draft-16.svg +1 -0
  360. package/build/primer/SVG/icon/issue-draft-24.svg +1 -0
  361. package/build/primer/SVG/icon/issue-opened-16.svg +1 -0
  362. package/build/primer/SVG/icon/issue-opened-24.svg +1 -0
  363. package/build/primer/SVG/icon/issue-reopened-16.svg +1 -0
  364. package/build/primer/SVG/icon/issue-reopened-24.svg +1 -0
  365. package/build/primer/SVG/icon/italic-16.svg +1 -0
  366. package/build/primer/SVG/icon/italic-24.svg +1 -0
  367. package/build/primer/SVG/icon/iterations-16.svg +1 -0
  368. package/build/primer/SVG/icon/iterations-24.svg +1 -0
  369. package/build/primer/SVG/icon/kebab-horizontal-16.svg +1 -0
  370. package/build/primer/SVG/icon/kebab-horizontal-24.svg +1 -0
  371. package/build/primer/SVG/icon/key-16.svg +1 -0
  372. package/build/primer/SVG/icon/key-24.svg +1 -0
  373. package/build/primer/SVG/icon/key-asterisk-16.svg +1 -0
  374. package/build/primer/SVG/icon/law-16.svg +1 -0
  375. package/build/primer/SVG/icon/law-24.svg +1 -0
  376. package/build/primer/SVG/icon/light-bulb-16.svg +1 -0
  377. package/build/primer/SVG/icon/light-bulb-24.svg +1 -0
  378. package/build/primer/SVG/icon/link-16.svg +1 -0
  379. package/build/primer/SVG/icon/link-24.svg +1 -0
  380. package/build/primer/SVG/icon/link-external-16.svg +1 -0
  381. package/build/primer/SVG/icon/link-external-24.svg +1 -0
  382. package/build/primer/SVG/icon/list-ordered-16.svg +1 -0
  383. package/build/primer/SVG/icon/list-ordered-24.svg +1 -0
  384. package/build/primer/SVG/icon/list-unordered-16.svg +1 -0
  385. package/build/primer/SVG/icon/list-unordered-24.svg +1 -0
  386. package/build/primer/SVG/icon/location-16.svg +1 -0
  387. package/build/primer/SVG/icon/location-24.svg +1 -0
  388. package/build/primer/SVG/icon/lock-16.svg +1 -0
  389. package/build/primer/SVG/icon/lock-24.svg +1 -0
  390. package/build/primer/SVG/icon/log-16.svg +1 -0
  391. package/build/primer/SVG/icon/logo-gist-16.svg +1 -0
  392. package/build/primer/SVG/icon/logo-github-16.svg +1 -0
  393. package/build/primer/SVG/icon/mail-16.svg +1 -0
  394. package/build/primer/SVG/icon/mail-24.svg +1 -0
  395. package/build/primer/SVG/icon/mark-github-16.svg +1 -0
  396. package/build/primer/SVG/icon/markdown-16.svg +1 -0
  397. package/build/primer/SVG/icon/megaphone-16.svg +1 -0
  398. package/build/primer/SVG/icon/megaphone-24.svg +1 -0
  399. package/build/primer/SVG/icon/mention-16.svg +1 -0
  400. package/build/primer/SVG/icon/mention-24.svg +1 -0
  401. package/build/primer/SVG/icon/meter-16.svg +1 -0
  402. package/build/primer/SVG/icon/milestone-16.svg +1 -0
  403. package/build/primer/SVG/icon/milestone-24.svg +1 -0
  404. package/build/primer/SVG/icon/mirror-16.svg +1 -0
  405. package/build/primer/SVG/icon/mirror-24.svg +1 -0
  406. package/build/primer/SVG/icon/moon-16.svg +1 -0
  407. package/build/primer/SVG/icon/moon-24.svg +1 -0
  408. package/build/primer/SVG/icon/mortar-board-16.svg +1 -0
  409. package/build/primer/SVG/icon/mortar-board-24.svg +1 -0
  410. package/build/primer/SVG/icon/multi-select-16.svg +1 -0
  411. package/build/primer/SVG/icon/multi-select-24.svg +1 -0
  412. package/build/primer/SVG/icon/mute-16.svg +1 -0
  413. package/build/primer/SVG/icon/mute-24.svg +1 -0
  414. package/build/primer/SVG/icon/no-entry-16.svg +1 -0
  415. package/build/primer/SVG/icon/no-entry-24.svg +1 -0
  416. package/build/primer/SVG/icon/no-entry-fill-12.svg +1 -0
  417. package/build/primer/SVG/icon/north-star-16.svg +1 -0
  418. package/build/primer/SVG/icon/north-star-24.svg +1 -0
  419. package/build/primer/SVG/icon/note-16.svg +1 -0
  420. package/build/primer/SVG/icon/note-24.svg +1 -0
  421. package/build/primer/SVG/icon/number-16.svg +1 -0
  422. package/build/primer/SVG/icon/number-24.svg +1 -0
  423. package/build/primer/SVG/icon/organization-16.svg +1 -0
  424. package/build/primer/SVG/icon/organization-24.svg +1 -0
  425. package/build/primer/SVG/icon/package-16.svg +1 -0
  426. package/build/primer/SVG/icon/package-24.svg +1 -0
  427. package/build/primer/SVG/icon/package-dependencies-16.svg +1 -0
  428. package/build/primer/SVG/icon/package-dependencies-24.svg +1 -0
  429. package/build/primer/SVG/icon/package-dependents-16.svg +1 -0
  430. package/build/primer/SVG/icon/package-dependents-24.svg +1 -0
  431. package/build/primer/SVG/icon/paintbrush-16.svg +1 -0
  432. package/build/primer/SVG/icon/paper-airplane-16.svg +1 -0
  433. package/build/primer/SVG/icon/paper-airplane-24.svg +1 -0
  434. package/build/primer/SVG/icon/paste-16.svg +1 -0
  435. package/build/primer/SVG/icon/paste-24.svg +1 -0
  436. package/build/primer/SVG/icon/pencil-16.svg +1 -0
  437. package/build/primer/SVG/icon/pencil-24.svg +1 -0
  438. package/build/primer/SVG/icon/people-16.svg +1 -0
  439. package/build/primer/SVG/icon/people-24.svg +1 -0
  440. package/build/primer/SVG/icon/person-16.svg +1 -0
  441. package/build/primer/SVG/icon/person-24.svg +1 -0
  442. package/build/primer/SVG/icon/person-add-16.svg +1 -0
  443. package/build/primer/SVG/icon/person-add-24.svg +1 -0
  444. package/build/primer/SVG/icon/person-fill-16.svg +1 -0
  445. package/build/primer/SVG/icon/person-fill-24.svg +1 -0
  446. package/build/primer/SVG/icon/pin-16.svg +1 -0
  447. package/build/primer/SVG/icon/pin-24.svg +1 -0
  448. package/build/primer/SVG/icon/play-16.svg +1 -0
  449. package/build/primer/SVG/icon/play-24.svg +1 -0
  450. package/build/primer/SVG/icon/plug-16.svg +1 -0
  451. package/build/primer/SVG/icon/plug-24.svg +1 -0
  452. package/build/primer/SVG/icon/plus-16.svg +1 -0
  453. package/build/primer/SVG/icon/plus-24.svg +1 -0
  454. package/build/primer/SVG/icon/plus-circle-16.svg +1 -0
  455. package/build/primer/SVG/icon/plus-circle-24.svg +1 -0
  456. package/build/primer/SVG/icon/project-16.svg +1 -0
  457. package/build/primer/SVG/icon/project-24.svg +1 -0
  458. package/build/primer/SVG/icon/pulse-16.svg +1 -0
  459. package/build/primer/SVG/icon/pulse-24.svg +1 -0
  460. package/build/primer/SVG/icon/question-16.svg +1 -0
  461. package/build/primer/SVG/icon/question-24.svg +1 -0
  462. package/build/primer/SVG/icon/quote-16.svg +1 -0
  463. package/build/primer/SVG/icon/quote-24.svg +1 -0
  464. package/build/primer/SVG/icon/reply-16.svg +1 -0
  465. package/build/primer/SVG/icon/reply-24.svg +1 -0
  466. package/build/primer/SVG/icon/repo-16.svg +1 -0
  467. package/build/primer/SVG/icon/repo-24.svg +1 -0
  468. package/build/primer/SVG/icon/repo-clone-16.svg +1 -0
  469. package/build/primer/SVG/icon/repo-deleted-16.svg +1 -0
  470. package/build/primer/SVG/icon/repo-forked-16.svg +1 -0
  471. package/build/primer/SVG/icon/repo-forked-24.svg +1 -0
  472. package/build/primer/SVG/icon/repo-locked-16.svg +1 -0
  473. package/build/primer/SVG/icon/repo-pull-16.svg +1 -0
  474. package/build/primer/SVG/icon/repo-push-16.svg +1 -0
  475. package/build/primer/SVG/icon/repo-push-24.svg +1 -0
  476. package/build/primer/SVG/icon/repo-template-16.svg +1 -0
  477. package/build/primer/SVG/icon/repo-template-24.svg +1 -0
  478. package/build/primer/SVG/icon/report-16.svg +1 -0
  479. package/build/primer/SVG/icon/report-24.svg +1 -0
  480. package/build/primer/SVG/icon/rocket-16.svg +1 -0
  481. package/build/primer/SVG/icon/rocket-24.svg +1 -0
  482. package/build/primer/SVG/icon/rows-16.svg +1 -0
  483. package/build/primer/SVG/icon/rows-24.svg +1 -0
  484. package/build/primer/SVG/icon/rss-16.svg +1 -0
  485. package/build/primer/SVG/icon/rss-24.svg +1 -0
  486. package/build/primer/SVG/icon/ruby-16.svg +1 -0
  487. package/build/primer/SVG/icon/ruby-24.svg +1 -0
  488. package/build/primer/SVG/icon/screen-full-16.svg +1 -0
  489. package/build/primer/SVG/icon/screen-full-24.svg +1 -0
  490. package/build/primer/SVG/icon/screen-normal-16.svg +1 -0
  491. package/build/primer/SVG/icon/screen-normal-24.svg +1 -0
  492. package/build/primer/SVG/icon/search-16.svg +1 -0
  493. package/build/primer/SVG/icon/search-24.svg +1 -0
  494. package/build/primer/SVG/icon/server-16.svg +1 -0
  495. package/build/primer/SVG/icon/server-24.svg +1 -0
  496. package/build/primer/SVG/icon/share-16.svg +1 -0
  497. package/build/primer/SVG/icon/share-24.svg +1 -0
  498. package/build/primer/SVG/icon/share-android-16.svg +1 -0
  499. package/build/primer/SVG/icon/share-android-24.svg +1 -0
  500. package/build/primer/SVG/icon/shield-16.svg +1 -0
  501. package/build/primer/SVG/icon/shield-24.svg +1 -0
  502. package/build/primer/SVG/icon/shield-check-16.svg +1 -0
  503. package/build/primer/SVG/icon/shield-check-24.svg +1 -0
  504. package/build/primer/SVG/icon/shield-lock-16.svg +1 -0
  505. package/build/primer/SVG/icon/shield-lock-24.svg +1 -0
  506. package/build/primer/SVG/icon/shield-x-16.svg +1 -0
  507. package/build/primer/SVG/icon/shield-x-24.svg +1 -0
  508. package/build/primer/SVG/icon/sidebar-collapse-16.svg +1 -0
  509. package/build/primer/SVG/icon/sidebar-collapse-24.svg +1 -0
  510. package/build/primer/SVG/icon/sidebar-expand-16.svg +1 -0
  511. package/build/primer/SVG/icon/sidebar-expand-24.svg +1 -0
  512. package/build/primer/SVG/icon/sign-in-16.svg +1 -0
  513. package/build/primer/SVG/icon/sign-in-24.svg +1 -0
  514. package/build/primer/SVG/icon/sign-out-16.svg +1 -0
  515. package/build/primer/SVG/icon/sign-out-24.svg +1 -0
  516. package/build/primer/SVG/icon/single-select-16.svg +1 -0
  517. package/build/primer/SVG/icon/single-select-24.svg +1 -0
  518. package/build/primer/SVG/icon/skip-16.svg +1 -0
  519. package/build/primer/SVG/icon/skip-24.svg +1 -0
  520. package/build/primer/SVG/icon/smiley-16.svg +1 -0
  521. package/build/primer/SVG/icon/smiley-24.svg +1 -0
  522. package/build/primer/SVG/icon/sort-asc-16.svg +1 -0
  523. package/build/primer/SVG/icon/sort-asc-24.svg +1 -0
  524. package/build/primer/SVG/icon/sort-desc-16.svg +1 -0
  525. package/build/primer/SVG/icon/sort-desc-24.svg +1 -0
  526. package/build/primer/SVG/icon/square-16.svg +1 -0
  527. package/build/primer/SVG/icon/square-24.svg +1 -0
  528. package/build/primer/SVG/icon/square-fill-16.svg +1 -0
  529. package/build/primer/SVG/icon/square-fill-24.svg +1 -0
  530. package/build/primer/SVG/icon/squirrel-16.svg +1 -0
  531. package/build/primer/SVG/icon/squirrel-24.svg +1 -0
  532. package/build/primer/SVG/icon/stack-16.svg +1 -0
  533. package/build/primer/SVG/icon/stack-24.svg +1 -0
  534. package/build/primer/SVG/icon/star-16.svg +1 -0
  535. package/build/primer/SVG/icon/star-24.svg +1 -0
  536. package/build/primer/SVG/icon/star-fill-16.svg +1 -0
  537. package/build/primer/SVG/icon/star-fill-24.svg +1 -0
  538. package/build/primer/SVG/icon/stop-16.svg +1 -0
  539. package/build/primer/SVG/icon/stop-24.svg +1 -0
  540. package/build/primer/SVG/icon/stopwatch-16.svg +1 -0
  541. package/build/primer/SVG/icon/stopwatch-24.svg +1 -0
  542. package/build/primer/SVG/icon/strikethrough-16.svg +1 -0
  543. package/build/primer/SVG/icon/strikethrough-24.svg +1 -0
  544. package/build/primer/SVG/icon/sun-16.svg +1 -0
  545. package/build/primer/SVG/icon/sun-24.svg +1 -0
  546. package/build/primer/SVG/icon/sync-16.svg +1 -0
  547. package/build/primer/SVG/icon/sync-24.svg +1 -0
  548. package/build/primer/SVG/icon/tab-24.svg +1 -0
  549. package/build/primer/SVG/icon/tab-external-16.svg +1 -0
  550. package/build/primer/SVG/icon/table-16.svg +1 -0
  551. package/build/primer/SVG/icon/table-24.svg +1 -0
  552. package/build/primer/SVG/icon/tag-16.svg +1 -0
  553. package/build/primer/SVG/icon/tag-24.svg +1 -0
  554. package/build/primer/SVG/icon/tasklist-16.svg +1 -0
  555. package/build/primer/SVG/icon/tasklist-24.svg +1 -0
  556. package/build/primer/SVG/icon/telescope-16.svg +1 -0
  557. package/build/primer/SVG/icon/telescope-24.svg +1 -0
  558. package/build/primer/SVG/icon/telescope-fill-16.svg +1 -0
  559. package/build/primer/SVG/icon/telescope-fill-24.svg +1 -0
  560. package/build/primer/SVG/icon/terminal-16.svg +1 -0
  561. package/build/primer/SVG/icon/terminal-24.svg +1 -0
  562. package/build/primer/SVG/icon/three-bars-16.svg +1 -0
  563. package/build/primer/SVG/icon/thumbsdown-16.svg +1 -0
  564. package/build/primer/SVG/icon/thumbsdown-24.svg +1 -0
  565. package/build/primer/SVG/icon/thumbsup-16.svg +1 -0
  566. package/build/primer/SVG/icon/thumbsup-24.svg +1 -0
  567. package/build/primer/SVG/icon/tools-16.svg +1 -0
  568. package/build/primer/SVG/icon/tools-24.svg +1 -0
  569. package/build/primer/SVG/icon/trash-16.svg +1 -0
  570. package/build/primer/SVG/icon/trash-24.svg +1 -0
  571. package/build/primer/SVG/icon/triangle-down-16.svg +1 -0
  572. package/build/primer/SVG/icon/triangle-down-24.svg +1 -0
  573. package/build/primer/SVG/icon/triangle-left-16.svg +1 -0
  574. package/build/primer/SVG/icon/triangle-left-24.svg +1 -0
  575. package/build/primer/SVG/icon/triangle-right-16.svg +1 -0
  576. package/build/primer/SVG/icon/triangle-right-24.svg +1 -0
  577. package/build/primer/SVG/icon/triangle-up-16.svg +1 -0
  578. package/build/primer/SVG/icon/triangle-up-24.svg +1 -0
  579. package/build/primer/SVG/icon/trophy-16.svg +1 -0
  580. package/build/primer/SVG/icon/trophy-24.svg +1 -0
  581. package/build/primer/SVG/icon/typography-16.svg +1 -0
  582. package/build/primer/SVG/icon/typography-24.svg +1 -0
  583. package/build/primer/SVG/icon/unfold-16.svg +1 -0
  584. package/build/primer/SVG/icon/unfold-24.svg +1 -0
  585. package/build/primer/SVG/icon/unlock-16.svg +1 -0
  586. package/build/primer/SVG/icon/unlock-24.svg +1 -0
  587. package/build/primer/SVG/icon/unmute-16.svg +1 -0
  588. package/build/primer/SVG/icon/unmute-24.svg +1 -0
  589. package/build/primer/SVG/icon/unverified-16.svg +1 -0
  590. package/build/primer/SVG/icon/unverified-24.svg +1 -0
  591. package/build/primer/SVG/icon/upload-16.svg +1 -0
  592. package/build/primer/SVG/icon/upload-24.svg +1 -0
  593. package/build/primer/SVG/icon/verified-16.svg +1 -0
  594. package/build/primer/SVG/icon/verified-24.svg +1 -0
  595. package/build/primer/SVG/icon/versions-16.svg +1 -0
  596. package/build/primer/SVG/icon/versions-24.svg +1 -0
  597. package/build/primer/SVG/icon/video-16.svg +1 -0
  598. package/build/primer/SVG/icon/video-24.svg +1 -0
  599. package/build/primer/SVG/icon/webhook-16.svg +1 -0
  600. package/build/primer/SVG/icon/workflow-16.svg +1 -0
  601. package/build/primer/SVG/icon/workflow-24.svg +1 -0
  602. package/build/primer/SVG/icon/x-16.svg +1 -0
  603. package/build/primer/SVG/icon/x-24.svg +1 -0
  604. package/build/primer/SVG/icon/x-circle-16.svg +1 -0
  605. package/build/primer/SVG/icon/x-circle-24.svg +1 -0
  606. package/build/primer/SVG/icon/x-circle-fill-12.svg +1 -0
  607. package/build/primer/SVG/icon/x-circle-fill-16.svg +1 -0
  608. package/build/primer/SVG/icon/x-circle-fill-24.svg +1 -0
  609. package/build/primer/SVG/icon/zap-16.svg +1 -0
  610. package/build/primer/SVG/icon/zap-24.svg +1 -0
  611. package/build/primer/Select/Select.js +78 -0
  612. package/build/primer/Select/Select.prop.js +32 -0
  613. package/build/primer/Select/Select.scss +49 -0
  614. package/build/primer/Select/index.js +21 -0
  615. package/build/primer/SelectMenu/SelectMenu.js +114 -0
  616. package/build/primer/SelectMenu/SelectMenu.prop.js +31 -0
  617. package/build/primer/SelectMenu/SelectMenu.scss +467 -0
  618. package/build/primer/SelectMenu/index.js +13 -0
  619. package/build/primer/Subhead/Subhead.js +34 -0
  620. package/build/primer/Subhead/Subhead.prop.js +20 -0
  621. package/build/primer/Subhead/Subhead.scss +50 -0
  622. package/build/primer/Subhead/index.js +13 -0
  623. package/build/primer/Toast/Toast.js +64 -0
  624. package/build/primer/Toast/Toast.prop.js +31 -0
  625. package/build/primer/Toast/Toast.scss +130 -0
  626. package/build/primer/Toast/index.js +21 -0
  627. package/build/primer/index.js +91 -0
  628. package/build/primer/index.scss +1 -1
  629. package/package.json +5 -4
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.selectState = exports.propTypes = exports.defaultProps = void 0;
7
+
8
+ var _propTypes = require("prop-types");
9
+
10
+ var selectState = {
11
+ active: 'active',
12
+ inactive: 'inactive'
13
+ };
14
+ exports.selectState = selectState;
15
+ var propTypes = {
16
+ id: _propTypes.string,
17
+ className: _propTypes.string,
18
+ selectedText: _propTypes.string.isRequired,
19
+ items: (0, _propTypes.arrayOf)((0, _propTypes.shape)({
20
+ text: _propTypes.string,
21
+ isSelected: _propTypes.bool
22
+ })).isRequired,
23
+ onChange: _propTypes.func.isRequired,
24
+ state: (0, _propTypes.oneOf)(Object.keys(selectState))
25
+ };
26
+ exports.propTypes = propTypes;
27
+ var defaultProps = {
28
+ id: null,
29
+ className: null,
30
+ state: selectState.active
31
+ };
32
+ exports.defaultProps = defaultProps;
@@ -0,0 +1,49 @@
1
+ @import '../../index.scss';
2
+
3
+ .select {
4
+ position: relative;
5
+ }
6
+
7
+ .select-menu {
8
+ top: 100%;
9
+ left: 0;
10
+ z-index: 100;
11
+ width: 160px;
12
+ padding-top: $spacer-1;
13
+ padding-bottom: $spacer-1;
14
+ margin-top: 2px;
15
+ list-style: none;
16
+ background-color: var(--color-scale-white);
17
+ background-clip: padding-box;
18
+ border: $border;
19
+ border-radius: $border-radius;
20
+ box-shadow: var(--color-shadow-large);
21
+
22
+ &::before,
23
+ &::after {
24
+ position: absolute;
25
+ display: inline-block;
26
+ content: '';
27
+ }
28
+
29
+ &::before {
30
+ border: $spacer-2 $border-style transparent;
31
+ border-bottom-color: rgba(var(--color-scale-black), 0.15);
32
+ }
33
+
34
+ &::after {
35
+ border: 7px $border-style transparent;
36
+ border-bottom-color: var(--color-scale-white);
37
+ }
38
+
39
+ > ul {
40
+ list-style: none;
41
+ }
42
+ }
43
+
44
+ .select-inactive {
45
+ pointer-events: none;
46
+ cursor: not-allowed;
47
+ user-select: none;
48
+ color: var(--color-scale-gray-4) !important;
49
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "Select", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _Select.Select;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "selectState", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _Select2.selectState;
16
+ }
17
+ });
18
+
19
+ var _Select = require("./Select");
20
+
21
+ var _Select2 = require("./Select.prop");
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.SelectMenu = SelectMenu;
9
+
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+
12
+ var _classnames = _interopRequireDefault(require("classnames"));
13
+
14
+ var _uuid = require("uuid");
15
+
16
+ var _array = require("@papillonbits/library/array");
17
+
18
+ var _hooks = require("@papillonbits/library/hooks");
19
+
20
+ var _margin = _interopRequireDefault(require("@papillonbits/css/build/primer/utilities/margin.scss"));
21
+
22
+ var _details = _interopRequireDefault(require("@papillonbits/css/build/primer/utilities/details.scss"));
23
+
24
+ var _SelectMenu = require("./SelectMenu.prop");
25
+
26
+ var _SelectMenu2 = _interopRequireDefault(require("./SelectMenu.scss"));
27
+
28
+ var _Button = _interopRequireDefault(require("../Button/Button.scss"));
29
+
30
+ var _Icon = require("../Icon");
31
+
32
+ var _jsxRuntime = require("react/jsx-runtime");
33
+
34
+ function SelectMenu(_ref) {
35
+ var className = _ref.className,
36
+ summary = _ref.summary,
37
+ icon = _ref.icon,
38
+ title = _ref.title,
39
+ ariaAttr = _ref.ariaAttr,
40
+ items = _ref.items,
41
+ _onClick = _ref.onClick;
42
+
43
+ var _useState = (0, _hooks.useState)((0, _array.getIndexItems)(items)),
44
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
45
+ indexItems = _useState2[0],
46
+ setIndexItems = _useState2[1];
47
+
48
+ var haspopup = ariaAttr.haspopup;
49
+ var details = (0, _hooks.useRef)(null);
50
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("details", {
51
+ ref: details,
52
+ className: (0, _classnames["default"])(className, _details["default"]['details-reset'], _details["default"]['details-overlay']),
53
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("summary", {
54
+ className: (0, _classnames["default"])(_Button["default"].btn, _Button["default"]['btn-outline']),
55
+ "aria-haspopup": haspopup,
56
+ children: [summary, " ", /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.Icon, {
57
+ className: (0, _classnames["default"])(_margin["default"]['ml-2']),
58
+ icon: icon,
59
+ size: _Icon.iconSize.small
60
+ })]
61
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
62
+ className: _SelectMenu2["default"].SelectMenu,
63
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
64
+ className: _SelectMenu2["default"]['SelectMenu-modal'],
65
+ children: [title && /*#__PURE__*/(0, _jsxRuntime.jsxs)("header", {
66
+ className: _SelectMenu2["default"]['SelectMenu-header'],
67
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("h3", {
68
+ className: _SelectMenu2["default"]['SelectMenu-title'],
69
+ children: title
70
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
71
+ className: _SelectMenu2["default"]['SelectMenu-closeButton'],
72
+ type: "button"
73
+ })]
74
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
75
+ className: _SelectMenu2["default"]['SelectMenu-list'],
76
+ children: indexItems.map(function (indexItem) {
77
+ var text = indexItem.text;
78
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
79
+ type: "button",
80
+ onClick: function onClick(e) {
81
+ e.preventDefault();
82
+ var newIndexItems = (0, _array.getIndexItemsWithSelected)(indexItems, indexItem);
83
+ setIndexItems(newIndexItems);
84
+
85
+ _onClick({
86
+ ariaAttr: ariaAttr,
87
+ items: newIndexItems.map(function (newIndexItem) {
88
+ return function (_ref2) {
89
+ var text = _ref2.text,
90
+ isSelected = _ref2.isSelected;
91
+ return {
92
+ text: text,
93
+ isSelected: isSelected
94
+ };
95
+ }(newIndexItem);
96
+ }) // eslint-disable-line
97
+
98
+ });
99
+
100
+ details.current.removeAttribute('open');
101
+ },
102
+ className: _SelectMenu2["default"]['SelectMenu-item'],
103
+ role: "menuitem",
104
+ children: text
105
+ }, (0, _uuid.v1)());
106
+ })
107
+ })]
108
+ })
109
+ })]
110
+ });
111
+ }
112
+
113
+ SelectMenu.propTypes = _SelectMenu.propTypes;
114
+ SelectMenu.defaultProps = _SelectMenu.defaultProps;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.propTypes = exports.defaultProps = void 0;
7
+
8
+ var _propTypes = require("prop-types");
9
+
10
+ var _Icon = require("../Icon/Icon.prop");
11
+
12
+ var propTypes = {
13
+ className: _propTypes.string,
14
+ summary: _propTypes.string.isRequired,
15
+ icon: (0, _propTypes.oneOf)(Object.keys(_Icon.iconName)),
16
+ title: _propTypes.string,
17
+ ariaAttr: (0, _propTypes.shape)({
18
+ haspopup: _propTypes.bool
19
+ }).isRequired,
20
+ items: (0, _propTypes.arrayOf)((0, _propTypes.shape)({
21
+ text: _propTypes.string,
22
+ isSelected: _propTypes.bool
23
+ })).isRequired,
24
+ onClick: _propTypes.func.isRequired
25
+ };
26
+ exports.propTypes = propTypes;
27
+ var defaultProps = {
28
+ className: null,
29
+ title: null
30
+ };
31
+ exports.defaultProps = defaultProps;
@@ -0,0 +1,467 @@
1
+ @import '../../index.scss';
2
+
3
+ // stylelint-disable no-descending-specificity
4
+ // stylelint-disable selector-max-type
5
+ // selector-max-type is needed for body:not(.intent-mouse) to target keyboard only styles.
6
+
7
+ $SelectMenu-max-height: 480px !default;
8
+
9
+ // Select Menu
10
+ //
11
+ // A more advanced menu with support for navigation, filtering, and more.
12
+
13
+ .SelectMenu {
14
+ position: fixed;
15
+ top: 0;
16
+ right: 0;
17
+ bottom: 0;
18
+ left: 0;
19
+ z-index: 99;
20
+ display: flex;
21
+ padding: $spacer-3;
22
+ pointer-events: none;
23
+ flex-direction: column;
24
+
25
+ @include breakpoint(sm) {
26
+ position: absolute;
27
+ top: auto;
28
+ right: auto;
29
+ bottom: auto;
30
+ left: auto;
31
+ padding: 0;
32
+ }
33
+ }
34
+
35
+ // Backdrop
36
+ //
37
+ // Adds a dark, semi transparent "cover" underneath the modal. Only visible for xs.
38
+
39
+ .SelectMenu::before {
40
+ position: absolute;
41
+ top: 0;
42
+ right: 0;
43
+ bottom: 0;
44
+ left: 0;
45
+ pointer-events: none;
46
+ content: '';
47
+ background-color: var(--color-primer-canvas-backdrop);
48
+
49
+ @include breakpoint(sm) {
50
+ display: none;
51
+ }
52
+ }
53
+
54
+ // Modal
55
+ //
56
+ // The main "box" that contains the content
57
+
58
+ .SelectMenu-modal {
59
+ position: relative;
60
+ z-index: 99; // Needs to be higher than .details-overlay's z-index: 80.
61
+ display: flex;
62
+ max-height: 66%;
63
+ margin: auto 0;
64
+ overflow: hidden; // Enables border radius on scrollable child elements
65
+ pointer-events: auto;
66
+ flex-direction: column;
67
+ background-color: var(--color-canvas-overlay);
68
+ border: $border-width $border-style var(--color-select-menu-backdrop-border);
69
+ // stylelint-disable-next-line primer/borders
70
+ border-radius: $border-radius * 2;
71
+ box-shadow: var(--color-shadow-large);
72
+ animation: SelectMenu-modal-animation 0.12s cubic-bezier(0, 0.1, 0.1, 1) backwards;
73
+
74
+ @keyframes SelectMenu-modal-animation {
75
+ 0% {
76
+ opacity: 0;
77
+ transform: scale(0.9);
78
+ }
79
+ }
80
+
81
+ @keyframes SelectMenu-modal-animation--sm {
82
+ 0% {
83
+ opacity: 0;
84
+ transform: translateY(-$spacer-3);
85
+ }
86
+ }
87
+
88
+ @include breakpoint(sm) {
89
+ width: 300px;
90
+ height: auto;
91
+ max-height: $SelectMenu-max-height;
92
+ margin: $spacer-2 0 $spacer-3 0;
93
+ font-size: $font-size-small;
94
+ border-color: var(--color-border-default);
95
+ border-radius: $border-radius;
96
+ box-shadow: var(--color-shadow-large);
97
+ animation-name: SelectMenu-modal-animation--sm;
98
+ }
99
+ }
100
+
101
+ // Header
102
+ //
103
+ // Used for showing a title and the close button. Close button is only visible for xs.
104
+
105
+ .SelectMenu-header {
106
+ display: flex;
107
+ padding: $spacer-3;
108
+ flex: none; // fixes header from getting squeezed in Safari iOS
109
+ align-items: center;
110
+ border-bottom: $border-width $border-style var(--color-border-muted);
111
+
112
+ @include breakpoint(sm) {
113
+ // stylelint-disable-next-line primer/spacing
114
+ padding: 7px 7px 7px $spacer-3;
115
+ }
116
+ }
117
+
118
+ .SelectMenu-title {
119
+ flex: 1;
120
+ font-size: $body-font-size;
121
+ font-weight: $font-weight-bold;
122
+
123
+ @include breakpoint(sm) {
124
+ font-size: inherit;
125
+ }
126
+ }
127
+
128
+ .SelectMenu-closeButton {
129
+ padding: $spacer-3;
130
+ margin: -$spacer-3;
131
+ line-height: 1;
132
+ color: var(--color-fg-muted);
133
+ background-color: transparent;
134
+ border: 0;
135
+
136
+ @include breakpoint(sm) {
137
+ padding: $spacer-2;
138
+ // stylelint-disable-next-line primer/spacing
139
+ margin: (-$spacer-2) (-7px); // Using -7px fixes a :focus glitch
140
+ }
141
+ }
142
+
143
+ // Filter
144
+ //
145
+ // An input to filter a large list
146
+
147
+ .SelectMenu-filter {
148
+ padding: $spacer-3;
149
+ margin: 0;
150
+ border-bottom: $border-width $border-style var(--color-border-muted);
151
+
152
+ @include breakpoint(sm) {
153
+ padding: $spacer-2;
154
+ }
155
+ }
156
+
157
+ .SelectMenu-input {
158
+ display: block;
159
+ width: 100%;
160
+
161
+ @include breakpoint(sm) {
162
+ font-size: $h5-size;
163
+ }
164
+ }
165
+
166
+ // List
167
+ //
168
+ // The container that holds all the list items. Starts scrolling when the list gets too long.
169
+
170
+ .SelectMenu-list {
171
+ position: relative;
172
+ padding: 0;
173
+ margin: 0;
174
+ // stylelint-disable-next-line primer/spacing
175
+ margin-bottom: -$border-width; // Hides the last border in the list
176
+ flex: auto;
177
+ overflow-x: hidden;
178
+ overflow-y: auto;
179
+ background-color: var(--color-canvas-overlay);
180
+ -webkit-overflow-scrolling: touch; // Adds momentum + bouncy scrolling
181
+ }
182
+
183
+ // List Item
184
+ //
185
+ // The interactive element used to make a selection
186
+
187
+ .SelectMenu-item {
188
+ display: flex;
189
+ align-items: center;
190
+ width: 100%;
191
+ padding: $spacer-3;
192
+ overflow: hidden;
193
+ color: var(--color-fg-default);
194
+ text-align: left;
195
+ cursor: pointer;
196
+ background-color: var(--color-canvas-overlay);
197
+ border: 0;
198
+ border-bottom: $border-width $border-style var(--color-border-muted);
199
+
200
+ @include breakpoint(sm) {
201
+ // stylelint-disable-next-line primer/spacing
202
+ padding-top: 7px;
203
+ // stylelint-disable-next-line primer/spacing
204
+ padding-bottom: 7px;
205
+ }
206
+
207
+ // Borderless
208
+ .SelectMenu-list--borderless & {
209
+ border-bottom: 0;
210
+ }
211
+ }
212
+
213
+ // Icon
214
+ //
215
+ // Icon shown on the left of a list item.
216
+
217
+ .SelectMenu-icon {
218
+ width: $spacer-3; // fixed width to make sure following content aligns
219
+ margin-right: $spacer-2;
220
+ flex-shrink: 0;
221
+ }
222
+
223
+ // Check icon
224
+ .SelectMenu-icon--check {
225
+ visibility: hidden;
226
+ transition: transform 0.12s cubic-bezier(0.5, 0.1, 1, 0.5), visibility 0s 0.12s linear;
227
+ transform: scale(0);
228
+ }
229
+
230
+ // Tabs
231
+ //
232
+ // Allows switching between multiple lists
233
+
234
+ .SelectMenu-tabs {
235
+ display: flex;
236
+ flex-shrink: 0;
237
+ overflow-x: auto;
238
+ overflow-y: hidden;
239
+ // stylelint-disable-next-line primer/box-shadow
240
+ box-shadow: inset 0 -1px 0 var(--color-border-muted);
241
+ -webkit-overflow-scrolling: touch;
242
+
243
+ // Hide scrollbar so it doesn't cover the text
244
+ &::-webkit-scrollbar {
245
+ display: none;
246
+ }
247
+
248
+ @include breakpoint(sm) {
249
+ padding: $spacer-2 $spacer-2 0 $spacer-2;
250
+ }
251
+ }
252
+
253
+ .SelectMenu-tab {
254
+ flex: 1;
255
+ padding: $spacer-2 $spacer-3;
256
+ font-size: $font-size-small;
257
+ font-weight: $font-weight-semibold;
258
+ color: var(--color-fg-muted);
259
+ text-align: center;
260
+ background-color: transparent;
261
+ border: 0;
262
+ // stylelint-disable-next-line primer/box-shadow
263
+ box-shadow: inset 0 -1px 0 var(--color-border-muted);
264
+
265
+ @include breakpoint(sm) {
266
+ flex: none;
267
+ padding: $spacer-1 $spacer-3;
268
+ border: $border-width $border-style transparent;
269
+ border-bottom-width: 0;
270
+ border-top-left-radius: $border-radius;
271
+ border-top-right-radius: $border-radius;
272
+ }
273
+
274
+ &[aria-selected='true'] {
275
+ z-index: 1; // Keeps box-shadow visible when hovering
276
+ color: var(--color-fg-default);
277
+ cursor: default;
278
+ background-color: var(--color-canvas-overlay);
279
+ // stylelint-disable-next-line primer/box-shadow
280
+ box-shadow: 0 0 0 1px var(--color-border-muted);
281
+
282
+ @include breakpoint(sm) {
283
+ border-color: var(--color-border-muted);
284
+ box-shadow: none;
285
+ }
286
+ }
287
+ }
288
+
289
+ // Message
290
+ //
291
+ // A container used to show different kinds of text messages.
292
+
293
+ .SelectMenu-message {
294
+ // stylelint-disable-next-line primer/spacing
295
+ padding: 7px $spacer-3;
296
+ text-align: center;
297
+ background-color: var(--color-canvas-overlay);
298
+ border-bottom: $border-width $border-style var(--color-border-muted);
299
+ }
300
+
301
+ // Blankslate and Loading
302
+ //
303
+ // A container used to show a blankslate or the loading animation.
304
+
305
+ .SelectMenu-blankslate,
306
+ .SelectMenu-loading {
307
+ padding: $spacer-4 $spacer-3;
308
+ text-align: center;
309
+ background-color: var(--color-canvas-overlay);
310
+ }
311
+
312
+ // Divider
313
+ //
314
+ // Can be used to divide the list into multiple groups
315
+
316
+ .SelectMenu-divider {
317
+ padding: $spacer-1 $spacer-3;
318
+ margin: 0;
319
+ font-size: $font-size-small;
320
+ font-weight: $font-weight-semibold;
321
+ color: var(--color-fg-muted);
322
+ background-color: var(--color-canvas-subtle);
323
+ border-bottom: $border-width $border-style var(--color-border-muted);
324
+
325
+ // Borderless
326
+ .SelectMenu-list--borderless & {
327
+ border-top: $border-width $border-style var(--color-border-muted);
328
+
329
+ &:empty {
330
+ padding: 0;
331
+ border-top: 0;
332
+ }
333
+ }
334
+ }
335
+
336
+ // Footer
337
+ //
338
+ // A container at the bottom.
339
+
340
+ .SelectMenu-footer {
341
+ z-index: 0; // Avoid top border from getting covered by the negative margin of the list
342
+ padding: $spacer-2 $spacer-3;
343
+ font-size: $font-size-small;
344
+ color: var(--color-fg-muted);
345
+ text-align: center;
346
+ border-top: $border-width $border-style var(--color-border-muted);
347
+
348
+ @include breakpoint(sm) {
349
+ // stylelint-disable-next-line primer/spacing
350
+ padding: 7px $spacer-3;
351
+ }
352
+ }
353
+
354
+ // Has Filter (modifier)
355
+ //
356
+ // Makes sure that the filter input keeps a fixed position at the top while typing. Only visible for xs.
357
+
358
+ .SelectMenu--hasFilter {
359
+ .SelectMenu-modal {
360
+ height: 80%;
361
+ max-height: none;
362
+ margin-top: 0;
363
+
364
+ @include breakpoint(sm) {
365
+ height: auto;
366
+ max-height: $SelectMenu-max-height;
367
+ margin-top: $spacer-2;
368
+ }
369
+ }
370
+ }
371
+
372
+ // States
373
+ //
374
+ // Different states
375
+
376
+ // Reset outlines
377
+ .SelectMenu-closeButton:focus,
378
+ .SelectMenu-tab:focus,
379
+ .SelectMenu-item:focus {
380
+ outline: 0;
381
+ }
382
+
383
+ // Reset <a> elements
384
+ .SelectMenu-item:hover {
385
+ text-decoration: none;
386
+ }
387
+
388
+ // Selected
389
+ //
390
+ // Visible when a user clicks/taps on a list item
391
+
392
+ .SelectMenu-item[aria-checked='true'] {
393
+ font-weight: $font-weight-semibold;
394
+ color: var(--color-fg-default);
395
+
396
+ .SelectMenu-icon--check {
397
+ visibility: visible;
398
+ transition: transform 0.12s cubic-bezier(0, 0, 0.2, 1), visibility 0s linear;
399
+ transform: scale(1);
400
+ }
401
+ }
402
+
403
+ // Disabled
404
+ //
405
+ // Prevent list items to be selected
406
+
407
+ .SelectMenu-item:disabled,
408
+ .SelectMenu-item[aria-disabled='true'] {
409
+ color: var(--color-primer-fg-disabled);
410
+ pointer-events: none;
411
+ }
412
+
413
+ // Can hover states
414
+ //
415
+ // For mouse/keyboard input
416
+
417
+ @media (hover: hover) {
418
+ body:not(.intent-mouse) .SelectMenu-closeButton:focus,
419
+ .SelectMenu-closeButton:hover {
420
+ color: var(--color-fg-default);
421
+ }
422
+
423
+ .SelectMenu-closeButton:active {
424
+ color: var(--color-fg-muted);
425
+ }
426
+
427
+ body:not(.intent-mouse) .SelectMenu-item:focus,
428
+ .SelectMenu-item:hover {
429
+ background-color: var(--color-neutral-subtle);
430
+ }
431
+
432
+ .SelectMenu-item:active {
433
+ background-color: var(--color-canvas-subtle);
434
+ }
435
+
436
+ body:not(.intent-mouse) .SelectMenu-tab:focus {
437
+ background-color: var(--color-select-menu-tap-focus-bg);
438
+ }
439
+
440
+ .SelectMenu-tab:hover {
441
+ color: var(--color-fg-default);
442
+ }
443
+
444
+ .SelectMenu-tab:not([aria-selected='true']):active {
445
+ color: var(--color-fg-default);
446
+ background-color: var(--color-canvas-subtle);
447
+ }
448
+ }
449
+
450
+ // Can not hover states
451
+ //
452
+ // For touch input
453
+
454
+ @media (hover: none) {
455
+ // Android
456
+ .SelectMenu-item:focus,
457
+ .SelectMenu-item:active {
458
+ background-color: var(--color-canvas-subtle);
459
+ }
460
+
461
+ // iOS Safari
462
+ // :active would work if ontouchstart is added to the button
463
+ // Instead this tweaks the "native" highlight color
464
+ .SelectMenu-item {
465
+ -webkit-tap-highlight-color: var(--color-select-menu-tap-highlight);
466
+ }
467
+ }