@govtechsg/sgds-web-component 0.0.10 → 0.0.12

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 (338) hide show
  1. package/README.md +102 -10
  2. package/base/card-element.d.ts +12 -0
  3. package/{lib/utils → base}/dropdown-element.d.ts +38 -37
  4. package/{lib/utils → base}/link-element.d.ts +8 -7
  5. package/{lib/utils → base}/sgds-element.d.ts +6 -5
  6. package/components/Accordion/index.d.ts +2 -0
  7. package/components/Accordion/sgds-accordion-item.d.ts +40 -0
  8. package/components/Accordion/sgds-accordion.d.ts +19 -0
  9. package/components/ActionCard/index.d.ts +1 -0
  10. package/{lib/Card → components/ActionCard}/sgds-action-card.d.ts +21 -20
  11. package/components/Alert/index.d.ts +1 -0
  12. package/components/Alert/sgds-alert.d.ts +37 -0
  13. package/components/Badge/index.d.ts +1 -0
  14. package/components/Badge/sgds-badge.d.ts +10 -0
  15. package/components/Breadcrumb/index.d.ts +2 -0
  16. package/components/Breadcrumb/sgds-breadcrumb-item.d.ts +10 -0
  17. package/components/Breadcrumb/sgds-breadcrumb.d.ts +12 -0
  18. package/components/Button/index.d.ts +1 -0
  19. package/{lib → components}/Button/sgds-button.d.ts +55 -48
  20. package/components/Checkbox/index.d.ts +1 -0
  21. package/{lib → components}/Checkbox/sgds-checkbox.d.ts +36 -36
  22. package/components/CloseButton/index.d.ts +1 -0
  23. package/components/CloseButton/sgds-closebutton.d.ts +9 -0
  24. package/components/Dropdown/index.d.ts +3 -0
  25. package/{lib → components}/Dropdown/sgds-dropdown-item.d.ts +8 -7
  26. package/{lib → components}/Dropdown/sgds-dropdown.d.ts +8 -7
  27. package/components/FileUpload/index.d.ts +1 -0
  28. package/components/FileUpload/sgds-fileupload.d.ts +22 -0
  29. package/components/Footer/index.d.ts +1 -0
  30. package/{lib → components}/Footer/sgds-footer.d.ts +27 -23
  31. package/components/Input/index.d.ts +1 -0
  32. package/{lib → components}/Input/sgds-input.d.ts +42 -42
  33. package/components/Mainnav/index.d.ts +3 -0
  34. package/components/Mainnav/sgds-mainnav-dropdown.d.ts +6 -0
  35. package/components/Mainnav/sgds-mainnav-item.d.ts +8 -0
  36. package/{lib → components}/Mainnav/sgds-mainnav.d.ts +26 -22
  37. package/components/Masthead/index.d.ts +1 -0
  38. package/{lib → components}/Masthead/sgds-masthead.d.ts +9 -12
  39. package/components/Modal/index.d.ts +1 -0
  40. package/{lib → components}/Modal/sgds-modal.d.ts +28 -28
  41. package/components/QuantityToggle/index.d.ts +1 -0
  42. package/{lib/QuantityToggle/sgds-quantitytoggle.d.ts → components/QuantityToggle/sgds-quantity-toggle.d.ts} +30 -30
  43. package/components/Radio/index.d.ts +2 -0
  44. package/{lib/Radio/sgds-radiogroup.d.ts → components/Radio/sgds-radio-group.d.ts} +41 -41
  45. package/{lib → components}/Radio/sgds-radio.d.ts +31 -31
  46. package/components/Sidenav/index.d.ts +3 -0
  47. package/{lib → components}/Sidenav/sgds-sidenav-item.d.ts +36 -28
  48. package/components/Sidenav/sgds-sidenav-link.d.ts +8 -0
  49. package/{lib → components}/Sidenav/sgds-sidenav.d.ts +10 -6
  50. package/components/Stepper/index.d.ts +1 -0
  51. package/components/Stepper/sgds-stepper.d.ts +17 -0
  52. package/components/Tab/index.d.ts +3 -0
  53. package/{lib → components}/Tab/sgds-tab.d.ts +27 -26
  54. package/{lib → components}/Tab/sgds-tabgroup.d.ts +48 -47
  55. package/{lib → components}/Tab/sgds-tabpanel.d.ts +26 -25
  56. package/components/Table/index.d.ts +1 -0
  57. package/components/Table/sgds-table.d.ts +26 -0
  58. package/components/Textarea/index.d.ts +1 -0
  59. package/{lib → components}/Textarea/sgds-textarea.d.ts +53 -53
  60. package/components/Toast/index.d.ts +1 -0
  61. package/components/Toast/sgds-toast.d.ts +22 -0
  62. package/components/Tooltip/index.d.ts +1 -0
  63. package/components/Tooltip/sgds-tooltip.d.ts +30 -0
  64. package/index.d.ts +23 -0
  65. package/index.js +11543 -0
  66. package/index.js.map +1 -0
  67. package/main.d.ts +24 -0
  68. package/package.json +23 -65
  69. package/react/accordion/index.d.ts +3 -0
  70. package/react/accordion-item/index.d.ts +8 -0
  71. package/react/action-card/index.d.ts +3 -0
  72. package/react/alert/index.d.ts +3 -0
  73. package/react/badge/index.d.ts +3 -0
  74. package/react/breadcrumb/index.d.ts +3 -0
  75. package/react/breadcrumb-item/index.d.ts +3 -0
  76. package/react/button/index.d.ts +6 -0
  77. package/react/checkbox/index.d.ts +3 -0
  78. package/react/cjs/index.js +12510 -0
  79. package/react/cjs/index.js.map +1 -0
  80. package/react/closebutton/index.d.ts +5 -0
  81. package/react/dropdown/index.d.ts +3 -0
  82. package/react/dropdown-item/index.d.ts +3 -0
  83. package/react/fileupload/index.d.ts +3 -0
  84. package/react/footer/index.d.ts +3 -0
  85. package/react/index.d.ts +34 -0
  86. package/react/index.js +12453 -0
  87. package/react/index.js.map +1 -0
  88. package/react/input/index.d.ts +3 -0
  89. package/react/mainnav/index.d.ts +3 -0
  90. package/react/mainnav-dropdown/index.d.ts +3 -0
  91. package/react/mainnav-item/index.d.ts +3 -0
  92. package/react/masthead/index.d.ts +3 -0
  93. package/react/modal/index.d.ts +3 -0
  94. package/react/package.json +10 -0
  95. package/react/quantity-toggle/index.d.ts +3 -0
  96. package/react/radio/index.d.ts +3 -0
  97. package/react/radio-group/index.d.ts +3 -0
  98. package/react/sidenav/index.d.ts +3 -0
  99. package/react/sidenav-item/index.d.ts +5 -0
  100. package/react/sidenav-link/index.d.ts +3 -0
  101. package/react/stepper/index.d.ts +3 -0
  102. package/react/tab/index.d.ts +3 -0
  103. package/react/tab-group/index.d.ts +3 -0
  104. package/react/tab-panel/index.d.ts +3 -0
  105. package/react/table/index.d.ts +3 -0
  106. package/react/textarea/index.d.ts +3 -0
  107. package/react/toast/index.d.ts +3 -0
  108. package/react/tooltip/index.d.ts +3 -0
  109. package/umd/index.js +11995 -0
  110. package/umd/index.js.map +1 -0
  111. package/{lib/utils → utils}/animate.d.ts +10 -10
  112. package/{lib/utils → utils}/animation-registry.d.ts +18 -18
  113. package/{lib/utils → utils}/breakpoints.d.ts +5 -5
  114. package/{lib/utils → utils}/defaultvalue.d.ts +2 -2
  115. package/{lib/utils → utils}/event.d.ts +2 -2
  116. package/{lib/utils → utils}/form.d.ts +38 -38
  117. package/{lib/utils → utils}/generateId.d.ts +1 -1
  118. package/{lib/utils → utils}/mergeDeep.d.ts +2 -2
  119. package/{lib/utils → utils}/modal.d.ts +12 -12
  120. package/{lib/utils → utils}/object.d.ts +2 -2
  121. package/{lib/utils → utils}/offset.d.ts +4 -4
  122. package/{lib/utils → utils}/scroll.d.ts +13 -13
  123. package/{lib/utils → utils}/slot.d.ts +22 -22
  124. package/{lib/utils → utils}/tabbable.d.ts +8 -8
  125. package/{lib/utils → utils}/watch.d.ts +14 -14
  126. package/.github/workflows/publish-latest.yml +0 -22
  127. package/.github/workflows/publish-pr.yml +0 -28
  128. package/.husky/commit-msg +0 -4
  129. package/.husky/prepare-commit-msg +0 -8
  130. package/.storybook/main.js +0 -16
  131. package/.storybook/preview-head.html +0 -11
  132. package/.storybook/preview.js +0 -9
  133. package/.vscode/settings.json +0 -7
  134. package/CONTRIBUTING.md +0 -56
  135. package/LICENSE +0 -20
  136. package/amplify.yml +0 -22
  137. package/commitlint.config.js +0 -1
  138. package/coverage/lcov-report/base.css +0 -224
  139. package/coverage/lcov-report/block-navigation.js +0 -87
  140. package/coverage/lcov-report/button-element.scss.html +0 -112
  141. package/coverage/lcov-report/button-element.ts.html +0 -145
  142. package/coverage/lcov-report/favicon.png +0 -0
  143. package/coverage/lcov-report/index.html +0 -116
  144. package/coverage/lcov-report/prettify.css +0 -1
  145. package/coverage/lcov-report/prettify.js +0 -2
  146. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  147. package/coverage/lcov-report/sorter.js +0 -196
  148. package/coverage/lcov.info +0 -32
  149. package/index.html +0 -430
  150. package/lib/Button/index.d.ts +0 -1
  151. package/lib/Button/index.js +0 -6634
  152. package/lib/Button/index.js.map +0 -1
  153. package/lib/Button/package.json +0 -7
  154. package/lib/Card/index.d.ts +0 -1
  155. package/lib/Card/index.js +0 -6150
  156. package/lib/Card/index.js.map +0 -1
  157. package/lib/Card/package.json +0 -7
  158. package/lib/Checkbox/index.d.ts +0 -1
  159. package/lib/Checkbox/index.js +0 -6366
  160. package/lib/Checkbox/index.js.map +0 -1
  161. package/lib/Checkbox/package.json +0 -7
  162. package/lib/Dropdown/index.d.ts +0 -3
  163. package/lib/Dropdown/index.js +0 -13502
  164. package/lib/Dropdown/index.js.map +0 -1
  165. package/lib/Dropdown/package.json +0 -7
  166. package/lib/Footer/index.d.ts +0 -2
  167. package/lib/Footer/index.js +0 -7168
  168. package/lib/Footer/index.js.map +0 -1
  169. package/lib/Footer/package.json +0 -7
  170. package/lib/Input/index.d.ts +0 -1
  171. package/lib/Input/index.js +0 -6656
  172. package/lib/Input/index.js.map +0 -1
  173. package/lib/Input/package.json +0 -7
  174. package/lib/Mainnav/index.d.ts +0 -4
  175. package/lib/Mainnav/index.js +0 -32546
  176. package/lib/Mainnav/index.js.map +0 -1
  177. package/lib/Mainnav/package.json +0 -7
  178. package/lib/Mainnav/sgds-mainnav-dropdown.d.ts +0 -5
  179. package/lib/Mainnav/sgds-mainnav-item.d.ts +0 -4
  180. package/lib/Masthead/index.d.ts +0 -1
  181. package/lib/Masthead/index.js +0 -7371
  182. package/lib/Masthead/index.js.map +0 -1
  183. package/lib/Masthead/package.json +0 -7
  184. package/lib/Modal/index.d.ts +0 -1
  185. package/lib/Modal/index.js +0 -6432
  186. package/lib/Modal/index.js.map +0 -1
  187. package/lib/Modal/package.json +0 -7
  188. package/lib/QuantityToggle/index.d.ts +0 -1
  189. package/lib/QuantityToggle/index.js +0 -7049
  190. package/lib/QuantityToggle/index.js.map +0 -1
  191. package/lib/QuantityToggle/package.json +0 -7
  192. package/lib/Radio/index.d.ts +0 -2
  193. package/lib/Radio/index.js +0 -12607
  194. package/lib/Radio/index.js.map +0 -1
  195. package/lib/Radio/package.json +0 -7
  196. package/lib/Sidenav/index.d.ts +0 -3
  197. package/lib/Sidenav/index.js +0 -18739
  198. package/lib/Sidenav/index.js.map +0 -1
  199. package/lib/Sidenav/package.json +0 -7
  200. package/lib/Sidenav/sgds-sidenav-link.d.ts +0 -4
  201. package/lib/Tab/index.d.ts +0 -3
  202. package/lib/Tab/index.js +0 -13557
  203. package/lib/Tab/index.js.map +0 -1
  204. package/lib/Tab/package.json +0 -7
  205. package/lib/Textarea/index.d.ts +0 -1
  206. package/lib/Textarea/index.js +0 -6696
  207. package/lib/Textarea/index.js.map +0 -1
  208. package/lib/Textarea/package.json +0 -7
  209. package/lib/index.d.ts +0 -16
  210. package/lib/index.js +0 -134580
  211. package/lib/index.js.map +0 -1
  212. package/lib/umd/index.js +0 -134587
  213. package/lib/umd/index.js.map +0 -1
  214. package/lib/utils/card-element.d.ts +0 -11
  215. package/mocks/dropdown.d.ts +0 -4
  216. package/mocks/dropdown.ts +0 -27
  217. package/mocks/link.d.ts +0 -3
  218. package/mocks/link.ts +0 -6
  219. package/rollup.config.js +0 -73
  220. package/rollup.test.config.js +0 -42
  221. package/scripts/buildUtils.js +0 -30
  222. package/scripts/frankBuild.js +0 -49
  223. package/src/Button/index.ts +0 -1
  224. package/src/Button/sgds-button.scss +0 -28
  225. package/src/Button/sgds-button.ts +0 -153
  226. package/src/Card/index.ts +0 -1
  227. package/src/Card/sgds-action-card.scss +0 -27
  228. package/src/Card/sgds-action-card.ts +0 -115
  229. package/src/Checkbox/index.ts +0 -1
  230. package/src/Checkbox/sgds-checkbox.scss +0 -4
  231. package/src/Checkbox/sgds-checkbox.ts +0 -149
  232. package/src/Dropdown/index.ts +0 -3
  233. package/src/Dropdown/sgds-dropdown-item.ts +0 -39
  234. package/src/Dropdown/sgds-dropdown.scss +0 -5
  235. package/src/Dropdown/sgds-dropdown.ts +0 -54
  236. package/src/Footer/index.ts +0 -3
  237. package/src/Footer/sgds-footer.scss +0 -5
  238. package/src/Footer/sgds-footer.ts +0 -121
  239. package/src/Input/index.ts +0 -1
  240. package/src/Input/sgds-input.scss +0 -20
  241. package/src/Input/sgds-input.ts +0 -178
  242. package/src/Mainnav/index.ts +0 -4
  243. package/src/Mainnav/sgds-mainnav-dropdown.scss +0 -13
  244. package/src/Mainnav/sgds-mainnav-dropdown.ts +0 -45
  245. package/src/Mainnav/sgds-mainnav-item.scss +0 -24
  246. package/src/Mainnav/sgds-mainnav-item.ts +0 -8
  247. package/src/Mainnav/sgds-mainnav.scss +0 -39
  248. package/src/Mainnav/sgds-mainnav.ts +0 -183
  249. package/src/Masthead/index.ts +0 -1
  250. package/src/Masthead/sgds-masthead.scss +0 -217
  251. package/src/Masthead/sgds-masthead.ts +0 -189
  252. package/src/Modal/index.ts +0 -1
  253. package/src/Modal/sgds-modal.scss +0 -128
  254. package/src/Modal/sgds-modal.ts +0 -309
  255. package/src/QuantityToggle/index.ts +0 -1
  256. package/src/QuantityToggle/sgds-quantitytoggle.scss +0 -10
  257. package/src/QuantityToggle/sgds-quantitytoggle.ts +0 -130
  258. package/src/Radio/index.ts +0 -2
  259. package/src/Radio/sgds-radio.scss +0 -5
  260. package/src/Radio/sgds-radio.ts +0 -120
  261. package/src/Radio/sgds-radiogroup.scss +0 -22
  262. package/src/Radio/sgds-radiogroup.ts +0 -221
  263. package/src/Sidenav/index.ts +0 -4
  264. package/src/Sidenav/sgds-sidenav-item.scss +0 -73
  265. package/src/Sidenav/sgds-sidenav-item.ts +0 -145
  266. package/src/Sidenav/sgds-sidenav-link.scss +0 -25
  267. package/src/Sidenav/sgds-sidenav-link.ts +0 -8
  268. package/src/Sidenav/sgds-sidenav.scss +0 -6
  269. package/src/Sidenav/sgds-sidenav.ts +0 -33
  270. package/src/Tab/index.ts +0 -3
  271. package/src/Tab/sgds-tab.scss +0 -84
  272. package/src/Tab/sgds-tab.ts +0 -87
  273. package/src/Tab/sgds-tabgroup.scss +0 -198
  274. package/src/Tab/sgds-tabgroup.ts +0 -295
  275. package/src/Tab/sgds-tabpanel.scss +0 -12
  276. package/src/Tab/sgds-tabpanel.ts +0 -55
  277. package/src/Textarea/index.ts +0 -1
  278. package/src/Textarea/sgds-textarea.scss +0 -23
  279. package/src/Textarea/sgds-textarea.ts +0 -201
  280. package/src/index.ts +0 -16
  281. package/src/utils/animate.ts +0 -69
  282. package/src/utils/animation-registry.ts +0 -71
  283. package/src/utils/base.scss +0 -14
  284. package/src/utils/breakpoints.ts +0 -5
  285. package/src/utils/card-element.ts +0 -42
  286. package/src/utils/components.style.scss +0 -531
  287. package/src/utils/defaultvalue.ts +0 -51
  288. package/src/utils/dropdown-element.ts +0 -244
  289. package/src/utils/event.ts +0 -13
  290. package/src/utils/form.ts +0 -183
  291. package/src/utils/generateId.ts +0 -4
  292. package/src/utils/link-element.ts +0 -34
  293. package/src/utils/mergeDeep.ts +0 -22
  294. package/src/utils/modal.ts +0 -64
  295. package/src/utils/object.ts +0 -2
  296. package/src/utils/offset.ts +0 -6
  297. package/src/utils/scroll.ts +0 -57
  298. package/src/utils/sgds-element.ts +0 -18
  299. package/src/utils/slot.ts +0 -102
  300. package/src/utils/tabbable.ts +0 -81
  301. package/src/utils/watch.ts +0 -62
  302. package/stories/ActionCard.stories.mdx +0 -199
  303. package/stories/Button.stories.mdx +0 -194
  304. package/stories/Checkbox.stories.mdx +0 -196
  305. package/stories/Dropdown.stories.mdx +0 -152
  306. package/stories/Footer.stories.mdx +0 -261
  307. package/stories/Input.stories.mdx +0 -236
  308. package/stories/MainNav.stories.mdx +0 -169
  309. package/stories/Masthead.stories.mdx +0 -112
  310. package/stories/Modal.stories.mdx +0 -103
  311. package/stories/QuantityToggle.stories.mdx +0 -97
  312. package/stories/Radio.stories.mdx +0 -262
  313. package/stories/Sample.stories.js +0 -29
  314. package/stories/Sample.stories.mdx +0 -33
  315. package/stories/SideNav.stories.mdx +0 -245
  316. package/stories/common.js +0 -185
  317. package/stories/textarea.stories.mdx +0 -253
  318. package/test/button.element.test.ts +0 -185
  319. package/test/checkbox.test.ts +0 -240
  320. package/test/dropdown.test.ts +0 -637
  321. package/test/footer.test.ts +0 -181
  322. package/test/generateId.test.ts +0 -18
  323. package/test/input.element.test.ts +0 -316
  324. package/test/link-element.test.ts +0 -38
  325. package/test/mainnav.test.ts +0 -313
  326. package/test/masthead.test.ts +0 -116
  327. package/test/modal.test.ts +0 -149
  328. package/test/quantitytoggle.test.ts +0 -76
  329. package/test/radio.test.ts +0 -310
  330. package/test/selectable-card.test.ts +0 -159
  331. package/test/sidenav.test.ts +0 -390
  332. package/test/tab.test.ts +0 -76
  333. package/test/textarea.test.ts +0 -126
  334. package/tsconfig.json +0 -26
  335. package/tsconfig.test.json +0 -24
  336. package/typings/scss.d.ts +0 -5
  337. package/web-dev-server.config.mjs +0 -7
  338. package/web-test-runner.config.mjs +0 -47
