@itwin/appui-abstract 4.10.0-dev.8 → 5.0.0-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/CHANGELOG.md +21 -1
  2. package/lib/cjs/appui-abstract/BaseUiItemsProvider.d.ts.map +1 -1
  3. package/lib/cjs/appui-abstract/BaseUiItemsProvider.js +1 -1
  4. package/lib/cjs/appui-abstract/BaseUiItemsProvider.js.map +1 -1
  5. package/lib/cjs/appui-abstract/UiItemsManager.d.ts +1 -4
  6. package/lib/cjs/appui-abstract/UiItemsManager.d.ts.map +1 -1
  7. package/lib/cjs/appui-abstract/UiItemsManager.js +1 -1
  8. package/lib/cjs/appui-abstract/UiItemsManager.js.map +1 -1
  9. package/lib/cjs/appui-abstract/UiItemsProvider.d.ts +1 -1
  10. package/lib/cjs/appui-abstract/UiItemsProvider.d.ts.map +1 -1
  11. package/lib/cjs/appui-abstract/UiItemsProvider.js.map +1 -1
  12. package/lib/cjs/appui-abstract/backstage/BackstageItem.d.ts.map +1 -1
  13. package/lib/cjs/appui-abstract/backstage/BackstageItem.js +2 -2
  14. package/lib/cjs/appui-abstract/backstage/BackstageItem.js.map +1 -1
  15. package/lib/cjs/appui-abstract/backstage/BackstageItemsManager.js.map +1 -1
  16. package/lib/cjs/appui-abstract/common/KeyboardKey.js +3 -3
  17. package/lib/cjs/appui-abstract/common/KeyboardKey.js.map +1 -1
  18. package/lib/cjs/appui-abstract/content/ContentLayoutProps.js.map +1 -1
  19. package/lib/cjs/appui-abstract/content/StandardContentLayouts.js +1 -1
  20. package/lib/cjs/appui-abstract/content/StandardContentLayouts.js.map +1 -1
  21. package/lib/cjs/appui-abstract/dialogs/DialogItem.d.ts.map +1 -1
  22. package/lib/cjs/appui-abstract/properties/EditorParams.d.ts +1 -1
  23. package/lib/cjs/appui-abstract/properties/EditorParams.d.ts.map +1 -1
  24. package/lib/cjs/appui-abstract/properties/EditorParams.js.map +1 -1
  25. package/lib/cjs/appui-abstract/properties/PrimitiveTypes.d.ts +1 -1
  26. package/lib/cjs/appui-abstract/properties/PrimitiveTypes.d.ts.map +1 -1
  27. package/lib/cjs/appui-abstract/properties/PrimitiveTypes.js.map +1 -1
  28. package/lib/cjs/appui-abstract/properties/Record.js.map +1 -1
  29. package/lib/cjs/appui-abstract/statusbar/StatusBarItem.d.ts.map +1 -1
  30. package/lib/cjs/appui-abstract/statusbar/StatusBarItem.js +3 -3
  31. package/lib/cjs/appui-abstract/statusbar/StatusBarItem.js.map +1 -1
  32. package/lib/cjs/appui-abstract/statusbar/StatusBarItemsManager.js.map +1 -1
  33. package/lib/cjs/appui-abstract/toolbars/ToolbarItem.d.ts.map +1 -1
  34. package/lib/cjs/appui-abstract/toolbars/ToolbarItem.js.map +1 -1
  35. package/lib/cjs/appui-abstract/toolbars/ToolbarItemsManager.js.map +1 -1
  36. package/lib/cjs/appui-abstract/utils/IconSpecUtilities.js +1 -1
  37. package/lib/cjs/appui-abstract/utils/IconSpecUtilities.js.map +1 -1
  38. package/lib/cjs/appui-abstract/utils/UiEventDispatcher.d.ts.map +1 -1
  39. package/lib/cjs/appui-abstract/utils/UiEventDispatcher.js +2 -3
  40. package/lib/cjs/appui-abstract/utils/UiEventDispatcher.js.map +1 -1
  41. package/lib/cjs/appui-abstract/utils/filter/filters.js +1 -2
  42. package/lib/cjs/appui-abstract/utils/filter/filters.js.map +1 -1
  43. package/lib/cjs/appui-abstract/widget/AbstractWidgetProps.js.map +1 -1
  44. package/lib/esm/appui-abstract/BaseUiItemsProvider.d.ts.map +1 -1
  45. package/lib/esm/appui-abstract/BaseUiItemsProvider.js +1 -1
  46. package/lib/esm/appui-abstract/BaseUiItemsProvider.js.map +1 -1
  47. package/lib/esm/appui-abstract/UiItemsManager.d.ts +1 -4
  48. package/lib/esm/appui-abstract/UiItemsManager.d.ts.map +1 -1
  49. package/lib/esm/appui-abstract/UiItemsManager.js +1 -1
  50. package/lib/esm/appui-abstract/UiItemsManager.js.map +1 -1
  51. package/lib/esm/appui-abstract/UiItemsProvider.d.ts +1 -1
  52. package/lib/esm/appui-abstract/UiItemsProvider.d.ts.map +1 -1
  53. package/lib/esm/appui-abstract/UiItemsProvider.js.map +1 -1
  54. package/lib/esm/appui-abstract/backstage/BackstageItem.d.ts.map +1 -1
  55. package/lib/esm/appui-abstract/backstage/BackstageItem.js +2 -2
  56. package/lib/esm/appui-abstract/backstage/BackstageItem.js.map +1 -1
  57. package/lib/esm/appui-abstract/backstage/BackstageItemsManager.js.map +1 -1
  58. package/lib/esm/appui-abstract/common/KeyboardKey.js +1 -1
  59. package/lib/esm/appui-abstract/common/KeyboardKey.js.map +1 -1
  60. package/lib/esm/appui-abstract/content/ContentLayoutProps.js.map +1 -1
  61. package/lib/esm/appui-abstract/content/StandardContentLayouts.js +1 -1
  62. package/lib/esm/appui-abstract/content/StandardContentLayouts.js.map +1 -1
  63. package/lib/esm/appui-abstract/dialogs/DialogItem.d.ts.map +1 -1
  64. package/lib/esm/appui-abstract/properties/EditorParams.d.ts +1 -1
  65. package/lib/esm/appui-abstract/properties/EditorParams.d.ts.map +1 -1
  66. package/lib/esm/appui-abstract/properties/EditorParams.js.map +1 -1
  67. package/lib/esm/appui-abstract/properties/PrimitiveTypes.d.ts +1 -1
  68. package/lib/esm/appui-abstract/properties/PrimitiveTypes.d.ts.map +1 -1
  69. package/lib/esm/appui-abstract/properties/PrimitiveTypes.js.map +1 -1
  70. package/lib/esm/appui-abstract/properties/Record.js.map +1 -1
  71. package/lib/esm/appui-abstract/statusbar/StatusBarItem.d.ts.map +1 -1
  72. package/lib/esm/appui-abstract/statusbar/StatusBarItem.js +3 -3
  73. package/lib/esm/appui-abstract/statusbar/StatusBarItem.js.map +1 -1
  74. package/lib/esm/appui-abstract/statusbar/StatusBarItemsManager.js.map +1 -1
  75. package/lib/esm/appui-abstract/toolbars/ToolbarItem.d.ts.map +1 -1
  76. package/lib/esm/appui-abstract/toolbars/ToolbarItem.js.map +1 -1
  77. package/lib/esm/appui-abstract/toolbars/ToolbarItemsManager.js.map +1 -1
  78. package/lib/esm/appui-abstract/utils/IconSpecUtilities.js +1 -1
  79. package/lib/esm/appui-abstract/utils/IconSpecUtilities.js.map +1 -1
  80. package/lib/esm/appui-abstract/utils/UiEventDispatcher.d.ts.map +1 -1
  81. package/lib/esm/appui-abstract/utils/UiEventDispatcher.js +2 -3
  82. package/lib/esm/appui-abstract/utils/UiEventDispatcher.js.map +1 -1
  83. package/lib/esm/appui-abstract/utils/filter/filters.js.map +1 -1
  84. package/lib/esm/appui-abstract/widget/AbstractWidgetProps.js.map +1 -1
  85. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../../../src/appui-abstract/utils/filter/filters.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Utilities\r\n */\r\n\r\n// file copied from https://github.com/microsoft/vscode/blob/master/src/vs/base/common/filters.ts\r\n/* eslint-disable deprecation/deprecation */\r\n\r\n/** Interface that returns indices of matches\r\n * @public @deprecated in 4.3.x. A rarely used interface. If needed, please add a custom implementation.\r\n */\r\nexport interface IMatch {\r\n start: number;\r\n end: number;\r\n}\r\n\r\nenum CharCode {\r\n Space = 32,\r\n Tab = 9,\r\n LineFeed = 10,\r\n CarriageReturn = 13\r\n}\r\n\r\nfunction isWhitespace(code: number): boolean {\r\n return (\r\n code === CharCode.Space\r\n || code === CharCode.Tab\r\n || code === CharCode.LineFeed\r\n || code === CharCode.CarriageReturn\r\n );\r\n}\r\nconst wordSeparators = new Set<number>();\r\n'`~!@#$%^&*()-=+[{]}\\\\|;:\\'\",.<>/?'\r\n .split(\"\")\r\n .forEach((s) => wordSeparators.add(s.charCodeAt(0)));\r\n\r\nfunction isWordSeparator(code: number): boolean {\r\n return isWhitespace(code) || wordSeparators.has(code);\r\n}\r\n\r\nfunction charactersMatch(codeA: number, codeB: number): boolean {\r\n return (codeA === codeB) || (isWordSeparator(codeA) && isWordSeparator(codeB));\r\n}\r\n\r\nfunction join(head: IMatch, tail: IMatch[]): IMatch[] {\r\n if (tail.length === 0) {\r\n tail = [head];\r\n } else if (head.end === tail[0].start) {\r\n tail[0].start = head.start;\r\n } else {\r\n tail.unshift(head);\r\n }\r\n return tail;\r\n}\r\n\r\n/**\r\n * Matches beginning of words supporting non-ASCII languages.\r\n * @param word Filter string\r\n * @param target String being searched\r\n * @param contiguous - If true the filter string must be found \"contiguous\" in the searched string (E.g. \"pul\" will match \"Git: Pull\").\r\n * Otherwise also matches sub string of the word with beginnings of the words in the target (e.g. \"gp\" or \"g p\" will match \"Git: Pull\").\r\n * Useful in cases where the target is words (e.g. command labels)\r\n * @internal @deprecated in 4.3. Use `matchesWords` from @itwin/core-react instead. Though internal, this requires deprecation due to known public usage in @itwin/core-react.\r\n */\r\nexport function matchesWords(word: string, target: string, contiguous: boolean = false): IMatch[] | null {\r\n if (!target || target.length === 0) {\r\n return null;\r\n }\r\n\r\n let result: IMatch[] | null = null;\r\n let i = 0;\r\n\r\n word = word.toLowerCase();\r\n target = target.toLowerCase();\r\n while (i < target.length && (result = _matchesWords(word, target, 0, i, contiguous)) === null) {\r\n i = nextWord(target, i + 1);\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction _matchesWords(word: string, target: string, i: number, j: number, contiguous: boolean): IMatch[] | null {\r\n if (i === word.length) {\r\n return [];\r\n } else if (j === target.length) {\r\n return null;\r\n } else if (!charactersMatch(word.charCodeAt(i), target.charCodeAt(j))) {\r\n return null;\r\n } else {\r\n let result: IMatch[] | null = null;\r\n let nextWordIndex = j + 1;\r\n result = _matchesWords(word, target, i + 1, j + 1, contiguous);\r\n // istanbul ignore else\r\n if (!contiguous) {\r\n while (!result && (nextWordIndex = nextWord(target, nextWordIndex)) < target.length) {\r\n result = _matchesWords(word, target, i + 1, nextWordIndex, contiguous);\r\n nextWordIndex++;\r\n }\r\n }\r\n return result === null ? null : join({ start: j, end: j + 1 }, result);\r\n }\r\n}\r\n\r\nfunction nextWord(word: string, start: number): number {\r\n for (let i = start; i < word.length; i++) {\r\n if (isWordSeparator(word.charCodeAt(i)) ||\r\n (i > 0 && isWordSeparator(word.charCodeAt(i - 1)))) {\r\n return i;\r\n }\r\n }\r\n return word.length;\r\n}\r\n"]}
