@prolibu-suite/cobalt-form-vue 0.1.3 → 2.0.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 (70) hide show
  1. package/dist/FieldObject-Cxd3I0Jv.js +4 -0
  2. package/dist/components/CoFieldRenderer.test.d.ts +2 -0
  3. package/dist/components/CoFieldRenderer.test.d.ts.map +1 -0
  4. package/dist/components/CoFieldRenderer.vue.d.ts +40 -3
  5. package/dist/components/CoFieldRenderer.vue.d.ts.map +1 -1
  6. package/dist/components/CoFieldShell.vue.d.ts +23 -0
  7. package/dist/components/CoFieldShell.vue.d.ts.map +1 -0
  8. package/dist/components/CoFormRenderer.file.test.d.ts +2 -0
  9. package/dist/components/CoFormRenderer.file.test.d.ts.map +1 -0
  10. package/dist/components/CoFormRenderer.nested.test.d.ts +2 -0
  11. package/dist/components/CoFormRenderer.nested.test.d.ts.map +1 -0
  12. package/dist/components/CoFormRenderer.vue.d.ts +35 -6
  13. package/dist/components/CoFormRenderer.vue.d.ts.map +1 -1
  14. package/dist/components/fields/FieldBoolean.vue.d.ts.map +1 -1
  15. package/dist/components/fields/FieldColor.vue.d.ts +17 -0
  16. package/dist/components/fields/FieldColor.vue.d.ts.map +1 -0
  17. package/dist/components/fields/FieldDate.vue.d.ts.map +1 -1
  18. package/dist/components/fields/FieldDatePicker.vue.d.ts +18 -0
  19. package/dist/components/fields/FieldDatePicker.vue.d.ts.map +1 -0
  20. package/dist/components/fields/FieldFile.test.d.ts +2 -0
  21. package/dist/components/fields/FieldFile.test.d.ts.map +1 -0
  22. package/dist/components/fields/FieldFile.vue.d.ts +61 -0
  23. package/dist/components/fields/FieldFile.vue.d.ts.map +1 -0
  24. package/dist/components/fields/FieldMasked.test.d.ts +2 -0
  25. package/dist/components/fields/FieldMasked.test.d.ts.map +1 -0
  26. package/dist/components/fields/FieldMasked.vue.d.ts +23 -0
  27. package/dist/components/fields/FieldMasked.vue.d.ts.map +1 -0
  28. package/dist/components/fields/FieldMixed.vue.d.ts +17 -0
  29. package/dist/components/fields/FieldMixed.vue.d.ts.map +1 -0
  30. package/dist/components/fields/FieldMultiple.vue.d.ts +17 -0
  31. package/dist/components/fields/FieldMultiple.vue.d.ts.map +1 -0
  32. package/dist/components/fields/FieldNumber.vue.d.ts.map +1 -1
  33. package/dist/components/fields/FieldObject.vue.d.ts +18 -0
  34. package/dist/components/fields/FieldObject.vue.d.ts.map +1 -0
  35. package/dist/components/fields/FieldPhone.vue.d.ts +16 -0
  36. package/dist/components/fields/FieldPhone.vue.d.ts.map +1 -0
  37. package/dist/components/fields/FieldRef.vue.d.ts +2 -2
  38. package/dist/components/fields/FieldRichText.vue.d.ts +16 -0
  39. package/dist/components/fields/FieldRichText.vue.d.ts.map +1 -0
  40. package/dist/components/fields/FieldSelect.vue.d.ts.map +1 -1
  41. package/dist/components/fields/FieldText.vue.d.ts.map +1 -1
  42. package/dist/components/fields/FieldTextArea.vue.d.ts.map +1 -1
  43. package/dist/composables/useFileFieldStates.d.ts +41 -0
  44. package/dist/composables/useFileFieldStates.d.ts.map +1 -0
  45. package/dist/composables/useForm.d.ts.map +1 -1
  46. package/dist/composables/useForm.test.d.ts +2 -0
  47. package/dist/composables/useForm.test.d.ts.map +1 -0
  48. package/dist/composables/useRefFieldStates.d.ts +25 -0
  49. package/dist/composables/useRefFieldStates.d.ts.map +1 -0
  50. package/dist/index.css +1 -1
  51. package/dist/index.d.ts +25 -8
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +3921 -386
  54. package/dist/utils/fieldPath.d.ts +29 -0
  55. package/dist/utils/fieldPath.d.ts.map +1 -0
  56. package/dist/utils/formContext.d.ts +84 -0
  57. package/dist/utils/formContext.d.ts.map +1 -0
  58. package/dist/utils/gridCell.d.ts +28 -0
  59. package/dist/utils/gridCell.d.ts.map +1 -0
  60. package/dist/utils/gridCell.test.d.ts +2 -0
  61. package/dist/utils/gridCell.test.d.ts.map +1 -0
  62. package/dist/utils/normalizeMaskConfig.d.ts +23 -0
  63. package/dist/utils/normalizeMaskConfig.d.ts.map +1 -0
  64. package/dist/utils/normalizeMaskConfig.test.d.ts +2 -0
  65. package/dist/utils/normalizeMaskConfig.test.d.ts.map +1 -0
  66. package/dist/utils/sectionPreview.d.ts +26 -0
  67. package/dist/utils/sectionPreview.d.ts.map +1 -0
  68. package/dist/utils/sectionPreview.test.d.ts +2 -0
  69. package/dist/utils/sectionPreview.test.d.ts.map +1 -0
  70. package/package.json +13 -6
