@redvars/peacock 3.5.0 → 3.6.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 (314) hide show
  1. package/dist/BaseButton-BNFAYn-S.js +219 -0
  2. package/dist/BaseButton-BNFAYn-S.js.map +1 -0
  3. package/dist/BaseHyperlinkMixin-BNuwbiEf.js +65 -0
  4. package/dist/BaseHyperlinkMixin-BNuwbiEf.js.map +1 -0
  5. package/dist/BaseInput-14YmcfK7.js +27 -0
  6. package/dist/BaseInput-14YmcfK7.js.map +1 -0
  7. package/dist/assets/components.css +1 -1
  8. package/dist/assets/components.css.map +1 -1
  9. package/dist/assets/styles.css +1 -1
  10. package/dist/assets/styles.css.map +1 -1
  11. package/dist/banner.js +14 -30
  12. package/dist/banner.js.map +1 -1
  13. package/dist/{button-DMN1dPAg.js → button-colors-Ccys3hvS.js} +5 -468
  14. package/dist/button-colors-Ccys3hvS.js.map +1 -0
  15. package/dist/button-group.js +228 -8
  16. package/dist/button-group.js.map +1 -1
  17. package/dist/button.js +294 -8
  18. package/dist/button.js.map +1 -1
  19. package/dist/calendar-column-view.js +634 -0
  20. package/dist/calendar-column-view.js.map +1 -0
  21. package/dist/calendar-event-BrQ_SEKD.js +199 -0
  22. package/dist/calendar-event-BrQ_SEKD.js.map +1 -0
  23. package/dist/calendar-month-view.js +376 -0
  24. package/dist/calendar-month-view.js.map +1 -0
  25. package/dist/calendar.js +339 -0
  26. package/dist/calendar.js.map +1 -0
  27. package/dist/canvas.js +361 -0
  28. package/dist/canvas.js.map +1 -0
  29. package/dist/card.js +18 -73
  30. package/dist/card.js.map +1 -1
  31. package/dist/cb-compound-expression.js +125 -0
  32. package/dist/cb-compound-expression.js.map +1 -0
  33. package/dist/cb-divider.js +150 -0
  34. package/dist/cb-divider.js.map +1 -0
  35. package/dist/cb-expression.js +75 -0
  36. package/dist/cb-expression.js.map +1 -0
  37. package/dist/cb-predicate.js +137 -0
  38. package/dist/cb-predicate.js.map +1 -0
  39. package/dist/chart-bar.js.map +1 -1
  40. package/dist/chart-doughnut.js +2 -2
  41. package/dist/chart-doughnut.js.map +1 -1
  42. package/dist/chart-pie.js +2 -2
  43. package/dist/chart-pie.js.map +1 -1
  44. package/dist/chart-stacked-bar.js.map +1 -1
  45. package/dist/code-editor.js +2 -1
  46. package/dist/code-editor.js.map +1 -1
  47. package/dist/code-highlighter.js +2 -1
  48. package/dist/code-highlighter.js.map +1 -1
  49. package/dist/condition-builder.js +58 -0
  50. package/dist/condition-builder.js.map +1 -0
  51. package/dist/custom-elements-jsdocs.json +10860 -5567
  52. package/dist/custom-elements.json +16180 -7996
  53. package/dist/dropdown-button.js +216 -0
  54. package/dist/dropdown-button.js.map +1 -0
  55. package/dist/event-manager-D-QCmUgR.js +113 -0
  56. package/dist/event-manager-D-QCmUgR.js.map +1 -0
  57. package/dist/fab.js +421 -9
  58. package/dist/fab.js.map +1 -1
  59. package/dist/flow-designer-dZnLJOQT.js +1656 -0
  60. package/dist/flow-designer-dZnLJOQT.js.map +1 -0
  61. package/dist/flow-designer-node-XMe-jlKg.js +548 -0
  62. package/dist/flow-designer-node-XMe-jlKg.js.map +1 -0
  63. package/dist/flow-designer-node.js +4 -0
  64. package/dist/flow-designer-node.js.map +1 -0
  65. package/dist/flow-designer.js +16 -0
  66. package/dist/flow-designer.js.map +1 -0
  67. package/dist/html-editor.js +358 -0
  68. package/dist/html-editor.js.map +1 -0
  69. package/dist/icon-button-CK1ZuE-2.js +247 -0
  70. package/dist/icon-button-CK1ZuE-2.js.map +1 -0
  71. package/dist/index.js +31 -8
  72. package/dist/index.js.map +1 -1
  73. package/dist/{is-dark-mode-DicqGkCJ.js → is-dark-mode-DOcaw4Yq.js} +2 -27
  74. package/dist/is-dark-mode-DOcaw4Yq.js.map +1 -0
  75. package/dist/modal.js +418 -0
  76. package/dist/modal.js.map +1 -0
  77. package/dist/{select-4pl4XBj7.js → navigation-rail-DyO0oAZU.js} +2000 -2767
  78. package/dist/navigation-rail-DyO0oAZU.js.map +1 -0
  79. package/dist/notification-manager.js +268 -0
  80. package/dist/notification-manager.js.map +1 -0
  81. package/dist/notification.js +3 -2
  82. package/dist/notification.js.map +1 -1
  83. package/dist/peacock-loader.js +102 -14
  84. package/dist/peacock-loader.js.map +1 -1
  85. package/dist/popover-NC7b1lTq.js +1971 -0
  86. package/dist/popover-NC7b1lTq.js.map +1 -0
  87. package/dist/popover-content.js +125 -0
  88. package/dist/popover-content.js.map +1 -0
  89. package/dist/popover.js +4 -0
  90. package/dist/popover.js.map +1 -0
  91. package/dist/search.js +4 -0
  92. package/dist/search.js.map +1 -1
  93. package/dist/split-button.js +388 -0
  94. package/dist/split-button.js.map +1 -0
  95. package/dist/src/__controllers/floating-controller.d.ts +35 -0
  96. package/dist/src/__mixins/BaseButtonMixin.d.ts +20 -0
  97. package/dist/src/__mixins/BaseHyperlinkMixin.d.ts +18 -0
  98. package/dist/src/__mixins/MixinConstructor.d.ts +1 -0
  99. package/dist/src/banner/banner.d.ts +0 -4
  100. package/dist/src/button/BaseButton.d.ts +4 -47
  101. package/dist/src/button/button/button.d.ts +32 -3
  102. package/dist/src/button/button-group/button-group.d.ts +2 -2
  103. package/dist/src/button/icon-button/icon-button.d.ts +33 -8
  104. package/dist/src/calendar/base-event.d.ts +10 -0
  105. package/dist/src/calendar/calendar-column-view.d.ts +41 -0
  106. package/dist/src/calendar/calendar-event.d.ts +7 -0
  107. package/dist/src/calendar/calendar-month-view.d.ts +31 -0
  108. package/dist/src/calendar/calendar.d.ts +65 -0
  109. package/dist/src/calendar/event-manager.d.ts +17 -0
  110. package/dist/src/calendar/index.d.ts +4 -0
  111. package/dist/src/calendar/types.d.ts +13 -0
  112. package/dist/src/calendar/utils.d.ts +31 -0
  113. package/dist/src/canvas/canvas.d.ts +92 -0
  114. package/dist/src/canvas/index.d.ts +2 -0
  115. package/dist/src/card/card.d.ts +4 -15
  116. package/dist/src/condition-builder/cb-compound-expression.d.ts +31 -0
  117. package/dist/src/condition-builder/cb-divider.d.ts +26 -0
  118. package/dist/src/condition-builder/cb-expression.d.ts +31 -0
  119. package/dist/src/condition-builder/cb-predicate.d.ts +30 -0
  120. package/dist/src/condition-builder/condition-builder.d.ts +27 -0
  121. package/dist/src/condition-builder/index.d.ts +5 -0
  122. package/dist/src/dropdown-button/dropdown-button.d.ts +68 -0
  123. package/dist/src/dropdown-button/index.d.ts +1 -0
  124. package/dist/src/fab/fab.d.ts +4 -35
  125. package/dist/src/flow-designer/commands.d.ts +66 -0
  126. package/dist/src/flow-designer/flow-designer-node.d.ts +46 -0
  127. package/dist/src/flow-designer/flow-designer.d.ts +133 -0
  128. package/dist/src/flow-designer/index.d.ts +7 -0
  129. package/dist/src/flow-designer/layout.d.ts +30 -0
  130. package/dist/src/flow-designer/types.d.ts +142 -0
  131. package/dist/src/flow-designer/validation.d.ts +43 -0
  132. package/dist/src/flow-designer/workflow-utils.d.ts +40 -0
  133. package/dist/src/focus-ring/focus-ring.d.ts +11 -5
  134. package/dist/src/html-editor/html-editor.d.ts +56 -0
  135. package/dist/src/html-editor/index.d.ts +2 -0
  136. package/dist/src/index.d.ts +16 -1
  137. package/dist/src/link/link.d.ts +1 -1
  138. package/dist/src/menu/menu/menu.d.ts +5 -7
  139. package/dist/src/menu/menu-item/menu-item.d.ts +14 -13
  140. package/dist/src/modal/index.d.ts +1 -0
  141. package/dist/src/modal/modal.d.ts +63 -0
  142. package/dist/src/navigation-rail/index.d.ts +2 -0
  143. package/dist/src/navigation-rail/navigation-rail-item.d.ts +55 -0
  144. package/dist/src/navigation-rail/navigation-rail.d.ts +71 -0
  145. package/dist/src/notification-manager/index.d.ts +1 -0
  146. package/dist/src/notification-manager/notification-manager.d.ts +44 -0
  147. package/dist/src/popover/index.d.ts +2 -0
  148. package/dist/src/popover/popover-content.d.ts +29 -0
  149. package/dist/src/popover/popover.d.ts +62 -0
  150. package/dist/src/sidebar-menu/index.d.ts +3 -0
  151. package/dist/src/sidebar-menu/sidebar-menu-item.d.ts +58 -0
  152. package/dist/src/sidebar-menu/sidebar-menu.d.ts +38 -0
  153. package/dist/src/sidebar-menu/sidebar-sub-menu.d.ts +35 -0
  154. package/dist/src/split-button/index.d.ts +1 -0
  155. package/dist/src/split-button/split-button.d.ts +72 -0
  156. package/dist/src/toolbar/toolbar.d.ts +10 -10
  157. package/dist/src/tooltip/tooltip.d.ts +5 -15
  158. package/dist/src/url-field/index.d.ts +1 -0
  159. package/dist/src/url-field/url-field.d.ts +48 -0
  160. package/dist/test/flow-designer.test.d.ts +1 -0
  161. package/dist/test/sidebar-menu.test.d.ts +1 -0
  162. package/dist/toolbar.js +10 -10
  163. package/dist/toolbar.js.map +1 -1
  164. package/dist/tsconfig.tsbuildinfo +1 -1
  165. package/package.json +4 -2
  166. package/readme.md +73 -65
  167. package/scss/mixin.scss +16 -0
  168. package/src/__controllers/floating-controller.ts +237 -0
  169. package/src/__mixins/BaseButtonMixin.ts +83 -0
  170. package/src/__mixins/BaseHyperlinkMixin.ts +68 -0
  171. package/src/__mixins/MixinConstructor.ts +1 -0
  172. package/src/{__base_element → __mixins}/README.md +2 -2
  173. package/src/banner/banner.scss +20 -25
  174. package/src/banner/banner.ts +1 -7
  175. package/src/button/BaseButton.ts +11 -100
  176. package/src/button/button/button-sizes.scss +4 -2
  177. package/src/button/button/button.ts +77 -23
  178. package/src/button/button-group/button-group.ts +2 -2
  179. package/src/button/icon-button/icon-button.ts +75 -33
  180. package/src/calendar/base-event.ts +49 -0
  181. package/src/calendar/calendar-column-view.scss +326 -0
  182. package/src/calendar/calendar-column-view.ts +392 -0
  183. package/src/calendar/calendar-event.ts +20 -0
  184. package/src/calendar/calendar-month-view.scss +192 -0
  185. package/src/calendar/calendar-month-view.ts +244 -0
  186. package/src/calendar/calendar.scss +71 -0
  187. package/src/calendar/calendar.ts +298 -0
  188. package/src/calendar/event-manager.ts +117 -0
  189. package/src/calendar/index.ts +4 -0
  190. package/src/calendar/types.ts +14 -0
  191. package/src/calendar/utils.ts +180 -0
  192. package/src/canvas/canvas.scss +60 -0
  193. package/src/canvas/canvas.ts +391 -0
  194. package/src/canvas/index.ts +2 -0
  195. package/src/card/card.ts +11 -71
  196. package/src/chart-bar/chart-bar.ts +9 -14
  197. package/src/chart-bar/chart-stacked-bar.ts +12 -18
  198. package/src/chart-doughnut/chart-doughnut.ts +23 -27
  199. package/src/chart-pie/chart-pie.ts +19 -23
  200. package/src/checkbox/checkbox.scss +17 -34
  201. package/src/checkbox/checkbox.ts +3 -1
  202. package/src/code-highlighter/code-highlighter.scss +1 -0
  203. package/src/code-highlighter/code-highlighter.ts +1 -1
  204. package/src/condition-builder/cb-compound-expression.scss +37 -0
  205. package/src/condition-builder/cb-compound-expression.ts +80 -0
  206. package/src/condition-builder/cb-divider.scss +93 -0
  207. package/src/condition-builder/cb-divider.ts +56 -0
  208. package/src/condition-builder/cb-expression.scss +14 -0
  209. package/src/condition-builder/cb-expression.ts +49 -0
  210. package/src/condition-builder/cb-predicate.scss +35 -0
  211. package/src/condition-builder/cb-predicate.ts +102 -0
  212. package/src/condition-builder/condition-builder.scss +13 -0
  213. package/src/condition-builder/condition-builder.ts +38 -0
  214. package/src/condition-builder/index.ts +5 -0
  215. package/src/date-picker/date-picker.ts +1 -1
  216. package/src/dropdown-button/demo/index.html +110 -0
  217. package/src/dropdown-button/dropdown-button.scss +22 -0
  218. package/src/dropdown-button/dropdown-button.ts +206 -0
  219. package/src/dropdown-button/index.ts +1 -0
  220. package/src/elevation/elevation.scss +5 -5
  221. package/src/fab/fab.ts +29 -100
  222. package/src/flow-designer/DEMO.md +239 -0
  223. package/src/flow-designer/commands.ts +278 -0
  224. package/src/flow-designer/flow-designer-node.ts +172 -0
  225. package/src/flow-designer/flow-designer.scss +457 -0
  226. package/src/flow-designer/flow-designer.ts +611 -0
  227. package/src/flow-designer/index.ts +41 -0
  228. package/src/flow-designer/layout.ts +357 -0
  229. package/src/flow-designer/types.ts +166 -0
  230. package/src/flow-designer/validation.ts +284 -0
  231. package/src/flow-designer/workflow-utils.ts +282 -0
  232. package/src/focus-ring/focus-ring.ts +47 -40
  233. package/src/html-editor/html-editor.scss +146 -0
  234. package/src/html-editor/html-editor.ts +276 -0
  235. package/src/html-editor/index.ts +3 -0
  236. package/src/index.ts +28 -1
  237. package/src/input/input.ts +3 -1
  238. package/src/link/link.ts +2 -2
  239. package/src/menu/menu/menu.scss +2 -2
  240. package/src/menu/menu/menu.ts +91 -101
  241. package/src/menu/menu-item/menu-item.scss +4 -0
  242. package/src/menu/menu-item/menu-item.ts +85 -79
  243. package/src/modal/index.ts +1 -0
  244. package/src/modal/modal.scss +206 -0
  245. package/src/modal/modal.ts +201 -0
  246. package/src/navigation-rail/index.ts +2 -0
  247. package/src/navigation-rail/navigation-rail-item.scss +216 -0
  248. package/src/navigation-rail/navigation-rail-item.ts +223 -0
  249. package/src/navigation-rail/navigation-rail.scss +72 -0
  250. package/src/navigation-rail/navigation-rail.ts +149 -0
  251. package/src/notification/notification.ts +3 -2
  252. package/src/notification-manager/index.ts +1 -0
  253. package/src/notification-manager/notification-manager.scss +113 -0
  254. package/src/notification-manager/notification-manager.ts +199 -0
  255. package/src/number-field/number-field.ts +6 -4
  256. package/src/pagination/pagination.ts +6 -4
  257. package/src/peacock-loader.ts +93 -5
  258. package/src/popover/index.ts +2 -0
  259. package/src/popover/popover-content.scss +69 -0
  260. package/src/popover/popover-content.ts +51 -0
  261. package/src/popover/popover.scss +7 -0
  262. package/src/popover/popover.ts +170 -0
  263. package/src/search/search.ts +4 -0
  264. package/src/sidebar-menu/demo/index.html +68 -0
  265. package/src/sidebar-menu/index.ts +3 -0
  266. package/src/sidebar-menu/sidebar-menu-item.scss +102 -0
  267. package/src/sidebar-menu/sidebar-menu-item.ts +151 -0
  268. package/src/{tree-view/tree-view.scss → sidebar-menu/sidebar-menu.scss} +1 -1
  269. package/src/sidebar-menu/sidebar-menu.ts +182 -0
  270. package/src/sidebar-menu/sidebar-sub-menu.scss +130 -0
  271. package/src/sidebar-menu/sidebar-sub-menu.ts +160 -0
  272. package/src/skeleton/skeleton.scss +18 -24
  273. package/src/snackbar/snackbar.ts +1 -1
  274. package/src/split-button/index.ts +1 -0
  275. package/src/split-button/split-button-colors.scss +56 -0
  276. package/src/split-button/split-button-sizes.scss +28 -0
  277. package/src/split-button/split-button.scss +79 -0
  278. package/src/split-button/split-button.ts +236 -0
  279. package/src/table/table.ts +2 -2
  280. package/src/tabs/tab.ts +4 -3
  281. package/src/text/text.css-component.scss +7 -1
  282. package/src/time-picker/time-picker.ts +1 -1
  283. package/src/toolbar/toolbar.ts +10 -10
  284. package/src/tooltip/tooltip.scss +4 -3
  285. package/src/tooltip/tooltip.ts +64 -98
  286. package/src/url-field/index.ts +1 -0
  287. package/src/url-field/url-field.scss +50 -0
  288. package/src/url-field/url-field.ts +239 -0
  289. package/dist/button-DMN1dPAg.js.map +0 -1
  290. package/dist/button-group-CX9CUUXk.js +0 -435
  291. package/dist/button-group-CX9CUUXk.js.map +0 -1
  292. package/dist/fab-C5Nzxk0E.js +0 -497
  293. package/dist/fab-C5Nzxk0E.js.map +0 -1
  294. package/dist/is-dark-mode-DicqGkCJ.js.map +0 -1
  295. package/dist/select-4pl4XBj7.js.map +0 -1
  296. package/dist/spread-B5cgadZl.js +0 -32
  297. package/dist/spread-B5cgadZl.js.map +0 -1
  298. package/dist/src/__base_element/BaseHyperlink.d.ts +0 -20
  299. package/dist/src/menu/menu/MenuSurfaceController.d.ts +0 -18
  300. package/dist/src/tree-view/index.d.ts +0 -2
  301. package/dist/src/tree-view/tree-node.d.ts +0 -69
  302. package/dist/src/tree-view/tree-view.d.ts +0 -40
  303. package/dist/src/tree-view/wc-tree-view.d.ts +0 -6
  304. package/dist/test/tree-view.test.d.ts +0 -1
  305. package/dist/throttle-C7ZAPqtu.js +0 -24
  306. package/dist/throttle-C7ZAPqtu.js.map +0 -1
  307. package/src/__base_element/BaseHyperlink.ts +0 -42
  308. package/src/menu/menu/MenuSurfaceController.ts +0 -61
  309. package/src/tree-view/demo/index.html +0 -57
  310. package/src/tree-view/index.ts +0 -2
  311. package/src/tree-view/tree-node.scss +0 -101
  312. package/src/tree-view/tree-node.ts +0 -268
  313. package/src/tree-view/tree-view.ts +0 -182
  314. package/src/tree-view/wc-tree-view.ts +0 -9
