@limetech/lime-crm-building-blocks 1.93.2 → 1.94.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 (75) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/cjs/lime-crm-building-blocks.cjs.js +1 -1
  3. package/dist/cjs/limebb-feed-timeline-item.cjs.entry.js +1 -1
  4. package/dist/cjs/limebb-lime-query-builder.cjs.entry.js +705 -0
  5. package/dist/cjs/limebb-live-docs-info.cjs.entry.js +2 -2
  6. package/dist/cjs/limebb-locale-picker.cjs.entry.js +1 -1
  7. package/dist/cjs/limebb-mention-group-counter.cjs.entry.js +2 -2
  8. package/dist/cjs/limebb-navigation-button_2.cjs.entry.js +3 -3
  9. package/dist/cjs/limebb-notification-item.cjs.entry.js +1 -1
  10. package/dist/cjs/limebb-percentage-visualizer.cjs.entry.js +2 -2
  11. package/dist/cjs/limebb-text-editor.cjs.entry.js +1 -1
  12. package/dist/cjs/limebb-trend-indicator.cjs.entry.js +1 -1
  13. package/dist/cjs/loader.cjs.js +1 -1
  14. package/dist/collection/collection-manifest.json +1 -0
  15. package/dist/collection/components/feed/feed-item/feed-timeline-item.css +1 -1
  16. package/dist/collection/components/lime-query-builder/filter-conversion.js +158 -0
  17. package/dist/collection/components/lime-query-builder/lime-query-builder.css +110 -0
  18. package/dist/collection/components/lime-query-builder/lime-query-builder.js +248 -0
  19. package/dist/collection/components/lime-query-builder/lime-query-validation.js +379 -0
  20. package/dist/collection/components/lime-query-builder/lime-query.types.js +57 -0
  21. package/dist/collection/components/lime-query-builder/property-resolution.js +61 -0
  22. package/dist/collection/components/lime-query-builder/property-types.js +27 -0
  23. package/dist/collection/components/limeobject/file-viewer/live-docs-info.js +2 -2
  24. package/dist/collection/components/locale-picker/locale-picker.js +1 -1
  25. package/dist/collection/components/notification-list/notification-item/notification-item.js +1 -1
  26. package/dist/collection/components/percentage-visualizer/percentage-visualizer.js +2 -2
  27. package/dist/collection/components/summary-popover/summary-popover.js +3 -3
  28. package/dist/collection/components/text-editor/mention-group-counter.js +2 -2
  29. package/dist/collection/components/text-editor/text-editor.js +1 -1
  30. package/dist/collection/components/trend-indicator/trend-indicator.js +1 -1
  31. package/dist/collection/util/limetype.js +38 -0
  32. package/dist/components/feed-timeline-item.js +1 -1
  33. package/dist/components/limebb-lime-query-builder.d.ts +11 -0
  34. package/dist/components/limebb-lime-query-builder.js +727 -0
  35. package/dist/components/limebb-locale-picker.js +1 -1
  36. package/dist/components/limebb-mention-group-counter.js +2 -2
  37. package/dist/components/limebb-percentage-visualizer.js +2 -2
  38. package/dist/components/limebb-text-editor.js +1 -1
  39. package/dist/components/limebb-trend-indicator.js +1 -1
  40. package/dist/components/live-docs-info.js +2 -2
  41. package/dist/components/notification-item.js +1 -1
  42. package/dist/components/summary-popover.js +3 -3
  43. package/dist/esm/lime-crm-building-blocks.js +1 -1
  44. package/dist/esm/limebb-feed-timeline-item.entry.js +1 -1
  45. package/dist/esm/limebb-lime-query-builder.entry.js +701 -0
  46. package/dist/esm/limebb-live-docs-info.entry.js +2 -2
  47. package/dist/esm/limebb-locale-picker.entry.js +1 -1
  48. package/dist/esm/limebb-mention-group-counter.entry.js +2 -2
  49. package/dist/esm/limebb-navigation-button_2.entry.js +3 -3
  50. package/dist/esm/limebb-notification-item.entry.js +1 -1
  51. package/dist/esm/limebb-percentage-visualizer.entry.js +2 -2
  52. package/dist/esm/limebb-text-editor.entry.js +1 -1
  53. package/dist/esm/limebb-trend-indicator.entry.js +1 -1
  54. package/dist/esm/loader.js +1 -1
  55. package/dist/lime-crm-building-blocks/lime-crm-building-blocks.esm.js +1 -1
  56. package/dist/lime-crm-building-blocks/{p-e3c0183c.entry.js → p-047c89de.entry.js} +1 -1
  57. package/dist/lime-crm-building-blocks/{p-efc9d455.entry.js → p-29346b1a.entry.js} +1 -1
  58. package/dist/lime-crm-building-blocks/p-4ccce5cc.entry.js +1 -0
  59. package/dist/lime-crm-building-blocks/{p-8274ea5c.entry.js → p-7db8652e.entry.js} +1 -1
  60. package/dist/lime-crm-building-blocks/{p-98c63d2d.entry.js → p-7ef3bace.entry.js} +1 -1
  61. package/dist/lime-crm-building-blocks/{p-5f336ee9.entry.js → p-85e11ff7.entry.js} +1 -1
  62. package/dist/lime-crm-building-blocks/{p-df6ff5d6.entry.js → p-8ef39ab8.entry.js} +1 -1
  63. package/dist/lime-crm-building-blocks/{p-aac46e3c.entry.js → p-abf1c197.entry.js} +1 -1
  64. package/dist/lime-crm-building-blocks/{p-c56f158d.entry.js → p-cc1abcd7.entry.js} +1 -1
  65. package/dist/lime-crm-building-blocks/{p-5821e0c8.entry.js → p-d6a07ea4.entry.js} +1 -1
  66. package/dist/types/components/lime-query-builder/filter-conversion.d.ts +13 -0
  67. package/dist/types/components/lime-query-builder/lime-query-builder.d.ts +57 -0
  68. package/dist/types/components/lime-query-builder/lime-query-validation.d.ts +58 -0
  69. package/dist/types/components/lime-query-builder/lime-query.types.d.ts +140 -0
  70. package/dist/types/components/lime-query-builder/property-resolution.d.ts +17 -0
  71. package/dist/types/components/lime-query-builder/property-types.d.ts +4 -0
  72. package/dist/types/components.d.ts +122 -0
  73. package/dist/types/util/feature-switches.d.ts +1 -0
  74. package/dist/types/util/limetype.d.ts +17 -0
  75. package/package.json +3 -3