@@ -0,0 +1,25 @@
1
+ import { type MaybeRefOrGetter } from 'vue';
2
+ import type { FieldDescriptor, RefResolver } from '@prolibu-suite/cobalt-form-core';
3
+ import type { RefState } from '../components/fields/FieldRef.vue';
4
+ import type { UseFormReturn } from './useForm';
5
+ import type { RefFieldsContext } from '../utils/formContext';
6
+ export interface UseRefFieldStatesOptions {
7
+ form: MaybeRefOrGetter<UseFormReturn>;
8
+ refResolver: () => RefResolver | undefined;
9
+ }
10
+ export interface UseRefFieldStatesReturn extends RefFieldsContext {
11
+ /** Reactive ref-field UI state, keyed by full field dot-path. */
12
+ refStates: Record<string, RefState>;
13
+ onRefOpen: (f: FieldDescriptor) => void;
14
+ onRefSearch: (f: FieldDescriptor, query: string) => void;
15
+ onRefLoadMore: (f: FieldDescriptor) => void;
16
+ }
17
+ /**
18
+ * The ref-field machine: per-field options/paging/selected-display state plus
19
+ * the search/load-more/open handlers, backed by the host `refResolver`. State
20
+ * is keyed by full dot-path (`path ?? name`) so nested object children work;
21
+ * top-level fields have `path === name`. Owns its own mount/schema-swap
22
+ * initialization (walks `field.children` recursively).
23
+ */
24
+ export declare function useRefFieldStates(options: UseRefFieldStatesOptions): UseRefFieldStatesReturn;
25
+ //# sourceMappingURL=useRefFieldStates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRefFieldStates.d.ts","sourceRoot":"","sources":["../../src/composables/useRefFieldStates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,KAAK,gBAAgB,EAAE,MAAM,KAAK,CAAC;AACjF,OAAO,KAAK,EACV,eAAe,EAEf,WAAW,EAEZ,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAoB,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAK/E,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACtC,WAAW,EAAE,MAAM,WAAW,GAAG,SAAS,CAAC;CAC5C;AAED,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAC/D,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACpC,SAAS,EAAE,CAAC,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IACxC,WAAW,EAAE,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,aAAa,EAAE,CAAC,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;CAC7C;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,uBAAuB,CAqJ5F"}
package/dist/index.css CHANGED
@@ -1 +1 @@
1
- .co-form-layout[data-v-5700cb3a]{display:grid;gap:var(--co-spacing-lg, 16px)}.co-form-layout--grid[data-v-5700cb3a]{grid-template-columns:repeat(2,minmax(0,1fr))}.co-form-layout--stack[data-v-5700cb3a]{grid-template-columns:1fr}.co-form-field--full[data-v-5700cb3a]{grid-column:1 / -1}@media(max-width:640px){.co-form-layout--grid[data-v-5700cb3a]{grid-template-columns:1fr}}.co-form-footer[data-v-5700cb3a]{margin-top:var(--co-spacing-2xl, 24px)}
1
+ .co-field-shell[data-v-9aa9efaf]{display:flex;flex-direction:column;gap:var(--co-spacing-sm2, 8px)}.co-field-shell__label[data-v-9aa9efaf]{color:var(--co-semantic-text-secondary, #5f6368);font-family:var(--co-font-family-primary, sans-serif);font-size:var(--co-font-size-14, 14px);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body, -.03em);line-height:1;padding:0 var(--co-spacing-xs, 4px)}.co-field-shell__required[data-v-9aa9efaf]{color:var(--co-color-status-error, #aa2e1b);margin-left:2px}.co-field-shell__control[data-v-9aa9efaf]{align-items:center;background:var(--co-semantic-surface-primary, #fff);border:1px solid var(--co-semantic-border-default, #d9dde3);border-radius:var(--co-border-radius-xs, 8px);display:flex;min-height:40px;padding:0 var(--co-spacing-md, 12px);transition:border-color .12s ease}.co-field-shell--sm .co-field-shell__control[data-v-9aa9efaf]{min-height:34px}.co-field-shell--lg .co-field-shell__control[data-v-9aa9efaf]{min-height:46px}.co-field-shell--focused .co-field-shell__control[data-v-9aa9efaf]{border-color:var(--co-semantic-border-focus, #2563eb)}.co-field-shell--error .co-field-shell__control[data-v-9aa9efaf]{border-color:var(--co-color-status-error, #aa2e1b)}.co-field-shell--disabled .co-field-shell__control[data-v-9aa9efaf]{background:var(--co-semantic-surface-hover, #f4f6f8);cursor:not-allowed}.co-field-shell__message[data-v-9aa9efaf]{color:var(--co-semantic-text-muted, #888888);font-family:var(--co-font-family-primary, sans-serif);font-size:var(--co-font-size-14, 14px);font-weight:400;letter-spacing:var(--co-font-letter-spacing-body, -.03em);line-height:1;margin:0;padding:0 var(--co-spacing-xs, 4px)}.co-field-shell--error .co-field-shell__message[data-v-9aa9efaf]{color:var(--co-semantic-status-error, #aa2e1b)}.co-field-shell__input[data-v-6a147f90]{background:transparent;border:none;color:var(--co-semantic-text-default, #1f2937);font-family:var(--co-font-family-primary, sans-serif);font-size:var(--co-font-size-14, 14px);line-height:1.3;outline:none;flex:1;min-width:0}.co-field-shell__input[data-v-6a147f90]::placeholder{color:var(--co-semantic-text-muted, #9aa0a6)}.co-field-shell__input[data-v-6a147f90]:disabled{cursor:not-allowed}.co-masked__clear[data-v-6a147f90]{align-items:center;background:transparent;border:none;color:var(--co-semantic-text-muted, #9aa0a6);cursor:pointer;display:flex;flex-shrink:0;justify-content:center;margin-left:var(--co-spacing-sm, 8px);padding:0;transition:color .15s ease;width:16px}.co-masked__clear[data-v-6a147f90]:hover{color:var(--co-semantic-text-default, #1f2937)}.co-form-footer[data-v-c59f7d9a]{margin-top:var(--co-spacing-2xl, 24px)}
package/dist/index.d.ts CHANGED
@@ -1,14 +1,31 @@
1
- export { useForm, createForm } from './composables/useForm';
1
+ export { createForm, useForm } from './composables/useForm';
2
2
  export type { UseFormReturn } from './composables/useForm';
3
- export { default as CoFormRenderer } from './components/CoFormRenderer.vue';
4
3
  export { default as CoFieldRenderer } from './components/CoFieldRenderer.vue';
5
- export { default as FieldText } from './components/fields/FieldText.vue';
6
- export { default as FieldTextArea } from './components/fields/FieldTextArea.vue';
7
- export { default as FieldNumber } from './components/fields/FieldNumber.vue';
8
- export { default as FieldDate } from './components/fields/FieldDate.vue';
4
+ export { default as CoFormRenderer } from './components/CoFormRenderer.vue';
9
5
  export { default as FieldBoolean } from './components/fields/FieldBoolean.vue';
10
- export { default as FieldSelect } from './components/fields/FieldSelect.vue';
6
+ export { default as FieldColor } from './components/fields/FieldColor.vue';
7
+ export { default as FieldDate } from './components/fields/FieldDate.vue';
8
+ export { default as FieldDatePicker } from './components/fields/FieldDatePicker.vue';
9
+ export { default as FieldFile } from './components/fields/FieldFile.vue';
10
+ export type { FileItem } from './components/fields/FieldFile.vue';
11
+ export { default as FieldMasked } from './components/fields/FieldMasked.vue';
12
+ export { default as FieldMixed } from './components/fields/FieldMixed.vue';
13
+ export { default as FieldMultiple } from './components/fields/FieldMultiple.vue';
14
+ export { default as FieldNumber } from './components/fields/FieldNumber.vue';
15
+ export { default as FieldObject } from './components/fields/FieldObject.vue';
16
+ export { default as FieldPhone } from './components/fields/FieldPhone.vue';
11
17
  export { default as FieldRef } from './components/fields/FieldRef.vue';
12
18
  export type { RefState } from './components/fields/FieldRef.vue';
13
- export type { FieldDescriptor, FieldKind, FormController, FormControllerOptions, FormSchemaInput, FormState, Locale, RefFieldOption, RefResolver, RefResolverArgs, RefResolverResult, SubmitResult, } from '@prolibu-suite/cobalt-form-core';
19
+ export { default as FieldSelect } from './components/fields/FieldSelect.vue';
20
+ export { default as FieldText } from './components/fields/FieldText.vue';
21
+ export { default as FieldTextArea } from './components/fields/FieldTextArea.vue';
22
+ export { DEFAULT_MASK_CONFIG, normalizeMaskConfig } from './utils/normalizeMaskConfig';
23
+ export type { NormalizedMaskConfig } from './utils/normalizeMaskConfig';
24
+ export { cellBindings, cellSpan, gridRootStyle, isFullWidthField, FULL_WIDTH_UICOMS } from './utils/gridCell';
25
+ export type { FormGap } from './utils/gridCell';
26
+ export { FORM_COLUMNS, FORM_DEPTH, FORM_ERRORS, FORM_EXPAND_ALL, FORM_FILE_FIELDS, FORM_REF_FIELDS, FORM_TOUCH, FORM_TOUCHED, } from './utils/formContext';
27
+ export type { FileFieldHandlers, FileFieldsContext, RefFieldHandlers, RefFieldsContext, } from './utils/formContext';
28
+ export { fieldKey, getValueAtPath, setValueAtPath, walkFields } from './utils/fieldPath';
29
+ export { computeInitialOpen, formatSectionPreview, hasAnyValue, hasEmptyRequiredChild, isEmptyValue, } from './utils/sectionPreview';
30
+ export type { FieldDescriptor, FieldKind, FormController, FormControllerOptions, FormSchemaInput, FormState, Locale, PageDefinition, PagedSchema, RefFieldOption, RefResolver, RefResolverArgs, RefResolverResult, ScoreResult, SubmitResult, UploadedFileRef, UploadResolver, UploadResolverArgs } from '@prolibu-suite/cobalt-form-core';
14
31
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAE9E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AACvE,YAAY,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAEjE,YAAY,EACV,eAAe,EACf,SAAS,EACT,cAAc,EACd,qBAAqB,EACrB,eAAe,EACf,SAAS,EACT,MAAM,EACN,cAAc,EACd,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,YAAY,GACb,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAE5E,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,mCAAmC,CAAC;AACzE,YAAY,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AACvE,YAAY,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvF,YAAY,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC9G,YAAY,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EACH,YAAY,EACZ,UAAU,EACV,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,YAAY,GACf,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACR,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,EACH,kBAAkB,EAClB,oBAAoB,EACpB,WAAW,EACX,qBAAqB,EACrB,YAAY,GACf,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACR,eAAe,EACf,SAAS,EACT,cAAc,EACd,qBAAqB,EACrB,eAAe,EACf,SAAS,EACT,MAAM,EACN,cAAc,EACd,WAAW,EACX,cAAc,EACd,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,eAAe,EACf,cAAc,EACd,kBAAkB,EACrB,MAAM,iCAAiC,CAAC"}