package/dist/fab.js CHANGED
@@ -1,11 +1,423 @@
1
- import './IndividualComponent-DUINtMGK.js';
2
- import './property-1psGvXOq.js';
3
- import './state-DwbEjqVk.js';
4
- import './query-QBcUV-L_.js';
5
- import './class-map-YU7g0o3B.js';
6
- export { F as Fab } from './fab-C5Nzxk0E.js';
7
- import './dispatch-event-utils-CuEqjlPT.js';
8
- import './throttle-C7ZAPqtu.js';
9
- import './spread-B5cgadZl.js';
1
+ import { a as i, _ as __decorate, I as IndividualComponent, A, c as __classPrivateFieldGet, b } from './IndividualComponent-DUINtMGK.js';
2
+ import { n } from './property-1psGvXOq.js';
3
+ import { r } from './state-DwbEjqVk.js';
4
+ import { e } from './class-map-YU7g0o3B.js';
5
+ import { B as BaseButton, o, s as spread } from './BaseButton-BNFAYn-S.js';
6
+ import { i as isActivationClick, d as dispatchActivationClick } from './dispatch-event-utils-CuEqjlPT.js';
7
+ import { t as throttle } from './BaseHyperlinkMixin-BNuwbiEf.js';
10
8
  import './directive-ZPhl09Yt.js';
