@quickflo/quickforms-quasar 1.9.6 → 1.10.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.
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EACL,iBAAiB,EAkBlB,MAAM,sBAAsB,CAAC;AAiB9B;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,oBAAoB,IAAI,iBAAiB,CAAC,SAAS,CAAC,CA8InE"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EACL,iBAAiB,EAkBlB,MAAM,sBAAsB,CAAC;AAkB9B;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,oBAAoB,IAAI,iBAAiB,CAAC,SAAS,CAAC,CAkJnE"}
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .datetime-picker-card[data-v-76abc7a3]{overflow:hidden}[data-v-76abc7a3] .datetime-date-picker .q-date__view,[data-v-76abc7a3] .datetime-time-picker .q-time{border:none!important;box-shadow:none!important}[data-v-76abc7a3] .datetime-date-picker,[data-v-76abc7a3] .datetime-time-picker{max-width:290px}.quickform-json-field-wrapper{width:100%}.quickform-label-header{display:flex;align-items:center;gap:.375rem;margin-bottom:.5rem}.quickform-label-text{font-size:.875rem;font-weight:500;color:#000000de}.quickform-hint{font-size:.875rem;color:#0009;margin-bottom:.25rem}.quickform-json-format-hint{font-size:.75rem;color:#00000073;margin-bottom:.5rem;font-style:italic}.quickform-json-format-hint kbd{background-color:#0000000d;border:1px solid rgba(0,0,0,.12);border-radius:3px;padding:.125rem .375rem;font-family:monospace;font-size:.75rem;font-style:normal}.quickform-json-editor-container{border-radius:4px;overflow:hidden;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;font-size:.875rem}.quickform-error{margin-top:.5rem;font-size:.75rem;color:#c10015}.quickform-json-editor-container :deep(.cm-scroller){overflow:auto}.quickform-json-editor-container:not(.quickform-json-editor-dark) :deep(.cm-editor){background-color:#fff}.quickform-json-editor-container:not(.quickform-json-editor-dark) :deep(.cm-gutters){background-color:#f5f5f5;border-right:1px solid rgba(0,0,0,.12)}.quickform-json-editor-container:not(.quickform-json-editor-dark) :deep(.cm-activeLineGutter){background-color:#1976d214}
1
+ .datetime-picker-card[data-v-76abc7a3]{overflow:hidden}[data-v-76abc7a3] .datetime-date-picker .q-date__view,[data-v-76abc7a3] .datetime-time-picker .q-time{border:none!important;box-shadow:none!important}[data-v-76abc7a3] .datetime-date-picker,[data-v-76abc7a3] .datetime-time-picker{max-width:290px}.quickform-json-field-wrapper{width:100%}.quickform-label-header{display:flex;align-items:center;gap:.375rem;margin-bottom:.5rem}.quickform-label-text{font-size:.875rem;font-weight:500;color:#000000de}.quickform-hint{font-size:.875rem;color:#0009;margin-bottom:.25rem}.quickform-json-format-hint{font-size:.75rem;color:#00000073;margin-bottom:.5rem;font-style:italic}.quickform-json-format-hint kbd{background-color:#0000000d;border:1px solid rgba(0,0,0,.12);border-radius:3px;padding:.125rem .375rem;font-family:monospace;font-size:.75rem;font-style:normal}.quickform-json-editor-container{border-radius:4px;overflow:hidden;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;font-size:.875rem}.quickform-error{margin-top:.5rem;font-size:.75rem;color:#c10015}.quickform-json-editor-container :deep(.cm-scroller){overflow:auto}.quickform-json-editor-container:not(.quickform-json-editor-dark) :deep(.cm-editor){background-color:#fff}.quickform-json-editor-container:not(.quickform-json-editor-dark) :deep(.cm-gutters){background-color:#f5f5f5;border-right:1px solid rgba(0,0,0,.12)}.quickform-json-editor-container:not(.quickform-json-editor-dark) :deep(.cm-activeLineGutter){background-color:#1976d214}.quickform-jsonlogic-builder[data-v-722c2e28]{width:100%}.builder-header[data-v-722c2e28]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.builder-label[data-v-722c2e28]{font-size:.875rem;font-weight:500;color:#000000de}.builder-visual[data-v-722c2e28]{border:1px solid rgba(0,0,0,.12);border-radius:8px;padding:12px;background:#00000005}.logic-toggle[data-v-722c2e28]{display:flex;align-items:center}.conditions-container[data-v-722c2e28]{display:flex;flex-direction:column;gap:8px}.condition-row[data-v-722c2e28]{display:flex;align-items:center;gap:8px;padding:8px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:6px}.condition-row--nested[data-v-722c2e28]{background:#00000005}.condition-inputs[data-v-722c2e28]{display:flex;align-items:center;gap:8px;flex:1}.condition-input[data-v-722c2e28],.condition-input-placeholder[data-v-722c2e28]{flex:1;min-width:120px}.condition-operator[data-v-722c2e28]{width:160px;flex-shrink:0}.condition-remove[data-v-722c2e28]{opacity:.5;transition:opacity .15s}.condition-row:hover .condition-remove[data-v-722c2e28]{opacity:1}.condition-group[data-v-722c2e28]{border:2px dashed rgba(0,0,0,.12);border-radius:8px;padding:8px;background:#00000005}.group-header[data-v-722c2e28]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid rgba(0,0,0,.08)}.group-conditions[data-v-722c2e28]{display:flex;flex-direction:column;gap:8px}.group-actions[data-v-722c2e28]{margin-top:4px}.logic-connector[data-v-722c2e28]{display:flex;align-items:center;justify-content:center;padding:4px 0}.logic-connector-text[data-v-722c2e28]{font-size:11px;font-weight:600;color:#0006;text-transform:uppercase;letter-spacing:.5px}.builder-actions-bottom[data-v-722c2e28]{display:flex;align-items:center;padding-top:8px;border-top:1px solid rgba(0,0,0,.08)}.builder-advanced .json-editor[data-v-722c2e28] .json-textarea{font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:13px;line-height:1.5}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * JSONLogic Utilities for Condition Builder
3
+ *
4
+ * Converts between visual condition format and JSONLogic.
5
+ * Supports common comparison operators and AND/OR grouping.
6
+ */
7
+ /**
8
+ * Supported comparison operators
9
+ */
10
+ export type ComparisonOperator = '==' | '!=' | '>' | '>=' | '<' | '<=' | 'in' | 'contains' | 'startsWith' | 'endsWith' | 'matches' | 'isTrue' | 'isFalse' | 'isEmpty' | 'isNotEmpty';
11
+ /**
12
+ * Operator metadata for UI display
13
+ */
14
+ export interface OperatorInfo {
15
+ value: ComparisonOperator;
16
+ label: string;
17
+ symbol?: string;
18
+ rightRequired: boolean;
19
+ rightType?: 'text' | 'number' | 'regex' | 'array';
20
+ description?: string;
21
+ }
22
+ /**
23
+ * A single condition (left operator right)
24
+ */
25
+ export interface SimpleCondition {
26
+ id: string;
27
+ type: 'condition';
28
+ left: string;
29
+ operator: ComparisonOperator;
30
+ right: string;
31
+ }
32
+ /**
33
+ * A group of conditions with AND/OR logic
34
+ */
35
+ export interface ConditionGroup {
36
+ id: string;
37
+ type: 'group';
38
+ logic: 'and' | 'or';
39
+ conditions: ConditionItem[];
40
+ }
41
+ /**
42
+ * Either a simple condition or a nested group
43
+ */
44
+ export type ConditionItem = SimpleCondition | ConditionGroup;
45
+ /**
46
+ * The root condition structure
47
+ */
48
+ export interface ConditionRoot {
49
+ logic: 'and' | 'or';
50
+ conditions: ConditionItem[];
51
+ }
52
+ /**
53
+ * JSONLogic object type
54
+ */
55
+ export type JsonLogic = Record<string, unknown> | boolean;
56
+ export declare const OPERATORS: OperatorInfo[];
57
+ export declare function getOperatorInfo(op: ComparisonOperator): OperatorInfo | undefined;
58
+ export declare function generateConditionId(): string;
59
+ /**
60
+ * Convert a condition root to JSONLogic
61
+ */
62
+ export declare function toJsonLogic(root: ConditionRoot): JsonLogic;
63
+ /**
64
+ * Convert JSONLogic to a condition root
65
+ */
66
+ export declare function fromJsonLogic(logic: JsonLogic): ConditionRoot;
67
+ /**
68
+ * Create an empty condition
69
+ */
70
+ export declare function createEmptyCondition(): SimpleCondition;
71
+ /**
72
+ * Create an empty group
73
+ */
74
+ export declare function createEmptyGroup(logic?: 'and' | 'or'): ConditionGroup;
75
+ /**
76
+ * Create an empty root
77
+ */
78
+ export declare function createEmptyRoot(): ConditionRoot;
79
+ //# sourceMappingURL=jsonlogic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonlogic.d.ts","sourceRoot":"","sources":["../../src/utils/jsonlogic.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B,IAAI,GACJ,IAAI,GACJ,GAAG,GACH,IAAI,GACJ,GAAG,GACH,IAAI,GACJ,IAAI,GACJ,UAAU,GACV,YAAY,GACZ,UAAU,GACV,SAAS,GACT,QAAQ,GACR,SAAS,GACT,SAAS,GACT,YAAY,CAAA;AAEhB;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,kBAAkB,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,OAAO,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAA;IACjD,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,WAAW,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IACnB,UAAU,EAAE,aAAa,EAAE,CAAA;CAC5B;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG,cAAc,CAAA;AAE5D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IACnB,UAAU,EAAE,aAAa,EAAE,CAAA;CAC5B;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAA;AAMzD,eAAO,MAAM,SAAS,EAAE,YAAY,EAgBnC,CAAA;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,kBAAkB,GAAG,YAAY,GAAG,SAAS,CAEhF;AAQD,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAMD;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,CAY1D;AAkJD;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,aAAa,CA0B7D;AAsGD;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,eAAe,CAQtD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,GAAE,KAAK,GAAG,IAAY,GAAG,cAAc,CAO5E;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,aAAa,CAK/C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quickflo/quickforms-quasar",
3
- "version": "1.9.6",
3
+ "version": "1.10.0",
4
4
  "description": "Quasar UI components for QuickForms - JSON Schema form generator",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -38,8 +38,8 @@
38
38
  "@codemirror/view": "^6.38.8",
39
39
  "vee-validate": "^4.12.0",
40
40
  "vue-codemirror": "^6.1.1",
41
- "@quickflo/quickforms": "1.9.6",
42
- "@quickflo/quickforms-vue": "1.9.6"
41
+ "@quickflo/quickforms": "1.10.0",
42
+ "@quickflo/quickforms-vue": "1.10.0"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@quasar/extras": "^1.17.0",