@@ -15,6 +15,7 @@ import { DateTimeFormat, NumberFormat, RelativeDateTimeFormat } from "./componen
15
15
  import { InfoTile } from "./components/info-tile/info-tile";
16
16
  import { KanbanGroup } from "./components/kanban/kanban-group/kanban-group.types";
17
17
  import { KanbanItem } from "./components/kanban/kanban-item/kanban-item.types";
18
+ import { LimeQuery } from "./components/lime-query-builder/lime-query.types";
18
19
  import { LanguagePickerType } from "./components/locale-picker/language-picker.types";
19
20
  import { NavigationButtonType } from "./components/navigation-button/navigation-button.types";
20
21
  import { NotificationItem } from "./components/notification-list/notification-item/notification-item.types";
@@ -30,6 +31,7 @@ export { DateTimeFormat, NumberFormat, RelativeDateTimeFormat } from "./componen
30
31
  export { InfoTile } from "./components/info-tile/info-tile";
31
32
  export { KanbanGroup } from "./components/kanban/kanban-group/kanban-group.types";
32
33
  export { KanbanItem } from "./components/kanban/kanban-item/kanban-item.types";
34
+ export { LimeQuery } from "./components/lime-query-builder/lime-query.types";
33
35
  export { LanguagePickerType } from "./components/locale-picker/language-picker.types";
