@sankhyalabs/sankhyablocks 4.3.2-hotfix-ga-SKA-99999.2 → 4.4.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/dist/cjs/{ConfigStorage-630ea092.js → ConfigStorage-bc7d1d9b.js} +1 -1
  2. package/dist/cjs/{DataFetcher-c6750829.js → DataFetcher-6acfc3a8.js} +1 -1
  3. package/dist/cjs/{SnkFormConfigManager-c73afc36.js → SnkFormConfigManager-5230e010.js} +2 -2
  4. package/dist/cjs/{SnkMessageBuilder-0a6f6459.js → SnkMessageBuilder-d147f088.js} +8 -1
  5. package/dist/cjs/{form-config-fetcher-b230d64b.js → form-config-fetcher-4a952a50.js} +1 -1
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  8. package/dist/cjs/snk-application.cjs.entry.js +4 -4
  9. package/dist/cjs/snk-crud.cjs.entry.js +1 -1
  10. package/dist/cjs/snk-data-exporter.cjs.entry.js +1 -1
  11. package/dist/cjs/snk-data-unit.cjs.entry.js +1 -1
  12. package/dist/cjs/snk-detail-view.cjs.entry.js +5 -5
  13. package/dist/cjs/snk-filter-bar.cjs.entry.js +3 -3
  14. package/dist/cjs/snk-filter-field-search.cjs.entry.js +185 -0
  15. package/dist/cjs/snk-form-config.cjs.entry.js +2 -2
  16. package/dist/cjs/snk-form.cjs.entry.js +4 -4
  17. package/dist/cjs/snk-grid-config.cjs.entry.js +3 -3
  18. package/dist/cjs/snk-grid.cjs.entry.js +3 -3
  19. package/dist/cjs/{snk-guides-viewer-c24668bf.js → snk-guides-viewer-7c3686e5.js} +2 -2
  20. package/dist/cjs/snk-guides-viewer.cjs.entry.js +5 -5
  21. package/dist/collection/collection-manifest.json +1 -0
  22. package/dist/collection/components/snk-filter-field-search/interfaces/index.js +5 -0
  23. package/dist/collection/components/snk-filter-field-search/snk-filter-field-search.css +41 -0
  24. package/dist/collection/components/snk-filter-field-search/snk-filter-field-search.js +297 -0
  25. package/dist/collection/components/snk-filter-field-search/subcomponents/index.js +1 -0
  26. package/dist/collection/components/snk-filter-field-search/subcomponents/list-item.js +24 -0
  27. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +1 -1
  28. package/dist/collection/lib/message/SnkMessageBuilder.js +3 -1
  29. package/dist/collection/lib/message/resources/snk-filter-field-search.msg.js +5 -0
  30. package/dist/components/DataFetcher.js +1 -1
  31. package/dist/components/SnkMessageBuilder.js +8 -1
  32. package/dist/components/index.d.ts +1 -0
  33. package/dist/components/index.js +1 -0
  34. package/dist/components/snk-filter-field-search.d.ts +11 -0
  35. package/dist/components/snk-filter-field-search.js +205 -0
  36. package/dist/esm/{ConfigStorage-82f25358.js → ConfigStorage-1b64cd96.js} +1 -1
  37. package/dist/esm/{DataFetcher-a56fedde.js → DataFetcher-5e99fa75.js} +1 -1
  38. package/dist/esm/{SnkFormConfigManager-3a94ffd8.js → SnkFormConfigManager-0d9752c3.js} +2 -2
  39. package/dist/esm/{SnkMessageBuilder-9473ae03.js → SnkMessageBuilder-0e1ffd61.js} +8 -1
  40. package/dist/esm/{form-config-fetcher-27c4cfba.js → form-config-fetcher-677f86dd.js} +1 -1
  41. package/dist/esm/loader.js +1 -1
  42. package/dist/esm/sankhyablocks.js +1 -1
  43. package/dist/esm/snk-application.entry.js +4 -4
  44. package/dist/esm/snk-crud.entry.js +1 -1
  45. package/dist/esm/snk-data-exporter.entry.js +1 -1
  46. package/dist/esm/snk-data-unit.entry.js +1 -1
  47. package/dist/esm/snk-detail-view.entry.js +5 -5
  48. package/dist/esm/snk-filter-bar.entry.js +3 -3
  49. package/dist/esm/snk-filter-field-search.entry.js +181 -0
  50. package/dist/esm/snk-form-config.entry.js +2 -2
  51. package/dist/esm/snk-form.entry.js +4 -4
  52. package/dist/esm/snk-grid-config.entry.js +3 -3
  53. package/dist/esm/snk-grid.entry.js +3 -3
  54. package/dist/esm/{snk-guides-viewer-cf54b9dc.js → snk-guides-viewer-3b3330a2.js} +2 -2
  55. package/dist/esm/snk-guides-viewer.entry.js +5 -5
  56. package/dist/sankhyablocks/{p-0b019bab.js → p-0c11c980.js} +1 -1
  57. package/dist/sankhyablocks/{p-e0416591.entry.js → p-25d181e7.entry.js} +1 -1
  58. package/dist/sankhyablocks/{p-3bf83e60.entry.js → p-268ab84f.entry.js} +1 -1
  59. package/dist/sankhyablocks/{p-131c55ae.js → p-3c4823fc.js} +1 -1
  60. package/dist/sankhyablocks/{p-c4483cb2.js → p-5518d572.js} +1 -1
  61. package/dist/sankhyablocks/p-79d22df0.entry.js +1 -0
  62. package/dist/sankhyablocks/{p-fca26ba3.entry.js → p-8f41b2e1.entry.js} +1 -1
  63. package/dist/sankhyablocks/{p-7abf185e.entry.js → p-9036d360.entry.js} +1 -1
  64. package/dist/sankhyablocks/{p-c9f499be.entry.js → p-9f00c061.entry.js} +2 -2
  65. package/dist/sankhyablocks/{p-4b4d3439.js → p-9f98fc3c.js} +1 -1
  66. package/dist/sankhyablocks/{p-0015a8a4.entry.js → p-a056d61f.entry.js} +1 -1
  67. package/dist/sankhyablocks/{p-3482c60b.js → p-a6258eed.js} +1 -1
  68. package/dist/sankhyablocks/{p-73f7cbbe.entry.js → p-c049c7b7.entry.js} +1 -1
  69. package/dist/sankhyablocks/{p-222330d1.entry.js → p-c1814395.entry.js} +1 -1
  70. package/dist/sankhyablocks/{p-bef01186.entry.js → p-d3199c18.entry.js} +1 -1
  71. package/dist/sankhyablocks/{p-509c5889.entry.js → p-d9444ca6.entry.js} +1 -1
  72. package/dist/sankhyablocks/{p-e7e3e590.js → p-dafbb972.js} +1 -1
  73. package/dist/sankhyablocks/p-f5bf4d8a.entry.js +1 -0
  74. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  75. package/dist/types/components/snk-filter-field-search/interfaces/index.d.ts +35 -0
  76. package/dist/types/components/snk-filter-field-search/snk-filter-field-search.d.ts +58 -0
  77. package/dist/types/components/snk-filter-field-search/subcomponents/index.d.ts +1 -0
  78. package/dist/types/components/snk-filter-field-search/subcomponents/list-item.d.ts +2 -0
  79. package/dist/types/components.d.ts +45 -0
  80. package/dist/types/lib/message/resources/snk-filter-field-search.msg.d.ts +1 -0
  81. package/package.json +2 -2
  82. package/react/components.d.ts +1 -0
  83. package/react/components.js +1 -0
  84. package/react/components.js.map +1 -1
  85. package/dist/sankhyablocks/p-77d733bb.entry.js +0 -1
