@redvars/peacock 3.6.0 → 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 (58) hide show
  1. package/dist/code-highlighter.js +1 -1
  2. package/dist/code-highlighter.js.map +1 -1
  3. package/dist/custom-elements-jsdocs.json +928 -96
  4. package/dist/custom-elements.json +1294 -379
  5. package/dist/{flow-designer-dZnLJOQT.js → flow-designer-DvTUrDp5.js} +3 -3
  6. package/dist/{flow-designer-dZnLJOQT.js.map → flow-designer-DvTUrDp5.js.map} +1 -1
  7. package/dist/{flow-designer-node-XMe-jlKg.js → flow-designer-node-BWrPuxAR.js} +2 -2
  8. package/dist/flow-designer-node-BWrPuxAR.js.map +1 -0
  9. package/dist/flow-designer-node.js +1 -1
  10. package/dist/flow-designer.js +2 -2
  11. package/dist/html-editor.js +27245 -87
  12. package/dist/html-editor.js.map +1 -1
  13. package/dist/index.js +3 -3
  14. package/dist/modal.js +1 -7
  15. package/dist/modal.js.map +1 -1
  16. package/dist/{navigation-rail-DyO0oAZU.js → navigation-rail-DTTkqohi.js} +763 -214
  17. package/dist/navigation-rail-DTTkqohi.js.map +1 -0
  18. package/dist/peacock-loader.js +12 -3
  19. package/dist/peacock-loader.js.map +1 -1
  20. package/dist/src/html-editor/html-editor.d.ts +44 -11
  21. package/dist/src/index.d.ts +2 -0
  22. package/dist/src/list/index.d.ts +2 -0
  23. package/dist/src/list/list-item.d.ts +35 -0
  24. package/dist/src/list/list.d.ts +28 -0
  25. package/dist/src/modal/modal.d.ts +1 -7
  26. package/dist/src/navigation-rail/navigation-rail.d.ts +3 -7
  27. package/dist/src/number-field/number-field.d.ts +2 -2
  28. package/dist/src/svg/index.d.ts +1 -0
  29. package/dist/src/svg/svg.d.ts +38 -0
  30. package/dist/src/toolbar/toolbar.d.ts +3 -3
  31. package/dist/toolbar.js +3 -3
  32. package/dist/toolbar.js.map +1 -1
  33. package/dist/tsconfig.tsbuildinfo +1 -1
  34. package/package.json +7 -1
  35. package/readme.md +3 -3
  36. package/src/code-highlighter/code-highlighter.ts +1 -1
  37. package/src/flow-designer/flow-designer-node.ts +1 -1
  38. package/src/html-editor/html-editor.scss +44 -2
  39. package/src/html-editor/html-editor.ts +309 -94
  40. package/src/index.ts +2 -1
  41. package/src/list/index.ts +2 -0
  42. package/src/list/list-item.scss +111 -0
  43. package/src/list/list-item.ts +175 -0
  44. package/src/list/list.scss +24 -0
  45. package/src/list/list.ts +51 -0
  46. package/src/modal/modal.ts +1 -7
  47. package/src/navigation-rail/navigation-rail-item.scss +7 -38
  48. package/src/navigation-rail/navigation-rail-item.ts +1 -2
  49. package/src/navigation-rail/navigation-rail.scss +17 -21
  50. package/src/navigation-rail/navigation-rail.ts +6 -9
  51. package/src/number-field/number-field.ts +2 -2
  52. package/src/peacock-loader.ts +12 -0
  53. package/src/svg/index.ts +1 -0
  54. package/src/svg/svg.scss +91 -0
  55. package/src/svg/svg.ts +160 -0
  56. package/src/toolbar/toolbar.ts +3 -3
  57. package/dist/flow-designer-node-XMe-jlKg.js.map +0 -1
  58. package/dist/navigation-rail-DyO0oAZU.js.map +0 -1
@@ -1,5 +1,5 @@
1
- import { A as Accordion, m as NavigationRailItem, N as NavigationRail, r as SelectOptionElement, q as Select, x as Snackbar, u as SidebarSubMenu, t as SidebarMenuItem, s as SidebarMenu, P as Pagination, K as Table, w as Slider, I as Image, f as Container, z as SubMenu, l as MenuItem, M as Menu, h as EmptyState, y as Spinner, R as Radio, C as Checkbox, G as Switch, c as BreadcrumbItem, b as Breadcrumb, W as Tooltip, V as TimePicker, D as DatePicker, U as Textarea, n as NumberField, X as UrlField, j as Input, F as Field, v as Skeleton, e as CircularProgress, L as LinearProgress, Q as Tag, d as Chip, k as Link, J as TabPanel, T as Tab, H as TabGroup, O as Tabs, o as Ripple, E as Elevation, g as Divider, p as SegmentedButtonGroup, S as SegmentedButton, B as Badge, a as Avatar, i as FocusRing } from './navigation-rail-DyO0oAZU.js';
2
- import { F as FlowDesigner, I as Icon } from './flow-designer-dZnLJOQT.js';
1
+ import { A as Accordion, o as NavigationRailItem, N as NavigationRail, t as SelectOptionElement, s as Select, z as Snackbar, w as SidebarSubMenu, v as SidebarMenuItem, u as SidebarMenu, P as Pagination, U as Table, y as Slider, J as Svg, I as Image, f as Container, m as ListItem, l as List, H as SubMenu, n as MenuItem, M as Menu, h as EmptyState, G as Spinner, R as Radio, C as Checkbox, K as Switch, c as BreadcrumbItem, b as Breadcrumb, Z as Tooltip, Y as TimePicker, D as DatePicker, X as Textarea, p as NumberField, _ as UrlField, j as Input, F as Field, x as Skeleton, e as CircularProgress, L as LinearProgress, W as Tag, d as Chip, k as Link, Q as TabPanel, T as Tab, O as TabGroup, V as Tabs, q as Ripple, E as Elevation, g as Divider, r as SegmentedButtonGroup, S as SegmentedButton, B as Badge, a as Avatar, i as FocusRing } from './navigation-rail-DTTkqohi.js';
2
+ import { F as FlowDesigner, I as Icon } from './flow-designer-DvTUrDp5.js';
3
3
  import { Button } from './button.js';
4
4
  import { ButtonGroup } from './button-group.js';
5
5
  import { I as IconButton } from './icon-button-CK1ZuE-2.js';
@@ -22,7 +22,7 @@ import { Calendar } from './calendar.js';
22
22
  import { CalendarColumnView } from './calendar-column-view.js';
23
23
  import { CalendarMonthView } from './calendar-month-view.js';
24
24
  import { Canvas } from './canvas.js';
25
- import { F as FlowDesignerNode } from './flow-designer-node-XMe-jlKg.js';
25
+ import { F as FlowDesignerNode } from './flow-designer-node-BWrPuxAR.js';
26
26
  import { ConditionBuilder } from './condition-builder.js';
27
27
  import { CbPredicate } from './cb-predicate.js';
28
28
  import { CbCompoundExpression } from './cb-compound-expression.js';