34
36
  export { NavigationButtonType } from "./components/navigation-button/navigation-button.types";
35
37
  export { NotificationItem } from "./components/notification-list/notification-item/notification-item.types";
@@ -866,6 +868,38 @@ export namespace Components {
866
868
  */
867
869
  "platform": LimeWebComponentPlatform;
868
870
  }
871
+ /**
872
+ * Lime Query Builder Component
873
+ * A code editor for constructing Lime Query DSL queries in JSON format.
874
+ * Features:
875
+ * - **JSON code editor**: Write queries using the Lime Query DSL
876
+ * - **Syntax validation**: Real-time validation of query structure
877
+ * - **Feature flag support**: GUI mode placeholder (not yet implemented)
878
+ * The component allows editing of complete `LimeQuery` objects that can be sent
879
+ * directly to the Lime CRM backend.
880
+ * When the feature flag `useLimeQueryBuilderGuiMode` is enabled, a mode toggle
881
+ * becomes available, but GUI mode currently shows a placeholder message.
882
+ * @exampleComponent limebb-example-lime-query-builder-basic
883
+ * @private
884
+ */
885
+ interface LimebbLimeQueryBuilder {
886
+ /**
887
+ * Component context
888
+ */
889
+ "context": LimeWebComponentContext;
890
+ /**
891
+ * Optional label for the Lime Query builder
892
+ */
893
+ "label": string;
894
+ /**
895
+ * Platform service provider
896
+ */
897
+ "platform": LimeWebComponentPlatform;
898
+ /**
899
+ * The complete Lime Query object
900
+ */
901
+ "value": LimeQuery;
902
+ }
869
903
  /**
870
904
  * Component for displaying the contents of an attached file on a limeobject
871
905
  * Example use case is to use it as a tab on the document card
@@ -1514,6 +1548,10 @@ export interface LimebbKanbanItemCustomEvent<T> extends CustomEvent<T> {
1514
1548
  detail: T;
1515
1549
  target: HTMLLimebbKanbanItemElement;
1516
1550
  }
1551
+ export interface LimebbLimeQueryBuilderCustomEvent<T> extends CustomEvent<T> {
1552
+ detail: T;
1553
+ target: HTMLLimebbLimeQueryBuilderElement;
1554
+ }
1517
1555
  export interface LimebbLoaderCustomEvent<T> extends CustomEvent<T> {
1518
1556
  detail: T;
1519
1557
  target: HTMLLimebbLoaderElement;
@@ -2104,6 +2142,37 @@ declare global {
2104
2142
  prototype: HTMLLimebbKanbanItemElement;
2105
2143
  new (): HTMLLimebbKanbanItemElement;
2106
2144
  };
2145
+ interface HTMLLimebbLimeQueryBuilderElementEventMap {
2146
+ "change": LimeQuery;
2147
+ }
2148
+ /**
2149
+ * Lime Query Builder Component
2150
+ * A code editor for constructing Lime Query DSL queries in JSON format.
2151
+ * Features:
2152
+ * - **JSON code editor**: Write queries using the Lime Query DSL
2153
+ * - **Syntax validation**: Real-time validation of query structure
2154
+ * - **Feature flag support**: GUI mode placeholder (not yet implemented)
2155
+ * The component allows editing of complete `LimeQuery` objects that can be sent
2156
+ * directly to the Lime CRM backend.
2157
+ * When the feature flag `useLimeQueryBuilderGuiMode` is enabled, a mode toggle
2158
+ * becomes available, but GUI mode currently shows a placeholder message.
2159
+ * @exampleComponent limebb-example-lime-query-builder-basic
2160
+ * @private
2161
+ */
2162
+ interface HTMLLimebbLimeQueryBuilderElement extends Components.LimebbLimeQueryBuilder, HTMLStencilElement {
2163
+ addEventListener<K extends keyof HTMLLimebbLimeQueryBuilderElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryBuilderElement, ev: LimebbLimeQueryBuilderCustomEvent<HTMLLimebbLimeQueryBuilderElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2164
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2165
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2166
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2167
+ removeEventListener<K extends keyof HTMLLimebbLimeQueryBuilderElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryBuilderElement, ev: LimebbLimeQueryBuilderCustomEvent<HTMLLimebbLimeQueryBuilderElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2168
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2169
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2170
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2171
+ }
2172
+ var HTMLLimebbLimeQueryBuilderElement: {
2173
+ prototype: HTMLLimebbLimeQueryBuilderElement;
2174
+ new (): HTMLLimebbLimeQueryBuilderElement;
2175
+ };
2107
2176
  /**
2108
2177
  * Component for displaying the contents of an attached file on a limeobject
2109
2178
  * Example use case is to use it as a tab on the document card
@@ -2485,6 +2554,7 @@ declare global {
2485
2554
  "limebb-kanban": HTMLLimebbKanbanElement;
2486
2555
  "limebb-kanban-group": HTMLLimebbKanbanGroupElement;
2487
2556
  "limebb-kanban-item": HTMLLimebbKanbanItemElement;
2557
+ "limebb-lime-query-builder": HTMLLimebbLimeQueryBuilderElement;
2488
2558
  "limebb-limeobject-file-viewer": HTMLLimebbLimeobjectFileViewerElement;
2489
2559
  "limebb-live-docs-info": HTMLLimebbLiveDocsInfoElement;
2490
2560
  "limebb-loader": HTMLLimebbLoaderElement;
@@ -3417,6 +3487,42 @@ declare namespace LocalJSX {
3417
3487
  */
