@redvars/peacock 3.5.1 → 3.6.1

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 (225) hide show
  1. package/dist/{BaseButton-DuASuVth.js → BaseButton-BNFAYn-S.js} +2 -2
  2. package/dist/{BaseButton-DuASuVth.js.map → BaseButton-BNFAYn-S.js.map} +1 -1
  3. package/dist/BaseInput-14YmcfK7.js +27 -0
  4. package/dist/BaseInput-14YmcfK7.js.map +1 -0
  5. package/dist/banner.js +2 -3
  6. package/dist/banner.js.map +1 -1
  7. package/dist/{button-DouvOfEU.js → button-colors-Ccys3hvS.js} +5 -294
  8. package/dist/button-colors-Ccys3hvS.js.map +1 -0
  9. package/dist/button-group.js +226 -6
  10. package/dist/button-group.js.map +1 -1
  11. package/dist/button.js +294 -8
  12. package/dist/button.js.map +1 -1
  13. package/dist/calendar-column-view.js +634 -0
  14. package/dist/calendar-column-view.js.map +1 -0
  15. package/dist/calendar-event-BrQ_SEKD.js +199 -0
  16. package/dist/calendar-event-BrQ_SEKD.js.map +1 -0
  17. package/dist/calendar-month-view.js +376 -0
  18. package/dist/calendar-month-view.js.map +1 -0
  19. package/dist/calendar.js +339 -0
  20. package/dist/calendar.js.map +1 -0
  21. package/dist/canvas.js +361 -0
  22. package/dist/canvas.js.map +1 -0
  23. package/dist/cb-compound-expression.js +125 -0
  24. package/dist/cb-compound-expression.js.map +1 -0
  25. package/dist/cb-divider.js +150 -0
  26. package/dist/cb-divider.js.map +1 -0
  27. package/dist/cb-expression.js +75 -0
  28. package/dist/cb-expression.js.map +1 -0
  29. package/dist/cb-predicate.js +137 -0
  30. package/dist/cb-predicate.js.map +1 -0
  31. package/dist/code-editor.js +2 -1
  32. package/dist/code-editor.js.map +1 -1
  33. package/dist/code-highlighter.js +1 -1
  34. package/dist/code-highlighter.js.map +1 -1
  35. package/dist/condition-builder.js +58 -0
  36. package/dist/condition-builder.js.map +1 -0
  37. package/dist/custom-elements-jsdocs.json +8479 -3965
  38. package/dist/custom-elements.json +15228 -7544
  39. package/dist/dropdown-button.js +216 -0
  40. package/dist/dropdown-button.js.map +1 -0
  41. package/dist/event-manager-D-QCmUgR.js +113 -0
  42. package/dist/event-manager-D-QCmUgR.js.map +1 -0
  43. package/dist/fab.js +1 -1
  44. package/dist/flow-designer-DvTUrDp5.js +1656 -0
  45. package/dist/flow-designer-DvTUrDp5.js.map +1 -0
  46. package/dist/flow-designer-node-BWrPuxAR.js +548 -0
  47. package/dist/flow-designer-node-BWrPuxAR.js.map +1 -0
  48. package/dist/flow-designer-node.js +4 -0
  49. package/dist/flow-designer-node.js.map +1 -0
  50. package/dist/flow-designer.js +16 -0
  51. package/dist/flow-designer.js.map +1 -0
  52. package/dist/html-editor.js +27516 -0
  53. package/dist/html-editor.js.map +1 -0
  54. package/dist/icon-button-CK1ZuE-2.js +247 -0
  55. package/dist/icon-button-CK1ZuE-2.js.map +1 -0
  56. package/dist/index.js +29 -6
  57. package/dist/index.js.map +1 -1
  58. package/dist/{is-dark-mode-DicqGkCJ.js → is-dark-mode-DOcaw4Yq.js} +2 -27
  59. package/dist/is-dark-mode-DOcaw4Yq.js.map +1 -0
  60. package/dist/modal.js +412 -0
  61. package/dist/modal.js.map +1 -0
  62. package/dist/{navigation-rail-Lxetd5-Z.js → navigation-rail-DTTkqohi.js} +1049 -2391
  63. package/dist/navigation-rail-DTTkqohi.js.map +1 -0
  64. package/dist/notification-manager.js +268 -0
  65. package/dist/notification-manager.js.map +1 -0
  66. package/dist/peacock-loader.js +93 -8
  67. package/dist/peacock-loader.js.map +1 -1
  68. package/dist/popover-NC7b1lTq.js +1971 -0
  69. package/dist/popover-NC7b1lTq.js.map +1 -0
  70. package/dist/popover-content.js +125 -0
  71. package/dist/popover-content.js.map +1 -0
  72. package/dist/popover.js +4 -0
  73. package/dist/popover.js.map +1 -0
  74. package/dist/split-button.js +388 -0
  75. package/dist/split-button.js.map +1 -0
  76. package/dist/src/__controllers/floating-controller.d.ts +35 -0
  77. package/dist/src/calendar/base-event.d.ts +10 -0
  78. package/dist/src/calendar/calendar-column-view.d.ts +41 -0
  79. package/dist/src/calendar/calendar-event.d.ts +7 -0
  80. package/dist/src/calendar/calendar-month-view.d.ts +31 -0
  81. package/dist/src/calendar/calendar.d.ts +65 -0
  82. package/dist/src/calendar/event-manager.d.ts +17 -0
  83. package/dist/src/calendar/index.d.ts +4 -0
  84. package/dist/src/calendar/types.d.ts +13 -0
  85. package/dist/src/calendar/utils.d.ts +31 -0
  86. package/dist/src/canvas/canvas.d.ts +92 -0
  87. package/dist/src/canvas/index.d.ts +2 -0
  88. package/dist/src/condition-builder/cb-compound-expression.d.ts +31 -0
  89. package/dist/src/condition-builder/cb-divider.d.ts +26 -0
  90. package/dist/src/condition-builder/cb-expression.d.ts +31 -0
  91. package/dist/src/condition-builder/cb-predicate.d.ts +30 -0
  92. package/dist/src/condition-builder/condition-builder.d.ts +27 -0
  93. package/dist/src/condition-builder/index.d.ts +5 -0
  94. package/dist/src/dropdown-button/dropdown-button.d.ts +68 -0
  95. package/dist/src/dropdown-button/index.d.ts +1 -0
  96. package/dist/src/flow-designer/commands.d.ts +66 -0
  97. package/dist/src/flow-designer/flow-designer-node.d.ts +46 -0
  98. package/dist/src/flow-designer/flow-designer.d.ts +133 -0
  99. package/dist/src/flow-designer/index.d.ts +7 -0
  100. package/dist/src/flow-designer/layout.d.ts +30 -0
  101. package/dist/src/flow-designer/types.d.ts +142 -0
  102. package/dist/src/flow-designer/validation.d.ts +43 -0
  103. package/dist/src/flow-designer/workflow-utils.d.ts +40 -0
  104. package/dist/src/html-editor/html-editor.d.ts +89 -0
  105. package/dist/src/html-editor/index.d.ts +2 -0
  106. package/dist/src/index.d.ts +15 -0
  107. package/dist/src/list/index.d.ts +2 -0
  108. package/dist/src/list/list-item.d.ts +35 -0
  109. package/dist/src/list/list.d.ts +28 -0
  110. package/dist/src/menu/menu/menu.d.ts +5 -7
  111. package/dist/src/menu/menu-item/menu-item.d.ts +14 -13
  112. package/dist/src/modal/index.d.ts +1 -0
  113. package/dist/src/modal/modal.d.ts +57 -0
  114. package/dist/src/navigation-rail/navigation-rail.d.ts +3 -7
  115. package/dist/src/notification-manager/index.d.ts +1 -0
  116. package/dist/src/notification-manager/notification-manager.d.ts +44 -0
  117. package/dist/src/number-field/number-field.d.ts +2 -2
  118. package/dist/src/popover/index.d.ts +2 -0
  119. package/dist/src/popover/popover-content.d.ts +29 -0
  120. package/dist/src/popover/popover.d.ts +62 -0
  121. package/dist/src/split-button/index.d.ts +1 -0
  122. package/dist/src/split-button/split-button.d.ts +72 -0
  123. package/dist/src/svg/index.d.ts +1 -0
  124. package/dist/src/svg/svg.d.ts +38 -0
  125. package/dist/src/toolbar/toolbar.d.ts +3 -3
  126. package/dist/src/tooltip/tooltip.d.ts +2 -15
  127. package/dist/test/flow-designer.test.d.ts +1 -0
  128. package/dist/toolbar.js +3 -3
  129. package/dist/toolbar.js.map +1 -1
  130. package/dist/tsconfig.tsbuildinfo +1 -1
  131. package/package.json +10 -2
  132. package/readme.md +3 -3
  133. package/src/__controllers/floating-controller.ts +237 -0
  134. package/src/banner/banner.scss +2 -3
  135. package/src/button/button/button.ts +1 -0
  136. package/src/calendar/base-event.ts +49 -0
  137. package/src/calendar/calendar-column-view.scss +326 -0
  138. package/src/calendar/calendar-column-view.ts +392 -0
  139. package/src/calendar/calendar-event.ts +20 -0
  140. package/src/calendar/calendar-month-view.scss +192 -0
  141. package/src/calendar/calendar-month-view.ts +244 -0
  142. package/src/calendar/calendar.scss +71 -0
  143. package/src/calendar/calendar.ts +298 -0
  144. package/src/calendar/event-manager.ts +117 -0
  145. package/src/calendar/index.ts +4 -0
  146. package/src/calendar/types.ts +14 -0
  147. package/src/calendar/utils.ts +180 -0
  148. package/src/canvas/canvas.scss +60 -0
  149. package/src/canvas/canvas.ts +391 -0
  150. package/src/canvas/index.ts +2 -0
  151. package/src/code-highlighter/code-highlighter.ts +1 -1
  152. package/src/condition-builder/cb-compound-expression.scss +37 -0
  153. package/src/condition-builder/cb-compound-expression.ts +80 -0
  154. package/src/condition-builder/cb-divider.scss +93 -0
  155. package/src/condition-builder/cb-divider.ts +56 -0
  156. package/src/condition-builder/cb-expression.scss +14 -0
  157. package/src/condition-builder/cb-expression.ts +49 -0
  158. package/src/condition-builder/cb-predicate.scss +35 -0
  159. package/src/condition-builder/cb-predicate.ts +102 -0
  160. package/src/condition-builder/condition-builder.scss +13 -0
  161. package/src/condition-builder/condition-builder.ts +38 -0
  162. package/src/condition-builder/index.ts +5 -0
  163. package/src/dropdown-button/demo/index.html +110 -0
  164. package/src/dropdown-button/dropdown-button.scss +22 -0
  165. package/src/dropdown-button/dropdown-button.ts +206 -0
  166. package/src/dropdown-button/index.ts +1 -0
  167. package/src/flow-designer/DEMO.md +239 -0
  168. package/src/flow-designer/commands.ts +278 -0
  169. package/src/flow-designer/flow-designer-node.ts +172 -0
  170. package/src/flow-designer/flow-designer.scss +457 -0
  171. package/src/flow-designer/flow-designer.ts +611 -0
  172. package/src/flow-designer/index.ts +41 -0
  173. package/src/flow-designer/layout.ts +357 -0
  174. package/src/flow-designer/types.ts +166 -0
  175. package/src/flow-designer/validation.ts +284 -0
  176. package/src/flow-designer/workflow-utils.ts +282 -0
  177. package/src/html-editor/html-editor.scss +188 -0
  178. package/src/html-editor/html-editor.ts +491 -0
  179. package/src/html-editor/index.ts +3 -0
  180. package/src/index.ts +27 -1
  181. package/src/list/index.ts +2 -0
  182. package/src/list/list-item.scss +111 -0
  183. package/src/list/list-item.ts +175 -0
  184. package/src/list/list.scss +24 -0
  185. package/src/list/list.ts +51 -0
  186. package/src/menu/menu/menu.scss +2 -2
  187. package/src/menu/menu/menu.ts +91 -101
  188. package/src/menu/menu-item/menu-item.scss +4 -0
  189. package/src/menu/menu-item/menu-item.ts +82 -78
  190. package/src/modal/index.ts +1 -0
  191. package/src/modal/modal.scss +206 -0
  192. package/src/modal/modal.ts +195 -0
  193. package/src/navigation-rail/navigation-rail-item.scss +7 -38
  194. package/src/navigation-rail/navigation-rail-item.ts +1 -2
  195. package/src/navigation-rail/navigation-rail.scss +17 -21
  196. package/src/navigation-rail/navigation-rail.ts +6 -9
  197. package/src/notification-manager/index.ts +1 -0
  198. package/src/notification-manager/notification-manager.scss +113 -0
  199. package/src/notification-manager/notification-manager.ts +199 -0
  200. package/src/number-field/number-field.ts +2 -2
  201. package/src/peacock-loader.ts +83 -0
  202. package/src/popover/index.ts +2 -0
  203. package/src/popover/popover-content.scss +69 -0
  204. package/src/popover/popover-content.ts +51 -0
  205. package/src/popover/popover.scss +7 -0
  206. package/src/popover/popover.ts +170 -0
  207. package/src/split-button/index.ts +1 -0
  208. package/src/split-button/split-button-colors.scss +56 -0
  209. package/src/split-button/split-button-sizes.scss +28 -0
  210. package/src/split-button/split-button.scss +79 -0
  211. package/src/split-button/split-button.ts +236 -0
  212. package/src/svg/index.ts +1 -0
  213. package/src/svg/svg.scss +91 -0
  214. package/src/svg/svg.ts +160 -0
  215. package/src/table/table.ts +2 -2
  216. package/src/toolbar/toolbar.ts +3 -3
  217. package/src/tooltip/tooltip.scss +4 -3
  218. package/src/tooltip/tooltip.ts +46 -104
  219. package/dist/button-DouvOfEU.js.map +0 -1
  220. package/dist/button-group-CEdMwvJJ.js +0 -464
  221. package/dist/button-group-CEdMwvJJ.js.map +0 -1
  222. package/dist/is-dark-mode-DicqGkCJ.js.map +0 -1
  223. package/dist/navigation-rail-Lxetd5-Z.js.map +0 -1
  224. package/dist/src/menu/menu/MenuSurfaceController.d.ts +0 -18
  225. package/src/menu/menu/MenuSurfaceController.ts +0 -61