@@ -0,0 +1,181 @@
1
+ import { h, r as registerInstance, c as createEvent } from './index-cfd4bb13.js';
2
+ import { UserInterface, JSUtils, ElementIDUtils, ApplicationContext } from '@sankhyalabs/core';
3
+
4
+ var SelectedItemType;
5
+ (function (SelectedItemType) {
6
+ SelectedItemType["LINK"] = "LINK";
7
+ SelectedItemType["FIELD"] = "FIELD";
8
+ })(SelectedItemType || (SelectedItemType = {}));
9
+
10
+ const ICON_MODES = {
11
+ [UserInterface.SHORTTEXT]: 'text',
12
+ [UserInterface.LONGTEXT]: 'text',
13
+ [UserInterface.INTEGERNUMBER]: 'number',
14
+ [UserInterface.DECIMALNUMBER]: 'number',
15
+ [UserInterface.DATE]: 'calendar',
16
+ [UserInterface.DATETIME]: 'calendar',
17
+ [UserInterface.SWITCH]: 'boolean',
18
+ [UserInterface.CHECKBOX]: 'check-circle-inverted',
19
+ [UserInterface.OPTIONSELECTOR]: 'list',
20
+ [UserInterface.SEARCH]: 'search',
21
+ [UserInterface.HTML]: 'tag_code',
22
+ [UserInterface.IMAGE]: 'png',
23
+ [UserInterface.FILE]: 'edit-file',
24
+ [UserInterface.TIME]: 'timer-outline',
25
+ [UserInterface.ELAPSEDTIME]: 'timer',
26
+ [UserInterface.MASKEDTEXT]: 'text',
27
+ [UserInterface.PASSWORD]: 'email',
28
+ };
29
+ const ListItem = ({ userInterface, description }) => {
30
+ return (h("ez-icon", { iconName: ICON_MODES[userInterface], className: "ez-padding-left--small", title: description }));
31
+ };
32
+
33
+ const snkFilterFieldSearchCss = ".sc-snk-filter-field-search-h{--snk-filter-field-search--container-width:468px;--snk-filter-field-search--container-height:322px}.snk-filter-field-search__container.sc-snk-filter-field-search{display:flex;flex-direction:column;padding:var(--space--medium);width:var(--snk-filter-field-search--container-width);height:var(--snk-filter-field-search--container-height)}.snk-filter-field-search__section.sc-snk-filter-field-search{display:grid;grid-template-columns:1fr 1fr;place-items:flex-start;overflow:hidden;gap:var(--space--small)}.snk-filter-field-search__input.sc-snk-filter-field-search{margin-bottom:var(--space--medium)}.snk-filter-field-search__list_container.sc-snk-filter-field-search{display:flex;flex-direction:column}.snk-filter-field-search__list.sc-snk-filter-field-search{overflow-y:auto}";
34
+
35
+ const SNK_CONTEXT_KEY = "__SNK__APPLICATION__";
36
+ const SnkFilterFieldSearch = class {
37
+ constructor(hostRef) {
38
+ registerInstance(this, hostRef);
39
+ this.ezSelectFilterItem = createEvent(this, "ezSelectFilterItem", 7);
40
+ this._filterMetadataStorage = new Map();
41
+ this._dataSource = null;
42
+ this._filterText = "";
43
+ this._isLoading = false;
44
+ this.searchable = true;
45
+ this.breadcrumbItems = [];
46
+ this.linkItems = [];
47
+ this.fieldItems = [];
48
+ }
49
+ /**
50
+ * Define a fonte de dados do componente.
51
+ * @param {IFilterLink} currentLink - Link atual da entidade.
52
+ * @param {IFilterMetadata} fetchData - callback que executa a busca de dados.
53
+ * @throws {Error} - Quando os metadados não forem válidos.
54
+ * @throws {Error} - Quando o link atual não for do tipo link.
55
+ */
56
+ async setDataSource(currentLink, fetchData) {
57
+ var _a;
58
+ this._isLoading = true;
59
+ let metadata = this._filterMetadataStorage.get(currentLink.uri);
60
+ if (!metadata) {
61
+ metadata = await fetchData(currentLink);
62
+ this._filterMetadataStorage.set(currentLink.uri, metadata);
63
+ }
64
+ const { fields, links } = metadata || {};
65
+ if (!Array.isArray(fields) || !Array.isArray(links))
66
+ throw new Error('Invalid metadata');
67
+ if (currentLink.type !== SelectedItemType.LINK)
68
+ throw new Error('The current link must be a link type');
69
+ this._dataSource = metadata;
70
+ this._currentLink = currentLink;
71
+ this.mapDataSourceToLinkItems();
72
+ this.mapDataSourceToFieldItems();
73
+ this._isLoading = false;
74
+ (_a = this._ezPopover) === null || _a === void 0 ? void 0 : _a.show();
75
+ this._ezFieldList.scrollToTop();
76
+ this._ezLinkList.scrollToTop();
77
+ }
78
+ /**
79
+ * Filtra a fonte de dados do componente.
80
+ * @param {string} filterText - Texto para filtrar a fonte de dados.
81
+ * @throws {Error} - Quando o componente estiver com a propriedade searchable como true.
82
+ */
83
+ async filterDataSource(filterText) {
84
+ if (this.searchable)
85
+ throw new Error('This method is not available when searchable is true');
86
+ this.handleFilterChange(filterText);
87
+ }
88
+ mapDataSourceToLinkItems() {
89
+ var _a;
90
+ const { links } = this._dataSource;
91
+ const filterLinkLabelMessage = this.getMessage('snkFilterFieldSearch.linkLabel', { link: (_a = this._currentLink) === null || _a === void 0 ? void 0 : _a.description });
92
+ const items = links.map(link => (Object.assign({ label: link.description }, link)));
93
+ this.linkItems = [{
94
+ group: filterLinkLabelMessage,
95
+ items
96
+ }];
97
+ if (this.breadcrumbItems.length === 0) {
98
+ this.breadcrumbItems = [Object.assign({ id: JSUtils.generateUUID(), label: this._currentLink.description }, this._currentLink)];
99
+ }
100
+ }
101
+ mapDataSourceToFieldItems() {
102
+ var _a;
103
+ const { fields } = this._dataSource;
104
+ const filterFieldLabelMessage = this.getMessage('snkFilterFieldSearch.fieldLabel', { link: (_a = this._currentLink) === null || _a === void 0 ? void 0 : _a.description });
105
+ const filteredFields = fields.filter(field => {
106
+ if (!this._currentLink)
107
+ return true;
108
+ const searchableByDescription = field.description.toLowerCase().includes(this._filterText.toLowerCase());
109
+ const searchableByName = field.name.toLowerCase().includes(this._filterText.toLowerCase());
110
+ return searchableByDescription || searchableByName;
111
+ });
112
+ const items = filteredFields.map(field => (Object.assign({ label: field.description }, field)));
113
+ this.fieldItems = [{
114
+ group: filterFieldLabelMessage,
115
+ items
116
+ }];
117
+ }
118
+ handleFilterChange(filterText) {
119
+ if (this._isLoading)
120
+ return;
121
+ this._filterText = filterText;
122
+ this.mapDataSourceToFieldItems();
123
+ }
124
+ handleSelectLink({ detail: item }) {
125
+ if (this._isLoading)
126
+ return;
127
+ const breadcrumbByIndex = this.breadcrumbItems.findIndex(breadcrumbItem => breadcrumbItem.id === item.id);
128
+ item.cache = this._filterMetadataStorage.has(item.uri);
129
+ if (breadcrumbByIndex > -1) {
130
+ this.breadcrumbItems = this.breadcrumbItems.slice(0, (breadcrumbByIndex + 1));
131
+ }
132
+ else {
133
+ this.breadcrumbItems = [...this.breadcrumbItems, Object.assign({ id: JSUtils.generateUUID(), label: item.description }, item)];
134
+ }
135
+ this.ezSelectFilterItem.emit(Object.assign(Object.assign({}, item), { type: SelectedItemType.LINK }));
136
+ }
137
+ handleSelectField({ detail: item }) {
138
+ var _a;
139
+ const breadcrumbPath = this.breadcrumbItems.map(breadcrumbItem => breadcrumbItem.label).join('>>');
140
+ const selectedField = Object.assign(Object.assign({}, item), { type: SelectedItemType.FIELD, path: `${breadcrumbPath} >> ${item.description}` });
141
+ this.ezSelectFilterItem.emit(selectedField);
142
+ (_a = this._ezPopover) === null || _a === void 0 ? void 0 : _a.hide();
143
+ }
144
+ getElementID(sufix) {
145
+ return {
146
+ [ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME]: ElementIDUtils.getInternalIDInfo(sufix)
147
+ };
148
+ }
149
+ /**
150
+ * Conforme mecanismo de mensagens, é possível customizar as mensagens dos blocos de construção
151
+ * através de um pequeno modulo na estrutura da aplicação:
152
+ * - Criar um arquivo no seguinte caminho: /messages/appmessages.msg.js.
153
+ * Para conhecer os detalhes do módulo, vide o arquivo neste projeto "/src/lib/message/resources/snk-filter-field-search.msg.ts"
154
+ */
155
+ getMessage(key, params) {
156
+ var _a, _b, _c;
157
+ if (!this._application)
158
+ this._application = ApplicationContext.getContextValue(SNK_CONTEXT_KEY);
159
+ return (_c = (_b = (_a = this._application) === null || _a === void 0 ? void 0 : _a.messagesBuilder) === null || _b === void 0 ? void 0 : _b.getMessage) === null || _c === void 0 ? void 0 : _c.call(_b, key, params);
160
+ }
161
+ ;
162
+ componentWillLoad() {
163
+ this._application = ApplicationContext.getContextValue(SNK_CONTEXT_KEY);
164
+ }
165
+ componentDidLoad() {
166
+ ElementIDUtils.addIDInfoIfNotExists(this._ezPopover, 'popover');
167
+ }
168
+ disconnectedCallback() {
169
+ var _a;
170
+ this._filterMetadataStorage.clear();
171
+ (_a = this._ezPopover) === null || _a === void 0 ? void 0 : _a.hide();
172
+ }
173
+ render() {
174
+ var _a;
175
+ const searchLabelMessage = this.getMessage('snkFilterFieldSearch.searchLabel');
176
+ return (h("ez-popover", Object.assign({ ref: (el) => this._ezPopover = el, role: "dialog", "aria-hidden": !((_a = this._ezPopover) === null || _a === void 0 ? void 0 : _a.opened) }, this.getElementID('EzPopover')), h("div", { class: "snk-filter-field-search__container" }, h("header", { class: "snk-filter-field-search__header" }, this.searchable && !!searchLabelMessage && (h("ez-filter-input", Object.assign({ class: "snk-filter-field-search__input", label: searchLabelMessage, asyncSearch: true, canShowError: false, onEzSearching: (event) => this.handleFilterChange.bind(this)(event.detail), "aria-label": searchLabelMessage, "aria-required": "false", "aria-invalid": "false" }, this.getElementID('EzFilterInput')))), this.breadcrumbItems.length > 0 && (h("ez-breadcrumb", Object.assign({ items: this.breadcrumbItems, onSelectedItem: this.handleSelectLink.bind(this), role: "navigation", "aria-current": "step" }, this.getElementID('EzBreadcrumb')))), h("hr", { class: "ez-divider-horizontal ez-margin-vertical--medium" })), h("section", { class: "snk-filter-field-search__section" }, h("ez-list", Object.assign({ ref: (el) => this._ezLinkList = el, class: "snk-filter-field-search__list", id: "filterLinkList", useGroups: true, dataSource: this.linkItems, onEzSelectItem: this.handleSelectLink.bind(this), hoverFeedback: true, ezSelectable: true, itemSlotBuilder: ({ fieldCount }) => h("ez-badge", { label: fieldCount }), "aria-describedby": "filterLinkLabel" }, this.getElementID('EzListLinks'))), h("ez-list", Object.assign({ ref: (el) => this._ezFieldList = el, class: "snk-filter-field-search__list", id: "filterFieldList", useGroups: true, dataSource: this.fieldItems, onEzSelectItem: this.handleSelectField.bind(this), hoverFeedback: true, ezSelectable: true, itemSlotBuilder: ListItem, "aria-describedby": "filterFieldLabel" }, this.getElementID('EzListFields')))))));
177
+ }
178
+ };
179
+ SnkFilterFieldSearch.style = snkFilterFieldSearchCss;
180
+
181
+ export { SnkFilterFieldSearch as snk_filter_field_search };
@@ -3,10 +3,10 @@ import { d as draggable_bundle } from './draggable.bundle-41d56f06.js';
3
3
  import { ObjectUtils, ElementIDUtils, ArrayUtils, ApplicationContext } from '@sankhyalabs/core';