3418
3488
  "platform": LimeWebComponentPlatform;
3419
3489
  }
3490
+ /**
3491
+ * Lime Query Builder Component
3492
+ * A code editor for constructing Lime Query DSL queries in JSON format.
3493
+ * Features:
3494
+ * - **JSON code editor**: Write queries using the Lime Query DSL
3495
+ * - **Syntax validation**: Real-time validation of query structure
3496
+ * - **Feature flag support**: GUI mode placeholder (not yet implemented)
3497
+ * The component allows editing of complete `LimeQuery` objects that can be sent
3498
+ * directly to the Lime CRM backend.
3499
+ * When the feature flag `useLimeQueryBuilderGuiMode` is enabled, a mode toggle
3500
+ * becomes available, but GUI mode currently shows a placeholder message.
3501
+ * @exampleComponent limebb-example-lime-query-builder-basic
3502
+ * @private
3503
+ */
3504
+ interface LimebbLimeQueryBuilder {
3505
+ /**
3506
+ * Component context
3507
+ */
3508
+ "context"?: LimeWebComponentContext;
3509
+ /**
3510
+ * Optional label for the Lime Query builder
3511
+ */
3512
+ "label"?: string;
3513
+ /**
3514
+ * Emitted when the Lime Query changes
3515
+ */
3516
+ "onChange"?: (event: LimebbLimeQueryBuilderCustomEvent<LimeQuery>) => void;
3517
+ /**
3518
+ * Platform service provider
3519
+ */
3520
+ "platform"?: LimeWebComponentPlatform;
3521
+ /**
3522
+ * The complete Lime Query object
3523
+ */
3524
+ "value"?: LimeQuery;
3525
+ }
3420
3526
  /**
3421
3527
  * Component for displaying the contents of an attached file on a limeobject
3422
3528
  * Example use case is to use it as a tab on the document card
@@ -4055,6 +4161,7 @@ declare namespace LocalJSX {
4055
4161
  "limebb-kanban": LimebbKanban;
4056
4162
  "limebb-kanban-group": LimebbKanbanGroup;
4057
4163
  "limebb-kanban-item": LimebbKanbanItem;
4164
+ "limebb-lime-query-builder": LimebbLimeQueryBuilder;
4058
4165
  "limebb-limeobject-file-viewer": LimebbLimeobjectFileViewer;
4059
4166
  "limebb-live-docs-info": LimebbLiveDocsInfo;
4060
4167
  "limebb-loader": LimebbLoader;
@@ -4326,6 +4433,21 @@ declare module "@stencil/core" {
4326
4433
  * @private
4327
4434
  */