1
+ {"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../../../src/appui-abstract/utils/filter/filters.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Utilities\r\n */\r\n\r\n// file copied from https://github.com/microsoft/vscode/blob/master/src/vs/base/common/filters.ts\r\n/* eslint-disable @typescript-eslint/no-deprecated */\r\n\r\n/** Interface that returns indices of matches\r\n * @public @deprecated in 4.3.x. A rarely used interface. If needed, please add a custom implementation.\r\n */\r\nexport interface IMatch {\r\n start: number;\r\n end: number;\r\n}\r\n\r\nenum CharCode {\r\n Space = 32,\r\n Tab = 9,\r\n LineFeed = 10,\r\n CarriageReturn = 13\r\n}\r\n\r\nfunction isWhitespace(code: number): boolean {\r\n return (\r\n code === CharCode.Space\r\n || code === CharCode.Tab\r\n || code === CharCode.LineFeed\r\n || code === CharCode.CarriageReturn\r\n );\r\n}\r\nconst wordSeparators = new Set<number>();\r\n'`~!@#$%^&*()-=+[{]}\\\\|;:\\'\",.<>/?'\r\n .split(\"\")\r\n .forEach((s) => wordSeparators.add(s.charCodeAt(0)));\r\n\r\nfunction isWordSeparator(code: number): boolean {\r\n return isWhitespace(code) || wordSeparators.has(code);\r\n}\r\n\r\nfunction charactersMatch(codeA: number, codeB: number): boolean {\r\n return (codeA === codeB) || (isWordSeparator(codeA) && isWordSeparator(codeB));\r\n}\r\n\r\nfunction join(head: IMatch, tail: IMatch[]): IMatch[] {\r\n if (tail.length === 0) {\r\n tail = [head];\r\n } else if (head.end === tail[0].start) {\r\n tail[0].start = head.start;\r\n } else {\r\n tail.unshift(head);\r\n }\r\n return tail;\r\n}\r\n\r\n/**\r\n * Matches beginning of words supporting non-ASCII languages.\r\n * @param word Filter string\r\n * @param target String being searched\r\n * @param contiguous - If true the filter string must be found \"contiguous\" in the searched string (E.g. \"pul\" will match \"Git: Pull\").\r\n * Otherwise also matches sub string of the word with beginnings of the words in the target (e.g. \"gp\" or \"g p\" will match \"Git: Pull\").\r\n * Useful in cases where the target is words (e.g. command labels)\r\n * @internal @deprecated in 4.3. Use `matchesWords` from @itwin/core-react instead. Though internal, this requires deprecation due to known public usage in @itwin/core-react.\r\n */\r\nexport function matchesWords(word: string, target: string, contiguous: boolean = false): IMatch[] | null {\r\n if (!target || target.length === 0) {\r\n return null;\r\n }\r\n\r\n let result: IMatch[] | null = null;\r\n let i = 0;\r\n\r\n word = word.toLowerCase();\r\n target = target.toLowerCase();\r\n while (i < target.length && (result = _matchesWords(word, target, 0, i, contiguous)) === null) {\r\n i = nextWord(target, i + 1);\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction _matchesWords(word: string, target: string, i: number, j: number, contiguous: boolean): IMatch[] | null {\r\n if (i === word.length) {\r\n return [];\r\n } else if (j === target.length) {\r\n return null;\r\n } else if (!charactersMatch(word.charCodeAt(i), target.charCodeAt(j))) {\r\n return null;\r\n } else {\r\n let result: IMatch[] | null = null;\r\n let nextWordIndex = j + 1;\r\n result = _matchesWords(word, target, i + 1, j + 1, contiguous);\r\n // istanbul ignore else\r\n if (!contiguous) {\r\n while (!result && (nextWordIndex = nextWord(target, nextWordIndex)) < target.length) {\r\n result = _matchesWords(word, target, i + 1, nextWordIndex, contiguous);\r\n nextWordIndex++;\r\n }\r\n }\r\n return result === null ? null : join({ start: j, end: j + 1 }, result);\r\n }\r\n}\r\n\r\nfunction nextWord(word: string, start: number): number {\r\n for (let i = start; i < word.length; i++) {\r\n if (isWordSeparator(word.charCodeAt(i)) ||\r\n (i > 0 && isWordSeparator(word.charCodeAt(i - 1)))) {\r\n return i;\r\n }\r\n }\r\n return word.length;\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractWidgetProps.js","sourceRoot":"","sources":["../../../../src/appui-abstract/widget/AbstractWidgetProps.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Widget\r\n */\r\n\r\nimport { ConditionalStringValue } from \"../items/ConditionalStringValue\";\r\nimport { BadgeType } from \"../items/BadgeType\";\r\nimport { ProvidedItem } from \"../items/ProvidedItem\";\r\nimport { WidgetState } from \"./WidgetState\";\r\n\r\n/** Properties for a Widget.\r\n * @deprecated in 3.6. Use [Widget]($appui-react) instead.\r\n * @public\r\n */\r\nexport interface AbstractWidgetProps extends ProvidedItem { // eslint-disable-line deprecation/deprecation\r\n /** Gets the widget content. */\r\n readonly getWidgetContent: () => any;\r\n /** Name of icon WebFont entry or if specifying an imported SVG symbol use \"webSvg:\" prefix to imported symbol Id. */\r\n readonly icon?: string | ConditionalStringValue;\r\n /** Id used to uniquely identify the widget.\r\n * @note It is recommended to provide unique widget id to correctly save/restore App layout.\r\n */\r\n readonly id?: string;\r\n /** Default Widget state. Controls how the Widget is initially displayed. Defaults to WidgetState.Unloaded. */\r\n readonly defaultState?: WidgetState; // eslint-disable-line deprecation/deprecation\r\n /** if set, component will be considered selected but will NOT display an \"active stripe\" - defaults to false. Typically used by buttons that toggle between two states. */\r\n readonly label?: string | ConditionalStringValue;\r\n /** used to explicitly set the tooltip shown by a component. */\r\n readonly tooltip?: string | ConditionalStringValue;\r\n /** Indicates whether the Widget is free-form or rectangular. Defaults to false for rectangular. The default is false.\r\n * @deprecated in 3.0. Free-form widgets are obsolete.\r\n * */\r\n readonly isFreeform?: boolean;\r\n /** Application data attached to the Widget. */\r\n readonly applicationData?: any;\r\n /** optional data to used by item implementor. */\r\n readonly internalData?: Map<string, any>;\r\n /** Indicates whether this Widget is for the Tool Settings. */\r\n readonly isToolSettings?: boolean;\r\n /** Indicates whether this Widget is for the Status Bar. */\r\n readonly isStatusBar?: boolean;\r\n /** Indicates whether this Widget should fill the available space in the Zone. */\r\n readonly fillZone?: boolean;\r\n /** Indicates if widget can be popped out to a child window. Defaults to false. */\r\n readonly canPopout?: boolean;\r\n /** If the widget state is changed to `floating` and the floatingContainerId is defined, the widget will be added to a\r\n * floating panel by that name. If no name is specified, a GUID is used. */\r\n readonly floatingContainerId?: string;\r\n /** Indicates if widget can be in floating state, default to true. */\r\n readonly isFloatingStateSupported?: boolean;\r\n /** Indicates if floating widget is resizable, defaults to false which caused the widget to be auto-sized.. */\r\n readonly isFloatingStateWindowResizable?: boolean;\r\n /** Defines that default Top Left position when widget is floated via API calls */\r\n readonly defaultFloatingPosition?: { x: number, y: number };\r\n /** Widget priority */\r\n readonly priority?: number;\r\n /** Defines the SyncUi event Ids that will trigger the stateFunc to run to determine the state of the widget. */\r\n readonly syncEventIds?: string[];\r\n /** Function executed to determine the state of the widget.\r\n * Used by UI 1.0 widgets ONLY.\r\n * @deprecated in 3.3. UI 1.0 support will be removed in AppUi 4.0.\r\n */\r\n readonly stateFunc?: (state: Readonly<WidgetState>) => WidgetState; // eslint-disable-line deprecation/deprecation\r\n /** Badge to be overlaid on the widget tab. */\r\n readonly badgeType?: BadgeType;\r\n /** Handler for widget state changed event */\r\n readonly onWidgetStateChanged?: () => void;\r\n /** Save transient DOM state (i.e. scroll offset). */\r\n readonly saveTransientState?: () => void;\r\n /** Restore transient DOM state.\r\n * @note Return true if the state is restored or the Widget will remount.\r\n */\r\n readonly restoreTransientState?: () => boolean;\r\n /** Optional default size to use when floating a widget. If not specified then the default is to size to content if possible.\r\n * Certain widget can't be intrinsically sized and must specify a content. These are typically ones that use a canvas element\r\n * internally. */\r\n defaultFloatingSize?: { width: number, height: number };\r\n /** Optional prop that tells the widget system to fade this widget out with the rest of the UI when it is in floating state */\r\n hideWithUiWhenFloating?: boolean;\r\n /** Optional prop specifying which Panel sides can be docking targets for this widget. If this prop is not specified, all sides are allowed.\r\n * An empty array is treated the same as an undefined prop, allowing all targets. */\r\n readonly allowedPanelTargets?: ReadonlyArray<\"left\"|\"right\"|\"bottom\"|\"top\">;\r\n}\r\n"]}
1
+ {"version":3,"file":"AbstractWidgetProps.js","sourceRoot":"","sources":["../../../../src/appui-abstract/widget/AbstractWidgetProps.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Widget\r\n */\r\n\r\nimport { ConditionalStringValue } from \"../items/ConditionalStringValue\";\r\nimport { BadgeType } from \"../items/BadgeType\";\r\nimport { ProvidedItem } from \"../items/ProvidedItem\";\r\nimport { WidgetState } from \"./WidgetState\";\r\n\r\n/** Properties for a Widget.\r\n * @deprecated in 3.6. Use [Widget]($appui-react) instead.\r\n * @public\r\n */\r\nexport interface AbstractWidgetProps extends ProvidedItem { // eslint-disable-line @typescript-eslint/no-deprecated\r\n /** Gets the widget content. */\r\n readonly getWidgetContent: () => any;\r\n /** Name of icon WebFont entry or if specifying an imported SVG symbol use \"webSvg:\" prefix to imported symbol Id. */\r\n readonly icon?: string | ConditionalStringValue;\r\n /** Id used to uniquely identify the widget.\r\n * @note It is recommended to provide unique widget id to correctly save/restore App layout.\r\n */\r\n readonly id?: string;\r\n /** Default Widget state. Controls how the Widget is initially displayed. Defaults to WidgetState.Unloaded. */\r\n readonly defaultState?: WidgetState; // eslint-disable-line @typescript-eslint/no-deprecated\r\n /** if set, component will be considered selected but will NOT display an \"active stripe\" - defaults to false. Typically used by buttons that toggle between two states. */\r\n readonly label?: string | ConditionalStringValue;\r\n /** used to explicitly set the tooltip shown by a component. */\r\n readonly tooltip?: string | ConditionalStringValue;\r\n /** Indicates whether the Widget is free-form or rectangular. Defaults to false for rectangular. The default is false.\r\n * @deprecated in 3.0. Free-form widgets are obsolete.\r\n * */\r\n readonly isFreeform?: boolean;\r\n /** Application data attached to the Widget. */\r\n readonly applicationData?: any;\r\n /** optional data to used by item implementor. */\r\n readonly internalData?: Map<string, any>;\r\n /** Indicates whether this Widget is for the Tool Settings. */\r\n readonly isToolSettings?: boolean;\r\n /** Indicates whether this Widget is for the Status Bar. */\r\n readonly isStatusBar?: boolean;\r\n /** Indicates whether this Widget should fill the available space in the Zone. */\r\n readonly fillZone?: boolean;\r\n /** Indicates if widget can be popped out to a child window. Defaults to false. */\r\n readonly canPopout?: boolean;\r\n /** If the widget state is changed to `floating` and the floatingContainerId is defined, the widget will be added to a\r\n * floating panel by that name. If no name is specified, a GUID is used. */\r\n readonly floatingContainerId?: string;\r\n /** Indicates if widget can be in floating state, default to true. */\r\n readonly isFloatingStateSupported?: boolean;\r\n /** Indicates if floating widget is resizable, defaults to false which caused the widget to be auto-sized.. */\r\n readonly isFloatingStateWindowResizable?: boolean;\r\n /** Defines that default Top Left position when widget is floated via API calls */\r\n readonly defaultFloatingPosition?: { x: number, y: number };\r\n /** Widget priority */\r\n readonly priority?: number;\r\n /** Defines the SyncUi event Ids that will trigger the stateFunc to run to determine the state of the widget. */\r\n readonly syncEventIds?: string[];\r\n /** Function executed to determine the state of the widget.\r\n * Used by UI 1.0 widgets ONLY.\r\n * @deprecated in 3.3. UI 1.0 support will be removed in AppUi 4.0.\r\n */\r\n readonly stateFunc?: (state: Readonly<WidgetState>) => WidgetState; // eslint-disable-line @typescript-eslint/no-deprecated\r\n /** Badge to be overlaid on the widget tab. */\r\n readonly badgeType?: BadgeType;\r\n /** Handler for widget state changed event */\r\n readonly onWidgetStateChanged?: () => void;\r\n /** Save transient DOM state (i.e. scroll offset). */\r\n readonly saveTransientState?: () => void;\r\n /** Restore transient DOM state.\r\n * @note Return true if the state is restored or the Widget will remount.\r\n */\r\n readonly restoreTransientState?: () => boolean;\r\n /** Optional default size to use when floating a widget. If not specified then the default is to size to content if possible.\r\n * Certain widget can't be intrinsically sized and must specify a content. These are typically ones that use a canvas element\r\n * internally. */\r\n defaultFloatingSize?: { width: number, height: number };\r\n /** Optional prop that tells the widget system to fade this widget out with the rest of the UI when it is in floating state */\r\n hideWithUiWhenFloating?: boolean;\r\n /** Optional prop specifying which Panel sides can be docking targets for this widget. If this prop is not specified, all sides are allowed.\r\n * An empty array is treated the same as an undefined prop, allowing all targets. */\r\n readonly allowedPanelTargets?: ReadonlyArray<\"left\"|\"right\"|\"bottom\"|\"top\">;\r\n}\r\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itwin/appui-abstract",
3
- "version": "4.10.0-dev.8",
3
+ "version": "5.0.0-dev.0",
4
4
  "description": "iTwin.js UI abstractions",
5
5
  "main": "lib/cjs/appui-abstract.js",
6
6
  "module": "lib/esm/appui-abstract.js",
@@ -22,14 +22,14 @@
22
22
  "url": "http://www.bentley.com"
23
23
  },
24
24
  "peerDependencies": {
25
- "@itwin/core-bentley": "^4.10.0-dev.8"
25
+ "@itwin/core-bentley": "^5.0.0-dev.0"
26
26
  },
27
27
  "//devDependencies": [
28
28
  "NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install",
29
29
  "NOTE: All tools used by scripts in this package must be listed as devDependencies"
30
30
  ],
31
31
  "devDependencies": {
32
- "@itwin/eslint-plugin": "^4.0.2",
32
+ "@itwin/eslint-plugin": "5.0.0-dev.1",
33
33
  "@types/chai": "4.3.1",
34
34
  "@types/mocha": "^10.0.6",
35
35
  "@types/sinon": "^17.0.2",
@@ -38,7 +38,7 @@
38
38
  "babel-plugin-istanbul": "~6.1.1",
39
39
  "chai": "^4.3.10",
40
40
  "cpx2": "^3.0.0",
41
- "eslint": "^8.56.0",
41
+ "eslint": "^9.13.0",
42
42
  "glob": "^10.3.12",
43
43
  "ignore-styles": "^5.0.1",
44
44
  "mocha": "^10.2.0",
@@ -47,11 +47,11 @@
47
47
  "sinon": "^17.0.2",
48
48
  "sinon-chai": "^3.7.0",
49
49
  "source-map-loader": "^4.0.0",
50
- "typescript": "~5.3.3",
50
+ "typescript": "~5.6.2",
51
51
  "webpack": "^5.76.0",
52
- "@itwin/build-tools": "4.10.0-dev.8",
53
- "@itwin/core-bentley": "4.10.0-dev.8",
54
- "@itwin/certa": "4.10.0-dev.8"
52
+ "@itwin/build-tools": "5.0.0-dev.0",
53
+ "@itwin/core-bentley": "5.0.0-dev.0",
54
+ "@itwin/certa": "5.0.0-dev.0"
55
55
  },
56
56
  "//dependencies": [
57
57
  "NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API",
@@ -66,7 +66,7 @@
66
66
  "clean": "rimraf lib .rush/temp/package-deps*.json",
67
67
  "cover": "npm -s test",
68
68
  "docs": "betools docs --includes=../../generated-docs/extract --json=../../generated-docs/ui/appui-abstract/file.json --tsIndexFile=./appui-abstract.ts --onlyJson",
69
- "lint": "eslint -f visualstudio \"./src/**/*.ts\" 1>&2",
69
+ "lint": "eslint \"./src/**/*.ts\" 1>&2",
70
70
  "extract-api": "betools extract-api --entry=appui-abstract",
71
71
  "test": "npm run -s webpackTests && certa -r chrome",
72
72
  "test:watch": "npm -s test -- --reporter min --watch-extensions ts --watch",