@@ -0,0 +1,142 @@
1
+ /**
2
+ * Workflow Data Types for Flow Designer
3
+ * Defines the structure for low-code business process workflows
4
+ */
5
+ /**
6
+ * Supported node types in a workflow
7
+ */
8
+ export type NodeType = 'trigger' | 'action' | 'decision' | 'loop_start' | 'loop_end' | 'fork' | 'join';
9
+ /**
10
+ * Payload for workflow-changed event
11
+ */
12
+ export interface WorkflowChangeEvent {
13
+ type: 'node-added' | 'node-deleted' | 'node-edited' | 'node-moved' | 'undo' | 'redo';
14
+ nodeId?: string;
15
+ workflow: Workflow;
16
+ }
17
+ /**
18
+ * Core workflow node structure
19
+ */
20
+ export interface WorkflowNode {
21
+ id: string;
22
+ type: NodeType;
23
+ label: string;
24
+ description?: string;
25
+ icon?: string;
26
+ /**
27
+ * For sequential nodes in parallel execution (fork tasks)
28
+ */
29
+ tasks?: WorkflowNode[];
30
+ /**
31
+ * For conditional branching (decision nodes)
32
+ * Keys are branch conditions like "yes", "no"
33
+ */
34
+ branches?: Record<string, WorkflowNode[]>;
35
+ /**
36
+ * Child nodes for sequential flow
37
+ */
38
+ children?: WorkflowNode[];
39
+ /**
40
+ * For loop_end: points to the loop_start node id to repeat
41
+ */
42
+ target_id?: string;
43
+ /**
44
+ * For fork: join node that collects parallel paths
45
+ */
46
+ join?: WorkflowNode;
47
+ /**
48
+ * Custom metadata - can store domain-specific data
49
+ */
50
+ metadata?: Record<string, any>;
51
+ }
52
+ /**
53
+ * Complete workflow definition
54
+ */
55
+ export interface Workflow {
56
+ workflow_id: string;
57
+ nodes: WorkflowNode;
58
+ metadata?: Record<string, any>;
59
+ }
60
+ /**
61
+ * Layout engine output - node with calculated position
62
+ */
63
+ export interface PositionedNode {
64
+ node: WorkflowNode;
65
+ x: number;
66
+ y: number;
67
+ width: number;
68
+ height: number;
69
+ lane: string;
70
+ depth: number;
71
+ branchPath?: string;
72
+ parentId?: string;
73
+ connectorPoints?: {
74
+ from: {
75
+ x: number;
76
+ y: number;
77
+ };
78
+ to: {
79
+ x: number;
80
+ y: number;
81
+ };
82
+ type: 'straight' | 'curved' | 'branch' | 'fork' | 'join';
83
+ }[];
84
+ }
85
+ /**
86
+ * Validation error result
87
+ */
88
+ export interface ValidationError {
89
+ nodeId: string;
90
+ type: 'circular_loop' | 'orphaned_node' | 'invalid_branch' | 'missing_target' | 'invalid_fork_join';
91
+ message: string;
92
+ severity: 'error' | 'warning';
93
+ }
94
+ /**
95
+ * State for a single undo/redo operation
96
+ */
97
+ export interface HistoryEntry {
98
+ command: WorkflowCommand;
99
+ workflow: Workflow;
100
+ timestamp: number;
101
+ }
102
+ /**
103
+ * Command interface for undo/redo pattern
104
+ */
105
+ export interface WorkflowCommand {
106
+ execute(workflow: Workflow): Workflow;
107
+ undo(workflow: Workflow): Workflow;
108
+ description: string;
109
+ }
110
+ /**
111
+ * Swimlane configuration
112
+ */
113
+ export interface SwimlaneConfig {
114
+ id: string;
115
+ name: string;
116
+ nodes: PositionedNode[];
117
+ isParallel: boolean;
118
+ }
119
+ /**
120
+ * Editor state
121
+ */
122
+ export interface EditorState {
123
+ selectedNodeId: string | null;
124
+ isEditing: boolean;
125
+ editingNode: Partial<WorkflowNode> | null;
126
+ hoveredNodeId: string | null;
127
+ isDragging: boolean;
128
+ draggedNodeId: string | null;
129
+ zoom: number;
130
+ panX: number;
131
+ panY: number;
132
+ }
133
+ /**
134
+ * Node template configuration for slots
135
+ */
136
+ export interface NodeTemplate {
137
+ type: NodeType;
138
+ defaultIcon?: string;
139
+ defaultHeight?: number;
140
+ allowedChildren?: NodeType[];
141
+ allowedBranches?: string[];
142
+ }
@@ -0,0 +1,43 @@
1
+ import type { Workflow, ValidationError } from './types.js';
2
+ /**
3
+ * Workflow validation - checks for common errors and inconsistencies
4
+ */
5
+ export declare class WorkflowValidator {
6
+ /**
7
+ * Validate entire workflow
8
+ */
9
+ static validate(workflow: Workflow): ValidationError[];
10
+ /**
11
+ * Detect circular loop references
12
+ * A loop_end cannot point to a node that is its own descendant (after the loop_start)
13
+ */
14
+ private static _checkCircularLoops;
15
+ /**
16
+ * Check for orphaned nodes (not reachable from root)
17
+ */
18
+ private static _checkOrphanedNodes;
19
+ /**
20
+ * Check that decision nodes have valid branches
21
+ */
22
+ private static _checkValidBranches;
23
+ /**
24
+ * Check that loop_end nodes reference valid loop_start nodes
25
+ */
26
+ private static _checkMissingTargets;
27
+ /**
28
+ * Check that fork nodes have corresponding join nodes
29
+ */
30
+ private static _checkForkJoinPairs;
31
+ /**
32
+ * Check if workflow would create a valid execution path
33
+ */
34
+ static isExecutable(workflow: Workflow): boolean;
35
+ /**
36
+ * Get validation warnings only
37
+ */
38
+ static getWarnings(workflow: Workflow): ValidationError[];
39
+ /**
40
+ * Get validation errors only
41
+ */
42
+ static getErrors(workflow: Workflow): ValidationError[];
43
+ }
@@ -0,0 +1,40 @@
1
+ import type { Workflow, WorkflowNode } from './types.js';
2
+ /**
3
+ * Workflow utility functions for tree traversal and manipulation
4
+ */
5
+ /**
6
+ * Deep clone a workflow to ensure immutability
7
+ */
8
+ export declare function cloneWorkflow(workflow: Workflow): Workflow;
9
+ /**
10
+ * Deep clone a workflow node
11
+ */
12
+ export declare function cloneNode(node: WorkflowNode): WorkflowNode;
13
+ /**
14
+ * Find a node by ID anywhere in the workflow tree
15
+ */
16
+ export declare function findNodeById(node: WorkflowNode, id: string): WorkflowNode | null;
17
+ /**
18
+ * Remove a node by ID from the workflow tree
19
+ */
20
+ export declare function removeNodeById(node: WorkflowNode, id: string): WorkflowNode;
21
+ /**
22
+ * Insert a node into the workflow tree at a specific location
23
+ */
24
+ export declare function insertNodeIntoWorkflow(parent: WorkflowNode, nodeToInsert: WorkflowNode, connectionType?: 'child' | 'branch' | 'task', branchKey?: string): void;
25
+ /**
26
+ * Collect all nodes in the workflow (depth-first)
27
+ */
28
+ export declare function getAllNodes(node: WorkflowNode): WorkflowNode[];
29
+ /**
30
+ * Get all parent node IDs for a given node (path from root to node)
31
+ */
32
+ export declare function getNodePath(rootNode: WorkflowNode, targetId: string): string[];
33
+ /**
34
+ * Check if a node is a descendant of another node
35
+ */
36
+ export declare function isDescendant(rootNode: WorkflowNode, potentialParentId: string, nodeId: string): boolean;
37
+ /**
38
+ * Replace a node in the tree
39
+ */
40
+ export declare function replaceNode(node: WorkflowNode, targetId: string, replacement: WorkflowNode): WorkflowNode;
@@ -0,0 +1,89 @@
1
+ import BaseInput from '../input/BaseInput.js';
2
+ /**
3
+ * @label HTML Editor
4
+ * @tag wc-html-editor
5
+ * @rawTag html-editor
6
+ *
7
+ * @summary A Tiptap-powered HTML editor with visual and source editing modes.
8
+ * @overview
9
+ * <p>The HTML Editor provides a rich-text editing experience built on Tiptap.
10
+ * It wraps the editable area in a Material 3 styled <code>wc-field</code>,
11
+ * exposes common formatting actions, and includes a segmented switch between
12
+ * <strong>Visual</strong> and <strong>HTML</strong> source modes.</p>
13
+ *
14
+ * <p>Get and set the HTML content via the <code>value</code> property. The component
15
+ * dispatches a <code>change</code> event whenever the content is modified.
16
+ * Mention suggestions are supported through the <code>mentions</code> property,
17
+ * with optional externally managed lookup via the <code>search</code> event.</p>
18
+ *
19
+ * @cssprop --html-editor-min-height - Minimum height of the editable area. Defaults to 8rem.
20
+ * @cssprop --html-editor-toolbar-background - Background color of the toolbar.
21
+ * @cssprop --html-editor-toolbar-border-color - Border color between toolbar and editing area.
22
+ *
23
+ * @fires {Event} change - Fired whenever the editable content changes.
24
+ * @fires {CustomEvent} search - Fired in managed mention mode with { query, callback } detail.
25
+ *
26
+ * @example
27
+ * ```html
28
+ * <wc-html-editor
29
+ * label="Description"
30
+ * value="<p>Hello <strong>world</strong></p>"
31
+ * .mentions="[{ label: 'Alex', value: 'alex' }]"
32
+ * ></wc-html-editor>
33
+ * ```
34
+ * @tags input editor
35
+ */
36
+ export declare class HtmlEditor extends BaseInput {
37
+ static styles: import("lit").CSSResultGroup[];
38
+ private _editor?;
39
+ private _changeTimeout?;
40
+ /** Current HTML value of the editor. */
41
+ value: string;
42
+ /** Label displayed above the editor. */
43
+ label: string;
44
+ /** Placeholder text shown when the editor is empty. */
45
+ placeholder: string;
46
+ /** Visual style of the wrapping field. */
47
+ variant: 'filled' | 'outlined' | 'default';
48
+ /** Helper text displayed below the editor. */
49
+ helperText: string;
50
+ /** Whether to show an error state. */
51
+ error: boolean;
52
+ /** Error message text. */
53
+ errorText: string;
54
+ /** Whether toolbar controls should be displayed in visual mode. */
55
+ showToolbar: boolean;
56
+ /** Mention suggestions used by the mention extension. */
57
+ mentions: Array<{
58
+ label: string;
59
+ value: string;
60
+ }>;
61
+ /** Mention filtering mode. */
62
+ mentionsSearch: 'contains' | 'managed';
63
+ /** Character that triggers mention suggestions. */
64
+ suggestionCharacter: string;
65
+ /** Whether to include the suggestion character in rendered mention text. */
66
+ showSuggestionCharacter: boolean;
67
+ /** Debounce in milliseconds for dispatching `change`. */
68
+ debounce: number;
69
+ private _focused;
70
+ private _mode;
71
+ private _editorEl;
72
+ protected firstUpdated(): void;
73
+ disconnectedCallback(): void;
74
+ protected updated(changed: Map<string, unknown>): void;
75
+ private static _normalizeHtml;
76
+ private _destroyEditor;
77
+ private _initializeEditor;
78
+ private _focusEditorOnContainerClick;
79
+ private _dispatchDebouncedChange;
80
+ private _requestManagedMentions;
81
+ private _getMentionItem;
82
+ private _execCommand;
83
+ private _switchMode;
84
+ private _handleSourceChange;
85
+ private _toolbarButton;
86
+ private _renderToolbar;
87
+ private _renderReadonlyTag;
88
+ render(): import("lit-html").TemplateResult<1>;
89
+ }
@@ -0,0 +1,2 @@
1
+ import { HtmlEditor } from './html-editor.js';
2
+ export { HtmlEditor };
@@ -7,6 +7,8 @@ export { Elevation } from './elevation/index.js';
7
7
  export { Button, ButtonGroup, IconButton } from './button/index.js';