4328
4435
  "limebb-kanban-item": LocalJSX.LimebbKanbanItem & JSXBase.HTMLAttributes<HTMLLimebbKanbanItemElement>;
4436
+ /**
4437
+ * Lime Query Builder Component
4438
+ * A code editor for constructing Lime Query DSL queries in JSON format.
4439
+ * Features:
4440
+ * - **JSON code editor**: Write queries using the Lime Query DSL
4441
+ * - **Syntax validation**: Real-time validation of query structure
4442
+ * - **Feature flag support**: GUI mode placeholder (not yet implemented)
4443
+ * The component allows editing of complete `LimeQuery` objects that can be sent
4444
+ * directly to the Lime CRM backend.
4445
+ * When the feature flag `useLimeQueryBuilderGuiMode` is enabled, a mode toggle
4446
+ * becomes available, but GUI mode currently shows a placeholder message.
4447
+ * @exampleComponent limebb-example-lime-query-builder-basic
4448
+ * @private
4449
+ */
4450
+ "limebb-lime-query-builder": LocalJSX.LimebbLimeQueryBuilder & JSXBase.HTMLAttributes<HTMLLimebbLimeQueryBuilderElement>;
4329
4451
  /**
4330
4452
  * Component for displaying the contents of an attached file on a limeobject
4331
4453
  * Example use case is to use it as a tab on the document card
@@ -2,6 +2,7 @@ declare module '@limetech/lime-web-components' {
2
2
  interface FeatureSwitches {
3
3
  useNotifications: boolean;
4
4
  useOfficeFilePreview: boolean;
5
+ useLimeQueryBuilderGuiMode: boolean;
5
6
  }
6
7
  }
7
8
  export {};
@@ -1,4 +1,21 @@
1
1
  import { LimeProperty, LimeType } from '@limetech/lime-web-components';
2
+ /**
3
+ * Get the color for a limetype from its UI configuration
4
+ *
5
+ * @param limetype the limetype
6
+ * @returns the color string (CSS variable or RGB)
7
+ */
8
+ export declare function getColor(limetype?: LimeType): string;
9
+ /**
10
+ * Get the icon configuration for a limetype
11
+ *
12
+ * @param limetype the limetype
13
+ * @returns Icon object with name and color
14
+ */
15
+ export declare function getIcon(limetype?: LimeType): {
16
+ name: string;
17
+ color: string;
18
+ };
2
19
  /**
3
20
  * Whether the given object has the given label or not.
4
21
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@limetech/lime-crm-building-blocks",
3
- "version": "1.93.2",
3
+ "version": "1.94.0",
4
4
  "description": "A home for shared components meant for use with Lime CRM",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -35,8 +35,8 @@
35
35
  },
36
36
  "devDependencies": {
37
37
  "@limetech/eslint-config": "^3.0.1",
38
- "@limetech/lime-elements": "^38.24.3",
39
- "@limetech/lime-web-components": "^6.4.0",
38
+ "@limetech/lime-elements": "^38.28.2",
39
+ "@limetech/lime-web-components": "^6.4.1",
40
40
  "@limetech/lime-web-components-testing": "^1.0.0",
41
41
  "@lundalogik/lime-icons8": "^2.36.1",
42
42
  "@lundalogik/limeclient.js": "^1.82.1",