@plumile/ui 0.1.130 → 0.1.131

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 (126) hide show
  1. package/README.md +6 -0
  2. package/lib/esm/admin/organisms/admin_sidebar/adminSidebar.css.js +3 -1
  3. package/lib/esm/admin/organisms/admin_topbar/adminTopbar.css.js +1 -1
  4. package/lib/esm/admin/theme/BackofficeThemeProvider.js +43 -0
  5. package/lib/esm/admin/theme/BackofficeThemeProvider.js.map +1 -0
  6. package/lib/esm/admin/theme/adminDensity.css.js +1 -1
  7. package/lib/esm/admin/theme/adminSurface.css.js +1 -2
  8. package/lib/esm/atomic/atoms/badge/badge.css.js.map +1 -1
  9. package/lib/esm/atomic/atoms/button/button.css.js +2 -2
  10. package/lib/esm/atomic/atoms/button/button.css.js.map +1 -1
  11. package/lib/esm/atomic/atoms/checkbox/checkbox.css.js.map +1 -1
  12. package/lib/esm/atomic/atoms/input/input.css.js.map +1 -1
  13. package/lib/esm/atomic/atoms/textarea/textarea.css.js.map +1 -1
  14. package/lib/esm/atomic/molecules/breadcrumb_navigation/breadcrumbNavigation.css.js.map +1 -1
  15. package/lib/esm/atomic/molecules/checkbox_field/checkboxField.css.js.map +1 -1
  16. package/lib/esm/atomic/molecules/form/formStyles.css.js.map +1 -1
  17. package/lib/esm/atomic/molecules/markdown/LazyMarkdownRenderer.css.js +1 -1
  18. package/lib/esm/atomic/molecules/markdown/components/MarkdownArticleContainer.css.js +1 -0
  19. package/lib/esm/atomic/molecules/markdown/components/MarkdownArticleContainer.css.js.map +1 -1
  20. package/lib/esm/atomic/molecules/markdown/components/MarkdownCodeCopyButton.css.js.map +1 -1
  21. package/lib/esm/atomic/molecules/markdown/components/MarkdownDelete.css.js.map +1 -1
  22. package/lib/esm/atomic/molecules/markdown/components/MarkdownEmphasis.css.js.map +1 -1
  23. package/lib/esm/atomic/molecules/markdown/components/MarkdownFootnoteReference.css.js.map +1 -1
  24. package/lib/esm/atomic/molecules/markdown/components/MarkdownHeading.css.js.map +1 -1
  25. package/lib/esm/atomic/molecules/markdown/components/MarkdownInlineCode.css.js.map +1 -1
  26. package/lib/esm/atomic/molecules/markdown/components/MarkdownLink.css.js.map +1 -1
  27. package/lib/esm/atomic/molecules/markdown/components/MarkdownList.css.js.map +1 -1
  28. package/lib/esm/atomic/molecules/markdown/components/MarkdownListItem.css.js.map +1 -1
  29. package/lib/esm/atomic/molecules/markdown/components/MarkdownMark.css.js.map +1 -1
  30. package/lib/esm/atomic/molecules/markdown/components/MarkdownMermaidBlock.js +1 -1
  31. package/lib/esm/atomic/molecules/markdown/components/MarkdownMermaidBlock.js.map +1 -1
  32. package/lib/esm/atomic/molecules/markdown/components/MarkdownParagraph.css.js.map +1 -1
  33. package/lib/esm/atomic/molecules/markdown/components/MarkdownStrong.css.js.map +1 -1
  34. package/lib/esm/atomic/molecules/markdown/components/MarkdownSubscript.css.js.map +1 -1
  35. package/lib/esm/atomic/molecules/markdown/components/MarkdownSuperscript.css.js.map +1 -1
  36. package/lib/esm/atomic/molecules/markdown/components/MarkdownTable.css.js.map +1 -1
  37. package/lib/esm/atomic/molecules/markdown/components/MarkdownTableCaption.css.js.map +1 -1
  38. package/lib/esm/atomic/molecules/markdown/components/MarkdownTableCell.css.js.map +1 -1
  39. package/lib/esm/atomic/molecules/markdown/components/MarkdownTableRow.css.js.map +1 -1
  40. package/lib/esm/atomic/molecules/markdown/components/MarkdownTaskListItem.css.js.map +1 -1
  41. package/lib/esm/atomic/molecules/markdown/components/MarkdownText.css.js.map +1 -1
  42. package/lib/esm/atomic/molecules/markdown/markdownVars.css.js +0 -1
  43. package/lib/esm/atomic/molecules/tabs/tabs.css.js.map +1 -1
  44. package/lib/esm/atomic/molecules/toast/toast.css.js.map +1 -1
  45. package/lib/esm/atomic/organisms/sidebar/navigationSidebar.css.js.map +1 -1
  46. package/lib/esm/atomic/organisms/sidebar/sidebar.css.js.map +1 -1
  47. package/lib/esm/backoffice/layout/backofficeLayoutTokens.js +1 -1
  48. package/lib/esm/backoffice/layout/backofficeLayoutTokens.js.map +1 -1
  49. package/lib/esm/backoffice/molecules/backoffice_filter_drawer/backofficeFilterDrawer.css.js.map +1 -1
  50. package/lib/esm/backoffice/molecules/backoffice_relations_menu/backofficeRelationsMenu.css.js.map +1 -1
  51. package/lib/esm/backoffice/molecules/backoffice_tabs/backofficeTabs.css.js +2 -2
  52. package/lib/esm/backoffice/molecules/backoffice_tabs/backofficeTabs.css.js.map +1 -1
  53. package/lib/esm/backoffice/molecules/filter_chip_row/filterChipRow.css.js.map +1 -1
  54. package/lib/esm/backoffice/molecules/sidebar_nav_item/sidebarNavItem.css.js +1 -1
  55. package/lib/esm/backoffice/molecules/sidebar_nav_item/sidebarNavItem.css.js.map +1 -1
  56. package/lib/esm/backoffice/molecules/sidebar_nav_section/sidebarNavSection.css.js.map +1 -1
  57. package/lib/esm/backoffice/molecules/sidebar_profile_menu/sidebarProfileMenu.css.js.map +1 -1
  58. package/lib/esm/backoffice/templates/detail_page_template/detailPageTemplate.css.js +1 -1
  59. package/lib/esm/backoffice/templates/list_page_template/listPageTemplate.css.js +1 -1
  60. package/lib/esm/backoffice/templates/list_page_template/listPageTemplate.css.js.map +1 -1
  61. package/lib/esm/components/charts/MetricHistoryChart.js +1 -1
  62. package/lib/esm/components/charts/MetricHistoryChart.js.map +1 -1
  63. package/lib/esm/components/charts/TimeSeriesLineChart.js +1 -1
  64. package/lib/esm/components/charts/TimeSeriesLineChart.js.map +1 -1
  65. package/lib/esm/components/dashboard/section_nav/SectionNav.css.js.map +1 -1
  66. package/lib/esm/components/dashboard/segmented_nav/SegmentedNav.css.js.map +1 -1
  67. package/lib/esm/components/data-table/DataTable.css.js +44 -44
  68. package/lib/esm/components/data-table/DataTable.css.js.map +1 -1
  69. package/lib/esm/components/data-table/ResponsiveRecordList.css.js +1 -1
  70. package/lib/esm/components/data-table/ResponsiveRecordList.css.js.map +1 -1
  71. package/lib/esm/components/data-table/VirtualizedConnectionTable.js +1 -1
  72. package/lib/esm/components/layout/PageShell.css.js.map +1 -1
  73. package/lib/esm/components/media/imagePreviewModal.css.js.map +1 -1
  74. package/lib/esm/components/routing/routePendingBar.css.js.map +1 -1
  75. package/lib/esm/components/select/SimpleSelect.css.js.map +1 -1
  76. package/lib/esm/index.js +255 -256
  77. package/lib/esm/shared/backofficeTableDensity.css.js +1 -1
  78. package/lib/esm/style.css +1 -1
  79. package/lib/esm/theme/ThemeProvider.js +28 -26
  80. package/lib/esm/theme/ThemeProvider.js.map +1 -1
  81. package/lib/esm/theme/backofficeTheme.css.js +4092 -0
  82. package/lib/esm/theme/backofficeTheme.css.js.map +1 -0
  83. package/lib/esm/theme/index.js +11 -11
  84. package/lib/esm/theme/publicTheme.css.js +4091 -0
  85. package/lib/esm/theme/publicTheme.css.js.map +1 -0
  86. package/lib/esm/theme/sprinkles.css.js.map +1 -1
  87. package/lib/esm/theme/theme.css.js +6129 -3
  88. package/lib/esm/theme/theme.css.js.map +1 -1
  89. package/lib/esm/theme/themeContract.css.js +2329 -0
  90. package/lib/esm/theme/themeContract.css.js.map +1 -0
  91. package/lib/types/admin/theme/BackofficeThemeProvider.d.ts +18 -0
  92. package/lib/types/admin/theme/BackofficeThemeProvider.d.ts.map +1 -0
  93. package/lib/types/components/data-table/DataTable.css.d.ts.map +1 -1
  94. package/lib/types/index.d.ts +1 -2
  95. package/lib/types/index.d.ts.map +1 -1
  96. package/lib/types/theme/ThemeProvider.d.ts +3 -1
  97. package/lib/types/theme/ThemeProvider.d.ts.map +1 -1
  98. package/lib/types/theme/backofficeTheme.css.d.ts +4291 -0
  99. package/lib/types/theme/backofficeTheme.css.d.ts.map +1 -0
  100. package/lib/types/theme/index.d.ts +1 -1
  101. package/lib/types/theme/index.d.ts.map +1 -1
  102. package/lib/types/theme/publicTheme.css.d.ts +4296 -0
  103. package/lib/types/theme/publicTheme.css.d.ts.map +1 -0
  104. package/lib/types/theme/theme.css.d.ts +3 -3
  105. package/lib/types/theme/theme.css.d.ts.map +1 -1
  106. package/lib/types/theme/{themeContract.d.ts → themeContract.css.d.ts} +1 -1
  107. package/lib/types/theme/{theme-light.css.d.ts.map → themeContract.css.d.ts.map} +1 -1
  108. package/package.json +3 -3
  109. package/lib/esm/admin/theme/AdminThemeProvider.js +0 -15
  110. package/lib/esm/admin/theme/AdminThemeProvider.js.map +0 -1
  111. package/lib/esm/admin/theme/adminTheme.css.js +0 -13
  112. package/lib/esm/admin/theme/adminTheme.css.js.map +0 -1
  113. package/lib/esm/theme/theme-dark.css.js +0 -8
  114. package/lib/esm/theme/theme-dark.css.js.map +0 -1
  115. package/lib/esm/theme/theme-light.css.js +0 -2049
  116. package/lib/esm/theme/theme-light.css.js.map +0 -1
  117. package/lib/esm/theme/themeContract.js +0 -1051
  118. package/lib/esm/theme/themeContract.js.map +0 -1
  119. package/lib/types/admin/theme/AdminThemeProvider.d.ts +0 -9
  120. package/lib/types/admin/theme/AdminThemeProvider.d.ts.map +0 -1
  121. package/lib/types/admin/theme/adminTheme.css.d.ts +0 -2
  122. package/lib/types/admin/theme/adminTheme.css.d.ts.map +0 -1
  123. package/lib/types/theme/theme-dark.css.d.ts +0 -2
  124. package/lib/types/theme/theme-dark.css.d.ts.map +0 -1
  125. package/lib/types/theme/theme-light.css.d.ts +0 -2146
  126. package/lib/types/theme/themeContract.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backofficeTheme.css.js","names":[],"sources":["../../../src/theme/backofficeTheme.css.ts"],"sourcesContent":["import { createTheme, style } from '@vanilla-extract/css';\n\nimport { publicLightThemeValues, type ThemeValues } from './publicTheme.css.js';\nimport { vars } from './themeContract.css.js';\n\nconst backofficeLightColors = {\n ...publicLightThemeValues.colors,\n background: '#F5F7FA',\n backgroundSecondary: '#EEF2F7',\n backgroundTertiary: '#E6ECF3',\n backgroundModifier: '#D8E0EB',\n surface: '#FFFFFF',\n surfaceSecondary: '#F8FAFD',\n surfaceMuted: '#EEF4FA',\n surfaceElevated: '#FFFFFF',\n text: '#101828',\n textSecondary: '#475467',\n textMuted: '#667085',\n border: '#D9E2EC',\n borderSubtle: '#E7EDF4',\n borderStrong: '#C5D0DE',\n borderLight: '#EEF2F6',\n primaryLight: 'rgba(178, 24, 79, 0.14)',\n brandLightGray: '#F6F8FB',\n infoLight: '#EAF3FF',\n successLight: '#EAF7EF',\n warningLight: '#FFF4DA',\n} as const;\n\nconst backofficeDarkColors = {\n ...publicLightThemeValues.colors,\n primaryLight: 'rgba(222, 63, 118, 0.24)',\n secondaryLight: '#143328',\n surface: '#121821',\n surfaceSecondary: '#171f2a',\n surfaceMuted: '#202a37',\n surfaceElevated: '#222d3b',\n background: '#0a0f16',\n backgroundSecondary: '#111822',\n backgroundTertiary: '#182230',\n backgroundModifier: '#2a3647',\n text: '#f3f6fb',\n textSecondary: '#c8d1df',\n textMuted: '#95a1b4',\n border: '#334155',\n borderSubtle: '#273244',\n borderStrong: '#475569',\n borderLight: '#3b4658',\n successLight: '#153624',\n warningLight: '#3a2b12',\n infoLight: '#142948',\n brandLightGray: '#18212c',\n brandDarkGray: '#f2f5fa',\n brandSecondaryOrange: '#c6846f',\n 'brandSecondaryOrange-10': 'rgba(198, 132, 111, 0.12)',\n 'brandSecondaryOrange-20': 'rgba(198, 132, 111, 0.22)',\n accent: '#d37c88',\n} as const;\n\nexport const backofficeLightThemeValues = {\n ...publicLightThemeValues,\n colors: backofficeLightColors,\n backgroundImage: {\n ...publicLightThemeValues.backgroundImage,\n pageShellSurface: `linear-gradient(180deg, ${backofficeLightColors.background} 0%, ${backofficeLightColors.backgroundSecondary} 100%)`,\n floatingChatSurface: `radial-gradient(circle at 0% 0%, ${backofficeLightColors['brandSecondaryOrange-10']} 0%, transparent 55%), linear-gradient(135deg, ${backofficeLightColors.surface} 0%, ${backofficeLightColors.surfaceSecondary} 100%)`,\n loadingShimmer: `linear-gradient(90deg, ${backofficeLightColors.surfaceMuted} 0%, ${backofficeLightColors.surfaceSecondary} 45%, ${backofficeLightColors.surfaceMuted} 90%)`,\n surfaceChrome: `linear-gradient(180deg, ${backofficeLightColors.surface} 0%, ${backofficeLightColors.surfaceSecondary} 100%)`,\n },\n boxShadow: {\n ...publicLightThemeValues.boxShadow,\n badgeInset: `inset 0 0 0 1px ${backofficeLightColors.borderSubtle}`,\n badgeDotRing: `0 0 0 2px ${backofficeLightColors.surface}`,\n primaryLightRing: `0 0 0 1px ${backofficeLightColors.primaryLight}`,\n primaryLightRingStrong: `0 0 0 2px ${backofficeLightColors.primaryLight}`,\n focusRing: `0 0 0 3px ${backofficeLightColors.primaryLight}`,\n focusRingBrand: `0 0 0 2px ${backofficeLightColors.brandSecondaryOrange}`,\n successLightRing: `0 0 0 2px ${backofficeLightColors.successLight}`,\n },\n stroke: {\n ...backofficeLightColors,\n none: 'none',\n },\n} as const satisfies ThemeValues;\n\nexport const backofficeDarkThemeValues = {\n ...publicLightThemeValues,\n colors: backofficeDarkColors,\n backgroundImage: {\n ...publicLightThemeValues.backgroundImage,\n pageShellSurface: `linear-gradient(180deg, ${backofficeDarkColors.background} 0%, ${backofficeDarkColors.backgroundSecondary} 100%)`,\n floatingChatSurface: `radial-gradient(circle at 0% 0%, ${backofficeDarkColors['brandSecondaryOrange-10']} 0%, transparent 55%), linear-gradient(135deg, ${backofficeDarkColors.surface} 0%, ${backofficeDarkColors.surfaceSecondary} 100%)`,\n loadingShimmer: `linear-gradient(90deg, ${backofficeDarkColors.surfaceMuted} 0%, ${backofficeDarkColors.surfaceSecondary} 45%, ${backofficeDarkColors.surfaceMuted} 90%)`,\n surfaceChrome: `linear-gradient(180deg, ${backofficeDarkColors.surface} 0%, ${backofficeDarkColors.surfaceSecondary} 100%)`,\n },\n boxShadow: {\n ...publicLightThemeValues.boxShadow,\n inkSoft: '0 6px 18px rgb(0 0 0 / 0.3)',\n inkGlow: '0 0 45px rgb(0 0 0 / 0.36)',\n brandCardGlow: `0 0px 72px color-mix(in srgb, ${backofficeDarkColors.black} 40%, transparent)`,\n authCardGlow: `0 0 96px color-mix(in srgb, ${backofficeDarkColors.black} 44%, transparent)`,\n profileDropdownShadow: `0 18px 36px color-mix(in srgb, ${backofficeDarkColors.black} 42%, transparent)`,\n badgeInset: `inset 0 0 0 1px ${backofficeDarkColors.borderSubtle}`,\n badgeDotRing: `0 0 0 2px ${backofficeDarkColors.surface}`,\n primaryInsetRing: `inset 0 0 0 1px ${backofficeDarkColors.primary}`,\n primaryLightRing: `0 0 0 1px ${backofficeDarkColors.primaryLight}`,\n primaryLightRingStrong: `0 0 0 2px ${backofficeDarkColors.primaryLight}`,\n focusRing: `0 0 0 3px ${backofficeDarkColors.primaryLight}`,\n focusRingError: `0 0 0 3px color-mix(in srgb, ${backofficeDarkColors.error} 24%, transparent)`,\n focusRingBrand: `0 0 0 2px ${backofficeDarkColors.brandSecondaryOrange}`,\n interactiveHover: `0 8px 18px color-mix(in srgb, ${backofficeDarkColors.black} 30%, transparent)`,\n interactivePressed: `0 2px 6px color-mix(in srgb, ${backofficeDarkColors.black} 38%, transparent)`,\n successLightRing: `0 0 0 2px ${backofficeDarkColors.successLight}`,\n sidebarActiveInset: `inset 2px 0 0 ${backofficeDarkColors['blue-400']}`,\n inner: 'inset 0 2px 4px 0 rgb(0 0 0 / 0.22)',\n },\n stroke: {\n ...backofficeDarkColors,\n none: 'none',\n },\n} as const satisfies ThemeValues;\n\nconst backofficeLightThemeVarsClass = createTheme(\n vars,\n backofficeLightThemeValues,\n);\nconst backofficeDarkThemeVarsClass = createTheme(\n vars,\n backofficeDarkThemeValues,\n);\n\nexport const backofficeLightThemeClass = style([\n backofficeLightThemeVarsClass,\n {\n colorScheme: 'light',\n backgroundColor: vars.colors.background,\n color: vars.colors.text,\n minHeight: '100vh',\n },\n]);\n\nexport const backofficeDarkThemeClass = style([\n backofficeDarkThemeVarsClass,\n {\n colorScheme: 'dark',\n backgroundColor: vars.colors.background,\n color: vars.colors.text,\n minHeight: '100vh',\n },\n]);\n"],"mappings":""}