9
+ import './query-QBcUV-L_.js';
10
+
11
+ var css_248z$2 = i`* {
12
+ box-sizing: border-box;
13
+ }
14
+
15
+ .screen-reader-only {
16
+ display: none !important;
17
+ }
18
+
19
+ :host {
20
+ display: inline-flex;
21
+ --fab-container-shape: var(--shape-corner-large);
22
+ --fab-container-elevation-level: 3;
23
+ }
24
+
25
+ /*
26
+ * Reset native button/link styles
27
+ */
28
+ .fab-element {
29
+ background: transparent;
30
+ border: none;
31
+ appearance: none;
32
+ margin: 0;
33
+ outline: none;
34
+ text-decoration: none;
35
+ cursor: pointer;
36
+ }
37
+
38
+ .fab {
39
+ position: relative;
40
+ display: inline-flex;
41
+ align-items: center;
42
+ justify-content: center;
43
+ border-radius: var(--fab-container-shape);
44
+ font-family: var(--font-family-sans) !important;
45
+ }
46
+ .fab .fab-content {
47
+ display: flex;
48
+ align-items: center;
49
+ justify-content: center;
50
+ pointer-events: none;
51
+ z-index: 0;
52
+ gap: 0.75rem;
53
+ color: var(--_fab-label-text-color);
54
+ --icon-size: var(--_fab-icon-size);
55
+ --icon-color: var(--_fab-label-text-color);
56
+ }
57
+ .fab .fab-label {
58
+ font-size: 0.875rem;
59
+ font-weight: var(--font-weight-medium);
60
+ line-height: 1.25rem;
61
+ letter-spacing: 0.00625em;
62
+ white-space: nowrap;
63
+ }
64
+ .fab.disabled {
65
+ cursor: not-allowed;
66
+ }
67
+ .fab {
68
+ /*
69
+ Background layers
70
+ */
71
+ }
72
+ .fab .focus-ring {
73
+ z-index: 2;
74
+ --focus-ring-container-shape-start-start: var(--fab-container-shape);
75
+ --focus-ring-container-shape-start-end: var(--fab-container-shape);
76
+ --focus-ring-container-shape-end-start: var(--fab-container-shape);
77
+ --focus-ring-container-shape-end-end: var(--fab-container-shape);
78
+ }
79
+ .fab .ripple {
80
+ border-radius: var(--fab-container-shape);
81
+ --ripple-state-opacity: var(--_fab-container-state-opacity, 0);
82
+ --ripple-pressed-color: var(--_fab-label-text-color);
83
+ }
84
+ .fab .background {
85
+ display: block;
86
+ position: absolute;
87
+ inset: 0;
88
+ background-color: var(--_fab-container-color);
89
+ opacity: var(--_fab-container-opacity, 1);
90
+ border-radius: var(--fab-container-shape);
91
+ pointer-events: none;
92
+ }
93
+ .fab .elevation {
94
+ --elevation-level: var(--_fab-container-elevation-level, var(--fab-container-elevation-level));
95
+ transition-duration: 280ms;
96
+ --elevation-container-shape-start-start: var(--fab-container-shape);
97
+ --elevation-container-shape-start-end: var(--fab-container-shape);
98
+ --elevation-container-shape-end-start: var(--fab-container-shape);
99
+ --elevation-container-shape-end-end: var(--fab-container-shape);
100
+ }
101
+ .fab:hover:not(.disabled) {
102
+ --_fab-container-elevation-level: 4;
103
+ --_fab-container-state-opacity: 0.08;
104
+ }
105
+ .fab.pressed:not(.disabled) {
106
+ --_fab-container-elevation-level: 3;
107
+ --_fab-container-state-opacity: 0.12;
108
+ }
109
+ .fab.lowered {
110
+ --fab-container-elevation-level: 1;
111
+ }
112
+ .fab.lowered:hover:not(.disabled) {
113
+ --_fab-container-elevation-level: 2;
114
+ }
115
+ .fab.lowered.pressed:not(.disabled) {
116
+ --_fab-container-elevation-level: 1;
117
+ }
118
+ .fab.disabled {
119
+ --_fab-container-color: var(--color-on-surface);
120
+ --_fab-container-opacity: 0.12;
121
+ --_fab-label-text-color: var(--color-on-surface);
122
+ --_fab-label-text-opacity: 0.38;
123
+ --_fab-container-elevation-level: 0;
124
+ }
125
+ .fab.disabled .ripple {
126
+ display: none;
127
+ }
128
+ .fab.disabled .fab-content {
129
+ opacity: 0.38;
130
+ }
131
+
132
+ /* Extended FAB */
133
+ .fab.extended {
134
+ padding: 0 1rem;
135
+ border-radius: var(--fab-container-shape);
136
+ }`;
137
+
138
+ var css_248z$1 = i`:host {
139
+ --tonal-fab-container-color: var(--color-surface-container-high);
140
+ --tonal-fab-label-text-color: var(--color-on-surface);
141
+ --filled-fab-container-color: var(--color-surface);
142
+ --filled-fab-label-text-color: var(--color-on-surface);
143
+ }
144
+
145
+ :host([color=surface]) {
146
+ --tonal-fab-container-color: var(--color-surface-container-high);
147
+ --tonal-fab-label-text-color: var(--color-on-surface);
148
+ --filled-fab-container-color: var(--color-surface);
149
+ --filled-fab-label-text-color: var(--color-on-surface);
150
+ }
151
+
152
+ :host([color=primary]) {
153
+ --tonal-fab-container-color: var(--color-primary-container);
154
+ --tonal-fab-label-text-color: var(--color-on-primary-container);
155
+ --filled-fab-container-color: var(--color-primary);
156
+ --filled-fab-label-text-color: var(--color-on-primary);
157
+ }
158
+
159
+ :host([color=secondary]) {
160
+ --tonal-fab-container-color: var(--color-secondary-container);
161
+ --tonal-fab-label-text-color: var(--color-on-secondary-container);
162
+ --filled-fab-container-color: var(--color-secondary);
163
+ --filled-fab-label-text-color: var(--color-on-secondary);
164
+ }
165
+
166
+ :host([color=tertiary]) {
167
+ --tonal-fab-container-color: var(--color-tertiary-container);
168
+ --tonal-fab-label-text-color: var(--color-on-tertiary-container);
169
+ --filled-fab-container-color: var(--color-tertiary);
170
+ --filled-fab-label-text-color: var(--color-on-tertiary);
171
+ }
172
+
173
+ .fab.variant-tonal {
174
+ --_fab-container-color: var(--tonal-fab-container-color);
175
+ --_fab-label-text-color: var(--tonal-fab-label-text-color);
176
+ }
177
+
178
+ .fab.variant-filled {
179
+ --_fab-container-color: var(--filled-fab-container-color);
180
+ --_fab-label-text-color: var(--filled-fab-label-text-color);
181
+ }`;
182
+
183
+ var css_248z = i`/* Small FAB: 40x40dp, shape-corner-medium */
184
+ :host([size=sm]) {
185
+ --fab-container-shape: var(--shape-corner-medium);
186
+ }
187
+
188
+ :host([size=sm]) .fab {
189
+ width: 2.5rem;
190
+ height: 2.5rem;
191
+ --_fab-icon-size: 1.5rem;
192
+ }
193
+
194
+ /* Standard/Medium FAB: 56x56dp, shape-corner-large (default) */
195
+ :host([size=md]) .fab {
196
+ width: 3.5rem;
197
+ height: 3.5rem;
198
+ --_fab-icon-size: 1.5rem;
199
+ }
200
+
201
+ /* Large FAB: 96x96dp, shape-corner-extra-large */
202
+ :host([size=lg]) {
203
+ --fab-container-shape: var(--shape-corner-extra-large);
204
+ }
205
+
206
+ :host([size=lg]) .fab {
207
+ width: 6rem;
208
+ height: 6rem;
209
+ --_fab-icon-size: 2.25rem;
210
+ }
211
+
212
+ /* Extended FAB overrides (height fixed, width auto) */
213
+ :host([size=sm]) .fab.extended {
214
+ width: auto;
215
+ min-width: 4rem;
216
+ height: 2.5rem;
217
+ }
218
+
219
+ :host([size=md]) .fab.extended {
220
+ width: auto;
221
+ min-width: 5rem;
222
+ height: 3.5rem;
223
+ }
224
+
225
+ :host([size=lg]) .fab.extended {
226
+ width: auto;
227
+ min-width: 6rem;
228
+ height: 6rem;
229
+ }`;
230
+
231
+ var _Fab_id;
232
+ /**
233
+ * @label FAB
234
+ * @tag wc-fab
235
+ * @rawTag fab
236
+ *
237
+ * @summary The FAB (Floating Action Button) represents the primary action on a screen.
238
+ * @overview
239
+ * <p>A Floating Action Button (FAB) is a circular button that represents the primary action on a screen. It follows the Material Design 3 specification and supports four color roles and two variants.</p>
240
+ *
241
+ * @cssprop --fab-container-color: Background color of the FAB container.
242
+ * @cssprop --fab-label-text-color: Text and icon color of the FAB label.
243
+ * @cssprop --fab-container-shape: Corner radius of the FAB. Defaults to var(--shape-corner-large).
244
+ * @cssprop --fab-container-elevation-level: Elevation level of the FAB. Defaults to 3.
245
+ *
246
+ * @fires {MouseEvent} click - Dispatched when the FAB is clicked.
247
+ *
248
+ * @example
249
+ * ```html
250
+ * <wc-fab><wc-icon name="add"></wc-icon></wc-fab>
251
+ * ```
252
+ * @tags controls
253
+ */
254
+ let Fab = class Fab extends BaseButton {
255
+ constructor() {
256
+ super(...arguments);
257
+ _Fab_id.set(this, crypto.randomUUID());
258
+ /**
259
+ * The color role of the FAB.
260
+ * `"surface"` uses the surface color role.
261
+ * `"primary"` uses the primary color role.
262
+ * `"secondary"` uses the secondary color role.
263
+ * `"tertiary"` uses the tertiary color role.
264
+ */
265
+ this.color = 'surface';
266
+ /**
267
+ * The style variant of the FAB.
268
+ * `"tonal"` uses container colors.
269
+ * `"filled"` uses solid role colors.
270
+ */
271
+ this.variant = 'tonal';
272
+ /**
273
+ * The size of the FAB.
274
+ * `"sm"` renders a small FAB (40×40dp).
275
+ * `"md"` renders a standard FAB (56×56dp). This is the default.
276
+ * `"lg"` renders a large FAB (96×96dp).
277
+ */
278
+ this.size = 'md';
279
+ /**
280
+ * If `true`, the FAB is in a lowered (resting) state with reduced elevation.
281
+ */
282
+ this.lowered = false;
283
+ /**
284
+ * Sets the delay for throttle in milliseconds. Defaults to 200 milliseconds.
285
+ */
286
+ this.throttleDelay = 200;
287
+ this.isPressed = false;
288
+ this.__dispatchClick = (event) => {
289
+ if (this.disabled && this.href) {
290
+ event.stopImmediatePropagation();
291
+ event.preventDefault();
292
+ return;
293
+ }
294
+ if (!isActivationClick(event) || !this.buttonElement) {
295
+ return;
296
+ }
297
+ this.focus();
298
+ dispatchActivationClick(this.buttonElement);
299
+ };
300
+ }
301
+ focus() {
302
+ this.buttonElement?.focus();
303
+ }
304
+ blur() {
305
+ this.buttonElement?.blur();
306
+ }
307
+ firstUpdated() {
308
+ this.__dispatchClickWithThrottle = throttle(this.__dispatchClick, this.throttleDelay);
309
+ }
310
+ __getDisabledReasonID() {
311
+ return this.disabled ? `disabled-reason-${__classPrivateFieldGet(this, _Fab_id, "f")}` : A;
312
+ }
313
+ render() {
314
+ const isLink = this.__isLink();
315
+ const isExtended = !!this.label;
316
+ const cssClasses = {
317
+ button: true,
318
+ fab: true,
319
+ 'fab-element': true,
320
+ [`size-${this.size}`]: true,
321
+ [`color-${this.color}`]: true,
322
+ [`variant-${this.variant}`]: true,
323
+ extended: isExtended,
324
+ lowered: this.lowered,
325
+ disabled: this.disabled,
326
+ pressed: this.isPressed,
327
+ };
328
+ if (!isLink) {
329
+ return b `<button
330
+ class=${e(cssClasses)}
331
+ id="button"
332
+ type="button"
333
+ @click=${this.__dispatchClickWithThrottle}
334
+ @mousedown=${this.__handlePress}
335
+ @keydown=${this.__handlePress}
336
+ @keyup=${this.__handlePress}
337
+
338
+ aria-describedby=${o(this.softDisabled ? BaseButton.DISABLED_REASON_ID : undefined)}
339
+ ?aria-disabled=${this.softDisabled}
340
+
341
+ ?disabled=${this.disabled}
342
+ ${spread(this.configAria)}
343
+ >
344
+ ${this.__renderFabContent(isExtended)}
345
+ </button>
346
+ ${this.__renderTooltip()}`;
347
+ }
348
+ return b `<a
349
+ class=${e(cssClasses)}
350
+ id="button"
351
+ tabindex=${this.disabled ? '-1' : '0'}
352
+ href=${o(this.href)}
353
+ target=${this.target}
354
+ @click=${this.__dispatchClick}
355
+ @mousedown=${this.__handlePress}
356
+ @keydown=${this.__handlePress}
357
+ @keyup=${this.__handlePress}
358
+ role="button"
359
+
360
+ aria-describedby=${o(this.softDisabled ? BaseButton.DISABLED_REASON_ID : undefined)}
361
+ ?aria-disabled=${this.softDisabled}
362
+
363
+ ${spread(this.configAria)}
364
+ >
365
+ ${this.__renderFabContent(isExtended)}
366
+ </a>
367
+ ${this.__renderTooltip()}`;
368
+ }
369
+ __renderFabContent(isExtended) {
370
+ return b `
371
+ <wc-focus-ring class="focus-ring" for='button'></wc-focus-ring>
372
+ <wc-elevation class="elevation"></wc-elevation>
373
+ <div class="background"></div>
374
+ <wc-ripple class="ripple"></wc-ripple>
375
+ <wc-skeleton class="skeleton"></wc-skeleton>
376
+
377
+ <div class="fab-content">
378
+
379
+ <slot></slot>
380
+ ${isExtended
381
+ ? b `<span class="fab-label">${this.label}</span>`
382
+ : A}
383
+ </div>
384
+
385
+ ${this.__renderDisabledReason(this.softDisabled)}
386
+ `;
387
+ }
388
+ };
389
+ _Fab_id = new WeakMap();
390
+ Fab.styles = [css_248z$2, css_248z$1, css_248z];
391
+ __decorate([
392
+ n({ type: String })
393
+ ], Fab.prototype, "label", void 0);
394
+ __decorate([
395
+ n({ reflect: true })
396
+ ], Fab.prototype, "color", void 0);
397
+ __decorate([
398
+ n({ reflect: true })
399
+ ], Fab.prototype, "variant", void 0);
400
+ __decorate([
401
+ n({ reflect: true })
402
+ ], Fab.prototype, "size", void 0);
403
+ __decorate([
404
+ n({ type: Boolean, reflect: true })
405
+ ], Fab.prototype, "lowered", void 0);
406
+ __decorate([
407
+ n({ reflect: true })
408
+ ], Fab.prototype, "configAria", void 0);
409
+ __decorate([
410
+ n()
411
+ ], Fab.prototype, "throttleDelay", void 0);
412
+ __decorate([
413
+ n()
414
+ ], Fab.prototype, "tooltip", void 0);
415
+ __decorate([
416
+ r()
417
+ ], Fab.prototype, "isPressed", void 0);
418
+ Fab = __decorate([
419
+ IndividualComponent
420
+ ], Fab);
421
+
422
+ export { Fab };
11
423
  //# sourceMappingURL=fab.js.map