4
4
  import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
5
5
  import { C as CONFIG_EVENTS, T as TAB_NAMES, A as ACTION_CONFIG, D as DEFAULT_TYPE } from './constants-fb9721cc.js';
6
- import { U as UserConfigType } from './form-config-fetcher-27c4cfba.js';
6
+ import { U as UserConfigType } from './form-config-fetcher-677f86dd.js';
7
7
  import { buildFormConfigFromDataUnit } from '@sankhyalabs/ezui/dist/collection/utils/form';
8
8
  import './_commonjsHelpers-9943807e.js';
9
- import './DataFetcher-a56fedde.js';
9
+ import './DataFetcher-5e99fa75.js';
10
10
 
11
11
  const snkFormConfigCss = ".sc-snk-form-config-h{--snk-form-config--z-index:var(--more-visible, 2);--snk-form-config--background-color:var(--background--xlight, #fff);--snk-form-config__icon--color:var(--text--disable, #AFB6C0);--snk-form-config__label-counter--font-weight:var(--text-weight--extra-small, 200);--snk-form-config__add-group-container--border-radius:var(--border--radius-medium, 12px);--snk-form-config__add-group-container--background-color:var(--background--medium, #d2dce9);--snk-form-config__add-group-container--padding:var(--space--small, 6px);--snk-form-config__add-group-content--border:2px dashed var(--color-strokes, #DCE0E8);--snk-form-config__add-group-content--border-radius:var(--border--radius-small, 6px);--snk-form-config__add-group-label--padding:var(--space--large, 24px);--snk-form-config__btn-add-group--padding:var(--space--large, 24px) var(--space--medium, 12px) 0;--snk-form-config__btn-add-group-container--padding:var(--space--medium, 12px);--snk-form-config__btn-add-group-container--border-radius:var(--border--radius-medium, 12px);--snk-form-config__btn-add-group-container--border:2px solid var(--color-strokes, #DCE0E8);--snk-form-config__btn-add-group-container--background-color:var(--background--body, #fafcff);display:flex;flex-direction:column;position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--snk-form-config--z-index);background-color:var(--snk-form-config--background-color)}.form-config__header-container.sc-snk-form-config{display:flex}.form-config__field-container.sc-snk-form-config{width:32%;padding:6px}.form-config__hide-content.sc-snk-form-config{display:none}ez-icon.sc-snk-form-config .left-icon.sc-snk-form-config{--ez-icon--color:var(--snk-form-config__icon--color)}.ez-box__label-counter.sc-snk-form-config{margin-top:-7px;font-weight:var(--snk-form-config__label-counter--font-weight)}.form-config__btn-options.sc-snk-form-config{--ez-button--min-width:300px;--ez-button--background-color:var(--snk-form-config--background-color)}[data-draggable-parent].sc-snk-form-config{position:relative}.form-config__field-config--selected.sc-snk-form-config{position:static}.form-config__field-config--dragged.sc-snk-form-config .draggable-mirror.sc-snk-form-config{z-index:var(--snk-form-config--z-index)}.form-config__config-options.sc-snk-form-config{position:relative;margin-top:-3px;min-width:100%;z-index:1}.form-config__tab-container.sc-snk-form-config,.form-config__fields-available.sc-snk-form-config{position:relative;height:100%;max-height:calc(100vh - 92px)}.form-config__tab-container.sc-snk-form-config .ez-box__container.sc-snk-form-config,.form-config__fields-available.sc-snk-form-config .ez-box__container.sc-snk-form-config{align-content:flex-start;height:100%}.form-config__fields-available.sc-snk-form-config [data-draggable-parent].sc-snk-form-config{align-content:flex-start;overflow-y:auto;height:100%;max-height:calc(100% - 122px)}.form-config__tab-content.sc-snk-form-config{align-content:flex-start;overflow-y:auto;height:auto;max-height:calc(100% - 128px)}[data-draggable-element].sc-snk-form-config{cursor:grab}.form-config__actions-button.sc-snk-form-config{--ez-actions-button__btn-action--min-width:235px}.form-config__add-group.sc-snk-form-config{position:relative;min-height:120px;margin-bottom:10px}.form-config__add-group-container.sc-snk-form-config{position:absolute;display:flex;flex-wrap:wrap;width:100%;box-sizing:border-box;border-radius:var(--snk-form-config__add-group-container--border-radius);background-color:var(--snk-form-config__add-group-container--background-color);padding:var(--snk-form-config__add-group-container--padding)}.form-config__add-group-content.sc-snk-form-config{width:100%;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;box-sizing:border-box;border:var(--snk-form-config__add-group-content--border);border-radius:var(--snk-form-config__add-group-content--border-radius)}.form-config__add-group-label.sc-snk-form-config{display:flex;justify-content:center;box-sizing:border-box;padding:var(--snk-form-config__add-group-label--padding)}.form-config__btn-add-group.sc-snk-form-config{position:relative;padding:var(--snk-form-config__btn-add-group--padding)}.form-config__btn-add-group-container.sc-snk-form-config{padding:var(--snk-form-config__btn-add-group-container--padding);border-radius:var(--snk-form-config__btn-add-group-container--border-radius);border:var(--snk-form-config__btn-add-group-container--border);background-color:var(--snk-form-config__btn-add-group-container--background-color)}ez-collapsible-box.draggable-mirror.sc-snk-form-config{display:table;background-color:var(--snk-form-config--background-color)}ez-collapsible-box.sc-snk-form-config{margin-bottom:10px}@media screen and (min-width: 480px){.form-config__field-config--selected.sc-snk-form-config .ez-flex.form-config__config-options.sc-snk-form-config{min-width:calc(300% + 12px)}.form-config__field-config--selected.sc-snk-form-config:nth-child(3n+2) .ez-flex.form-config__config-options.sc-snk-form-config{transform:translate(calc(100% / 3 * -1))}.form-config__field-config--selected.sc-snk-form-config:nth-child(3n+3) .ez-flex.form-config__config-options.sc-snk-form-config{transform:translate(calc(100% / 3 * -2))}}";