8
8
  export { Fab } from './fab/index.js';
9
9
  export { SegmentedButton, SegmentedButtonGroup } from './segmented-button/index.js';
10
+ export { SplitButton } from './split-button/index.js';
11
+ export { DropdownButton } from './dropdown-button/index.js';
10
12
  export { FocusRing } from './focus-ring/index.js';
11
13
  export { Ripple } from './ripple/index.js';
12
14
  export { Accordion } from './accordion/index.js';
@@ -30,11 +32,15 @@ export { Container } from './container/index.js';
30
32
  export { NumberCounter } from './number-counter/index.js';
31
33
  export { EmptyState } from './empty-state/index.js';
32
34
  export { Tooltip } from './popover/index.js';
35
+ export { Popover, PopoverContent } from './popover/index.js';
33
36
  export { Breadcrumb, BreadcrumbItem } from './breadcrumb/index.js';
34
37
  export { Menu, MenuItem, SubMenu } from './menu/index.js';
38
+ export { List, ListItem } from './list/index.js';
35
39
  export { CodeHighlighter } from './code-highlighter/index.js';
36
40
  export { CodeEditor } from './code-editor/index.js';
41
+ export { HtmlEditor } from './html-editor/index.js';
37
42
  export { Image } from './image/index.js';
43
+ export { Svg } from './svg/index.js';
38
44
  export { Tab, TabGroup, TabPanel, Tabs } from './tabs/index.js';