package/dist/fab.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"fab.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
1
+ {"version":3,"file":"fab.js","sources":["../../src/fab/fab.ts"],"sourcesContent":["import { html, nothing } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport IndividualComponent from '@/IndividualComponent.js';\nimport { dispatchActivationClick, isActivationClick } from '@/__utils/dispatch-event-utils.js';\nimport { throttle } from '@/__utils/throttle.js';\nimport { spread } from '@/__directive/spread.js';\n\nimport styles from './fab.scss';\nimport colorStyles from './fab-colors.scss';\nimport sizeStyles from './fab-sizes.scss';\nimport { BaseButton } from '@/button/BaseButton.js';\n\n/**\n * @label FAB\n * @tag wc-fab\n * @rawTag fab\n *\n * @summary The FAB (Floating Action Button) represents the primary action on a screen.\n * @overview\n * <p>A Floating Action Button (FAB) is a circular button that represents the primary action on a screen. It follows the Material Design 3 specification and supports four color roles and two variants.</p>\n *\n * @cssprop --fab-container-color: Background color of the FAB container.\n * @cssprop --fab-label-text-color: Text and icon color of the FAB label.\n * @cssprop --fab-container-shape: Corner radius of the FAB. Defaults to var(--shape-corner-large).\n * @cssprop --fab-container-elevation-level: Elevation level of the FAB. Defaults to 3.\n *\n * @fires {MouseEvent} click - Dispatched when the FAB is clicked.\n *\n * @example\n * ```html\n * <wc-fab><wc-icon name=\"add\"></wc-icon></wc-fab>\n * ```\n * @tags controls\n */\n@IndividualComponent\nexport class Fab extends BaseButton {\n static override styles = [styles, colorStyles, sizeStyles];\n\n #id = crypto.randomUUID();\n \n\n\n /**\n * Optional label text for the extended FAB variant.\n * When set, the FAB displays both the icon and a text label.\n */\n @property({ type: String }) label?: string;\n\n /**\n * The color role of the FAB.\n * `\"surface\"` uses the surface color role.\n * `\"primary\"` uses the primary color role.\n * `\"secondary\"` uses the secondary color role.\n * `\"tertiary\"` uses the tertiary color role.\n */\n @property({ reflect: true }) color: 'surface' | 'primary' | 'secondary' | 'tertiary' = 'surface';\n\n /**\n * The style variant of the FAB.\n * `\"tonal\"` uses container colors.\n * `\"filled\"` uses solid role colors.\n */\n @property({ reflect: true }) variant: 'tonal' | 'filled' = 'tonal';\n\n /**\n * The size of the FAB.\n * `\"sm\"` renders a small FAB (40×40dp).\n * `\"md\"` renders a standard FAB (56×56dp). This is the default.\n * `\"lg\"` renders a large FAB (96×96dp).\n */\n @property({ reflect: true }) size: 'sm' | 'md' | 'lg' = 'md';\n\n /**\n * If `true`, the FAB is in a lowered (resting) state with reduced elevation.\n */\n @property({ type: Boolean, reflect: true }) lowered: boolean = false;\n\n /**\n * Additional ARIA attributes to pass to the inner button/anchor element.\n */\n @property({ reflect: true })\n configAria?: { [key: string]: any };\n\n /**\n * Sets the delay for throttle in milliseconds. Defaults to 200 milliseconds.\n */\n @property() throttleDelay = 200;\n\n /**\n * Tooltip text shown on hover.\n */\n @property() tooltip?: string;\n\n @state()\n isPressed = false;\n\n override focus() {\n this.buttonElement?.focus();\n }\n\n override blur() {\n this.buttonElement?.blur();\n }\n\n override firstUpdated() {\n this.__dispatchClickWithThrottle = throttle(\n this.__dispatchClick,\n this.throttleDelay,\n );\n }\n\n __dispatchClick = (event: MouseEvent | KeyboardEvent) => {\n if (this.disabled && this.href) {\n event.stopImmediatePropagation();\n event.preventDefault();\n return;\n }\n\n if (!isActivationClick(event) || !this.buttonElement) {\n return;\n }\n\n this.focus();\n dispatchActivationClick(this.buttonElement);\n };\n\n __getDisabledReasonID() {\n return this.disabled ? `disabled-reason-${this.#id}` : nothing;\n }\n\n override render() {\n const isLink = this.__isLink();\n const isExtended = !!this.label;\n\n const cssClasses = {\n button: true,\n fab: true,\n 'fab-element': true,\n [`size-${this.size}`]: true,\n [`color-${this.color}`]: true,\n [`variant-${this.variant}`]: true,\n extended: isExtended,\n lowered: this.lowered,\n disabled: this.disabled,\n pressed: this.isPressed,\n };\n\n if (!isLink) {\n return html`<button\n class=${classMap(cssClasses)}\n id=\"button\"\n type=\"button\"\n @click=${this.__dispatchClickWithThrottle}\n @mousedown=${this.__handlePress}\n @keydown=${this.__handlePress}\n @keyup=${this.__handlePress}\n \n aria-describedby=${ifDefined(this.softDisabled ? BaseButton.DISABLED_REASON_ID : undefined)}\n ?aria-disabled=${this.softDisabled}\n\n ?disabled=${this.disabled}\n ${spread(this.configAria)}\n >\n ${this.__renderFabContent(isExtended)}\n </button>\n ${this.__renderTooltip()}`;\n }\n\n return html`<a\n class=${classMap(cssClasses)}\n id=\"button\"\n tabindex=${this.disabled ? '-1' : '0'}\n href=${ifDefined(this.href)}\n target=${this.target}\n @click=${this.__dispatchClick}\n @mousedown=${this.__handlePress}\n @keydown=${this.__handlePress}\n @keyup=${this.__handlePress}\n role=\"button\"\n\n aria-describedby=${ifDefined(this.softDisabled ? BaseButton.DISABLED_REASON_ID : undefined)}\n ?aria-disabled=${this.softDisabled}\n\n ${spread(this.configAria)}\n >\n ${this.__renderFabContent(isExtended)}\n </a>\n ${this.__renderTooltip()}`;\n }\n\n __renderFabContent(isExtended: boolean) {\n return html`\n <wc-focus-ring class=\"focus-ring\" for='button'></wc-focus-ring>\n <wc-elevation class=\"elevation\"></wc-elevation>\n <div class=\"background\"></div>\n <wc-ripple class=\"ripple\"></wc-ripple>\n <wc-skeleton class=\"skeleton\"></wc-skeleton>\n\n <div class=\"fab-content\">\n\n <slot></slot>\n ${isExtended\n ? html`<span class=\"fab-label\">${this.label}</span>`\n : nothing}\n </div>\n\n ${this.__renderDisabledReason(this.softDisabled)}\n `;\n }\n\n}\n"],"names":["nothing","html","classMap","ifDefined","styles","colorStyles","sizeStyles","property","state"],"mappings":"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"}