12
12
 
@@ -1,9 +1,9 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-cfd4bb13.js';
2
2
  import { ElementIDUtils } from '@sankhyalabs/core';
3
- import { S as SnkFormConfigManager } from './SnkFormConfigManager-3a94ffd8.js';
4
- import './ConfigStorage-82f25358.js';
5
- import './form-config-fetcher-27c4cfba.js';
6
- import './DataFetcher-a56fedde.js';
3
+ import { S as SnkFormConfigManager } from './SnkFormConfigManager-0d9752c3.js';
4
+ import './ConfigStorage-1b64cd96.js';
5
+ import './form-config-fetcher-677f86dd.js';
6
+ import './DataFetcher-5e99fa75.js';
7
7
  import './_commonjsHelpers-9943807e.js';
8
8
 
9
9
  const snkFormCss = ".sc-snk-form-h{--snk-form__header--min-height:94px;display:block}.snk-form__form--hidden.sc-snk-form{display:none}";
@@ -2,10 +2,10 @@ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement
2
2
  import { StringUtils, ElementIDUtils } from '@sankhyalabs/core';
3
3
  import { ApplicationUtils, DialogType } from '@sankhyalabs/ezui/dist/collection/utils';
4
4
  import { CheckMode } from '@sankhyalabs/ezui/dist/collection/components/ez-check/CheckMode';