@@ -1,12 +1,12 @@
1
1
  import { spin as e, spinAnimation as t, visuallyHidden as n } from "./accessibility.css.js";
2
- import { darkThemeClass as r, lightThemeClass as i, lightThemeValues as a } from "./theme.css.js";
3
- import { THEME_MODE_KEY as o, ThemeProvider as s, __test as c, useTheme as l } from "./ThemeProvider.js";
4
- import { cx as u, onlyDefinedStyles as d } from "./tools.js";
5
- import { VisuallyHidden as f } from "./VisuallyHidden.js";
6
- import { containerQueries as p } from "./containerQueries.js";
7
- import { colors as m, spacing as h, vars as g } from "./themeContract.js";
8
- import { brandFocusRing as _, controlFocusRing as v, disabledControl as y, entityReferenceLink as b, errorControlFocusRing as x, focusRing as S, ghostIconButton as C, iconBox as w, iconBoxCompact as T, insetFocusRing as E, interactiveControlSurface as D, interactiveLinkSurface as O, liftOnHover as k, loadingShimmer as A, pillLink as j, pressInteraction as M, surfaceInteractive as N, truncate as P } from "./styleRecipes.css.js";
9
- import { firstChildSprinkles as F, hoverSprinkles as I, sprinkles as L, stateSprinkles as R } from "./sprinkles.css.js";
10
- import { opacity as z, screens as B, spacing as V } from "./common.js";
11
- import { colors as H } from "./colors.js";
12
- export { o as THEME_MODE_KEY, s as ThemeProvider, f as VisuallyHidden, c as __test, _ as brandFocusRing, m as colors, p as containerQueries, v as controlFocusRing, u as cx, r as darkThemeClass, y as disabledControl, b as entityReferenceLink, x as errorControlFocusRing, F as firstChildSprinkles, S as focusRing, C as ghostIconButton, I as hoverSprinkles, w as iconBox, T as iconBoxCompact, E as insetFocusRing, D as interactiveControlSurface, O as interactiveLinkSurface, k as liftOnHover, i as lightThemeClass, a as lightThemeValues, A as loadingShimmer, d as onlyDefinedStyles, z as opacity, j as pillLink, M as pressInteraction, B as screens, h as spacing, e as spin, t as spinAnimation, L as sprinkles, R as stateSprinkles, N as surfaceInteractive, H as themeColorValues, V as themeSpacingValues, P as truncate, l as useTheme, g as vars, n as visuallyHidden };
2
+ import { backofficeDarkThemeClass as r, backofficeDarkThemeValues as i, backofficeLightThemeClass as a, backofficeLightThemeValues as o, publicDarkThemeClass as s, publicDarkThemeValues as c, publicLightThemeClass as l, publicLightThemeValues as u } from "./theme.css.js";
3
+ import { THEME_MODE_KEY as d, ThemeProvider as f, __test as p, useTheme as m } from "./ThemeProvider.js";
4
+ import { cx as h, onlyDefinedStyles as g } from "./tools.js";
5
+ import { VisuallyHidden as _ } from "./VisuallyHidden.js";
6
+ import { containerQueries as v } from "./containerQueries.js";
7
+ import { colors as y, spacing as b, vars as x } from "./themeContract.css.js";
8
+ import { brandFocusRing as S, controlFocusRing as C, disabledControl as w, entityReferenceLink as T, errorControlFocusRing as E, focusRing as D, ghostIconButton as O, iconBox as k, iconBoxCompact as A, insetFocusRing as j, interactiveControlSurface as M, interactiveLinkSurface as N, liftOnHover as P, loadingShimmer as F, pillLink as I, pressInteraction as L, surfaceInteractive as R, truncate as z } from "./styleRecipes.css.js";
9
+ import { firstChildSprinkles as B, hoverSprinkles as V, sprinkles as H, stateSprinkles as U } from "./sprinkles.css.js";
10
+ import { opacity as W, screens as G, spacing as K } from "./common.js";
11
+ import { colors as q } from "./colors.js";
12
+ export { d as THEME_MODE_KEY, f as ThemeProvider, _ as VisuallyHidden, p as __test, r as backofficeDarkThemeClass, i as backofficeDarkThemeValues, a as backofficeLightThemeClass, o as backofficeLightThemeValues, S as brandFocusRing, y as colors, v as containerQueries, C as controlFocusRing, h as cx, w as disabledControl, T as entityReferenceLink, E as errorControlFocusRing, B as firstChildSprinkles, D as focusRing, O as ghostIconButton, V as hoverSprinkles, k as iconBox, A as iconBoxCompact, j as insetFocusRing, M as interactiveControlSurface, N as interactiveLinkSurface, P as liftOnHover, F as loadingShimmer, g as onlyDefinedStyles, W as opacity, I as pillLink, L as pressInteraction, s as publicDarkThemeClass, c as publicDarkThemeValues, l as publicLightThemeClass, u as publicLightThemeValues, G as screens, b as spacing, e as spin, t as spinAnimation, H as sprinkles, U as stateSprinkles, R as surfaceInteractive, q as themeColorValues, K as themeSpacingValues, z as truncate, m as useTheme, x as vars, n as visuallyHidden };