@@ -344,12 +344,21 @@ const loaderConfig = {
344
344
  'wc-sub-menu': {
345
345
  CustomElementClass: SubMenu,
346
346
  },
347
+ 'wc-list': {
348
+ CustomElementClass: List,
349
+ },
350
+ 'wc-list-item': {
351
+ CustomElementClass: ListItem,
352
+ },
347
353
  'wc-container': {
348
354
  CustomElementClass: Container,
349
355
  },
350
356
  'wc-image': {
351
357
  CustomElementClass: Image,
352
358
  },
359
+ 'wc-svg': {
360
+ CustomElementClass: Svg,
361
+ },
353
362
  'wc-slider': {
354
363
  CustomElementClass: Slider,
355
364
  },
@@ -1 +1 @@
1
- {"version":3,"file":"peacock-loader.js","sources":["../../src/LoaderUtils.ts","../../src/CssLoader.ts","../../src/peacock-loader.ts"],"sourcesContent":["interface ComponentConfig {\n CustomElementClass?: any; // earger load\n importPath?: string; // lazy load\n dependencies?: string[];\n}\n\ninterface LoaderConfig {\n components?: Record<string, ComponentConfig>;\n}\n\nexport { LoaderConfig };\n\nexport class LoaderUtils {\n private _loaderConfig: LoaderConfig;\n\n private _observer: MutationObserver | undefined;\n\n constructor(loaderConfig: LoaderConfig) {\n this._loaderConfig = loaderConfig;\n }\n\n static registerComponent(tagName: string, CustomElementClass: any) {\n if (CustomElementClass && !customElements.get(tagName)) {\n customElements.define(tagName, CustomElementClass);\n }\n }\n\n start() {\n this.eagerLoadComponents();\n this.lazyLoadComponents(document);\n }\n\n eagerLoadComponents() {\n if (!this._loaderConfig.components) return;\n for (const [name, value] of Object.entries(this._loaderConfig.components)) {\n if (value.CustomElementClass)\n LoaderUtils.registerComponent(name, value.CustomElementClass);\n }\n }\n\n async registerAsync(tagName: string): Promise<void> {\n if (customElements.get(tagName)) return;\n\n if (!this._loaderConfig.components) return;\n\n const config = this._loaderConfig.components[tagName];\n if (!config || !config.importPath) return;\n\n try {\n const module = await import(config.importPath);\n\n // Runtime definition: grabbing the class from the module\n const CustomElementClass =\n module.default || module[Object.keys(module)[0]];\n\n if (CustomElementClass && !customElements.get(tagName)) {\n customElements.define(tagName, CustomElementClass);\n }\n\n // Handle dependencies recursively\n if (config.dependencies) {\n for (const dep of config.dependencies) {\n // eslint-disable-next-line no-await-in-loop\n await this.registerAsync(dep);\n }\n }\n } catch (error) {\n console.error(\n `Unable to load <${tagName}> from ${config.importPath}`,\n error,\n );\n }\n }\n\n async load(root: Element | Document): Promise<void> {\n const rootTagName =\n root instanceof Element ? root.tagName.toLowerCase() : '';\n\n const tags = Array.from(root.querySelectorAll(':not(:defined)')).map(el =>\n el.tagName.toLowerCase(),\n );\n\n if (rootTagName.includes('-') && !customElements.get(rootTagName)) {\n tags.push(rootTagName);\n }\n\n const tagsToRegister = [...new Set(tags)];\n await Promise.allSettled(\n tagsToRegister.map(tagName => this.registerAsync(tagName)),\n );\n }\n\n lazyLoadComponents(root: any) {\n this._observer = new MutationObserver(mutations => {\n for (const { addedNodes } of mutations) {\n for (const node of addedNodes) {\n if (node.nodeType === Node.ELEMENT_NODE) {\n this.load(node as Element);\n }\n }\n }\n });\n\n const target = root instanceof Document ? root.documentElement : root;\n this.load(target);\n\n this._observer.observe(target, {\n subtree: true,\n childList: true,\n });\n }\n}\n","const sheetCache = new Map<string, CSSStyleSheet>();\n\nasync function loadCSS(\n url: string,\n options: any = {}\n): Promise<CSSStyleSheet> {\n const {\n priority = \"high\",\n cache = \"force-cache\",\n media = \"all\",\n } = options;\n\n // Return cached sheet immediately\n if (sheetCache.has(url)) {\n const cached = sheetCache.get(url)!;\n if (!document.adoptedStyleSheets.includes(cached)) {\n document.adoptedStyleSheets = [...document.adoptedStyleSheets, cached];\n }\n return cached;\n }\n\n const response = await fetch(url, {\n cache,\n priority,\n });\n\n if (!response.ok) {\n throw new Error(`Failed to load CSS [${response.status}]: ${url}`);\n }\n\n const css = await response.text();\n const sheet = new CSSStyleSheet({ media });\n\n sheet.replaceSync(css);\n sheetCache.set(url, sheet);\n document.adoptedStyleSheets = [...document.adoptedStyleSheets, sheet];\n\n return sheet;\n}\n\nasync function loadMultipleCSS(\n urls: string[],\n options: any = {}\n): Promise<CSSStyleSheet[]> {\n return Promise.all(urls.map((url) => loadCSS(url, options)));\n}\n\nfunction unloadCSS(url: string): boolean {\n const sheet = sheetCache.get(url);\n if (!sheet) return false;\n\n document.adoptedStyleSheets = document.adoptedStyleSheets.filter(\n (s) => s !== sheet\n );\n sheetCache.delete(url);\n return true;\n}\n\nfunction clearAllCSS(): void {\n document.adoptedStyleSheets = document.adoptedStyleSheets.filter(\n (s) => ![...sheetCache.values()].includes(s)\n );\n sheetCache.clear();\n}\n\nexport { loadCSS, loadMultipleCSS, unloadCSS, clearAllCSS };","// Eager loaded\n\nimport { Elevation } from './elevation/elevation.js';\nimport { FocusRing } from './focus-ring/focus-ring.js';\nimport { Ripple } from './ripple/ripple.js';\n\nimport { Icon } from './icon/icon.js';\nimport { Avatar } from './avatar/avatar.js';\nimport { Badge } from './badge/badge.js';\nimport { Divider } from './divider/divider.js';\nimport { Button } from './button/button/button.js';\nimport { ButtonGroup } from './button/button-group/button-group.js';\nimport { IconButton } from './button/icon-button/icon-button.js';\nimport { Fab } from './fab/fab.js';\nimport { SegmentedButton } from './segmented-button/segmented-button.js';\nimport { SegmentedButtonGroup } from './segmented-button/segmented-button-group.js';\nimport { SplitButton } from './split-button/split-button.js';\nimport { DropdownButton } from './dropdown-button/dropdown-button.js';\nimport { Input } from './input/input.js';\nimport { UrlField } from './url-field/url-field.js';\nimport { Field } from './field/field.js';\nimport { NumberField } from './number-field/number-field.js';\nimport { DatePicker } from './date-picker/date-picker.js';\nimport { TimePicker } from './time-picker/time-picker.js';\nimport { Textarea } from './textarea/textarea.js';\nimport { Switch } from './switch/switch.js';\nimport { Checkbox } from './checkbox/checkbox.js';\nimport { Radio } from './radio/radio.js';\n\nimport { Menu } from './menu/menu/menu.js';\nimport { MenuItem } from './menu/menu-item/menu-item.js';\nimport { SubMenu } from './menu/sub-menu/sub-menu.js';\n\nimport { Accordion } from './accordion/accordion.js';\nimport { Link } from './link/link.js';\nimport { Tag } from './chip/tag/tag.js';\nimport { Chip } from './chip/chip/chip.js';\nimport { LinearProgress } from './progress/linear-progress/linear-progress.js';\nimport { CircularProgress } from './progress/circular-progress/circular-progress.js';\n\nimport { Tooltip } from './tooltip/tooltip.js';\nimport { Popover } from './popover/popover.js';\nimport { PopoverContent } from './popover/popover-content.js';\nimport { Breadcrumb, BreadcrumbItem } from './breadcrumb/index.js';\n\nimport { Skeleton } from './skeleton/skeleton.js';\nimport { Spinner } from './spinner/spinner.js';\n\nimport { EmptyState } from './empty-state/empty-state.js';\nimport { Container } from './container/container.js';\nimport { Image } from './image/image.js';\n\nimport { LoaderConfig, LoaderUtils } from './LoaderUtils.js';\nimport { loadCSS } from './CssLoader.js';\nimport { TabGroup } from './tabs/tab-group.js';\nimport { Tabs } from './tabs/tabs.js';\nimport { Tab } from './tabs/tab.js';\nimport { TabPanel } from './tabs/tab-panel.js';\nimport { Slider } from './slider/slider.js';\nimport { Table } from './table/table.js';\nimport { Pagination } from './pagination/pagination.js';\nimport { SidebarMenu } from './sidebar-menu/sidebar-menu.js';\nimport { SidebarMenuItem } from './sidebar-menu/sidebar-menu-item.js';\nimport { SidebarSubMenu } from './sidebar-menu/sidebar-sub-menu.js';\nimport { Card } from './card/card.js';\nimport { CardContent } from './card/card-content.js';\nimport { Banner } from './banner/banner.js';\nimport { Notification } from './notification/notification.js';\nimport { NotificationManager } from './notification-manager/notification-manager.js';\nimport { Snackbar } from './snackbar/snackbar.js';\nimport { BottomSheet } from './bottom-sheet/bottom-sheet.js';\nimport { SideSheet } from './side-sheet/side-sheet.js';\nimport { Modal } from './modal/modal.js';\nimport { Select } from './select/select.js';\nimport { SelectOptionElement } from './select/option.js';\nimport { Search } from './search/search.js';\nimport { Toolbar } from './toolbar/toolbar.js';\nimport { NavigationRail } from './navigation-rail/navigation-rail.js';\nimport { NavigationRailItem } from './navigation-rail/navigation-rail-item.js';\nimport { Calendar } from './calendar/calendar.js';\nimport { CalendarColumnView } from './calendar/calendar-column-view.js';\nimport { CalendarMonthView } from './calendar/calendar-month-view.js';\nimport { Canvas } from './canvas/canvas.js';\nimport { FlowDesigner } from './flow-designer/flow-designer.js';\nimport { FlowDesignerNode } from './flow-designer/flow-designer-node.js';\nimport { ConditionBuilder } from './condition-builder/condition-builder.js';\nimport { CbPredicate } from './condition-builder/cb-predicate.js';\nimport { CbCompoundExpression } from './condition-builder/cb-compound-expression.js';\nimport { CbExpression } from './condition-builder/cb-expression.js';\nimport { CbDivider } from './condition-builder/cb-divider.js';\n\nconst distDirectory = `${import.meta.url}/..`;\nawait loadCSS(`${distDirectory}/assets/styles.css`);\n\n/*\nimport tooltipStyles from './popover/tooltip.css-component.scss';\n\nfunction buildSheet(styleSheet: any) {\n const sheet = new CSSStyleSheet();\n // Add rules\n sheet.replaceSync(styleSheet.toString());\n return sheet;\n}\n\nconst styleSheets = [\n// buildSheet(cssComponentsStyleSheet),\n// buildSheet(linkStyles),\n// buildSheet(textStylesheet),\n buildSheet(tooltipStyles),\n];\n\ndocument.adoptedStyleSheets = styleSheets;\n*/\n\nconst loaderConfig: LoaderConfig = {\n components: {\n 'wc-icon': {\n CustomElementClass: Icon,\n // importPath: './component/icon.js', - for lazy load give path instead of CustomElementClass\n },\n 'wc-focus-ring': {\n CustomElementClass: FocusRing,\n },\n 'wc-avatar': {\n CustomElementClass: Avatar,\n },\n 'wc-badge': {\n CustomElementClass: Badge,\n },\n 'wc-button': {\n CustomElementClass: Button,\n },\n 'wc-icon-button': {\n CustomElementClass: IconButton,\n },\n 'wc-fab': {\n CustomElementClass: Fab,\n },\n 'wc-button-group': {\n CustomElementClass: ButtonGroup,\n },\n 'wc-segmented-button': {\n CustomElementClass: SegmentedButton,\n },\n 'wc-segmented-button-group': {\n CustomElementClass: SegmentedButtonGroup,\n },\n 'wc-split-button': {\n CustomElementClass: SplitButton,\n },\n 'wc-dropdown-button': {\n CustomElementClass: DropdownButton,\n },\n 'wc-divider': {\n CustomElementClass: Divider,\n },\n 'wc-elevation': {\n CustomElementClass: Elevation,\n },\n 'wc-clock': {\n importPath: `${distDirectory}/clock.js`,\n },\n 'wc-ripple': {\n CustomElementClass: Ripple,\n },\n 'wc-accordion': {\n CustomElementClass: Accordion,\n },\n 'wc-accordion-item': {\n CustomElementClass: Accordion.Item,\n },\n 'wc-tabs': {\n CustomElementClass: Tabs,\n },\n 'wc-tab-group': {\n CustomElementClass: TabGroup,\n },\n 'wc-tab': {\n CustomElementClass: Tab,\n },\n 'wc-tab-panel': {\n CustomElementClass: TabPanel,\n },\n 'wc-link': {\n CustomElementClass: Link,\n },\n 'wc-chip': {\n CustomElementClass: Chip,\n },\n 'wc-card': {\n CustomElementClass: Card,\n },\n 'wc-card-content': {\n CustomElementClass: CardContent,\n },\n 'wc-banner': {\n CustomElementClass: Banner,\n },\n 'wc-notification': {\n CustomElementClass: Notification,\n },\n 'wc-notification-manager': {\n CustomElementClass: NotificationManager,\n },\n 'wc-tag': {\n CustomElementClass: Tag,\n },\n 'wc-linear-progress': {\n CustomElementClass: LinearProgress,\n },\n 'wc-circular-progress': {\n CustomElementClass: CircularProgress,\n },\n 'wc-skeleton': {\n CustomElementClass: Skeleton,\n },\n\n 'wc-field': {\n CustomElementClass: Field,\n },\n 'wc-input': {\n CustomElementClass: Input,\n },\n 'wc-url-field': {\n CustomElementClass: UrlField,\n },\n 'wc-number-field': {\n CustomElementClass: NumberField,\n },\n 'wc-textarea': {\n CustomElementClass: Textarea,\n },\n 'wc-date-picker': {\n CustomElementClass: DatePicker,\n },\n 'wc-time-picker': {\n CustomElementClass: TimePicker,\n },\n 'wc-tooltip': {\n CustomElementClass: Tooltip,\n },\n 'wc-popover': {\n CustomElementClass: Popover,\n },\n 'wc-popover-content': {\n CustomElementClass: PopoverContent,\n },\n 'wc-number-counter': {\n importPath: `${distDirectory}/number-counter.js`,\n },\n 'wc-code-editor': {\n importPath: `${distDirectory}/code-editor.js`,\n },\n 'wc-html-editor': {\n importPath: `${distDirectory}/html-editor.js`,\n },\n 'wc-code-highlighter': {\n importPath: `${distDirectory}/code-highlighter.js`,\n },\n 'wc-breadcrumb': {\n CustomElementClass: Breadcrumb,\n },\n 'wc-breadcrumb-item': {\n CustomElementClass: BreadcrumbItem,\n },\n 'wc-switch': {\n CustomElementClass: Switch,\n },\n 'wc-checkbox': {\n CustomElementClass: Checkbox,\n },\n 'wc-radio': {\n CustomElementClass: Radio,\n },\n 'wc-spinner': {\n CustomElementClass: Spinner,\n },\n 'wc-empty-state': {\n CustomElementClass: EmptyState,\n },\n 'wc-menu': {\n CustomElementClass: Menu,\n },\n 'wc-menu-item': {\n CustomElementClass: MenuItem,\n },\n 'wc-sub-menu': {\n CustomElementClass: SubMenu,\n },\n 'wc-container': {\n CustomElementClass: Container,\n },\n 'wc-image': {\n CustomElementClass: Image,\n },\n 'wc-slider': {\n CustomElementClass: Slider,\n },\n 'wc-table': {\n CustomElementClass: Table,\n },\n 'wc-pagination': {\n CustomElementClass: Pagination,\n },\n 'wc-sidebar-menu': {\n CustomElementClass: SidebarMenu,\n },\n 'wc-sidebar-menu-item': {\n CustomElementClass: SidebarMenuItem,\n },\n 'wc-sidebar-sub-menu': {\n CustomElementClass: SidebarSubMenu,\n },\n 'wc-snackbar': {\n CustomElementClass: Snackbar,\n },\n 'wc-bottom-sheet': {\n CustomElementClass: BottomSheet,\n },\n 'wc-side-sheet': {\n CustomElementClass: SideSheet,\n },\n 'wc-modal': {\n CustomElementClass: Modal,\n },\n 'wc-select': {\n CustomElementClass: Select,\n },\n 'wc-option': {\n CustomElementClass: SelectOptionElement,\n },\n 'wc-search': {\n CustomElementClass: Search,\n },\n 'wc-toolbar': {\n CustomElementClass: Toolbar,\n },\n 'wc-navigation-rail': {\n CustomElementClass: NavigationRail,\n },\n 'wc-navigation-rail-item': {\n CustomElementClass: NavigationRailItem,\n },\n 'wc-calendar': {\n CustomElementClass: Calendar,\n },\n 'wc-calendar-column-view': {\n CustomElementClass: CalendarColumnView,\n },\n 'wc-calendar-month-view': {\n CustomElementClass: CalendarMonthView,\n },\n 'wc-canvas': {\n CustomElementClass: Canvas,\n },\n 'wc-flow-designer': {\n CustomElementClass: FlowDesigner,\n },\n 'wc-flow-designer-node': {\n CustomElementClass: FlowDesignerNode,\n },\n 'wc-chart-doughnut': {\n importPath: `${distDirectory}/chart-doughnut.js`,\n },\n 'wc-chart-pie': {\n importPath: `${distDirectory}/chart-pie.js`,\n },\n 'wc-chart-bar': {\n importPath: `${distDirectory}/chart-bar.js`,\n },\n 'wc-chart-stacked-bar': {\n importPath: `${distDirectory}/chart-stacked-bar.js`,\n },\n 'wc-condition-builder': {\n CustomElementClass: ConditionBuilder,\n },\n 'wc-cb-predicate': {\n CustomElementClass: CbPredicate,\n },\n 'wc-cb-compound-expression': {\n CustomElementClass: CbCompoundExpression,\n },\n 'wc-cb-expression': {\n CustomElementClass: CbExpression,\n },\n 'wc-cb-divider': {\n CustomElementClass: CbDivider,\n },\n },\n};\n\nnew LoaderUtils(loaderConfig).start();\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"peacock-loader.js","sources":["../../src/LoaderUtils.ts","../../src/CssLoader.ts","../../src/peacock-loader.ts"],"sourcesContent":["interface ComponentConfig {\n CustomElementClass?: any; // earger load\n importPath?: string; // lazy load\n dependencies?: string[];\n}\n\ninterface LoaderConfig {\n components?: Record<string, ComponentConfig>;\n}\n\nexport { LoaderConfig };\n\nexport class LoaderUtils {\n private _loaderConfig: LoaderConfig;\n\n private _observer: MutationObserver | undefined;\n\n constructor(loaderConfig: LoaderConfig) {\n this._loaderConfig = loaderConfig;\n }\n\n static registerComponent(tagName: string, CustomElementClass: any) {\n if (CustomElementClass && !customElements.get(tagName)) {\n customElements.define(tagName, CustomElementClass);\n }\n }\n\n start() {\n this.eagerLoadComponents();\n this.lazyLoadComponents(document);\n }\n\n eagerLoadComponents() {\n if (!this._loaderConfig.components) return;\n for (const [name, value] of Object.entries(this._loaderConfig.components)) {\n if (value.CustomElementClass)\n LoaderUtils.registerComponent(name, value.CustomElementClass);\n }\n }\n\n async registerAsync(tagName: string): Promise<void> {\n if (customElements.get(tagName)) return;\n\n if (!this._loaderConfig.components) return;\n\n const config = this._loaderConfig.components[tagName];\n if (!config || !config.importPath) return;\n\n try {\n const module = await import(config.importPath);\n\n // Runtime definition: grabbing the class from the module\n const CustomElementClass =\n module.default || module[Object.keys(module)[0]];\n\n if (CustomElementClass && !customElements.get(tagName)) {\n customElements.define(tagName, CustomElementClass);\n }\n\n // Handle dependencies recursively\n if (config.dependencies) {\n for (const dep of config.dependencies) {\n // eslint-disable-next-line no-await-in-loop\n await this.registerAsync(dep);\n }\n }\n } catch (error) {\n console.error(\n `Unable to load <${tagName}> from ${config.importPath}`,\n error,\n );\n }\n }\n\n async load(root: Element | Document): Promise<void> {\n const rootTagName =\n root instanceof Element ? root.tagName.toLowerCase() : '';\n\n const tags = Array.from(root.querySelectorAll(':not(:defined)')).map(el =>\n el.tagName.toLowerCase(),\n );\n\n if (rootTagName.includes('-') && !customElements.get(rootTagName)) {\n tags.push(rootTagName);\n }\n\n const tagsToRegister = [...new Set(tags)];\n await Promise.allSettled(\n tagsToRegister.map(tagName => this.registerAsync(tagName)),\n );\n }\n\n lazyLoadComponents(root: any) {\n this._observer = new MutationObserver(mutations => {\n for (const { addedNodes } of mutations) {\n for (const node of addedNodes) {\n if (node.nodeType === Node.ELEMENT_NODE) {\n this.load(node as Element);\n }\n }\n }\n });\n\n const target = root instanceof Document ? root.documentElement : root;\n this.load(target);\n\n this._observer.observe(target, {\n subtree: true,\n childList: true,\n });\n }\n}\n","const sheetCache = new Map<string, CSSStyleSheet>();\n\nasync function loadCSS(\n url: string,\n options: any = {}\n): Promise<CSSStyleSheet> {\n const {\n priority = \"high\",\n cache = \"force-cache\",\n media = \"all\",\n } = options;\n\n // Return cached sheet immediately\n if (sheetCache.has(url)) {\n const cached = sheetCache.get(url)!;\n if (!document.adoptedStyleSheets.includes(cached)) {\n document.adoptedStyleSheets = [...document.adoptedStyleSheets, cached];\n }\n return cached;\n }\n\n const response = await fetch(url, {\n cache,\n priority,\n });\n\n if (!response.ok) {\n throw new Error(`Failed to load CSS [${response.status}]: ${url}`);\n }\n\n const css = await response.text();\n const sheet = new CSSStyleSheet({ media });\n\n sheet.replaceSync(css);\n sheetCache.set(url, sheet);\n document.adoptedStyleSheets = [...document.adoptedStyleSheets, sheet];\n\n return sheet;\n}\n\nasync function loadMultipleCSS(\n urls: string[],\n options: any = {}\n): Promise<CSSStyleSheet[]> {\n return Promise.all(urls.map((url) => loadCSS(url, options)));\n}\n\nfunction unloadCSS(url: string): boolean {\n const sheet = sheetCache.get(url);\n if (!sheet) return false;\n\n document.adoptedStyleSheets = document.adoptedStyleSheets.filter(\n (s) => s !== sheet\n );\n sheetCache.delete(url);\n return true;\n}\n\nfunction clearAllCSS(): void {\n document.adoptedStyleSheets = document.adoptedStyleSheets.filter(\n (s) => ![...sheetCache.values()].includes(s)\n );\n sheetCache.clear();\n}\n\nexport { loadCSS, loadMultipleCSS, unloadCSS, clearAllCSS };","// Eager loaded\n\nimport { Elevation } from './elevation/elevation.js';\nimport { FocusRing } from './focus-ring/focus-ring.js';\nimport { Ripple } from './ripple/ripple.js';\n\nimport { Icon } from './icon/icon.js';\nimport { Avatar } from './avatar/avatar.js';\nimport { Badge } from './badge/badge.js';\nimport { Divider } from './divider/divider.js';\nimport { Button } from './button/button/button.js';\nimport { ButtonGroup } from './button/button-group/button-group.js';\nimport { IconButton } from './button/icon-button/icon-button.js';\nimport { Fab } from './fab/fab.js';\nimport { SegmentedButton } from './segmented-button/segmented-button.js';\nimport { SegmentedButtonGroup } from './segmented-button/segmented-button-group.js';\nimport { SplitButton } from './split-button/split-button.js';\nimport { DropdownButton } from './dropdown-button/dropdown-button.js';\nimport { Input } from './input/input.js';\nimport { UrlField } from './url-field/url-field.js';\nimport { Field } from './field/field.js';\nimport { NumberField } from './number-field/number-field.js';\nimport { DatePicker } from './date-picker/date-picker.js';\nimport { TimePicker } from './time-picker/time-picker.js';\nimport { Textarea } from './textarea/textarea.js';\nimport { Switch } from './switch/switch.js';\nimport { Checkbox } from './checkbox/checkbox.js';\nimport { Radio } from './radio/radio.js';\n\nimport { Menu } from './menu/menu/menu.js';\nimport { MenuItem } from './menu/menu-item/menu-item.js';\nimport { SubMenu } from './menu/sub-menu/sub-menu.js';\nimport { List } from './list/list.js';\nimport { ListItem } from './list/list-item.js';\n\nimport { Accordion } from './accordion/accordion.js';\nimport { Link } from './link/link.js';\nimport { Tag } from './chip/tag/tag.js';\nimport { Chip } from './chip/chip/chip.js';\nimport { LinearProgress } from './progress/linear-progress/linear-progress.js';\nimport { CircularProgress } from './progress/circular-progress/circular-progress.js';\n\nimport { Tooltip } from './tooltip/tooltip.js';\nimport { Popover } from './popover/popover.js';\nimport { PopoverContent } from './popover/popover-content.js';\nimport { Breadcrumb, BreadcrumbItem } from './breadcrumb/index.js';\n\nimport { Skeleton } from './skeleton/skeleton.js';\nimport { Spinner } from './spinner/spinner.js';\n\nimport { EmptyState } from './empty-state/empty-state.js';\nimport { Container } from './container/container.js';\nimport { Image } from './image/image.js';\nimport { Svg } from './svg/svg.js';\n\nimport { LoaderConfig, LoaderUtils } from './LoaderUtils.js';\nimport { loadCSS } from './CssLoader.js';\nimport { TabGroup } from './tabs/tab-group.js';\nimport { Tabs } from './tabs/tabs.js';\nimport { Tab } from './tabs/tab.js';\nimport { TabPanel } from './tabs/tab-panel.js';\nimport { Slider } from './slider/slider.js';\nimport { Table } from './table/table.js';\nimport { Pagination } from './pagination/pagination.js';\nimport { SidebarMenu } from './sidebar-menu/sidebar-menu.js';\nimport { SidebarMenuItem } from './sidebar-menu/sidebar-menu-item.js';\nimport { SidebarSubMenu } from './sidebar-menu/sidebar-sub-menu.js';\nimport { Card } from './card/card.js';\nimport { CardContent } from './card/card-content.js';\nimport { Banner } from './banner/banner.js';\nimport { Notification } from './notification/notification.js';\nimport { NotificationManager } from './notification-manager/notification-manager.js';\nimport { Snackbar } from './snackbar/snackbar.js';\nimport { BottomSheet } from './bottom-sheet/bottom-sheet.js';\nimport { SideSheet } from './side-sheet/side-sheet.js';\nimport { Modal } from './modal/modal.js';\nimport { Select } from './select/select.js';\nimport { SelectOptionElement } from './select/option.js';\nimport { Search } from './search/search.js';\nimport { Toolbar } from './toolbar/toolbar.js';\nimport { NavigationRail } from './navigation-rail/navigation-rail.js';\nimport { NavigationRailItem } from './navigation-rail/navigation-rail-item.js';\nimport { Calendar } from './calendar/calendar.js';\nimport { CalendarColumnView } from './calendar/calendar-column-view.js';\nimport { CalendarMonthView } from './calendar/calendar-month-view.js';\nimport { Canvas } from './canvas/canvas.js';\nimport { FlowDesigner } from './flow-designer/flow-designer.js';\nimport { FlowDesignerNode } from './flow-designer/flow-designer-node.js';\nimport { ConditionBuilder } from './condition-builder/condition-builder.js';\nimport { CbPredicate } from './condition-builder/cb-predicate.js';\nimport { CbCompoundExpression } from './condition-builder/cb-compound-expression.js';\nimport { CbExpression } from './condition-builder/cb-expression.js';\nimport { CbDivider } from './condition-builder/cb-divider.js';\n\nconst distDirectory = `${import.meta.url}/..`;\nawait loadCSS(`${distDirectory}/assets/styles.css`);\n\n/*\nimport tooltipStyles from './popover/tooltip.css-component.scss';\n\nfunction buildSheet(styleSheet: any) {\n const sheet = new CSSStyleSheet();\n // Add rules\n sheet.replaceSync(styleSheet.toString());\n return sheet;\n}\n\nconst styleSheets = [\n// buildSheet(cssComponentsStyleSheet),\n// buildSheet(linkStyles),\n// buildSheet(textStylesheet),\n buildSheet(tooltipStyles),\n];\n\ndocument.adoptedStyleSheets = styleSheets;\n*/\n\nconst loaderConfig: LoaderConfig = {\n components: {\n 'wc-icon': {\n CustomElementClass: Icon,\n // importPath: './component/icon.js', - for lazy load give path instead of CustomElementClass\n },\n 'wc-focus-ring': {\n CustomElementClass: FocusRing,\n },\n 'wc-avatar': {\n CustomElementClass: Avatar,\n },\n 'wc-badge': {\n CustomElementClass: Badge,\n },\n 'wc-button': {\n CustomElementClass: Button,\n },\n 'wc-icon-button': {\n CustomElementClass: IconButton,\n },\n 'wc-fab': {\n CustomElementClass: Fab,\n },\n 'wc-button-group': {\n CustomElementClass: ButtonGroup,\n },\n 'wc-segmented-button': {\n CustomElementClass: SegmentedButton,\n },\n 'wc-segmented-button-group': {\n CustomElementClass: SegmentedButtonGroup,\n },\n 'wc-split-button': {\n CustomElementClass: SplitButton,\n },\n 'wc-dropdown-button': {\n CustomElementClass: DropdownButton,\n },\n 'wc-divider': {\n CustomElementClass: Divider,\n },\n 'wc-elevation': {\n CustomElementClass: Elevation,\n },\n 'wc-clock': {\n importPath: `${distDirectory}/clock.js`,\n },\n 'wc-ripple': {\n CustomElementClass: Ripple,\n },\n 'wc-accordion': {\n CustomElementClass: Accordion,\n },\n 'wc-accordion-item': {\n CustomElementClass: Accordion.Item,\n },\n 'wc-tabs': {\n CustomElementClass: Tabs,\n },\n 'wc-tab-group': {\n CustomElementClass: TabGroup,\n },\n 'wc-tab': {\n CustomElementClass: Tab,\n },\n 'wc-tab-panel': {\n CustomElementClass: TabPanel,\n },\n 'wc-link': {\n CustomElementClass: Link,\n },\n 'wc-chip': {\n CustomElementClass: Chip,\n },\n 'wc-card': {\n CustomElementClass: Card,\n },\n 'wc-card-content': {\n CustomElementClass: CardContent,\n },\n 'wc-banner': {\n CustomElementClass: Banner,\n },\n 'wc-notification': {\n CustomElementClass: Notification,\n },\n 'wc-notification-manager': {\n CustomElementClass: NotificationManager,\n },\n 'wc-tag': {\n CustomElementClass: Tag,\n },\n 'wc-linear-progress': {\n CustomElementClass: LinearProgress,\n },\n 'wc-circular-progress': {\n CustomElementClass: CircularProgress,\n },\n 'wc-skeleton': {\n CustomElementClass: Skeleton,\n },\n\n 'wc-field': {\n CustomElementClass: Field,\n },\n 'wc-input': {\n CustomElementClass: Input,\n },\n 'wc-url-field': {\n CustomElementClass: UrlField,\n },\n 'wc-number-field': {\n CustomElementClass: NumberField,\n },\n 'wc-textarea': {\n CustomElementClass: Textarea,\n },\n 'wc-date-picker': {\n CustomElementClass: DatePicker,\n },\n 'wc-time-picker': {\n CustomElementClass: TimePicker,\n },\n 'wc-tooltip': {\n CustomElementClass: Tooltip,\n },\n 'wc-popover': {\n CustomElementClass: Popover,\n },\n 'wc-popover-content': {\n CustomElementClass: PopoverContent,\n },\n 'wc-number-counter': {\n importPath: `${distDirectory}/number-counter.js`,\n },\n 'wc-code-editor': {\n importPath: `${distDirectory}/code-editor.js`,\n },\n 'wc-html-editor': {\n importPath: `${distDirectory}/html-editor.js`,\n },\n 'wc-code-highlighter': {\n importPath: `${distDirectory}/code-highlighter.js`,\n },\n 'wc-breadcrumb': {\n CustomElementClass: Breadcrumb,\n },\n 'wc-breadcrumb-item': {\n CustomElementClass: BreadcrumbItem,\n },\n 'wc-switch': {\n CustomElementClass: Switch,\n },\n 'wc-checkbox': {\n CustomElementClass: Checkbox,\n },\n 'wc-radio': {\n CustomElementClass: Radio,\n },\n 'wc-spinner': {\n CustomElementClass: Spinner,\n },\n 'wc-empty-state': {\n CustomElementClass: EmptyState,\n },\n 'wc-menu': {\n CustomElementClass: Menu,\n },\n 'wc-menu-item': {\n CustomElementClass: MenuItem,\n },\n 'wc-sub-menu': {\n CustomElementClass: SubMenu,\n },\n 'wc-list': {\n CustomElementClass: List,\n },\n 'wc-list-item': {\n CustomElementClass: ListItem,\n },\n 'wc-container': {\n CustomElementClass: Container,\n },\n 'wc-image': {\n CustomElementClass: Image,\n },\n 'wc-svg': {\n CustomElementClass: Svg,\n },\n 'wc-slider': {\n CustomElementClass: Slider,\n },\n 'wc-table': {\n CustomElementClass: Table,\n },\n 'wc-pagination': {\n CustomElementClass: Pagination,\n },\n 'wc-sidebar-menu': {\n CustomElementClass: SidebarMenu,\n },\n 'wc-sidebar-menu-item': {\n CustomElementClass: SidebarMenuItem,\n },\n 'wc-sidebar-sub-menu': {\n CustomElementClass: SidebarSubMenu,\n },\n 'wc-snackbar': {\n CustomElementClass: Snackbar,\n },\n 'wc-bottom-sheet': {\n CustomElementClass: BottomSheet,\n },\n 'wc-side-sheet': {\n CustomElementClass: SideSheet,\n },\n 'wc-modal': {\n CustomElementClass: Modal,\n },\n 'wc-select': {\n CustomElementClass: Select,\n },\n 'wc-option': {\n CustomElementClass: SelectOptionElement,\n },\n 'wc-search': {\n CustomElementClass: Search,\n },\n 'wc-toolbar': {\n CustomElementClass: Toolbar,\n },\n 'wc-navigation-rail': {\n CustomElementClass: NavigationRail,\n },\n 'wc-navigation-rail-item': {\n CustomElementClass: NavigationRailItem,\n },\n 'wc-calendar': {\n CustomElementClass: Calendar,\n },\n 'wc-calendar-column-view': {\n CustomElementClass: CalendarColumnView,\n },\n 'wc-calendar-month-view': {\n CustomElementClass: CalendarMonthView,\n },\n 'wc-canvas': {\n CustomElementClass: Canvas,\n },\n 'wc-flow-designer': {\n CustomElementClass: FlowDesigner,\n },\n 'wc-flow-designer-node': {\n CustomElementClass: FlowDesignerNode,\n },\n 'wc-chart-doughnut': {\n importPath: `${distDirectory}/chart-doughnut.js`,\n },\n 'wc-chart-pie': {\n importPath: `${distDirectory}/chart-pie.js`,\n },\n 'wc-chart-bar': {\n importPath: `${distDirectory}/chart-bar.js`,\n },\n 'wc-chart-stacked-bar': {\n importPath: `${distDirectory}/chart-stacked-bar.js`,\n },\n 'wc-condition-builder': {\n CustomElementClass: ConditionBuilder,\n },\n 'wc-cb-predicate': {\n CustomElementClass: CbPredicate,\n },\n 'wc-cb-compound-expression': {\n CustomElementClass: CbCompoundExpression,\n },\n 'wc-cb-expression': {\n CustomElementClass: CbExpression,\n },\n 'wc-cb-divider': {\n CustomElementClass: CbDivider,\n },\n },\n};\n\nnew LoaderUtils(loaderConfig).start();\n"],"names":[],"mappings":"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"}
@@ -4,29 +4,39 @@ import BaseInput from '../input/BaseInput.js';
4
4
  * @tag wc-html-editor
5
5
  * @rawTag html-editor
6
6
  *
7
- * @summary A WYSIWYG HTML editor component with a Material 3 styled toolbar.
7
+ * @summary A Tiptap-powered HTML editor with visual and source editing modes.
8
8
  * @overview
9
- * <p>The HTML Editor provides a rich-text editing experience using the browser's built-in
10
- * <code>contenteditable</code> API. It wraps the editable area in a Material 3 styled
11
- * <code>wc-field</code> and exposes a toolbar with common formatting actions.</p>
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>
12
13
  *
13
14
  * <p>Get and set the HTML content via the <code>value</code> property. The component
14
- * dispatches a <code>change</code> event whenever the content is modified.</p>
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>
15
18
  *
16
19
  * @cssprop --html-editor-min-height - Minimum height of the editable area. Defaults to 8rem.
17
20
  * @cssprop --html-editor-toolbar-background - Background color of the toolbar.
18
21
  * @cssprop --html-editor-toolbar-border-color - Border color between toolbar and editing area.
19
22
  *
20
23
  * @fires {Event} change - Fired whenever the editable content changes.
24
+ * @fires {CustomEvent} search - Fired in managed mention mode with { query, callback } detail.
21
25
  *
22
26
  * @example
23
27
  * ```html
24
- * <wc-html-editor label="Description" value="<p>Hello <strong>world</strong></p>"></wc-html-editor>
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>
25
33
  * ```
26
34
  * @tags input editor
27
35
  */
28
36
  export declare class HtmlEditor extends BaseInput {
29
37
  static styles: import("lit").CSSResultGroup[];
38
+ private _editor?;
39
+ private _changeTimeout?;
30
40
  /** Current HTML value of the editor. */
31
41
  value: string;
32
42
  /** Label displayed above the editor. */
@@ -41,16 +51,39 @@ export declare class HtmlEditor extends BaseInput {
41
51
  error: boolean;
42
52
  /** Error message text. */
43
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;
44
69
  private _focused;
70
+ private _mode;
45
71
  private _editorEl;
46
72
  protected firstUpdated(): void;
73
+ disconnectedCallback(): void;
47
74
  protected updated(changed: Map<string, unknown>): void;
48
- private _execCmd;
49
- private _handleInput;
50
- private _handleFocus;
51
- private _handleBlur;
52
- private _insertLink;
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;
53
85
  private _toolbarButton;
54
86
  private _renderToolbar;
87
+ private _renderReadonlyTag;
55
88
  render(): import("lit-html").TemplateResult<1>;
56
89
  }
@@ -35,10 +35,12 @@ export { Tooltip } from './popover/index.js';
35
35
  export { Popover, PopoverContent } from './popover/index.js';
36
36
  export { Breadcrumb, BreadcrumbItem } from './breadcrumb/index.js';
37
37
  export { Menu, MenuItem, SubMenu } from './menu/index.js';
38
+ export { List, ListItem } from './list/index.js';
38
39
  export { CodeHighlighter } from './code-highlighter/index.js';
39
40
  export { CodeEditor } from './code-editor/index.js';
40
41
  export { HtmlEditor } from './html-editor/index.js';
41
42
  export { Image } from './image/index.js';
43
+ export { Svg } from './svg/index.js';
42
44
  export { Tab, TabGroup, TabPanel, Tabs } from './tabs/index.js';
43
45
  export { Slider } from './slider/index.js';
44
46
  export { ChartDoughnut } from './chart-doughnut/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
+ }
@@ -15,13 +15,7 @@ type ModalSize = 'xs' | 'sm' | 'md' | 'lg' | 'fullscreen';
15
15
  *
16
16
  * @example
17
17
  * ```html
18
- * <wc-modal open heading="Confirm Action">
19
- * <p>Are you sure you want to continue?</p>
20
- * <div slot="footer">
21
- * <wc-button variant="text">Cancel</wc-button>
22
- * <wc-button>Confirm</wc-button>
23
- * </div>
24
- * </wc-modal>
18
+ * MODAL
25
19
  * ```
26
20
  * @tags overlay, dialog, feedback
27
21
  */
@@ -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.
@@ -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
  *
@@ -0,0 +1 @@
1
+ export { Svg } from './svg.js';
@@ -0,0 +1,38 @@
1
+ import { LitElement } from 'lit';
2
+ /**
3
+ * @label SVG
4
+ * @tag wc-svg
5
+ * @rawTag svg
6
+ * @summary An SVG component with lazy loading and optional preview support.
7
+ * @overview Renders an inline SVG fetched from a URL, with lazy loading via IntersectionObserver and an optional click-to-preview lightbox.
8
+ *
9
+ * @cssprop --svg-color - Controls the fill color of the SVG.
10
+ * @cssprop [--svg-size=1rem] - Controls the size of the SVG. Defaults to "1rem"
11
+ *
12
+ * @example
13
+ * ```html
14
+ * <wc-svg src="/icons/my-icon.svg" image-title="My icon"></wc-svg>
15
+ * ```
16
+ */
17
+ export declare class Svg extends LitElement {
18
+ static styles: import("lit").CSSResultGroup[];
19
+ /** URL of the SVG asset to fetch and render inline. */
20
+ src: string;
21
+ /** Accessible title / alt text for the SVG. */
22
+ imageTitle: string;
23
+ /** Enable click-to-preview lightbox. */
24
+ preview: boolean;
25
+ private _loaded;
26
+ private _previewOpen;
27
+ private _svgContent;
28
+ private _fetchId;
29
+ private _intersectionObserver;
30
+ disconnectedCallback(): void;
31
+ firstUpdated(): void;
32
+ updated(changedProperties: Map<string, unknown>): void;
33
+ private _setupIntersectionObserver;
34
+ private _fetchSvg;
35
+ private _handleClick;
36
+ private _closePreview;
37
+ render(): import("lit-html").TemplateResult<1>;
38
+ }
@@ -27,10 +27,10 @@ import { LitElement } from 'lit';
27
27
  * ```html
28
28
  * <!-- Docked toolbar -->
29
29
  * <wc-toolbar>
30
- * <wc-icon-button variant="text"><wc-icon name="home"></wc-icon></wc-icon-button>
30
+ * <wc-icon-button variant="text" color="surface"><wc-icon name="home"></wc-icon></wc-icon-button>
31
31
  * <wc-icon-button variant="tonal"><wc-icon name="search"></wc-icon></wc-icon-button>
32
- * <wc-icon-button variant="text"><wc-icon name="favorite"></wc-icon></wc-icon-button>
33
- * <wc-icon-button variant="text"><wc-icon name="account_circle"></wc-icon></wc-icon-button>
32
+ * <wc-icon-button variant="text" color="surface"><wc-icon name="favorite"></wc-icon></wc-icon-button>
33
+ * <wc-icon-button variant="text" color="surface"><wc-icon name="account_circle"></wc-icon></wc-icon-button>
34
34
  * </wc-toolbar>
35
35
  * ```
36
36
  *
package/dist/toolbar.js CHANGED
@@ -195,10 +195,10 @@ var Toolbar_1;
195
195
  * ```html
196
196
  * <!-- Docked toolbar -->
197
197
  * <wc-toolbar>
198
- * <wc-icon-button variant="text"><wc-icon name="home"></wc-icon></wc-icon-button>
198
+ * <wc-icon-button variant="text" color="surface"><wc-icon name="home"></wc-icon></wc-icon-button>
199
199
  * <wc-icon-button variant="tonal"><wc-icon name="search"></wc-icon></wc-icon-button>
200
- * <wc-icon-button variant="text"><wc-icon name="favorite"></wc-icon></wc-icon-button>
201
- * <wc-icon-button variant="text"><wc-icon name="account_circle"></wc-icon></wc-icon-button>
200
+ * <wc-icon-button variant="text" color="surface"><wc-icon name="favorite"></wc-icon></wc-icon-button>
201
+ * <wc-icon-button variant="text" color="surface"><wc-icon name="account_circle"></wc-icon></wc-icon-button>
202
202
  * </wc-toolbar>
203
203
  * ```
204
204
  *
@@ -1 +1 @@
1
- {"version":3,"file":"toolbar.js","sources":["../../src/toolbar/toolbar.ts"],"sourcesContent":["import { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport IndividualComponent from '@/IndividualComponent.js';\nimport styles from './toolbar.scss';\nimport colorStyles from './toolbar-colors.scss';\n\n/**\n * @label Toolbar\n * @tag wc-toolbar\n * @rawTag toolbar\n *\n * @summary A Material 3 toolbar / app bar for navigation and actions.\n * @overview\n * <p>The toolbar component implements the Material 3 app bar pattern. It supports a\n * docked (attached) variant for bottom-panel navigation and a floating (detached pill-shaped)\n * variant. The floating variant supports both horizontal and vertical orientations.</p>\n *\n * <p>Render toolbar actions directly as children of the component. The docked variant is\n * optimized for a horizontal action row, while the floating variant supports both horizontal\n * and vertical layouts.</p>\n *\n * @cssprop --toolbar-container-color - Background color of the toolbar.\n * @cssprop --toolbar-container-shape - Border radius of the toolbar. Relevant for the floating variant.\n * @cssprop --toolbar-height - Height of the toolbar (docked horizontal / floating horizontal).\n * @cssprop --toolbar-padding-inline - Inline padding of the toolbar.\n * @cssprop --toolbar-gap - Gap between toolbar sections.\n * @cssprop --toolbar-icon-color - Color of icon slots.\n * @cssprop --toolbar-title-color - Color of the title (default slot) text.\n * @cssprop --toolbar-shadow - Box-shadow of the toolbar.\n *\n * @example\n * ```html\n * <!-- Docked toolbar -->\n * <wc-toolbar>\n * <wc-icon-button variant=\"text\"><wc-icon name=\"home\"></wc-icon></wc-icon-button>\n * <wc-icon-button variant=\"tonal\"><wc-icon name=\"search\"></wc-icon></wc-icon-button>\n * <wc-icon-button variant=\"text\"><wc-icon name=\"favorite\"></wc-icon></wc-icon-button>\n * <wc-icon-button variant=\"text\"><wc-icon name=\"account_circle\"></wc-icon></wc-icon-button>\n * </wc-toolbar>\n * ```\n *\n * @example\n * ```html\n * <!-- Floating horizontal toolbar -->\n * <wc-toolbar variant=\"floating\" orientation=\"horizontal\">\n * <wc-icon-button variant=\"tonal\"><wc-icon name=\"home\"></wc-icon></wc-icon-button>\n * <wc-icon-button variant=\"text\"><wc-icon name=\"search\"></wc-icon></wc-icon-button>\n * <wc-icon-button variant=\"text\"><wc-icon name=\"favorite\"></wc-icon></wc-icon-button>\n * </wc-toolbar>\n * ```\n *\n * @example\n * ```html\n * <!-- Floating vertical toolbar -->\n * <wc-toolbar variant=\"floating\" orientation=\"vertical\">\n * <wc-icon-button variant=\"tonal\"><wc-icon name=\"home\"></wc-icon></wc-icon-button>\n * <wc-icon-button variant=\"text\"><wc-icon name=\"search\"></wc-icon></wc-icon-button>\n * <wc-icon-button variant=\"text\"><wc-icon name=\"favorite\"></wc-icon></wc-icon-button>\n * </wc-toolbar>\n * ```\n * @tags display navigation\n */\n@IndividualComponent\nexport class Toolbar extends LitElement {\n static styles = [styles, colorStyles];\n\n /**\n * Visual and layout variant of the toolbar.\n * - `\"docked\"`: A full-width bar attached to the edge of the screen (default).\n * - `\"floating\"`: A detached pill-shaped toolbar that floats over content.\n */\n @property({ type: String, reflect: true })\n variant: 'docked' | 'floating' = 'docked';\n\n /**\n * Orientation of the toolbar content.\n * - `\"horizontal\"`: Items are laid out left to right (default).\n * - `\"vertical\"`: Items are stacked top to bottom. Primarily useful for the floating variant.\n */\n @property({ type: String, reflect: true })\n orientation: 'horizontal' | 'vertical' = 'horizontal';\n\n /**\n * Size of the docked toolbar.\n * - `\"small\"`: 80dp height (default).\n * - `\"medium\"`: 96dp height.\n * - `\"large\"`: 112dp height.\n */\n @property({ type: String, reflect: true })\n size: 'small' | 'medium' | 'large' = 'small';\n\n /**\n * Whether the toolbar is visually elevated (adds a shadow).\n */\n @property({ type: Boolean, reflect: true })\n elevated: boolean = false;\n\n override render() {\n const cssClasses = {\n toolbar: true,\n [`variant-${this.variant}`]: true,\n [`orientation-${this.orientation}`]: true,\n [`size-${this.size}`]: true,\n elevated: this.elevated,\n };\n\n if (this.variant === 'floating') {\n return Toolbar.__renderFloating(cssClasses);\n }\n\n return Toolbar.__renderDocked(cssClasses);\n }\n\n private static __renderDocked(cssClasses: Record<string, boolean>) {\n return html`\n <div class=${classMap(cssClasses)} role=\"toolbar\">\n <div class=\"background\"></div>\n <div class=\"toolbar-content\">\n <slot></slot>\n </div>\n </div>\n `;\n }\n\n private static __renderFloating(cssClasses: Record<string, boolean>) {\n return html`\n <div class=${classMap(cssClasses)} role=\"toolbar\">\n <wc-elevation class=\"elevation\"></wc-elevation>\n <div class=\"background\"></div>\n <div class=\"toolbar-content\">\n <slot></slot>\n </div>\n </div>\n `;\n }\n}\n"],"names":["LitElement","html","classMap","styles","colorStyles","property"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuDG;AAEI,IAAM,OAAO,GAAA,SAAA,GAAb,MAAM,OAAQ,SAAQA,GAAU,CAAA;AAAhC,IAAA,WAAA,GAAA;;AAGL;;;;AAIG;QAEH,IAAA,CAAA,OAAO,GAA0B,QAAQ;AAEzC;;;;AAIG;QAEH,IAAA,CAAA,WAAW,GAA8B,YAAY;AAErD;;;;;AAKG;QAEH,IAAA,CAAA,IAAI,GAAiC,OAAO;AAE5C;;AAEG;QAEH,IAAA,CAAA,QAAQ,GAAY,KAAK;IAwC3B;IAtCW,MAAM,GAAA;AACb,QAAA,MAAM,UAAU,GAAG;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,CAAC,WAAW,IAAI,CAAC,OAAO,CAAA,CAAE,GAAG,IAAI;AACjC,YAAA,CAAC,eAAe,IAAI,CAAC,WAAW,CAAA,CAAE,GAAG,IAAI;AACzC,YAAA,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAA,CAAE,GAAG,IAAI;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE;AAC/B,YAAA,OAAO,SAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC;QAC7C;AAEA,QAAA,OAAO,SAAO,CAAC,cAAc,CAAC,UAAU,CAAC;IAC3C;IAEQ,OAAO,cAAc,CAAC,UAAmC,EAAA;AAC/D,QAAA,OAAOC,CAAI,CAAA;mBACIC,CAAQ,CAAC,UAAU,CAAC,CAAA;;;;;;KAMlC;IACH;IAEQ,OAAO,gBAAgB,CAAC,UAAmC,EAAA;AACjE,QAAA,OAAOD,CAAI,CAAA;mBACIC,CAAQ,CAAC,UAAU,CAAC,CAAA;;;;;;;KAOlC;IACH;;AAtEO,OAAA,CAAA,MAAM,GAAG,CAACC,UAAM,EAAEC,QAAW,CAAC;AAQrC,UAAA,CAAA;IADCC,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;AACC,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,SAAA,EAAA,MAAA,CAAA;AAQ1C,UAAA,CAAA;IADCA,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;AACa,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,aAAA,EAAA,MAAA,CAAA;AAStD,UAAA,CAAA;IADCA,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;AACI,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAM7C,UAAA,CAAA;IADCA,CAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AAChB,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,UAAA,EAAA,MAAA,CAAA;AAhCf,OAAO,GAAA,SAAA,GAAA,UAAA,CAAA;IADnB;AACY,CAAA,EAAA,OAAO,CAwEnB;;;;"}
1
+ {"version":3,"file":"toolbar.js","sources":["../../src/toolbar/toolbar.ts"],"sourcesContent":["import { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport IndividualComponent from '@/IndividualComponent.js';\nimport styles from './toolbar.scss';\nimport colorStyles from './toolbar-colors.scss';\n\n/**\n * @label Toolbar\n * @tag wc-toolbar\n * @rawTag toolbar\n *\n * @summary A Material 3 toolbar / app bar for navigation and actions.\n * @overview\n * <p>The toolbar component implements the Material 3 app bar pattern. It supports a\n * docked (attached) variant for bottom-panel navigation and a floating (detached pill-shaped)\n * variant. The floating variant supports both horizontal and vertical orientations.</p>\n *\n * <p>Render toolbar actions directly as children of the component. The docked variant is\n * optimized for a horizontal action row, while the floating variant supports both horizontal\n * and vertical layouts.</p>\n *\n * @cssprop --toolbar-container-color - Background color of the toolbar.\n * @cssprop --toolbar-container-shape - Border radius of the toolbar. Relevant for the floating variant.\n * @cssprop --toolbar-height - Height of the toolbar (docked horizontal / floating horizontal).\n * @cssprop --toolbar-padding-inline - Inline padding of the toolbar.\n * @cssprop --toolbar-gap - Gap between toolbar sections.\n * @cssprop --toolbar-icon-color - Color of icon slots.\n * @cssprop --toolbar-title-color - Color of the title (default slot) text.\n * @cssprop --toolbar-shadow - Box-shadow of the toolbar.\n *\n * @example\n * ```html\n * <!-- Docked toolbar -->\n * <wc-toolbar>\n * <wc-icon-button variant=\"text\" color=\"surface\"><wc-icon name=\"home\"></wc-icon></wc-icon-button>\n * <wc-icon-button variant=\"tonal\"><wc-icon name=\"search\"></wc-icon></wc-icon-button>\n * <wc-icon-button variant=\"text\" color=\"surface\"><wc-icon name=\"favorite\"></wc-icon></wc-icon-button>\n * <wc-icon-button variant=\"text\" color=\"surface\"><wc-icon name=\"account_circle\"></wc-icon></wc-icon-button>\n * </wc-toolbar>\n * ```\n *\n * @example\n * ```html\n * <!-- Floating horizontal toolbar -->\n * <wc-toolbar variant=\"floating\" orientation=\"horizontal\">\n * <wc-icon-button variant=\"tonal\"><wc-icon name=\"home\"></wc-icon></wc-icon-button>\n * <wc-icon-button variant=\"text\"><wc-icon name=\"search\"></wc-icon></wc-icon-button>\n * <wc-icon-button variant=\"text\"><wc-icon name=\"favorite\"></wc-icon></wc-icon-button>\n * </wc-toolbar>\n * ```\n *\n * @example\n * ```html\n * <!-- Floating vertical toolbar -->\n * <wc-toolbar variant=\"floating\" orientation=\"vertical\">\n * <wc-icon-button variant=\"tonal\"><wc-icon name=\"home\"></wc-icon></wc-icon-button>\n * <wc-icon-button variant=\"text\"><wc-icon name=\"search\"></wc-icon></wc-icon-button>\n * <wc-icon-button variant=\"text\"><wc-icon name=\"favorite\"></wc-icon></wc-icon-button>\n * </wc-toolbar>\n * ```\n * @tags display navigation\n */\n@IndividualComponent\nexport class Toolbar extends LitElement {\n static styles = [styles, colorStyles];\n\n /**\n * Visual and layout variant of the toolbar.\n * - `\"docked\"`: A full-width bar attached to the edge of the screen (default).\n * - `\"floating\"`: A detached pill-shaped toolbar that floats over content.\n */\n @property({ type: String, reflect: true })\n variant: 'docked' | 'floating' = 'docked';\n\n /**\n * Orientation of the toolbar content.\n * - `\"horizontal\"`: Items are laid out left to right (default).\n * - `\"vertical\"`: Items are stacked top to bottom. Primarily useful for the floating variant.\n */\n @property({ type: String, reflect: true })\n orientation: 'horizontal' | 'vertical' = 'horizontal';\n\n /**\n * Size of the docked toolbar.\n * - `\"small\"`: 80dp height (default).\n * - `\"medium\"`: 96dp height.\n * - `\"large\"`: 112dp height.\n */\n @property({ type: String, reflect: true })\n size: 'small' | 'medium' | 'large' = 'small';\n\n /**\n * Whether the toolbar is visually elevated (adds a shadow).\n */\n @property({ type: Boolean, reflect: true })\n elevated: boolean = false;\n\n override render() {\n const cssClasses = {\n toolbar: true,\n [`variant-${this.variant}`]: true,\n [`orientation-${this.orientation}`]: true,\n [`size-${this.size}`]: true,\n elevated: this.elevated,\n };\n\n if (this.variant === 'floating') {\n return Toolbar.__renderFloating(cssClasses);\n }\n\n return Toolbar.__renderDocked(cssClasses);\n }\n\n private static __renderDocked(cssClasses: Record<string, boolean>) {\n return html`\n <div class=${classMap(cssClasses)} role=\"toolbar\">\n <div class=\"background\"></div>\n <div class=\"toolbar-content\">\n <slot></slot>\n </div>\n </div>\n `;\n }\n\n private static __renderFloating(cssClasses: Record<string, boolean>) {\n return html`\n <div class=${classMap(cssClasses)} role=\"toolbar\">\n <wc-elevation class=\"elevation\"></wc-elevation>\n <div class=\"background\"></div>\n <div class=\"toolbar-content\">\n <slot></slot>\n </div>\n </div>\n `;\n }\n}\n"],"names":["LitElement","html","classMap","styles","colorStyles","property"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuDG;AAEI,IAAM,OAAO,GAAA,SAAA,GAAb,MAAM,OAAQ,SAAQA,GAAU,CAAA;AAAhC,IAAA,WAAA,GAAA;;AAGL;;;;AAIG;QAEH,IAAA,CAAA,OAAO,GAA0B,QAAQ;AAEzC;;;;AAIG;QAEH,IAAA,CAAA,WAAW,GAA8B,YAAY;AAErD;;;;;AAKG;QAEH,IAAA,CAAA,IAAI,GAAiC,OAAO;AAE5C;;AAEG;QAEH,IAAA,CAAA,QAAQ,GAAY,KAAK;IAwC3B;IAtCW,MAAM,GAAA;AACb,QAAA,MAAM,UAAU,GAAG;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,CAAC,WAAW,IAAI,CAAC,OAAO,CAAA,CAAE,GAAG,IAAI;AACjC,YAAA,CAAC,eAAe,IAAI,CAAC,WAAW,CAAA,CAAE,GAAG,IAAI;AACzC,YAAA,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAA,CAAE,GAAG,IAAI;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE;AAC/B,YAAA,OAAO,SAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC;QAC7C;AAEA,QAAA,OAAO,SAAO,CAAC,cAAc,CAAC,UAAU,CAAC;IAC3C;IAEQ,OAAO,cAAc,CAAC,UAAmC,EAAA;AAC/D,QAAA,OAAOC,CAAI,CAAA;mBACIC,CAAQ,CAAC,UAAU,CAAC,CAAA;;;;;;KAMlC;IACH;IAEQ,OAAO,gBAAgB,CAAC,UAAmC,EAAA;AACjE,QAAA,OAAOD,CAAI,CAAA;mBACIC,CAAQ,CAAC,UAAU,CAAC,CAAA;;;;;;;KAOlC;IACH;;AAtEO,OAAA,CAAA,MAAM,GAAG,CAACC,UAAM,EAAEC,QAAW,CAAC;AAQrC,UAAA,CAAA;IADCC,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;AACC,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,SAAA,EAAA,MAAA,CAAA;AAQ1C,UAAA,CAAA;IADCA,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;AACa,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,aAAA,EAAA,MAAA,CAAA;AAStD,UAAA,CAAA;IADCA,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;AACI,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAM7C,UAAA,CAAA;IADCA,CAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AAChB,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,UAAA,EAAA,MAAA,CAAA;AAhCf,OAAO,GAAA,SAAA,GAAA,UAAA,CAAA;IADnB;AACY,CAAA,EAAA,OAAO,CAwEnB;;;;"}