5
- import { C as ConfigStorage } from './ConfigStorage-82f25358.js';
5
+ import { C as ConfigStorage } from './ConfigStorage-1b64cd96.js';
6
6
  import { O as ORDER_VALUES } from './constants-fb9721cc.js';
7
- import './form-config-fetcher-27c4cfba.js';
8
- import './DataFetcher-a56fedde.js';
7
+ import './form-config-fetcher-677f86dd.js';
8
+ import './DataFetcher-5e99fa75.js';
9
9
  import './_commonjsHelpers-9943807e.js';
10
10
 
11
11
  const snkGridConfigCss = ".sc-snk-grid-config-h{--snk-grid-config__footer--padding-top:var(--space--medium, 12px);--snk-grid-config__main--padding-right:var(--space--medium, 12px);--snk-grid-config__tabselector-container--padding:var(--space--medium, 12px);--snk-grid-config__button-close--padding-left:var(--space--medium, 12px);--snk-grid-config__title--color:var(--title--primary, #2B3A54);--snk-grid-config__title--font-family:var(--font-pattern, \"Roboto\");--snk-grid-config__title--font-size:var(--title--large, 20px);--snk-grid-config__title--font-weight:var(--text-weight--extra-large, 700);--snk-grid-config__subtitle--font-family:var(--font-pattern, \"Roboto\");--snk-grid-config__subtitle--font-size:var(--text--medium, 14px);--snk-grid-config__group--font-family:var(--font-pattern, \"Roboto\");--snk-grid-config__group--font-size:var(--text--medium, 14px);--snk-grid-config__group--font-weight:var(--text-weight--large, 600);--snk-grid-config__group--padding-bottom:var(--space-small, 6px);--snk-grid-config__scrollbar--color-default:var(--scrollbar--default, #626e82);--snk-grid-config__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--snk-grid-config__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--snk-grid-config__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--snk-grid-config__scrollbar--border-radius:var(--border--radius-small, 6px);--snk-grid-config__scrollbar--width:var(--space--medium, 12px);display:grid;grid-template-rows:auto 1fr auto;max-height:100%;width:100%}@media screen and (min-width: 480px){.sc-snk-grid-config-h{width:359px;max-width:359px}}.padding-right--medium.sc-snk-grid-config{padding-right:var(--space--medium)}ez-list.sc-snk-grid-config{height:100%}.height-calc.sc-snk-grid-config{max-height:calc(100% - 24px)}.grid-config__footer.sc-snk-grid-config{display:flex;justify-content:flex-end;width:100%;padding-top:var(--snk-grid-config__footer--padding-top)}.hidden.sc-snk-grid-config{display:none}.tabselector-container.sc-snk-grid-config{padding:var(--snk-grid-config__tabselector-container--padding) 0}.button-close.sc-snk-grid-config{padding-left:var(--snk-grid-config__button-close--padding-left)}.title-container.sc-snk-grid-config{display:flex;justify-content:space-between;align-items:center;width:100%}.title.sc-snk-grid-config{display:flex;margin:0;line-height:normal;letter-spacing:0em;text-align:left;color:var(--snk-grid-config__title--color);font-size:var(--snk-grid-config__title--font-size);font-family:var(--snk-grid-config__title--font-family);font-weight:var(--snk-grid-config__title--font-weight)}.subtitle.sc-snk-grid-config{color:var(--text--primary);font-size:var(--snk-grid-config__subtitle--font-size);font-family:var(--snk-grid-config__subtitle--font-family)}.grid-config__main.sc-snk-grid-config{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--snk-grid-config__scrollbar--color-clicked) var(--snk-grid-config__scrollbar--color-background);padding-right:var(--snk-grid-config__main--padding-right)}.grid-config__main.sc-snk-grid-config::-webkit-scrollbar{width:var(--snk-grid-config__scrollbar--width);max-width:var(--snk-grid-config__scrollbar--width);min-width:var(--snk-grid-config__scrollbar--width);background-color:var(--snk-grid-config__scrollbar--color-background)}.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-track{background-color:var(--snk-grid-config__scrollbar--color-background);border-radius:var(--snk-grid-config__scrollbar--border-radius)}.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-thumb{background-color:var(--snk-grid-config__scrollbar--color-default);border-radius:var(--snk-grid-config__scrollbar--border-radius)}.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-thumb:vertical:hover,.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--snk-grid-config__scrollbar--color-hover)}.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-thumb:vertical:active,.grid-config__main.sc-snk-grid-config::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--snk-grid-config__scrollbar--color-clicked)}.group-name.sc-snk-grid-config{font-family:var(--snk-grid-config__group--font-family);font-size:var(--snk-grid-config__group--font-size);font-weight:var(--snk-grid-config__group--font-weight);padding-bottom:var(--snk-grid-config__group--padding-bottom)}";
