@govtechsg/sgds-web-component 0.0.10 → 0.0.11

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 (251) hide show
  1. package/package.json +7 -64
  2. package/.github/workflows/publish-latest.yml +0 -22
  3. package/.github/workflows/publish-pr.yml +0 -28
  4. package/.husky/commit-msg +0 -4
  5. package/.husky/prepare-commit-msg +0 -8
  6. package/.storybook/main.js +0 -16
  7. package/.storybook/preview-head.html +0 -11
  8. package/.storybook/preview.js +0 -9
  9. package/.vscode/settings.json +0 -7
  10. package/CONTRIBUTING.md +0 -56
  11. package/LICENSE +0 -20
  12. package/amplify.yml +0 -22
  13. package/commitlint.config.js +0 -1
  14. package/coverage/lcov-report/base.css +0 -224
  15. package/coverage/lcov-report/block-navigation.js +0 -87
  16. package/coverage/lcov-report/button-element.scss.html +0 -112
  17. package/coverage/lcov-report/button-element.ts.html +0 -145
  18. package/coverage/lcov-report/favicon.png +0 -0
  19. package/coverage/lcov-report/index.html +0 -116
  20. package/coverage/lcov-report/prettify.css +0 -1
  21. package/coverage/lcov-report/prettify.js +0 -2
  22. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  23. package/coverage/lcov-report/sorter.js +0 -196
  24. package/coverage/lcov.info +0 -32
  25. package/index.html +0 -430
  26. package/mocks/dropdown.d.ts +0 -4
  27. package/mocks/dropdown.ts +0 -27
  28. package/mocks/link.d.ts +0 -3
  29. package/mocks/link.ts +0 -6
  30. package/rollup.config.js +0 -73
  31. package/rollup.test.config.js +0 -42
  32. package/scripts/buildUtils.js +0 -30
  33. package/scripts/frankBuild.js +0 -49
  34. package/src/Button/index.ts +0 -1
  35. package/src/Button/sgds-button.scss +0 -28
  36. package/src/Button/sgds-button.ts +0 -153
  37. package/src/Card/index.ts +0 -1
  38. package/src/Card/sgds-action-card.scss +0 -27
  39. package/src/Card/sgds-action-card.ts +0 -115
  40. package/src/Checkbox/index.ts +0 -1
  41. package/src/Checkbox/sgds-checkbox.scss +0 -4
  42. package/src/Checkbox/sgds-checkbox.ts +0 -149
  43. package/src/Dropdown/index.ts +0 -3
  44. package/src/Dropdown/sgds-dropdown-item.ts +0 -39
  45. package/src/Dropdown/sgds-dropdown.scss +0 -5
  46. package/src/Dropdown/sgds-dropdown.ts +0 -54
  47. package/src/Footer/index.ts +0 -3
  48. package/src/Footer/sgds-footer.scss +0 -5
  49. package/src/Footer/sgds-footer.ts +0 -121
  50. package/src/Input/index.ts +0 -1
  51. package/src/Input/sgds-input.scss +0 -20
  52. package/src/Input/sgds-input.ts +0 -178
  53. package/src/Mainnav/index.ts +0 -4
  54. package/src/Mainnav/sgds-mainnav-dropdown.scss +0 -13
  55. package/src/Mainnav/sgds-mainnav-dropdown.ts +0 -45
  56. package/src/Mainnav/sgds-mainnav-item.scss +0 -24
  57. package/src/Mainnav/sgds-mainnav-item.ts +0 -8
  58. package/src/Mainnav/sgds-mainnav.scss +0 -39
  59. package/src/Mainnav/sgds-mainnav.ts +0 -183
  60. package/src/Masthead/index.ts +0 -1
  61. package/src/Masthead/sgds-masthead.scss +0 -217
  62. package/src/Masthead/sgds-masthead.ts +0 -189
  63. package/src/Modal/index.ts +0 -1
  64. package/src/Modal/sgds-modal.scss +0 -128
  65. package/src/Modal/sgds-modal.ts +0 -309
  66. package/src/QuantityToggle/index.ts +0 -1
  67. package/src/QuantityToggle/sgds-quantitytoggle.scss +0 -10
  68. package/src/QuantityToggle/sgds-quantitytoggle.ts +0 -130
  69. package/src/Radio/index.ts +0 -2
  70. package/src/Radio/sgds-radio.scss +0 -5
  71. package/src/Radio/sgds-radio.ts +0 -120
  72. package/src/Radio/sgds-radiogroup.scss +0 -22
  73. package/src/Radio/sgds-radiogroup.ts +0 -221
  74. package/src/Sidenav/index.ts +0 -4
  75. package/src/Sidenav/sgds-sidenav-item.scss +0 -73
  76. package/src/Sidenav/sgds-sidenav-item.ts +0 -145
  77. package/src/Sidenav/sgds-sidenav-link.scss +0 -25
  78. package/src/Sidenav/sgds-sidenav-link.ts +0 -8
  79. package/src/Sidenav/sgds-sidenav.scss +0 -6
  80. package/src/Sidenav/sgds-sidenav.ts +0 -33
  81. package/src/Tab/index.ts +0 -3
  82. package/src/Tab/sgds-tab.scss +0 -84
  83. package/src/Tab/sgds-tab.ts +0 -87
  84. package/src/Tab/sgds-tabgroup.scss +0 -198
  85. package/src/Tab/sgds-tabgroup.ts +0 -295
  86. package/src/Tab/sgds-tabpanel.scss +0 -12
  87. package/src/Tab/sgds-tabpanel.ts +0 -55
  88. package/src/Textarea/index.ts +0 -1
  89. package/src/Textarea/sgds-textarea.scss +0 -23
  90. package/src/Textarea/sgds-textarea.ts +0 -201
  91. package/src/index.ts +0 -16
  92. package/src/utils/animate.ts +0 -69
  93. package/src/utils/animation-registry.ts +0 -71
  94. package/src/utils/base.scss +0 -14
  95. package/src/utils/breakpoints.ts +0 -5
  96. package/src/utils/card-element.ts +0 -42
  97. package/src/utils/components.style.scss +0 -531
  98. package/src/utils/defaultvalue.ts +0 -51
  99. package/src/utils/dropdown-element.ts +0 -244
  100. package/src/utils/event.ts +0 -13
  101. package/src/utils/form.ts +0 -183
  102. package/src/utils/generateId.ts +0 -4
  103. package/src/utils/link-element.ts +0 -34
  104. package/src/utils/mergeDeep.ts +0 -22
  105. package/src/utils/modal.ts +0 -64
  106. package/src/utils/object.ts +0 -2
  107. package/src/utils/offset.ts +0 -6
  108. package/src/utils/scroll.ts +0 -57
  109. package/src/utils/sgds-element.ts +0 -18
  110. package/src/utils/slot.ts +0 -102
  111. package/src/utils/tabbable.ts +0 -81
  112. package/src/utils/watch.ts +0 -62
  113. package/stories/ActionCard.stories.mdx +0 -199
  114. package/stories/Button.stories.mdx +0 -194
  115. package/stories/Checkbox.stories.mdx +0 -196
  116. package/stories/Dropdown.stories.mdx +0 -152
  117. package/stories/Footer.stories.mdx +0 -261
  118. package/stories/Input.stories.mdx +0 -236
  119. package/stories/MainNav.stories.mdx +0 -169
  120. package/stories/Masthead.stories.mdx +0 -112
  121. package/stories/Modal.stories.mdx +0 -103
  122. package/stories/QuantityToggle.stories.mdx +0 -97
  123. package/stories/Radio.stories.mdx +0 -262
  124. package/stories/Sample.stories.js +0 -29
  125. package/stories/Sample.stories.mdx +0 -33
  126. package/stories/SideNav.stories.mdx +0 -245
  127. package/stories/common.js +0 -185
  128. package/stories/textarea.stories.mdx +0 -253
  129. package/test/button.element.test.ts +0 -185
  130. package/test/checkbox.test.ts +0 -240
  131. package/test/dropdown.test.ts +0 -637
  132. package/test/footer.test.ts +0 -181
  133. package/test/generateId.test.ts +0 -18
  134. package/test/input.element.test.ts +0 -316
  135. package/test/link-element.test.ts +0 -38
  136. package/test/mainnav.test.ts +0 -313
  137. package/test/masthead.test.ts +0 -116
  138. package/test/modal.test.ts +0 -149
  139. package/test/quantitytoggle.test.ts +0 -76
  140. package/test/radio.test.ts +0 -310
  141. package/test/selectable-card.test.ts +0 -159
  142. package/test/sidenav.test.ts +0 -390
  143. package/test/tab.test.ts +0 -76
  144. package/test/textarea.test.ts +0 -126
  145. package/tsconfig.json +0 -26
  146. package/tsconfig.test.json +0 -24
  147. package/typings/scss.d.ts +0 -5
  148. package/web-dev-server.config.mjs +0 -7
  149. package/web-test-runner.config.mjs +0 -47
  150. /package/{lib/Button → Button}/index.d.ts +0 -0
  151. /package/{lib/Button → Button}/index.js +0 -0
  152. /package/{lib/Button → Button}/index.js.map +0 -0
  153. /package/{lib/Button → Button}/package.json +0 -0
  154. /package/{lib/Button → Button}/sgds-button.d.ts +0 -0
  155. /package/{lib/Card → Card}/index.d.ts +0 -0
  156. /package/{lib/Card → Card}/index.js +0 -0
  157. /package/{lib/Card → Card}/index.js.map +0 -0
  158. /package/{lib/Card → Card}/package.json +0 -0
  159. /package/{lib/Card → Card}/sgds-action-card.d.ts +0 -0
  160. /package/{lib/Checkbox → Checkbox}/index.d.ts +0 -0
  161. /package/{lib/Checkbox → Checkbox}/index.js +0 -0
  162. /package/{lib/Checkbox → Checkbox}/index.js.map +0 -0
  163. /package/{lib/Checkbox → Checkbox}/package.json +0 -0
  164. /package/{lib/Checkbox → Checkbox}/sgds-checkbox.d.ts +0 -0
  165. /package/{lib/Dropdown → Dropdown}/index.d.ts +0 -0
  166. /package/{lib/Dropdown → Dropdown}/index.js +0 -0
  167. /package/{lib/Dropdown → Dropdown}/index.js.map +0 -0
  168. /package/{lib/Dropdown → Dropdown}/package.json +0 -0
  169. /package/{lib/Dropdown → Dropdown}/sgds-dropdown-item.d.ts +0 -0
  170. /package/{lib/Dropdown → Dropdown}/sgds-dropdown.d.ts +0 -0
  171. /package/{lib/Footer → Footer}/index.d.ts +0 -0
  172. /package/{lib/Footer → Footer}/index.js +0 -0
  173. /package/{lib/Footer → Footer}/index.js.map +0 -0
  174. /package/{lib/Footer → Footer}/package.json +0 -0
  175. /package/{lib/Footer → Footer}/sgds-footer.d.ts +0 -0
  176. /package/{lib/Input → Input}/index.d.ts +0 -0
  177. /package/{lib/Input → Input}/index.js +0 -0
  178. /package/{lib/Input → Input}/index.js.map +0 -0
  179. /package/{lib/Input → Input}/package.json +0 -0
  180. /package/{lib/Input → Input}/sgds-input.d.ts +0 -0
  181. /package/{lib/Mainnav → Mainnav}/index.d.ts +0 -0
  182. /package/{lib/Mainnav → Mainnav}/index.js +0 -0
  183. /package/{lib/Mainnav → Mainnav}/index.js.map +0 -0
  184. /package/{lib/Mainnav → Mainnav}/package.json +0 -0
  185. /package/{lib/Mainnav → Mainnav}/sgds-mainnav-dropdown.d.ts +0 -0
  186. /package/{lib/Mainnav → Mainnav}/sgds-mainnav-item.d.ts +0 -0
  187. /package/{lib/Mainnav → Mainnav}/sgds-mainnav.d.ts +0 -0
  188. /package/{lib/Masthead → Masthead}/index.d.ts +0 -0
  189. /package/{lib/Masthead → Masthead}/index.js +0 -0
  190. /package/{lib/Masthead → Masthead}/index.js.map +0 -0
  191. /package/{lib/Masthead → Masthead}/package.json +0 -0
  192. /package/{lib/Masthead → Masthead}/sgds-masthead.d.ts +0 -0
  193. /package/{lib/Modal → Modal}/index.d.ts +0 -0
  194. /package/{lib/Modal → Modal}/index.js +0 -0
  195. /package/{lib/Modal → Modal}/index.js.map +0 -0
  196. /package/{lib/Modal → Modal}/package.json +0 -0
  197. /package/{lib/Modal → Modal}/sgds-modal.d.ts +0 -0
  198. /package/{lib/QuantityToggle → QuantityToggle}/index.d.ts +0 -0
  199. /package/{lib/QuantityToggle → QuantityToggle}/index.js +0 -0
  200. /package/{lib/QuantityToggle → QuantityToggle}/index.js.map +0 -0
  201. /package/{lib/QuantityToggle → QuantityToggle}/package.json +0 -0
  202. /package/{lib/QuantityToggle → QuantityToggle}/sgds-quantitytoggle.d.ts +0 -0
  203. /package/{lib/Radio → Radio}/index.d.ts +0 -0
  204. /package/{lib/Radio → Radio}/index.js +0 -0
  205. /package/{lib/Radio → Radio}/index.js.map +0 -0
  206. /package/{lib/Radio → Radio}/package.json +0 -0
  207. /package/{lib/Radio → Radio}/sgds-radio.d.ts +0 -0
  208. /package/{lib/Radio → Radio}/sgds-radiogroup.d.ts +0 -0
  209. /package/{lib/Sidenav → Sidenav}/index.d.ts +0 -0
  210. /package/{lib/Sidenav → Sidenav}/index.js +0 -0
  211. /package/{lib/Sidenav → Sidenav}/index.js.map +0 -0
  212. /package/{lib/Sidenav → Sidenav}/package.json +0 -0
  213. /package/{lib/Sidenav → Sidenav}/sgds-sidenav-item.d.ts +0 -0
  214. /package/{lib/Sidenav → Sidenav}/sgds-sidenav-link.d.ts +0 -0
  215. /package/{lib/Sidenav → Sidenav}/sgds-sidenav.d.ts +0 -0
  216. /package/{lib/Tab → Tab}/index.d.ts +0 -0
  217. /package/{lib/Tab → Tab}/index.js +0 -0
  218. /package/{lib/Tab → Tab}/index.js.map +0 -0
  219. /package/{lib/Tab → Tab}/package.json +0 -0
  220. /package/{lib/Tab → Tab}/sgds-tab.d.ts +0 -0
  221. /package/{lib/Tab → Tab}/sgds-tabgroup.d.ts +0 -0
  222. /package/{lib/Tab → Tab}/sgds-tabpanel.d.ts +0 -0
  223. /package/{lib/Textarea → Textarea}/index.d.ts +0 -0
  224. /package/{lib/Textarea → Textarea}/index.js +0 -0
  225. /package/{lib/Textarea → Textarea}/index.js.map +0 -0
  226. /package/{lib/Textarea → Textarea}/package.json +0 -0
  227. /package/{lib/Textarea → Textarea}/sgds-textarea.d.ts +0 -0
  228. /package/{lib/index.d.ts → index.d.ts} +0 -0
  229. /package/{lib/index.js → index.js} +0 -0
  230. /package/{lib/index.js.map → index.js.map} +0 -0
  231. /package/{lib/umd → umd}/index.js +0 -0
  232. /package/{lib/umd → umd}/index.js.map +0 -0
  233. /package/{lib/utils → utils}/animate.d.ts +0 -0
  234. /package/{lib/utils → utils}/animation-registry.d.ts +0 -0
  235. /package/{lib/utils → utils}/breakpoints.d.ts +0 -0
  236. /package/{lib/utils → utils}/card-element.d.ts +0 -0
  237. /package/{lib/utils → utils}/defaultvalue.d.ts +0 -0
  238. /package/{lib/utils → utils}/dropdown-element.d.ts +0 -0
  239. /package/{lib/utils → utils}/event.d.ts +0 -0
  240. /package/{lib/utils → utils}/form.d.ts +0 -0
  241. /package/{lib/utils → utils}/generateId.d.ts +0 -0
  242. /package/{lib/utils → utils}/link-element.d.ts +0 -0
  243. /package/{lib/utils → utils}/mergeDeep.d.ts +0 -0
  244. /package/{lib/utils → utils}/modal.d.ts +0 -0
  245. /package/{lib/utils → utils}/object.d.ts +0 -0
  246. /package/{lib/utils → utils}/offset.d.ts +0 -0
  247. /package/{lib/utils → utils}/scroll.d.ts +0 -0
  248. /package/{lib/utils → utils}/sgds-element.d.ts +0 -0
  249. /package/{lib/utils → utils}/slot.d.ts +0 -0
  250. /package/{lib/utils → utils}/tabbable.d.ts +0 -0
  251. /package/{lib/utils → utils}/watch.d.ts +0 -0