39
45
  export { Slider } from './slider/index.js';
40
46
  export { ChartDoughnut } from './chart-doughnut/index.js';
@@ -46,8 +52,10 @@ export { SidebarMenu, SidebarMenuItem, SidebarSubMenu } from './sidebar-menu/ind
46
52
  export { Card } from './card/index.js';
47
53
  export { Banner } from './banner/index.js';
48
54
  export { Notification } from './notification/index.js';
55
+ export { NotificationManager } from './notification-manager/index.js';
49
56
  export { Snackbar } from './snackbar/index.js';
50
57
  export { Radio } from './radio/index.js';
58
+ export { Modal } from './modal/index.js';
51
59
  export { BottomSheet } from './bottom-sheet/index.js';
52
60
  export { SideSheet } from './side-sheet/index.js';
53
61
  export { Select } from './select/index.js';
@@ -56,3 +64,10 @@ export { SelectOptionElement } from './select/index.js';
56
64
  export { Search } from './search/index.js';
57
65
  export { Toolbar } from './toolbar/index.js';
58
66
  export { NavigationRail, NavigationRailItem } from './navigation-rail/index.js';
67
+ export { Calendar, CalendarColumnView, CalendarMonthView } from './calendar/index.js';
68
+ export type { CalendarViewType, EventType } from './calendar/index.js';
69
+ export { Canvas } from './canvas/index.js';
70
+ export type { CanvasShape } from './canvas/index.js';
71
+ export { FlowDesigner, FlowDesignerNode } from './flow-designer/index.js';
72
+ export type { Workflow, WorkflowNode, WorkflowCommand, PositionedNode, ValidationError, HistoryEntry, EditorState, NodeType, WorkflowChangeEvent, SwimlaneConfig, NodeTemplate, } from './flow-designer/index.js';
73
+ export { ConditionBuilder, CbPredicate, CbCompoundExpression, CbExpression, CbDivider } from './condition-builder/index.js';
@@ -0,0 +1,2 @@
1
+ export { List } from './list.js';
2
+ export { ListItem } from './list-item.js';
@@ -0,0 +1,35 @@
1
+ import { LitElement } from 'lit';
2
+ declare const ListItem_base: typeof LitElement & import("../__mixins/MixinConstructor.js").MixinConstructor<import("@/__mixins/BaseHyperlinkMixin.js").BaseHyperlinkInterface> & import("../__mixins/MixinConstructor.js").MixinConstructor<import("@/__mixins/BaseButtonMixin.js").BaseButtonInterface>;
3
+ /**
4
+ * @label List Item
5
+ * @tag wc-list-item
6
+ * @rawTag list-item
7
+ * @parentRawTag list
8
+ *
9
+ * @summary A Material 3 list item with leading, trailing and content slots.
10
+ *
11
+ * @example
12
+ * ```html
13
+ * <wc-list-item selected>
14
+ * <wc-icon slot="leading" name="person"></wc-icon>
15
+ * Profile
16
+ * <wc-icon slot="trailing" name="chevron_right"></wc-icon>
17
+ * </wc-list-item>
18
+ * ```
19
+ * @tags display
20
+ */
21
+ export declare class ListItem extends ListItem_base {
22
+ static styles: import("lit").CSSResultGroup[];
23
+ selected: boolean;
24
+ readonly itemElement: HTMLElement | null;
25
+ isPressed: boolean;
26
+ connectedCallback(): void;
27
+ focus(): void;
28
+ blur(): void;
29
+ __dispatchClick: (event: MouseEvent | KeyboardEvent) => void;
30
+ __handleKeyDown: (event: KeyboardEvent) => void;
31
+ __handlePress: (event: KeyboardEvent | MouseEvent) => void;
32
+ render(): import("lit-html").TemplateResult<1>;
33
+ renderContent(): import("lit-html").TemplateResult<1>;
34
+ }
35
+ export {};
@@ -0,0 +1,28 @@
1
+ import { LitElement } from 'lit';
2
+ import { ListItem } from './list-item.js';
3
+ /**
4
+ * @label List
5
+ * @tag wc-list
6
+ * @rawTag list
7
+ *
8
+ * @summary A Material 3 list container for one or more list items.
9
+ *
10
+ * @example
11
+ * ```html
12
+ * <wc-list>
13
+ * <wc-list-item>
14
+ * <wc-icon slot="leading" name="inbox"></wc-icon>
15
+ * Inbox
16
+ * <span slot="trailing">24</span>
17
+ * </wc-list-item>
18
+ * </wc-list>
19
+ * ```
20
+ * @tags display
21
+ */
22
+ export declare class List extends LitElement {
23
+ static styles: import("lit").CSSResultGroup[];
24
+ static Item: typeof ListItem;
25
+ variant: 'standard' | 'vibrant';
26
+ connectedCallback(): void;
27
+ render(): import("lit-html").TemplateResult<1>;
28
+ }
@@ -43,7 +43,7 @@ export declare class Menu extends LitElement {
43
43
  private activeIndex;
44
44
  private readonly menuListElement;
45
45
  anchorElement: HTMLElement | null;
46
- private readonly _surfaceController;
46
+ private readonly _floatingController;
47
47
  private _lastFocusedElement;
48
48
  private _closeReason;
49
49
  connectedCallback(): void;
@@ -60,13 +60,11 @@ export declare class Menu extends LitElement {
60
60
  private _setBoundaryActive;
61
61
  private _getActiveItem;
62
62
  private _getFirstEnabledItem;
63
- private _ownsKeyboardEvent;
64
- private _onItemActivate;
65
- private _onItemRequestClose;
63
+ private _isEventFromThisMenu;
64
+ private _ownedItemFromEvent;
65
+ private _setActiveItem;
66
+ private _onClick;
66
67
  private _onKeyDown;
67
- private _onWindowClick;
68
- private _isWithinMenuTree;
69
- private _onFocusOut;
70
68
  private _onSlotChange;
71
69
  private _applyPositioning;
72
70
  protected updated(changedProperties: Map<string, unknown>): void;
@@ -1,4 +1,5 @@
1
1
  import { LitElement } from 'lit';
2
+ declare const MenuItem_base: typeof LitElement & import("../../__mixins/MixinConstructor.js").MixinConstructor<import("@/__mixins/BaseHyperlinkMixin.js").BaseHyperlinkInterface> & import("../../__mixins/MixinConstructor.js").MixinConstructor<import("@/__mixins/BaseButtonMixin.js").BaseButtonInterface>;
2
3
  /**
3
4
  * @label Menu Item
4
5
  * @tag wc-menu-item
@@ -12,28 +13,28 @@ import { LitElement } from 'lit';
12
13
  * <wc-menu-item>Menu Item</wc-menu-item>
13
14
  * ```
14
15
  */
15
- export declare class MenuItem extends LitElement {
16
- disabled: boolean;
16
+ export declare class MenuItem extends MenuItem_base {
17
17
  value: string;
18
18
  selected: boolean;
19
19
  keepOpen: boolean;
20
20
  hasSubmenu: boolean;
21
21
  submenuOpen: boolean;
22
- href?: string;
23
- /**
24
- * Sets or retrieves the window or frame at which to target content.
25
- */
26
- target: string;
27
22
  variant: 'standard' | 'vibrant';
28
23
  static styles: import("lit").CSSResultGroup[];
24
+ readonly itemElement: HTMLElement | null;
25
+ /**
26
+ * States
27
+ */
28
+ isPressed: boolean;
29
29
  connectedCallback(): void;
30
30
  disconnectedCallback(): void;
31
- private emitActivate;
32
- private requestClose;
33
- private requestSubmenuKey;
34
- private _handleKeyDown;
35
- private _handleClick;
36
- __isLink(): boolean;
31
+ focus(): void;
32
+ blur(): void;
33
+ __dispatchClickWithThrottle: (event: MouseEvent | KeyboardEvent) => void;
34
+ __dispatchClick: (event: MouseEvent | KeyboardEvent) => void;
35
+ __handleKeyDown: (event: KeyboardEvent) => void;
36
+ __handlePress: (event: KeyboardEvent | MouseEvent) => void;
37
37
  render(): import("lit-html").TemplateResult<1>;
38
38
  renderContent(): import("lit-html").TemplateResult<1>;
39
39
  }
40
+ export {};
@@ -0,0 +1 @@
1
+ export { Modal } from './modal.js';
@@ -0,0 +1,57 @@
1
+ import { LitElement, nothing } from 'lit';
2
+ type ModalSize = 'xs' | 'sm' | 'md' | 'lg' | 'fullscreen';
3
+ /**
4
+ * @label Modal
5
+ * @tag wc-modal
6
+ * @rawTag modal-wc
7
+ * @summary A Material Design 3 dialog/modal for displaying content in a layer above the page, with optional header, body, and footer slots.
8
+ *
9
+ * @cssprop --modal-container-color - Background color of the dialog container.
10
+ * @cssprop --modal-scrim-color - Color of the scrim backdrop.
11
+ * @cssprop --modal-shape - Corner radius of the dialog container.
12
+ * @cssprop --modal-min-width - Minimum width of the dialog.
13
+ * @cssprop --modal-max-width - Maximum width of the dialog.
14
+ * @cssprop --modal-max-height - Maximum height of the dialog.
15
+ *
16
+ * @example
17
+ * ```html
18
+ * MODAL
19
+ * ```
20
+ * @tags overlay, dialog, feedback
21
+ */
22
+ export declare class Modal extends LitElement {
23
+ static styles: import("lit").CSSResultGroup[];
24
+ /** Whether the modal is open. */
25
+ open: boolean;
26
+ /** Heading text shown in the modal header. */
27
+ heading: string;
28
+ /** Optional subheading / label text shown above the heading. */
29
+ subheading: string;
30
+ /**
31
+ * Size of the modal dialog.
32
+ * - `"xs"`: Extra-small.
33
+ * - `"sm"`: Small.
34
+ * - `"md"`: Medium (default).
35
+ * - `"lg"`: Large.
36
+ * - `"fullscreen"`: Full-screen dialog.
37
+ */
38
+ size: ModalSize;
39
+ /** When true, hides the close button in the header. */
40
+ hideClose: boolean;
41
+ /** When true, renders a loading overlay inside the modal. */
42
+ showLoader: boolean;
43
+ /** When true, clicking the scrim will not close the modal. */
44
+ noScrimClose: boolean;
45
+ private _visible;
46
+ show(): void;
47
+ hide(): void;
48
+ private _close;
49
+ private _handleScrimClick;
50
+ private _handleCloseClick;
51
+ private readonly _handleKeydown;
52
+ protected updated(changedProperties: Map<string, unknown>): void;
53
+ disconnectedCallback(): void;
54
+ private _handleAnimationEnd;
55
+ render(): typeof nothing | import("lit-html").TemplateResult<1>;
56
+ }
57
+ export {};
@@ -10,6 +10,9 @@ import { NavigationRailItem } from './navigation-rail-item.js';
10
10
  * <p>Navigation rail provides access to primary destinations in an app using icons—with or without labels—on a vertical rail.</p>
11
11
  * <p>Use navigation rail on medium-sized screens (tablets) with 3–7 destinations.</p>
12
12
  *
13
+ * @slot header - Content displayed above the rail items.
14
+ * @slot footer - Content pinned to the bottom of the rail.
15
+ *
13
16
  * @cssprop --nav-rail-width - Width of the rail container. Defaults to 5rem (80dp).
14
17
  * @cssprop --nav-rail-container-color - Background color of the rail. Defaults to surface color.
15
18
  * @cssprop --nav-rail-indicator-color - Color of the active indicator. Defaults to secondary-container.
@@ -43,13 +46,6 @@ import { NavigationRailItem } from './navigation-rail-item.js';
43
46
  export declare class NavigationRail extends LitElement {
44
47
  static styles: import("lit").CSSResultGroup[];
45
48
  static Item: typeof NavigationRailItem;
46
- /**
47
- * Vertical alignment of items within the rail.
48
- * - `"top"`: Items align to the top.
49
- * - `"center"`: Items are centered (default).
50
- * - `"bottom"`: Items align to the bottom.
51
- */
52
- alignment: 'top' | 'center' | 'bottom';
53
49
  /**
54
50
  * Display mode of the navigation rail.
55
51
  * - `"expanded"`: shows labels.
@@ -0,0 +1 @@
1
+ export { NotificationManager } from './notification-manager.js';
@@ -0,0 +1,44 @@
1
+ import { LitElement } from 'lit';
2
+ /**
3
+ * @label Notification Manager
4
+ * @tag wc-notification-manager
5
+ * @rawTag notification-manager
6
+ * @summary The Notification Manager handles the organization and display of notifications within the application.
7
+ *
8
+ * @fires {CustomEvent} notification-manager-action - Fired when the action button of a managed notification is clicked. Detail: `{ id: string }`.
9
+ * @fires {CustomEvent} notification-manager-dismiss - Fired when a managed notification is dismissed. Detail: `{ id: string }`.
10
+ *
11
+ * @example
12
+ * ```html
13
+ * <wc-notification-manager position="bottom-right"></wc-notification-manager>
14
+ * <script>
15
+ * window.dispatchEvent(new CustomEvent('notification', {
16
+ * detail: { title: 'Record saved', variant: 'success', dismissible: true }
17
+ * }));
18
+ * </script>
19
+ * ```
20
+ * @tags display, feedback
21
+ */
22
+ export declare class NotificationManager extends LitElement {
23
+ static styles: import("lit").CSSResultGroup[];
24
+ /**
25
+ * Name of this manager instance. Only notifications whose `target` matches
26
+ * this name (or whose `target` is absent and this manager's `name` is
27
+ * `'global'`) will be handled.
28
+ */
29
+ name: string;
30
+ /**
31
+ * Screen position where notifications are stacked.
32
+ */
33
+ position: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left';
34
+ private notifications;
35
+ private readonly handleWindowNotification;
36
+ private readonly handleWindowDismiss;
37
+ connectedCallback(): void;
38
+ disconnectedCallback(): void;
39
+ private _hideNotification;
40
+ private _handleDismiss;
41
+ private _handleAction;
42
+ private renderNotification;
43
+ render(): import("lit-html").TemplateResult<1>;
44
+ }
@@ -1,8 +1,8 @@
1
1
  import BaseInput from '../input/BaseInput.js';
2
2
  /**
3
3
  * @label Number Field
4
- * @tag number-field
5
- * @rawTag number
4
+ * @tag wc-number-field
5
+ * @rawTag number-field
6
6
  *
7
7
  * @summary The Number Field component is used to capture numeric user input.
8
8
  *
@@ -1 +1,3 @@
1
1
  export { Tooltip } from '../tooltip/tooltip.js';
2
+ export { Popover } from './popover.js';
3
+ export { PopoverContent } from './popover-content.js';