@@ -1,12 +1,12 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-cfd4bb13.js';
2
2
  import { ElementIDUtils, ApplicationContext, DataType } from '@sankhyalabs/core';
3
3
  import { UserInterface } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
4
- import { C as ConfigStorage } from './ConfigStorage-82f25358.js';
4
+ import { C as ConfigStorage } from './ConfigStorage-1b64cd96.js';
5
5
  import { P as PresentationMode } from './index-6519a79e.js';
6
6
  import { T as TaskbarProcessor } from './taskbar-processor-c2a99aba.js';
7
7
  import { s as store } from './index-e467ade5.js';
8
- import './form-config-fetcher-27c4cfba.js';
9
- import './DataFetcher-a56fedde.js';
8
+ import './form-config-fetcher-677f86dd.js';
9
+ import './DataFetcher-5e99fa75.js';
10
10
  import './_commonjsHelpers-9943807e.js';
11
11
 
12
12
  const snkGridCss = ".snk-grid__container.sc-snk-grid{display:flex;height:100%;width:100%}.snk-grid__header.sc-snk-grid{display:flex;flex-wrap:nowrap;width:100%}.snk-grid__filter-bar.sc-snk-grid{width:100%}.snk-grid__header-divider.sc-snk-grid{margin-bottom:var(--space--medium)}.snk-grid__table.sc-snk-grid{min-height:300px}.snk-grid-container__without-shadow.sc-snk-grid{--ezgrid__container--shadow:unset}";