@@ -1,236 +0,0 @@
1
- import { Canvas, Meta, Story, ArgsTable } from "@storybook/addon-docs";
2
- import { html } from "lit-html";
3
- import "../lib/Input";
4
-
5
- <Meta
6
- title="Components/Input"
7
- argTypes={{
8
- type: {
9
- control: 'select',
10
- options: [
11
- 'text',
12
- 'date',
13
- 'email',
14
- 'number',
15
- 'password',
16
- 'url',
17
- ],
18
- defaultValue: 'text',
19
- table: {
20
- category: "props",
21
- type: { summary: "string" },
22
- },
23
- description: "The input's type"
24
- },
25
- name:{
26
- control: "text",
27
- table:{
28
- category: "props",
29
- type: { summary: "string" },
30
- },
31
- description: "The input's name attribute"
32
- },
33
- label:{
34
- control: "text",
35
- defaultValue: 'Label',
36
- table:{
37
- category: "props",
38
- type: { summary: "string" },
39
- },
40
- description: "The input's label"
41
- },
42
- hintText:{
43
- control: "text",
44
- defaultValue: 'This is a hint text',
45
- table:{
46
- category: "props",
47
- type: { summary: "string" },
48
- },
49
- description: "The input's hint text below the label"
50
- },
51
- inputId:{
52
- control: 'text',
53
- table:{
54
- category: "props",
55
- type: { summary: "string" },
56
- },
57
- description: "The input's unique id"
58
- },
59
- inputClasses: {
60
- control: "text",
61
- table:{
62
- category: "props",
63
- type: { summary: "string" },
64
- },
65
- description: 'Can be used to insert any classes such as `mt-2`'
66
- },
67
- iconName:{
68
- control: "text",
69
- defaultValue: "badge-8k-fill",
70
- table:{
71
- category: "props",
72
- type: { summary: "string" },
73
- },
74
- description:"Optional. The name of the [bootstrap's icon](https://icons.getbootstrap.com/)"
75
- },
76
- value:{
77
- control: 'text',
78
- defaultValue: "",
79
- table:{
80
- category: "props",
81
- type: { summary: "string" },
82
- },
83
- description:"The input's value attribute."
84
- },
85
- placeholder:{
86
- control: 'text',
87
- defaultValue: "this is a placeholder text",
88
- table:{
89
- category: "props",
90
- type: { summary: "string" },
91
- },
92
- description:"The input's placeholder text."
93
- },
94
- pattern:{
95
- control: 'text',
96
- defaultValue: "[A-Za-z]{5}",
97
- table:{
98
- category: "props",
99
- type: { summary: "string" },
100
- },
101
- description:'A pattern to validate input against.',
102
- },
103
- invalidFeedback:{
104
- control:'text',
105
- defaultValue: "Please key in 5 letters",
106
- table:{
107
- category: "props",
108
- type: { summary: "string" },
109
- },
110
- description: 'Feedback text for error state when validated'
111
- },
112
- autofocus:{
113
- control:'boolean',
114
- defaultValue: false,
115
- table:{
116
- category: "props",
117
- type: { summary: "boolean" },
118
- },
119
- description: 'Autofocus the input'
120
- },
121
- disabled:{
122
- control:'boolean',
123
- defaultValue: false,
124
- table:{
125
- category: "props",
126
- type: { summary: "boolean" },
127
- },
128
- description: 'Disables the input.'
129
- },
130
- required:{
131
- control:'boolean',
132
- defaultValue: false,
133
- table:{
134
- category: "props",
135
- type: { summary: "boolean" },
136
- },
137
- description: 'Makes the input a required field.'
138
- },
139
- readonly:{
140
- control:'boolean',
141
- defaultValue: false,
142
- table:{
143
- category: "props",
144
- type: { summary: "boolean" },
145
- },
146
- description: 'Makes the input a read only field'
147
- },
148
- minlength:{
149
- control:'text',
150
- table:{
151
- category: "props",
152
- type: { summary: "string" },
153
- },
154
- description: 'Sets the minimum length of the input'
155
- },
156
- maxlength:{
157
- control:'text',
158
- table:{
159
- category: "props",
160
- type: { summary: "string" },
161
- },
162
- description: 'Sets the maximum length of the input'
163
- },
164
- 'sgds-change':{
165
- table:{
166
- category: "Events",
167
- type: { summary: "Event" },
168
- },
169
- description: "Emitted when an alteration to the control's value is committed by the user"
170
- },
171
- 'sgds-input':{
172
- table:{
173
- category: "Events",
174
- type: { summary: "Event" },
175
- },
176
- description: 'Emitted when the control receives input and its value changes.'
177
- },
178
- 'sgds-focus':{
179
- table:{
180
- category: "Events",
181
- type: { summary: "Event" },
182
- },
183
- description: "Emitted when input is in focus"
184
- },
185
- 'sgds-blur':{
186
- table:{
187
- category: "Events",
188
- type: { summary: "Event" },
189
- },
190
- description: "Emitted when input is not focus"
191
- },
192
- }}
193
- />
194
-
195
- export const Template = (args) =>
196
- html`
197
- <sgds-input
198
- .type=${args.type}
199
- .label=${args.label}
200
- .hintText=${args.hintText}
201
- .name=${args.name}
202
- .id=${args.inputID}
203
- .inputClasses=${args.inputClasses}
204
- .value=${args.value}
205
- .pattern=${args.pattern}
206
- .invalidFeedback=${args.invalidFeedback}
207
- .iconName=${args.iconName}
208
- .placeholder=${args.placeholder}
209
- ?autofocus=${args.autofocus}
210
- ?disabled=${args.disabled}
211
- ?required=${args.required}
212
- ?readonly=${args.readonly}
213
- ?minlength=${args.minlength}
214
- ?maxlength=${args.maxlength}
215
- >
216
- </sgds-input>
217
- `;
218
-
219
- # SgdsInput
220
-
221
- Text inputs allow your users to enter letters, numbers and symbols on a single line.
222
-
223
- <Canvas>
224
- <Story name="Basic" args={{ type: "text" }}>
225
- {Template.bind({})}
226
- </Story>
227
- </Canvas>
228
-
229
- ## API
230
-
231
- ```jsx
232
- import { SgdsInput } from "@govtechsg/sgds-web-component";
233
- ```
234
-
235
- <ArgsTable story="Basic" />
236
-
@@ -1,169 +0,0 @@
1
- import { Canvas, Meta, Story, ArgsTable } from "@storybook/addon-docs";
2
- import { html } from "lit-html";
3
- import "../lib/Mainnav";
4
- import { partDescription, dropdownElementProps } from "./common";
5
-
6
- <Meta
7
- title="Components/Mainnav"
8
- argTypes={{
9
- expand: {
10
- control: "select",
11
- options: ["always", "never", "sm", "md", "lg", "xl", "xxl"],
12
- defaultValue: "lg",
13
- description:
14
- "The breakpoint, below which, the Navbar will collapse. When `always` the Navbar will always be expanded regardless of screen size. When `never`, the Navbar will always be collapsed",
15
- table: {
16
- category: "props: SgdsMainnav",
17
- defaultValue: { summary: "lg" },
18
- type: {
19
- summary: "MainnavExpandSize",
20
- },
21
- },
22
- },
23
- brandHref: {
24
- control: "text",
25
- defaultValue: "",
26
- description: "The href link for brand logo",
27
- table: {
28
- defaultValue: { summary: "" },
29
- category: "props: SgdsMainnav",
30
- type: { summary: "string" },
31
- },
32
- },
33
- collapseId: {
34
- control: "text",
35
- description:
36
- "Forwards to id attribute of div.collapse and aria-controls attribute of toggler button in SgdsMainnav. By default, SgdsMainnav auto-generates a unique id. Override the default id by specifiying your own",
37
- table: {
38
- category: "props: SgdsMainnav",
39
- type: {
40
- summary: "string",
41
- },
42
- },
43
- },
44
- // SgdsMainnav slots
45
- default: {
46
- description:
47
- "default slot of SgdsMainnav. Pass in SgdsMainnavItem elements here",
48
- table: {
49
- category: "slot: SgdsMainnav",
50
- },
51
- },
52
- brand: {
53
- description: "Brand slot of SgdsMainnav. Pass in brand logo or img here",
54
- table: {
55
- category: "slot: SgdsMainnav",
56
- },
57
- },
58
- "non-collapsible": {
59
- description: "Elements in this slot will not be collapsed",
60
- table: {
61
- category: "slot: SgdsMainnav",
62
- },
63
- },
64
- end: {
65
- description:
66
- "Elements in this slot will be positioned to the right end of .navbar-nav. Elements in this slot will also be included in collapsed menu",
67
- table: {
68
- category: "slot: SgdsMainnav",
69
- },
70
- },
71
- // SgdsMainnavItem props
72
- active: {
73
- control: "boolean",
74
- description: "when true, sets the active stylings of .nav-link",
75
- table: {
76
- category: "props: SgdsMainnavItem",
77
- defaultValue: { summary: false },
78
- type: {
79
- summary: "boolean",
80
- },
81
- },
82
- },
83
- href: {
84
- control: "text",
85
- description: "Href attribute for anchor element in SgdsMainnavItem",
86
- table: {
87
- defaultValue: { summary: "" },
88
- category: "props: SgdsMainnavItem",
89
- type: {
90
- summary: "string",
91
- },
92
- },
93
- },
94
- disabledMNI: {
95
- name: "disabled",
96
- control: "boolean",
97
- description: "Disables the SgdsMainnavItem",
98
- table: { category: "props: SgdsMainnavItem" },
99
- },
100
- defaultMNI: {
101
- name: "default",
102
- description: "default slot for SgdsMainnavItem element",
103
- table: {
104
- category: "slot: SgdsMainnavItem",
105
- },
106
- },
107
- ...dropdownElementProps('SgdsMainnavDropdown', true)
108
- }}
109
- />
110
-
111
- export const Template = ({ expand, brandHref, collapseId, active, href, disabledMNI }) => {
112
- return html`
113
- <sgds-mainnav
114
- .expand=${expand}
115
- .brandHref=${brandHref}
116
- .collapseId=${collapseId}
117
- >
118
- <img
119
- width="130"
120
- src="https://www.designsystem.tech.gov.sg/assets/img/logo-sgds.svg"
121
- slot="brand"
122
- />
123
- <sgds-mainnav-item .active=${active} .href=${href} .disabled=${disabledMNI}
124
- >ArgsTable Controlled
125
- </sgds-mainnav-item>
126
- <sgds-mainnav-dropdown togglerText="Dropdown">
127
- <sgds-dropdown-item href="https://google.com">Item 1</sgds-dropdown-item>
128
- <sgds-dropdown-item href="#">Item 2</sgds-dropdown-item>
129
- <sgds-dropdown-item href="#">Item 3</sgds-dropdown-item>
130
- </sgds-mainnav-dropdown>
131
- <sgds-mainnav-item href="#">About</sgds-mainnav-item>
132
- <sgds-mainnav-item href="#" slot="end">Contact Us</sgds-mainnav-item>
133
- <sgds-button slot="end">Login</sgds-button>
134
- <dev-console-widget
135
- slot="non-collapsible"
136
- iconColor="black"
137
- iconWidth="28px"
138
- iconHeight="28px"
139
- ></dev-console-widget>
140
- </sgds-mainnav>
141
- `;
142
- };
143
-
144
- # SgdsMainnav
145
-
146
- <Canvas>
147
- <Story name="Basic" height="500px">
148
- {Template.bind({})}
149
- </Story>
150
- </Canvas>
151
-
152
- ## API
153
-
154
- ```jsx
155
- import {
156
- SgdsMainnav,
157
- SgdsMainnavItem,
158
- SgdsMainnavDropdown,
159
- MainNavExpandSize,
160
- } from "@govtechsg/sgds-web-component/MainNav";
161
- ```
162
-
163
- <ArgsTable story="Basic" />
164
-
165
- ## CSS Custom Properties
166
-
167
- | Name | Description |
168
- | ---------------------------- | --------------------------------------------------------------------------------------------------------------------- |
169
- | `--mainnav-item-theme-color` | Sets color of hovered/active text and bottom-border of`<sgds-mainnav-item/>` Default to sgds primary color (#5925DC). |
@@ -1,112 +0,0 @@
1
- import { Canvas, Meta, Story, ArgsTable } from "@storybook/addon-docs";
2
- import { html } from "lit-html";
3
- import "../lib/Masthead";
4
-
5
- <Meta
6
- title="Components/Masthead"
7
- argTypes={{
8
- fluid: {
9
- control: { type: 'boolean' },
10
- description: "Sets the container width:100% to all breakpoints",
11
- }
12
- }}
13
- />
14
-
15
- export const Template = ({
16
- fluid
17
- }) =>
18
- html`
19
- <sgds-masthead .fluid=${fluid}></sgds-masthead>
20
- `;
21
-
22
- # SgdsMasthead
23
-
24
- All .gov.sg digital services shall adopt The Official Government Banner for every page in the digital service and be placed at the top of the page.
25
-
26
- <Canvas>
27
- <Story name="Basic" args={{ fluid : 'true' }}>
28
- {Template.bind({})}
29
- </Story>
30
- </Canvas>
31
-
32
- ## API
33
-
34
- ```jsx
35
- import { SgdsMasthead } from "@govtechsg/sgds-web-component/Masthead";
36
- ```
37
- <ArgsTable story="Basic" />
38
-
39
- ## CSS Custom Properties
40
-
41
- <table>
42
- <thead>
43
- <tr>
44
- <th>Name</th>
45
- <th>Description</th>
46
- <th>Default Value</th>
47
- </tr>
48
- </thead>
49
- <tbody>
50
- <tr>
51
- <td>
52
- <code>--masthead-font-family</code>
53
- </td>
54
- <td>Sets font family for masthead</td>
55
- <td>system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif</td>
56
- </tr>
57
- <tr>
58
- <td>
59
- <code>--masthead-text-color</code>
60
- </td>
61
- <td>
62
- Sets overall text color
63
- </td>
64
- <td>hsl(0, 0%, 28%)</td>
65
- </tr>
66
- <tr>
67
- <td>
68
- <code>--masthead-link-color</code>
69
- </td>
70
- <td>
71
- Sets link color for "How to identify?" and "Trusted Site"
72
- </td>
73
- <td>hsl(222, 63%, 50%)</td>
74
- </tr>
75
- <tr>
76
- <td>
77
- <code>--masthead-link-color-hover</code>
78
- </td>
79
- <td>
80
- Sets link hover color for "How to identify?" and "Trusted Site"
81
- </td>
82
- <td>hsl(221, 64%, 55%)</td>
83
- </tr>
84
- <tr>
85
- <td>
86
- <code>--masthead-mobile-padding-x</code>
87
- </td>
88
- <td>
89
- Sets the padding left and right for viewport width 1024px and below
90
- </td>
91
- <td>0.75rem</td>
92
- </tr>
93
- <tr>
94
- <td>
95
- <code>--masthead-mobile-font-size</code>
96
- </td>
97
- <td>
98
- Sets the font size for viewport width 1024px and below
99
- </td>
100
- <td>0.6875rem</td>
101
- </tr>
102
- <tr>
103
- <td>
104
- <code>--masthead-fluid-padding-x</code>
105
- </td>
106
- <td>
107
- Sets the container-fluid padding left and right for viewport width 1024px and above
108
- </td>
109
- <td>0.75rem</td>
110
- </tr>
111
- </tbody>
112
- </table>
@@ -1,103 +0,0 @@
1
- import { Canvas, Meta, Story, ArgsTable } from "@storybook/addon-docs";
2
- import { html } from "lit-html";
3
- import "../lib/Modal";
4
- import "../lib/Button";
5
-
6
- <Meta
7
- title="Components/Modal"
8
- argTypes={{
9
- open: {
10
- control: "boolean" ,
11
- table: { category: "props" },
12
- description: 'Indicates whether or not the modal is open. You can use this in lieu of the show/hide methods.',
13
- defaultValue: false,
14
- },
15
- title: {
16
- control: "text",
17
- table: { category: "props" },
18
- description: "The modal's title as displayed in the header",
19
- defaultValue: 'This is a title',
20
- },
21
- titleIcon: {
22
- control: "text" ,
23
- table: { category: "props" },
24
- description: "The modal's icon as displayed in the header",
25
- defaultValue: 'stack',
26
- },
27
- 'sgds-show': {
28
- table: { category: "Events" },
29
- description: "Emitted when the modal opens.",
30
- },
31
- 'sgds-after-show': {
32
- table: { category: "Events" },
33
- description: " Emitted after the modal opens and all animations are complete.",
34
- },
35
- 'sgds-hide': {
36
- table: { category: "Events" },
37
- description: "Emitted when the modal closes.",
38
- },
39
- 'sgds-after-hide': {
40
- table: { category: "Events" },
41
- description: "Emitted after the modal closes and all animations are complete.",
42
- },
43
- 'hide': {
44
- table: { category: "Methods" },
45
- description: "Hides the modal.",
46
- },
47
- 'show': {
48
- table: { category: "Methods" },
49
- description: "Shows the modal.",
50
- },
51
- default: {
52
- control: "text" ,
53
- table: { category: "Slots" },
54
- description: "The modal's content.",
55
- defaultValue: 'This is the modal body',
56
- },
57
- 'label ': {
58
- table: { category: "Slots" },
59
- description: "The modal's label.",
60
- },
61
- 'footer': {
62
- table: { category: "Slots" },
63
- description: "The modal's footer.",
64
- },
65
- '--sgds-modal-width': {
66
- control: "text" ,
67
- table: { category: "CSS Custom Properties" },
68
- description: "The preferred width of the modal. Note that the modal will shrink to accommodate smaller screens.",
69
- }
70
- }}
71
- />
72
-
73
- export const Template = (args) =>
74
- html`
75
- <sgds-modal
76
- .open=${args.open}
77
- .title=${args.title}
78
- .titleIcon=${args.titleIcon}
79
- .centeredAlignVariant=${args.centeredAlignVariant}
80
- >
81
- ${args.default}
82
- <sgds-button slot="footer" variant="link" class="close-modal">Close</sgds-button>
83
- <sgds-button slot="footer" variant="primary" type="submit" form="formA" >Submit</sgds-button>
84
- </sgds-modal>
85
- `;
86
-
87
- # SgdsModal
88
-
89
- The modal component inform users about a specific task and may contain critical information which users then have to make a decision. E.g Accepting the T&Cs during signup
90
-
91
- <Canvas>
92
- <Story name="Basic" args={{}}>
93
- {Template.bind({})}
94
- </Story>
95
- </Canvas>
96
-
97
- ## API
98
-
99
- ```jsx
100
- import { SgdsModal } from "@govtechsg/sgds-web-component";
101
- ```
102
-
103
- <ArgsTable story="Basic" />