@@ -1,97 +0,0 @@
1
- import { Canvas, Meta, Story, ArgsTable } from "@storybook/addon-docs";
2
- import { html } from "lit-html";
3
- import "../lib/QuantityToggle";
4
-
5
- <Meta
6
- title="Components/QuantityToggle"
7
- argTypes={{
8
- quantityToggleClasses: {
9
- control: "text" ,
10
- table: { category: "props" },
11
- description: 'Optional. Can be used to insert any utility classes such as `me-auto`'
12
- },
13
- count: {
14
- control: "text" ,
15
- defaultValue: "0",
16
- table: { category: "props" },
17
- type: { summary: "String" },
18
- description: 'Optional. Can be used to insert any utility classes such as `me-auto`'
19
- },
20
- step: {
21
- control: "text" ,
22
- defaultValue: "1",
23
- table: { category: "props" },
24
- type: { summary: "String" },
25
- description: 'Optional. Can be used to insert any utility classes such as `me-auto`'
26
- },
27
- size:{
28
- control: 'select',
29
- options:['sm','lg'],
30
- type: { summary: "String" },
31
- defaultValue: 'sm',
32
- description:'Specifies a large or small button',
33
- table: { category: "props" },
34
- },
35
- disabled:{
36
- control: "boolean",
37
- defaultValue: false,
38
- table: { category: "props" },
39
- description:'The disabled state of the component'
40
- },
41
- blur:{
42
- table: {
43
- category: "Method",
44
- type: { summary: "Method" },
45
- },
46
- description: 'Removes focus from the button.'
47
- },
48
- focus:{
49
- table: {
50
- category: "Method",
51
- type: { summary: "Method" },
52
- },
53
- description: 'Sets focus on the button.'
54
- },
55
- 'sgds-blur':{
56
- table: {
57
- category: "Events",
58
- type: { summary: "Event" },
59
- },
60
- description: 'Removes focus from the button.'
61
- },
62
- 'sgds-focus':{
63
- table: {
64
- category: "Events",
65
- type: { summary: "Event" },
66
- },
67
- description: 'Sets focus on the button.'
68
- }
69
- }}
70
- />
71
-
72
- export const Template = (args) =>
73
- html`
74
- <sgds-quantitytoggle
75
- .count=${args.count}
76
- .step=${args.step}
77
- .quantityToggleClasses=${args.quantityToggleClasses}
78
- .disabled=${args.disabled}
79
- .size=${args.size}
80
- ></sgds-quantitytoggle>
81
- `;
82
-
83
- # SgdsFooter
84
-
85
- <Canvas>
86
- <Story name="Basic">
87
- {Template.bind({})}
88
- </Story>
89
- </Canvas>
90
-
91
- ## API
92
-
93
- ```jsx
94
- import { SgdsFooter, ColumnLinks } from "@govtechsg/sgds-web-component";
95
- ```
96
-
97
- <ArgsTable story="Basic" />
@@ -1,262 +0,0 @@
1
- import { Canvas, Meta, Story, ArgsTable } from "@storybook/addon-docs";
2
- import { html } from "lit-html";
3
- import "../lib/Radio";
4
-
5
- <Meta
6
- title='Components/Radio'
7
- argTypes={{
8
- radioId: {
9
- control: "text",
10
- description:
11
- "Forwards value to id/for pair attribute of each of the SgdsRadio input. A unique id generated by default",
12
- table: {
13
- category: "props: SgdsRadio",
14
- defaultValue: { summary: "" },
15
- type: {
16
- summary: "string",
17
- },
18
- },
19
- },
20
- name: {
21
- control: "text",
22
- description: "The name assigned to the radio controls wrapper fieldset",
23
- table: {
24
- category: "props: SgdsRadioGroup",
25
- defaultValue: { summary: "" },
26
- type: {
27
- summary: "string",
28
- },
29
- },
30
- },
31
- defaultValue: {
32
- name: "value",
33
- control: "text",
34
- description: "The selected value of the control",
35
- table: {
36
- category: "props: SgdsRadioGroup",
37
- defaultValue: { summary: "" },
38
- type: {
39
- summary: "string",
40
- },
41
- },
42
- },
43
- disabled: {
44
- control: "boolean",
45
- description: "Disables the radio",
46
- table: {
47
- category: "props: SgdsRadio",
48
- defaultValue: { summary: false },
49
- type: {
50
- summary: "boolean",
51
- },
52
- },
53
- },
54
- invalid: {
55
- control: "boolean",
56
- description:
57
- "toggles the invalid state to true and shows the invalid feedback",
58
- table: {
59
- category: "props: SgdsRadioGroup",
60
- defaultValue: { summary: false },
61
- type: {
62
- summary: "boolean",
63
- },
64
- },
65
- },
66
- invalidFeedback: {
67
- control: "text",
68
- description: "Sets a text to the invalid feedback div",
69
- table: {
70
- category: "props: SgdsRadioGroup",
71
- defaultValue: { summary: "" },
72
- type: {
73
- summary: "string",
74
- },
75
- },
76
- },
77
- required: {
78
- defaultValue: "radioLabel",
79
- control: "boolean",
80
- description:
81
- "specifies the radio input to be check before submitting the form.",
82
- table: {
83
- category: "props: SgdsRadioGroup",
84
- defaultValue: { summary: false },
85
- type: {
86
- summary: "boolean",
87
- },
88
- },
89
- },
90
- isInline: {
91
- control: "boolean",
92
- description: "Sets SgdsRadio elements to be horizontally align",
93
- table: {
94
- category: "props: SgdsRadio",
95
- defaultValue: { summary: false },
96
- type: {
97
- summary: "boolean",
98
- },
99
- },
100
- },
101
- radioValue: {
102
- name: "value",
103
- control: "text",
104
- description: "The radio's value attribute.",
105
- table: {
106
- category: "props: SgdsRadio",
107
- defaultValue: { summary: "" },
108
- type: {
109
- summary: "string",
110
- },
111
- },
112
- },
113
- radioSlot: {
114
- name: "default-radio",
115
- control: "text",
116
- defaultValue: "Option 1",
117
- description:
118
- "default slot for SgdsRadio element, for labelling SgdsRadio element",
119
- table: {
120
- category: "slot: SgdsRadio",
121
- },
122
- },
123
- defaultRadioGroupSlot: {
124
- name: "default-radioGroup",
125
- control: "disabled",
126
- defaultValue: "disabled",
127
- description: "default slot for inserting SgdsRadio elements",
128
- table: {
129
- category: "slot: SgdsRadioGroup",
130
- },
131
- },
132
- radioGroupSlot: {
133
- name: "slot[name='label']",
134
- defaultValue: "Select an option",
135
- control: "text",
136
- description: "label named slot for SgdsRadioGroup wrapper",
137
- table: {
138
- category: "slot: SgdsRadioGroup",
139
- },
140
- },
141
- ariaLabel: {
142
- defaultValue: "radioLabel",
143
- control: "text",
144
- description: "Aria-label attribute text",
145
- table: {
146
- category: "props: SgdsRadio",
147
- defaultValue: { summary: "" },
148
- type: {
149
- summary: "string",
150
- },
151
- },
152
- },
153
- event: {
154
- name: "sgds-change",
155
- description:
156
- "emitted when there is a change in value in SgdsRadioGroup el",
157
- table: {
158
- category: "event: SgdsRadioGroup",
159
- },
160
- },
161
- baseRadio: {
162
- name: "base",
163
- description: "SgdsRadio component's internal wrapper.",
164
- table: {
165
- category: "Css Parts: SgdsRadio",
166
- },
167
- },
168
- controlRadio: {
169
- name: "control",
170
- description: "SgdsRadio component's radio control.",
171
- table: {
172
- category: "Css Parts: SgdsRadio",
173
- },
174
- },
175
- labelRadio: {
176
- name: "label",
177
- description: "SgdsRadio component's radio label.",
178
- table: {
179
- category: "Css Parts: SgdsRadio",
180
- },
181
- },
182
- baseRadioGroup: {
183
- name: "base",
184
- description: "SgdsRadioGroup component's internal wrapper.",
185
- table: {
186
- category: "Css Parts: SgdsRadioGroup",
187
- },
188
- },
189
- controlRadioGroup: {
190
- name: "control",
191
- description: "SgdsRadioGroup component's radiogroup control.",
192
- table: {
193
- category: "Css Parts: SgdsRadioGroup",
194
- },
195
- },
196
- labelRadioGroup: {
197
- name: "label",
198
- description: "SgdsRadioGroup component's radiogroup label.",
199
- table: {
200
- category: "Css Parts: SgdsRadioGroup",
201
- },
202
- },
203
- invalidFeedbackRadioGroup: {
204
- name: "invalidFeedback",
205
- description: "SgdsRadioGroup component's radiogroup invalid feedback.",
206
- table: {
207
- category: "Css Parts: SgdsRadioGroup",
208
- },
209
- },
210
- }}
211
- />
212
-
213
- export const Template = ({
214
- name,
215
- defaultValue,
216
- disabled,
217
- isInline,
218
- radioValue,
219
- radioId,
220
- radioSlot,
221
- radioGroupSlot,
222
- ariaLabel,
223
- required,
224
- invalid,
225
- invalidFeedback,
226
- }) => {
227
- return html`
228
- <sgds-radiogroup
229
- .name=${name}
230
- .value=${defaultValue}
231
- .required=${required}
232
- .invalid=${invalid}
233
- .invalidFeedback=${invalidFeedback}
234
- >
235
- <span slot="label">${radioGroupSlot}</span>
236
- <sgds-radio
237
- .value=${radioValue}
238
- .disabled=${disabled}
239
- .radioId=${radioId}
240
- .ariaLabel=${ariaLabel}
241
- .isInline=${isInline}
242
- >${radioSlot}</sgds-radio
243
- >
244
- <sgds-radio value="2" .isInline=${isInline}>Option 2</sgds-radio>
245
- <sgds-radio value="3" .isInline=${isInline}>Option 3</sgds-radio>
246
- </sgds-radiogroup>
247
- `;
248
- };
249
-
250
- # SgdsRadio
251
-
252
- <Canvas>
253
- <Story name='Basic'>{Template.bind({})}</Story>
254
- </Canvas>
255
-
256
- ## API
257
-
258
- ```jsx
259
- import { SgdsRadioGroup, SgdsRadio } from "@govtechsg/sgds-web-component/Radio";
260
- ```
261
-
262
- <ArgsTable story='Basic' />
@@ -1,29 +0,0 @@
1
- import { Story, Meta } from '@storybook/web-components';
2
- import '../lib/Button'
3
- import {html } from 'lit'
4
- import { state, property} from "lit/decorators.js";
5
-
6
-
7
- export default {
8
- title: 'Components/Sample-js',
9
- // More on argTypes: https://storybook.js.org/docs/web-components/api/argtypes
10
- argTypes: {
11
- variant: { control: 'text' },
12
- classes: { control: "text" },
13
- },
14
- };
15
-
16
- const Template = ({variant, classes}) => {
17
-
18
- return html`
19
- <button-element .variant=${variant} .classes=${classes}>
20
- Blaze it
21
- </button-element>
22
- `;
23
- }
24
-
25
-
26
- export const Primary = Template.bind({})
27
- Primary.args = {
28
- variant : "secondary"
29
- }
@@ -1,33 +0,0 @@
1
- import { Canvas, Meta, Story, ArgsTable } from "@storybook/addon-docs";
2
- import { html } from "lit-html";
3
- import { ButtonElement } from "../lib/Button";
4
-
5
- <Meta
6
- title="Components/Sample-mdx"
7
- argTypes={{
8
- variant: { control: "text" },
9
- classes: { control: "text" },
10
- }}
11
- />
12
-
13
- export const Template = (args) => {
14
- return html`
15
- <button-element .variant=${args.variant} .classes=${args.classes}>
16
- Blaze it
17
- </button-element>
18
- `;
19
- }
20
-
21
-
22
- # Sample
23
-
24
- This is the sample file for MDX
25
-
26
- <Canvas>
27
- <Story name="Basic" args={{ variant: "primary" }}>
28
- {Template.bind({})}
29
- </Story>
30
- </Canvas>
31
-
32
- <ArgsTable story="Basic" />
33
-
@@ -1,245 +0,0 @@
1
- import { Canvas, Meta, Story, ArgsTable } from "@storybook/addon-docs";
2
- import { html } from "lit-html";
3
- import "../lib/Sidenav";
4
- import { SgdsSidenavItem, SgdsSidenav } from "../lib/Sidenav";
5
- import { partDescription } from "./common";
6
-
7
- <Meta
8
- title="Components/Sidenav"
9
- argTypes={{
10
- // SgdsSidenav
11
- alwaysOpen: {
12
- control: "boolean",
13
- defaultValue: false,
14
- description:
15
- "Allow sidenav items to stay open when another item is opened",
16
- table: {
17
- category: "props: SgdsSidenav",
18
- defaultValue: { summary: false },
19
- type: {
20
- summary: "boolean",
21
- },
22
- },
23
- },
24
- default: {
25
- description:
26
- "default slot of SgdsSidenavItem. Pass in SideNavItem elements here",
27
- table: {
28
- category: "slot: SgdsSidenav",
29
- },
30
- },
31
- //SgdsSidenavItem
32
- active: {
33
- control: "boolean",
34
- description:
35
- "when true, toggles the sgds-sidenav-item to open on first load and set the active stylings",
36
- table: {
37
- category: "props: SgdsSidenavItem",
38
- defaultValue: { summary: false },
39
- type: {
40
- summary: "boolean",
41
- },
42
- },
43
- },
44
- collapseId: {
45
- control: "text",
46
- description:
47
- "Forwards to id attribute of div.collapse and aria-controls attribute of button in SgdsSidenavItem. By default, SgdsSidenavItem auto-generates a unique id. Override the default id by specifiying your own",
48
- table: {
49
- category: "props: SgdsSidenavItem",
50
- type: {
51
- summary: "string",
52
- },
53
- },
54
- },
55
- buttonId: {
56
- control: "text",
57
- description:
58
- "Forwards to id attribute of button and aria-labelledby attribute of ul.sidenav-list in SgdsSidenavItem. By default, SgdsSidenavItem auto-generates a unique id. Override the default id by specifiying your own",
59
- table: {
60
- category: "props: SgdsSidenavItem",
61
- type: {
62
- summary: "string",
63
- },
64
- },
65
- },
66
- href: {
67
- control: "text",
68
- description:
69
- "When defined, converts SgdsSidenavItem from a button element to an Anchor element",
70
- table: {
71
- defaultValue: { summary: "" },
72
- category: "props: SgdsSidenavItem",
73
- type: {
74
- summary: "string",
75
- },
76
- },
77
- },
78
- disabledSNI: {
79
- name: "disabled",
80
- control: "boolean",
81
- description: "Disables the SgdsSidenavItem",
82
- table: {
83
- category: "props: SgdsSidenavItem",
84
- defaultValue: { summary: "false" },
85
- },
86
- },
87
- openItem: {
88
- control: "disable",
89
- description: "When invoked, opens the SgdsSidenavItem",
90
- table: {
91
- category: "methods: SgdsSidenavItem",
92
- type: {
93
- summary: "function",
94
- },
95
- },
96
- },
97
- closeItem: {
98
- control: "disable",
99
- description: "When invoked, closes the SgdsSidenavItem",
100
- table: {
101
- category: "methods: SgdsSidenavItem",
102
- type: {
103
- summary: "function",
104
- },
105
- },
106
- },
107
- defaultSNI: {
108
- name: "default",
109
- description: "default slot for SgdsSidenavLink element",
110
- table: {
111
- category: "slot: SgdsSidenavItem",
112
- },
113
- },
114
- title: {
115
- description:
116
- "title slot for the content of SgdsSidenavItem's button / anchor element",
117
- table: {
118
- category: "slot: SgdsSidenavItem",
119
- },
120
- },
121
- // SgdsSidenavLink
122
- activeSNL: {
123
- name: "active",
124
- control: "boolean",
125
- description: "When true, sets the active styling of SgdsSidenavLink",
126
- table: { category: "props: SgdsSidenavLink" },
127
- },
128
- hrefSNL: {
129
- name: "href",
130
- control: "text",
131
- description: "href link for SgdsSidenavLink",
132
- table: { category: "props: SgdsSidenavLink" },
133
- },
134
- defaultSNL: {
135
- name: "default",
136
- description: "default slot for the title of SgdsSidenavLink",
137
- table: {
138
- category: "slot: SgdsSidenavLink",
139
- },
140
- },
141
- disabledSNL: {
142
- name: "disabled",
143
- control: "boolean",
144
- description: "Disables the SgdsSidenavLink",
145
- table: {
146
- category: "props: SgdsSidenavLink",
147
- defaultValue: { summary: "false" },
148
- },
149
- },
150
- }}
151
- />
152
-
153
- export const Template = ({
154
- alwaysOpen,
155
- active,
156
- href,
157
- activeSNL,
158
- hrefSNL,
159
- collapseId,
160
- buttonId,
161
- disabledSNL,
162
- disabledSNI,
163
- }) => {
164
- return html`
165
- <sgds-sidenav .alwaysOpen=${alwaysOpen}>
166
- <sgds-sidenav-item
167
- .active=${active}
168
- .href=${href}
169
- .collapseId=${collapseId}
170
- .buttonId=${buttonId}
171
- .disabled=${disabledSNI}
172
- >
173
- <span slot="title">
174
- <sl-icon name="stack"></sl-icon> SideNav Item #1 (control by
175
- Argstable)
176
- </span>
177
- <sgds-sidenav-link
178
- .href=${hrefSNL}
179
- .active=${activeSNL}
180
- .disabled=${disabledSNL}
181
- >sgds-sidenav-link (control by Argstable)</sgds-sidenav-link
182
- >
183
- <sgds-sidenav-link href="#">sgds-sidenav-link</sgds-sidenav-link>
184
- <sgds-sidenav-link href="#">sgds-sidenav-link</sgds-sidenav-link>
185
- </sgds-sidenav-item>
186
- <sgds-sidenav-item>
187
- <span slot="title">
188
- <sl-icon name="stack"></sl-icon>SideNav Item #2</span
189
- >
190
- <sgds-sidenav-link href="#">sgds-sidenav-link</sgds-sidenav-link>
191
- <sgds-sidenav-link href="#">sgds-sidenav-link</sgds-sidenav-link>
192
- <sgds-sidenav-link href="#">sgds-sidenav-link</sgds-sidenav-link>
193
- </sgds-sidenav-item>
194
- <sgds-sidenav-item href="#">
195
- <span slot="title">SideNav Item #3</span>
196
- </sgds-sidenav-item>
197
- </sgds-sidenav>
198
- `;
199
- };
200
-
201
- # SgdsSidenav, SgdsSidenavItem, SgdsSgdsSidenavLink
202
-
203
- <Canvas>
204
- <Story name="Basic">{Template.bind({})}</Story>
205
- </Canvas>
206
-
207
- _Example is using shoelace's icon. See [here](https://shoelace.style/components/icon)_
208
-
209
- ## API
210
-
211
- ```jsx
212
- import {
213
- SgdsSidenav,
214
- SgdsSidenavLink,
215
- SgdsSidenavItem,
216
- } from "@govtechsg/sgds-web-component/Sidenav";
217
- ```
218
-
219
- <ArgsTable story="Basic" />
220
-
221
- ## SgdsSidenavItem methods
222
-
223
- `openItem()` and `closeItem()` are public methods exposed by SgdsSidenavItem component for user to customize the opening and closing of SgdsSidenavItems when required.
224
-
225
- ```jsx
226
- // class method
227
-
228
- const SgdsSidenavItem = new SgdsSidenavItem();
229
- SgdsSidenavItem.openItem();
230
- SgdsSidenavItem.closeItem();
231
-
232
- //dom method
233
-
234
- const SgdsSidenavItemEl = document.querySelector(
235
- "sgds-sidenav-item#specificId"
236
- );
237
- SgdsSidenavItemEl.openItem();
238
- SgdsSidenavItemEl.closeItem();
239
- ```
240
-
241
- ## CSS Custom Properties
242
-
243
- | Name | Description |
244
- | ----------------------- | ------------------------------------------------------------------------------------------- |
245
- | `--sidenav-theme-color` | Sets color of all text and left-border of sidenav. Default to sgds primary color (#5925DC). |