@@ -1,11 +1,11 @@
1
1
  import { r as registerInstance, c as createEvent, h, F as Fragment } from './index-cfd4bb13.js';
2
2
  import { ApplicationContext, ElementIDUtils } from '@sankhyalabs/core';
3
- import { S as SnkFormConfigManager } from './SnkFormConfigManager-3a94ffd8.js';
3
+ import { S as SnkFormConfigManager } from './SnkFormConfigManager-0d9752c3.js';
4
4
  import { buildFormMetadata, FormMetadata } from '@sankhyalabs/ezui/dist/collection/utils/form';
5
5
  import { T as TaskbarProcessor } from './taskbar-processor-c2a99aba.js';
6
6
  import { T as TaskbarElement } from './taskbar-elements-10d80c79.js';
7
7
  import { c as VIEW_MODE } from './constants-fb9721cc.js';
8
- import './DataFetcher-a56fedde.js';
8
+ import './DataFetcher-5e99fa75.js';
9
9
  import { P as PresentationMode } from './index-6519a79e.js';
10
10
 
11
11
  const snkGuidesViewerCss = ".sc-snk-guides-viewer-h{--snk-guides-viewer--space-large:var(--space--large, 24px);--snk-guides-viewer--space-medium:var(--space--medium, 12px);--snk-guides-viewer__header--min-height:94px;--snk-guides-viewer__header--z-index:var(--more-visible, 2);--snk-guides-viewer__header--background-color:var(--background--body, #fafcff);--snk-guides-viewer__guide-navigator--width:340px;display:block}snk-form-view.sc-snk-guides-viewer{width:100%}.snk-guides-viewer.sc-snk-guides-viewer{position:relative;padding-left:0px;padding-top:0px;padding-right:var(--snk-guides-viewer--space-large);padding-bottom:var(--snk-guides-viewer--space-large)}.snk-guides-viewer__detail-container.sc-snk-guides-viewer{display:flex;row-gap:24px;flex-direction:column}.snk-guides-viewer__header.sc-snk-guides-viewer{position:sticky;align-items:center;top:0;z-index:var(--snk-guides-viewer__header--z-index);background-color:var(--snk-guides-viewer__header--background-color);min-height:var(--snk-guides-viewer__header--min-height);width:calc(100% + (var(--snk-guides-viewer--space-large) * 2));padding-left:var(--snk-guides-viewer--space-large);padding-right:var(--snk-guides-viewer--space-large);padding-top:var(--snk-guides-viewer--space-large);padding-bottom:var(--snk-guides-viewer--space-medium);margin-left:calc(var(--snk-guides-viewer--space-large) * -1);margin-right:calc(var(--snk-guides-viewer--space-large) * -1);margin-bottom:var(--snk-guides-viewer--space-medium)}.snk-guides-viewer__container.sc-snk-guides-viewer{display:grid;grid-template-columns:minmax(0, auto) minmax(0, 100%);height:100%;column-gap:var(--snk-guides-viewer--space-large)}.snk-guides-viewer__guide-navigator.sc-snk-guides-viewer{position:sticky;top:calc(var(--snk-guides-viewer__header--min-height) + var(--snk-guides-viewer--space-medium));height:calc(100vh - var(--snk-guides-viewer__header--min-height) - var(--snk-guides-viewer--space-large) - var(--snk-guides-viewer--space-medium))}.snk-guides-viewer__guide-navigator[open].sc-snk-guides-viewer{width:var(--snk-guides-viewer__guide-navigator--width);max-width:var(--snk-guides-viewer__guide-navigator--width);min-width:var(--snk-guides-viewer__guide-navigator--width)}.snk-guides-viewer__detail-content.sc-snk-guides-viewer{min-height:100%;align-items:flex-start;align-content:flex-start}";
@@ -1,10 +1,10 @@
1
- export { S as snk_guides_viewer } from './snk-guides-viewer-cf54b9dc.js';
1
+ export { S as snk_guides_viewer } from './snk-guides-viewer-3b3330a2.js';
2
2
  import './index-cfd4bb13.js';
3
3
  import '@sankhyalabs/core';
4
- import './SnkFormConfigManager-3a94ffd8.js';
5
- import './ConfigStorage-82f25358.js';
6
- import './form-config-fetcher-27c4cfba.js';
7
- import './DataFetcher-a56fedde.js';
4
+ import './SnkFormConfigManager-0d9752c3.js';
5
+ import './ConfigStorage-1b64cd96.js';
6
+ import './form-config-fetcher-677f86dd.js';
7
+ import './DataFetcher-5e99fa75.js';
8
8
  import './_commonjsHelpers-9943807e.js';
9
9
  import '@sankhyalabs/ezui/dist/collection/utils/form';
10
10
  import './taskbar-processor-c2a99aba.js';