@unipin/angular-applet 21.1.3 → 21.3.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 (51) hide show
  1. package/common/assets/styles/theme.css +8 -0
  2. package/fesm2022/unipin-angular-applet-accordion.mjs +12 -12
  3. package/fesm2022/unipin-angular-applet-alert-dialog.mjs +10 -7
  4. package/fesm2022/unipin-angular-applet-alert-dialog.mjs.map +1 -1
  5. package/fesm2022/unipin-angular-applet-alert.mjs +9 -9
  6. package/fesm2022/unipin-angular-applet-approval.mjs +6 -6
  7. package/fesm2022/unipin-angular-applet-audit-audit-modal.component-3a2P0bZr.mjs +280 -0
  8. package/fesm2022/unipin-angular-applet-audit-audit-modal.component-3a2P0bZr.mjs.map +1 -0
  9. package/fesm2022/unipin-angular-applet-audit.mjs +220 -0
  10. package/fesm2022/unipin-angular-applet-audit.mjs.map +1 -0
  11. package/fesm2022/unipin-angular-applet-auth.mjs +21 -21
  12. package/fesm2022/unipin-angular-applet-avatar.mjs +25 -8
  13. package/fesm2022/unipin-angular-applet-avatar.mjs.map +1 -1
  14. package/fesm2022/unipin-angular-applet-badge.mjs +3 -3
  15. package/fesm2022/unipin-angular-applet-buttons.mjs +6 -6
  16. package/fesm2022/unipin-angular-applet-calendar.mjs +26 -12
  17. package/fesm2022/unipin-angular-applet-calendar.mjs.map +1 -1
  18. package/fesm2022/unipin-angular-applet-collapsible.mjs +9 -9
  19. package/fesm2022/unipin-angular-applet-common.mjs +24 -24
  20. package/fesm2022/unipin-angular-applet-containers.mjs +12 -12
  21. package/fesm2022/unipin-angular-applet-dialog.mjs +30 -45
  22. package/fesm2022/unipin-angular-applet-dialog.mjs.map +1 -1
  23. package/fesm2022/unipin-angular-applet-forms.mjs +710 -61
  24. package/fesm2022/unipin-angular-applet-forms.mjs.map +1 -1
  25. package/fesm2022/unipin-angular-applet-froala.mjs +4 -4
  26. package/fesm2022/unipin-angular-applet-froala.mjs.map +1 -1
  27. package/fesm2022/unipin-angular-applet-grids.mjs +17 -1
  28. package/fesm2022/unipin-angular-applet-grids.mjs.map +1 -1
  29. package/fesm2022/unipin-angular-applet-infinite-scroll.mjs +3 -3
  30. package/fesm2022/unipin-angular-applet-json-viewer.mjs +3 -3
  31. package/fesm2022/unipin-angular-applet-kbd.mjs +3 -3
  32. package/fesm2022/unipin-angular-applet-loading-dialog.mjs +6 -6
  33. package/fesm2022/unipin-angular-applet-markdown.mjs +10 -10
  34. package/fesm2022/unipin-angular-applet-markdown.mjs.map +1 -1
  35. package/fesm2022/unipin-angular-applet-popover.mjs +18 -18
  36. package/fesm2022/unipin-angular-applet-popover.mjs.map +1 -1
  37. package/fesm2022/unipin-angular-applet-progress-bar.mjs +3 -3
  38. package/fesm2022/unipin-angular-applet-skeleton.mjs +3 -3
  39. package/fesm2022/unipin-angular-applet-spinner.mjs +3 -3
  40. package/fesm2022/unipin-angular-applet-stepper.mjs +6 -6
  41. package/fesm2022/unipin-angular-applet-swipeable.mjs +12 -12
  42. package/fesm2022/unipin-angular-applet-tabs.mjs +9 -9
  43. package/fesm2022/unipin-angular-applet-tooltip.mjs +3 -3
  44. package/package.json +5 -1
  45. package/types/unipin-angular-applet-audit.d.ts +49 -0
  46. package/types/unipin-angular-applet-avatar.d.ts +3 -2
  47. package/types/unipin-angular-applet-containers.d.ts +1 -1
  48. package/types/unipin-angular-applet-dialog.d.ts +13 -13
  49. package/types/unipin-angular-applet-forms.d.ts +82 -1
  50. package/types/unipin-angular-applet-grids.d.ts +17 -1
  51. package/types/unipin-angular-applet-popover.d.ts +2 -2
@@ -122,7 +122,7 @@ class UpFroalaComponent extends UpFieldControlComponent {
122
122
  };
123
123
  }, ...(ngDevMode ? [{ debugName: "froalaOptions" }] : []));
124
124
  this._computedClass = computed(() => {
125
- return up('peer placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex flex-col min-h-48 size-full min-w-0 rounded-md border bg-transparent text-base shadow-xs transition-[color,box-shadow] outline-none md:text-sm overflow-hidden bg-white', this.error() ? 'ring-destructive/20 dark:ring-destructive/40 border-destructive has-[textarea:focus-visible]:ring-destructive/50' : '', this.inlineClass());
125
+ return up('peer placeholder:text-muted-foreground/30 selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex flex-col min-h-48 size-full min-w-0 rounded-md border bg-transparent text-base shadow-xs transition-[color,box-shadow] outline-none md:text-sm overflow-hidden bg-white', this.error() ? 'ring-destructive/20 dark:ring-destructive/40 border-destructive has-[textarea:focus-visible]:ring-destructive/50' : '', this.inlineClass());
126
126
  }, ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
127
127
  /**
128
128
  * Callback function to handle value changes in the password input.
@@ -244,8 +244,8 @@ class UpFroalaComponent extends UpFieldControlComponent {
244
244
  callback: function () { this['customPlugin'].insertCallback(); }
245
245
  });
246
246
  }
247
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpFroalaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
248
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.6", type: UpFroalaComponent, isStandalone: true, selector: "up-froala", inputs: { froalaKey: { classPropertyName: "froalaKey", publicName: "froalaKey", isSignal: true, isRequired: true, transformFunction: null }, froalaEvents: { classPropertyName: "froalaEvents", publicName: "froalaEvents", isSignal: true, isRequired: false, transformFunction: null }, inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, useCustomSocialEmbed: { classPropertyName: "useCustomSocialEmbed", publicName: "useCustomSocialEmbed", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()" } }, providers: [
247
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpFroalaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
248
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.5", type: UpFroalaComponent, isStandalone: true, selector: "up-froala", inputs: { froalaKey: { classPropertyName: "froalaKey", publicName: "froalaKey", isSignal: true, isRequired: true, transformFunction: null }, froalaEvents: { classPropertyName: "froalaEvents", publicName: "froalaEvents", isSignal: true, isRequired: false, transformFunction: null }, inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, useCustomSocialEmbed: { classPropertyName: "useCustomSocialEmbed", publicName: "useCustomSocialEmbed", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()" } }, providers: [
249
249
  {
250
250
  provide: UpFieldControl,
251
251
  useExisting: forwardRef(() => UpFroalaComponent)
@@ -258,7 +258,7 @@ class UpFroalaComponent extends UpFieldControlComponent {
258
258
  </div>
259
259
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: FroalaViewModule }, { kind: "ngmodule", type: FroalaEditorModule }, { kind: "directive", type: i1.FroalaEditorDirective, selector: "[froalaEditor]", inputs: ["froalaEditor", "froalaModel"], outputs: ["froalaModelChange", "froalaInit"], exportAs: ["froalaEditor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
260
260
  }
261
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpFroalaComponent, decorators: [{
261
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpFroalaComponent, decorators: [{
262
262
  type: Component,
263
263
  args: [{
264
264
  standalone: true,
@@ -1 +1 @@
1
- {"version":3,"file":"unipin-angular-applet-froala.mjs","sources":["../../../projects/unipin-angular/froala/froala.component.ts","../../../projects/unipin-angular/froala/unipin-angular-applet-froala.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy, forwardRef, WritableSignal, signal, OnInit, computed, input, booleanAttribute } from '@angular/core';\nimport { ControlValueAccessor, ReactiveFormsModule } from '@angular/forms';\nimport { ClassValue } from 'clsx';\nimport { FroalaEditorModule, FroalaViewModule } from 'angular-froala-wysiwyg';\nimport FroalaEditor from 'froala-editor';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpFieldControl, UpFieldControlComponent } from '@unipin/angular-applet/forms';\n\nimport 'froala-editor/js/plugins.pkgd.min.js';\nimport 'froala-editor/js/plugins/align.min.js';\nimport 'froala-editor/js/third_party/embedly.min';\nimport 'froala-editor/js/third_party/image_tui.min';\nimport 'froala-editor/js/third_party/font_awesome.min';\n\n@Component({\n standalone: true,\n selector: 'up-froala',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': '_computedClass()',\n },\n providers: [\n {\n provide: UpFieldControl,\n useExisting: forwardRef(() => UpFroalaComponent)\n },\n ],\n imports: [\n ReactiveFormsModule,\n FroalaViewModule,\n FroalaEditorModule\n ],\n template: `\n <div \n [froalaModel]=\"value()\" \n [froalaEditor]=\"froalaOptions()\"\n >\n </div>\n `\n})\nexport class UpFroalaComponent extends UpFieldControlComponent implements OnInit, ControlValueAccessor {\n\n public readonly froalaKey = input.required<string>();\n \n public readonly froalaEvents = input<any>({ });\n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n\n public readonly useCustomSocialEmbed = input(\n false,\n {\n transform: booleanAttribute\n }\n );\n\n public readonly value: WritableSignal<string> = signal('');\n\n public readonly froalaOptions = computed(\n () => {\n return { \n fullPage: true,\n toolbarSticky: false,\n videoResponsive: true,\n imageMaxSize: 5242880,\n imageDefaultWidth: 100,\n videoMaxSize: 52428800,\n imageDefaultAlign: 'left',\n key: this.froalaKey(),\n imageResizeWithPercent: true,\n imageAllowedTypes: ['jpeg', 'jpg', 'png'],\n placeholderText: 'Add Page Content Here!',\n videoAllowedTypes: ['quicktime', 'webm', 'jpg', 'ogg'],\n pasteAllowedStyleProps: ['font-size', 'font-family', 'font-style', 'text-decoration', 'text-align', 'font-weight'],\n htmlAllowedTags: ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'blockquote', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header', 'hgroup', 'hr', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'menu', 'menuitem', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'pre', 'progress', 'queue', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'style', 'section', 'select', 'small', 'source', 'span', 'strike', 'strong', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr'],\n events: {\n ...this.froalaEvents(),\n 'initialized': (e: any) => {\n const styleTag = document.createElement('style');\n styleTag.innerHTML = `\n .adsense { \n width: 100%;\n height: 50px;\n padding: 5px;\n position: relative;\n background-color: #D3D3D3;\n &::after{\n content: 'Google Ads';\n position: absolute;\n top: 0;\n left: 0;\n margin-left: 50%;\n margin-top: 13px;\n transform: translate(-50%);\n }\n }\n .fr-view {\n font-family: Roboto, sans-serif !important;\n font-weight: 400 !important;\n font-size: 18px !important;\n line-height: 27px !important;\n text-align: justify !important;\n p {\n margin: 0 0 14px !important;\n }\n }`;\n \n const iframeDocument = e._editor.$el.get(0).ownerDocument;\n iframeDocument.head.appendChild(styleTag);\n },\n 'paste.afterCleanup': function (html: string) {\n const doc = new DOMParser().parseFromString(html, 'text/html');\n \n doc.querySelectorAll('iframe[src*=\"youtube.com\"]').forEach((video: any) => {\n video.setAttribute('style', 'width: 100%; height: 500px;');\n });\n \n doc.querySelectorAll('table').forEach((table) => {\n table.querySelectorAll('tr').forEach((row) => {\n row.querySelectorAll('td, th').forEach((cell: any) => cell.style.border = '1px solid #000');\n });\n });\n return doc.documentElement.innerHTML;\n },\n 'video.inserted': function (vid: any) {\n vid.attr('contentEditable', 'true');\n vid.css('width', '100%'); \n vid.css('height', '500px'); \n },\n 'window.copy': function () {\n localStorage.removeItem('fr-copied-html');\n localStorage.removeItem('fr-copied-text');\n },\n 'window.cut': function () {\n localStorage.removeItem('fr-copied-html');\n localStorage.removeItem('fr-copied-text');\n },\n 'contentChanged': () => this._onChange(this.value)\n },\n toolbarButtons: {\n moreText: {\n buttons: ['adsense', 'bold', 'italic', 'underline', 'strikeThrough', 'subscript', 'superscript', 'fontFamily', 'fontSize', 'textColor', 'backgroundColor', 'inlineClass', 'inlineStyle', 'clearFormatting'],\n align: 'left',\n buttonsVisible: 3\n },\n moreParagraph: {\n buttons: ['alignCenter', 'formatOLSimple', 'alignLeft', 'alignRight', 'alignJustify', 'formatOL', 'formatUL', 'paragraphFormat', 'paragraphStyle', 'lineHeight', 'outdent', 'indent', 'quote'],\n align: 'left',\n buttonsVisible: 2\n },\n moreRich: {\n buttons: ['insertLink', 'insertImage', 'customEmbed', 'insertVideo', 'insertTable', 'emoticons', 'specialCharacters', 'insertHR'],\n align: 'left',\n buttonsVisible: 4\n },\n moreMisc: {\n buttons: ['undo', 'redo', 'fullscreen', 'print', 'getPDF', 'spellChecker', 'selectAll', 'html', 'help'],\n align: 'right',\n buttonsVisible: 2\n }\n }\n };\n }\n );\n\n protected readonly _computedClass = computed(\n () => {\n return up(\n 'peer placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex flex-col min-h-48 size-full min-w-0 rounded-md border bg-transparent text-base shadow-xs transition-[color,box-shadow] outline-none md:text-sm overflow-hidden bg-white',\n this.error()? 'ring-destructive/20 dark:ring-destructive/40 border-destructive has-[textarea:focus-visible]:ring-destructive/50' : '',\n this.inlineClass(),\n );\n }\n );\n\n /**\n * Callback function to handle value changes in the password input.\n * @type {(_val: any) => void}\n */\n protected _onChange: (_val: any) => void = (_val: any): void => {};\n\n /**\n * Callback function to handle touch events in the password input.\n * @type {() => void}\n */\n protected _onTouched: () => void = (): void => {};\n\n constructor() {\n super();\n\n if (this.ngControl !== null) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n public ngOnInit(): void{\n if (this.useCustomSocialEmbed()) {\n this.customSocialEmbed();\n }\n\n FroalaEditor.DefineIcon('adsense', { NAME: 'plus', SVG_KEY: 'tags' });\n FroalaEditor.RegisterCommand('adsense', {\n title: 'Adsense',\n focus: false, undo: false,\n refreshAfterCallback: true,\n callback() { this.html.insert('<div class=\"adsense\"></div>'); }\n });\n }\n\n /**\n * Registers a callback function to be called when the password input value changes.\n * @param {(_val: any) => void} fn - Callback function for value changes.\n */\n public registerOnChange(fn: any): void{\n this._onChange = fn;\n }\n\n /**\n * Registers a callback function to be called when the password input is touched.\n * @param {() => void} fn - Callback function for touch events.\n */\n public registerOnTouched(fn: any): void{\n this._onTouched = fn;\n }\n\n /**\n * Writes a new value to the password input.\n * @param {*} val - The new value to be set.\n */\n public writeValue(val: any): void{\n this.value.set(val?? '');\n }\n\n protected customSocialEmbed(): void{\n FroalaEditor.POPUP_TEMPLATES['customPlugin.popup'] = '[_BUTTONS_][_CUSTOM_LAYER_]';\n Object.assign(\n FroalaEditor.DEFAULTS, \n { popupButtons: ['popupClose'] }\n );\n\n FroalaEditor.PLUGINS.customPlugin = function (editor: any) {\n function initPopup() {\n let tabidx = 0;\n\n const popupButtons = `<div class=\"fr-buttons fr-tabs\">${ editor.button.buildList(editor.opts.popupButtons) }</div>`;\n const inputLayer = `\n <div class=\"fr-link-insert-layer fr-layer fr-active\" id=\"fr-link-insert-layer-${ editor.id }\">\n <div class=\"errorlist\"></div>\n <div class=\"fr-input-line\"><input name=\"href\" type=\"text\" placeholder=\"Paste in embed code\" tabIndex=\"${ (++tabidx) }\"></div>\n <div class=\"fr-action-buttons\"><button class=\"fr-command fr-submit\" data-cmd=\"linkCustomInsert\" href=\"#\" tabIndex=\"${ (++tabidx) }\" type=\"button\">${ editor.language.translate('Insert') }</button></div>\n </div>\n `;\n return editor.popups.create('customPlugin.popup', { buttons: popupButtons, custom_layer: inputLayer });\n }\n\n function showPopup() {\n let popup = editor.popups.get('customPlugin.popup');\n if (!popup) {\n popup = initPopup();\n }\n editor.popups.setContainer('customPlugin.popup', editor.$tb);\n const btn = editor.$tb.find('.fr-command[data-cmd=\"customEmbed\"]');\n\n editor.popups.show('customPlugin.popup', (btn.offset().left + btn.outerWidth() / 2), (btn.offset().top + (editor.opts.toolbarBottom ? 10 : btn.outerHeight() - 10)), btn.outerHeight());\n }\n\n function hidePopup() {\n editor.popups.hide('customPlugin.popup');\n editor.popups.get('customPlugin.popup').find('input[type=\"text\"][name=\"href\"]').val('');\n }\n\n function showError(error: string) {\n const popup = editor.popups.get('customPlugin.popup');\n const errors = popup.find('div.errorlist');\n\n errors.html('<small>' + error + '</small>');\n popup.find('input[type=\"text\"][name=\"href\"]').on('keyup', function(){ errors.html(''); });\n }\n\n function insert(url: string) {\n editor.events.focus(true);\n editor.selection.restore();\n if (url.includes('<script')){\n showError('Oops, can not insert script!');\n return false;\n }\n\n editor.html.insert('<center>' + url + '</center>');\n editor.popups.hide('customPlugin.popup');\n return false;\n } \n\n function insertCallback() {\n insert(editor.popups.get('customPlugin.popup').find('input[type=\"text\"][name=\"href\"]').val());\n }\n\n return { showPopup, hidePopup, insertCallback };\n };\n\n FroalaEditor.DefineIcon('socialEmbed', { NAME: 'star', SVG_KEY: 'insertEmbed'});\n FroalaEditor.RegisterCommand('customEmbed', {\n title: 'Embed Social',\n icon: 'socialEmbed',\n undo: false,\n focus: false,\n plugin: 'customPlugin',\n callback: function () { this['customPlugin'].showPopup(); }\n });\n\n FroalaEditor.DefineIcon('popupClose', { NAME: 'times', SVG_KEY: 'back' });\n FroalaEditor.RegisterCommand('popupClose', {\n title: 'Close',\n undo: false,\n focus: false,\n callback: function () { this['customPlugin'].hidePopup(); }\n });\n\n FroalaEditor.RegisterCommand('linkCustomInsert', {\n focus: false,\n refreshAfterCallback: false,\n callback: function () { this['customPlugin'].insertCallback(); }\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAwCM,MAAO,iBAAkB,SAAQ,uBAAuB,CAAA;AAiJ5D,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;AAhJO,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,QAAQ,oDAAU;AAEpC,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAAM,EAAG,wDAAC;QAC9B,IAAA,CAAA,WAAW,GAAG,KAAK,CAAa,EAAE,wDAAI,KAAK,EAAE,OAAO,EAAA,CAAG;QAEvD,IAAA,CAAA,oBAAoB,GAAG,KAAK,CAC1C,KAAK,iEAEH,SAAS,EAAE,gBAAgB,EAAA,CAE9B;AAEe,QAAA,IAAA,CAAA,KAAK,GAA2B,MAAM,CAAC,EAAE,iDAAC;AAE1C,QAAA,IAAA,CAAA,aAAa,GAAG,QAAQ,CACtC,MAAK;YACH,OAAO;AACL,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,aAAa,EAAE,KAAK;AACpB,gBAAA,eAAe,EAAE,IAAI;AACrB,gBAAA,YAAY,EAAE,OAAO;AACrB,gBAAA,iBAAiB,EAAE,GAAG;AACtB,gBAAA,YAAY,EAAE,QAAQ;AACtB,gBAAA,iBAAiB,EAAE,MAAM;AACzB,gBAAA,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE;AACrB,gBAAA,sBAAsB,EAAE,IAAI;AAC5B,gBAAA,iBAAiB,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC;AACzC,gBAAA,eAAe,EAAE,wBAAwB;gBACzC,iBAAiB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC;AACtD,gBAAA,sBAAsB,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,CAAC;gBAClH,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC;AAC55B,gBAAA,MAAM,EAAE;oBACN,GAAG,IAAI,CAAC,YAAY,EAAE;AACtB,oBAAA,aAAa,EAAE,CAAC,CAAM,KAAI;wBACxB,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;wBAChD,QAAQ,CAAC,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;gBA0BjB;AAEJ,wBAAA,MAAM,cAAc,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa;AACzD,wBAAA,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;oBAC3C,CAAC;oBACD,oBAAoB,EAAE,UAAU,IAAY,EAAA;AAC1C,wBAAA,MAAM,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC;wBAE9D,GAAG,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,CAAC,OAAO,CAAC,CAAC,KAAU,KAAI;AACxE,4BAAA,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,6BAA6B,CAAC;AAC5D,wBAAA,CAAC,CAAC;wBAEF,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;4BAC9C,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;gCAC3C,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAS,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,gBAAgB,CAAC;AAC7F,4BAAA,CAAC,CAAC;AACJ,wBAAA,CAAC,CAAC;AACF,wBAAA,OAAO,GAAG,CAAC,eAAe,CAAC,SAAS;oBACtC,CAAC;oBACD,gBAAgB,EAAE,UAAU,GAAQ,EAAA;AAClC,wBAAA,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC;AACnC,wBAAA,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC;AACxB,wBAAA,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC;oBAC5B,CAAC;AACD,oBAAA,aAAa,EAAE,YAAA;AACb,wBAAA,YAAY,CAAC,UAAU,CAAC,gBAAgB,CAAC;AACzC,wBAAA,YAAY,CAAC,UAAU,CAAC,gBAAgB,CAAC;oBAC3C,CAAC;AACD,oBAAA,YAAY,EAAE,YAAA;AACZ,wBAAA,YAAY,CAAC,UAAU,CAAC,gBAAgB,CAAC;AACzC,wBAAA,YAAY,CAAC,UAAU,CAAC,gBAAgB,CAAC;oBAC3C,CAAC;oBACD,gBAAgB,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK;AAClD,iBAAA;AACD,gBAAA,cAAc,EAAE;AACd,oBAAA,QAAQ,EAAE;AACR,wBAAA,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,CAAC;AAC3M,wBAAA,KAAK,EAAE,MAAM;AACb,wBAAA,cAAc,EAAE;AACjB,qBAAA;AACD,oBAAA,aAAa,EAAE;wBACb,OAAO,EAAE,CAAC,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC;AAC9L,wBAAA,KAAK,EAAE,MAAM;AACb,wBAAA,cAAc,EAAE;AACjB,qBAAA;AACD,oBAAA,QAAQ,EAAE;AACR,wBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,mBAAmB,EAAE,UAAU,CAAC;AACjI,wBAAA,KAAK,EAAE,MAAM;AACb,wBAAA,cAAc,EAAE;AACjB,qBAAA;AACD,oBAAA,QAAQ,EAAE;AACR,wBAAA,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC;AACvG,wBAAA,KAAK,EAAE,OAAO;AACd,wBAAA,cAAc,EAAE;AACjB;AACF;aACF;AACH,QAAA,CAAC,yDACF;AAEkB,QAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CAC1C,MAAK;YACH,OAAO,EAAE,CACP,0SAA0S,EAC1S,IAAI,CAAC,KAAK,EAAE,GAAE,kHAAkH,GAAG,EAAE,EACrI,IAAI,CAAC,WAAW,EAAE,CACnB;AACH,QAAA,CAAC,0DACF;AAED;;;AAGG;AACO,QAAA,IAAA,CAAA,SAAS,GAAwB,CAAC,IAAS,KAAU,EAAE,CAAC;AAElE;;;AAGG;AACO,QAAA,IAAA,CAAA,UAAU,GAAe,MAAW,EAAE,CAAC;AAK/C,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;AAC3B,YAAA,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI;QACrC;IACF;IAEO,QAAQ,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;YAC/B,IAAI,CAAC,iBAAiB,EAAE;QAC1B;AAEA,QAAA,YAAY,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AACrE,QAAA,YAAY,CAAC,eAAe,CAAC,SAAS,EAAE;AACtC,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;AACzB,YAAA,oBAAoB,EAAE,IAAI;YAC1B,QAAQ,GAAA,EAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,CAAC;AAC/D,SAAA,CAAC;IACJ;AAEA;;;AAGG;AACI,IAAA,gBAAgB,CAAC,EAAO,EAAA;AAC7B,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;AAEA;;;AAGG;AACI,IAAA,iBAAiB,CAAC,EAAO,EAAA;AAC9B,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE;IACtB;AAEA;;;AAGG;AACI,IAAA,UAAU,CAAC,GAAQ,EAAA;QACxB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAG,EAAE,CAAC;IAC1B;IAEU,iBAAiB,GAAA;AACzB,QAAA,YAAY,CAAC,eAAe,CAAC,oBAAoB,CAAC,GAAG,6BAA6B;AAClF,QAAA,MAAM,CAAC,MAAM,CACX,YAAY,CAAC,QAAQ,EACrB,EAAE,YAAY,EAAE,CAAC,YAAY,CAAC,EAAE,CACjC;AAED,QAAA,YAAY,CAAC,OAAO,CAAC,YAAY,GAAG,UAAU,MAAW,EAAA;AACvD,YAAA,SAAS,SAAS,GAAA;gBAChB,IAAI,MAAM,GAAG,CAAC;AAEd,gBAAA,MAAM,YAAY,GAAG,CAAA,gCAAA,EAAoC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAE,QAAQ;AACnH,gBAAA,MAAM,UAAU,GAAG;AACgE,wFAAA,EAAA,MAAM,CAAC,EAAG,CAAA;;qHAEiB,EAAE,MAAM,EAAE;kIACG,EAAE,MAAM,EAAE,gBAAA,EAAoB,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAE,CAAA;;SAE5L;AACD,gBAAA,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;YACxG;AAEA,YAAA,SAAS,SAAS,GAAA;gBAChB,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC;gBACnD,IAAI,CAAC,KAAK,EAAE;oBACV,KAAK,GAAG,SAAS,EAAE;gBACrB;gBACA,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,oBAAoB,EAAE,MAAM,CAAC,GAAG,CAAC;gBAC5D,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,qCAAqC,CAAC;gBAElE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,EAAE,GAAG,GAAG,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YACzL;AAEA,YAAA,SAAS,SAAS,GAAA;AAChB,gBAAA,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC;AACxC,gBAAA,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YACzF;YAEA,SAAS,SAAS,CAAC,KAAa,EAAA;gBAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC;gBACrD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;gBAE1C,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,GAAG,UAAU,CAAC;gBAC3C,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,cAAY,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3F;YAEA,SAAS,MAAM,CAAC,GAAW,EAAA;AACzB,gBAAA,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;AACzB,gBAAA,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE;AAC1B,gBAAA,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAC;oBAC1B,SAAS,CAAC,8BAA8B,CAAC;AACzC,oBAAA,OAAO,KAAK;gBACd;gBAEA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,GAAG,WAAW,CAAC;AAClD,gBAAA,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC;AACxC,gBAAA,OAAO,KAAK;YACd;AAEA,YAAA,SAAS,cAAc,GAAA;AACrB,gBAAA,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,GAAG,EAAE,CAAC;YAC/F;AAEA,YAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE;AACjD,QAAA,CAAC;AAED,QAAA,YAAY,CAAC,UAAU,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAC,CAAC;AAC/E,QAAA,YAAY,CAAC,eAAe,CAAC,aAAa,EAAE;AAC1C,YAAA,KAAK,EAAE,cAAc;AACrB,YAAA,IAAI,EAAE,aAAa;AACnB,YAAA,IAAI,EAAE,KAAK;AACX,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,MAAM,EAAE,cAAc;YACtB,QAAQ,EAAE,YAAA,EAAc,IAAI,CAAC,cAAc,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;AAC3D,SAAA,CAAC;AAEF,QAAA,YAAY,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AACzE,QAAA,YAAY,CAAC,eAAe,CAAC,YAAY,EAAE;AACzC,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,IAAI,EAAE,KAAK;AACX,YAAA,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,YAAA,EAAc,IAAI,CAAC,cAAc,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;AAC3D,SAAA,CAAC;AAEF,QAAA,YAAY,CAAC,eAAe,CAAC,kBAAkB,EAAE;AAC/C,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,oBAAoB,EAAE,KAAK;YAC3B,QAAQ,EAAE,YAAA,EAAc,IAAI,CAAC,cAAc,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;AAChE,SAAA,CAAC;IACJ;8GAxRW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,oBAAA,EAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EAnBjB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,cAAc;AACvB,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,iBAAiB;AAChD,aAAA;SACF,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAMS;;;;;;AAMT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAVC,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACnB,gBAAgB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAChB,kBAAkB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,EAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAUT,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBA1B7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,WAAW;oBACtB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC9C,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,kBAAkB;AAC9B,qBAAA;AACD,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,cAAc;AACvB,4BAAA,WAAW,EAAE,UAAU,CAAC,uBAAuB;AAChD,yBAAA;AACF,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,mBAAmB;wBACnB,gBAAgB;wBAChB;AACD,qBAAA;AACD,oBAAA,QAAQ,EAAE;;;;;;AAMT,EAAA;AACF,iBAAA;;;ACvCD;;AAEG;;;;"}
1
+ {"version":3,"file":"unipin-angular-applet-froala.mjs","sources":["../../../projects/unipin-angular/froala/froala.component.ts","../../../projects/unipin-angular/froala/unipin-angular-applet-froala.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy, forwardRef, WritableSignal, signal, OnInit, computed, input, booleanAttribute } from '@angular/core';\nimport { ControlValueAccessor, ReactiveFormsModule } from '@angular/forms';\nimport { ClassValue } from 'clsx';\nimport { FroalaEditorModule, FroalaViewModule } from 'angular-froala-wysiwyg';\nimport FroalaEditor from 'froala-editor';\nimport { up } from '@unipin/angular-applet/common';\nimport { UpFieldControl, UpFieldControlComponent } from '@unipin/angular-applet/forms';\n\nimport 'froala-editor/js/plugins.pkgd.min.js';\nimport 'froala-editor/js/plugins/align.min.js';\nimport 'froala-editor/js/third_party/embedly.min';\nimport 'froala-editor/js/third_party/image_tui.min';\nimport 'froala-editor/js/third_party/font_awesome.min';\n\n@Component({\n standalone: true,\n selector: 'up-froala',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': '_computedClass()',\n },\n providers: [\n {\n provide: UpFieldControl,\n useExisting: forwardRef(() => UpFroalaComponent)\n },\n ],\n imports: [\n ReactiveFormsModule,\n FroalaViewModule,\n FroalaEditorModule\n ],\n template: `\n <div \n [froalaModel]=\"value()\" \n [froalaEditor]=\"froalaOptions()\"\n >\n </div>\n `\n})\nexport class UpFroalaComponent extends UpFieldControlComponent implements OnInit, ControlValueAccessor {\n\n public readonly froalaKey = input.required<string>();\n \n public readonly froalaEvents = input<any>({ });\n public readonly inlineClass = input<ClassValue>('', { alias: 'class' });\n\n public readonly useCustomSocialEmbed = input(\n false,\n {\n transform: booleanAttribute\n }\n );\n\n public readonly value: WritableSignal<string> = signal('');\n\n public readonly froalaOptions = computed(\n () => {\n return { \n fullPage: true,\n toolbarSticky: false,\n videoResponsive: true,\n imageMaxSize: 5242880,\n imageDefaultWidth: 100,\n videoMaxSize: 52428800,\n imageDefaultAlign: 'left',\n key: this.froalaKey(),\n imageResizeWithPercent: true,\n imageAllowedTypes: ['jpeg', 'jpg', 'png'],\n placeholderText: 'Add Page Content Here!',\n videoAllowedTypes: ['quicktime', 'webm', 'jpg', 'ogg'],\n pasteAllowedStyleProps: ['font-size', 'font-family', 'font-style', 'text-decoration', 'text-align', 'font-weight'],\n htmlAllowedTags: ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'blockquote', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header', 'hgroup', 'hr', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'menu', 'menuitem', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'pre', 'progress', 'queue', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'style', 'section', 'select', 'small', 'source', 'span', 'strike', 'strong', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr'],\n events: {\n ...this.froalaEvents(),\n 'initialized': (e: any) => {\n const styleTag = document.createElement('style');\n styleTag.innerHTML = `\n .adsense { \n width: 100%;\n height: 50px;\n padding: 5px;\n position: relative;\n background-color: #D3D3D3;\n &::after{\n content: 'Google Ads';\n position: absolute;\n top: 0;\n left: 0;\n margin-left: 50%;\n margin-top: 13px;\n transform: translate(-50%);\n }\n }\n .fr-view {\n font-family: Roboto, sans-serif !important;\n font-weight: 400 !important;\n font-size: 18px !important;\n line-height: 27px !important;\n text-align: justify !important;\n p {\n margin: 0 0 14px !important;\n }\n }`;\n \n const iframeDocument = e._editor.$el.get(0).ownerDocument;\n iframeDocument.head.appendChild(styleTag);\n },\n 'paste.afterCleanup': function (html: string) {\n const doc = new DOMParser().parseFromString(html, 'text/html');\n \n doc.querySelectorAll('iframe[src*=\"youtube.com\"]').forEach((video: any) => {\n video.setAttribute('style', 'width: 100%; height: 500px;');\n });\n \n doc.querySelectorAll('table').forEach((table) => {\n table.querySelectorAll('tr').forEach((row) => {\n row.querySelectorAll('td, th').forEach((cell: any) => cell.style.border = '1px solid #000');\n });\n });\n return doc.documentElement.innerHTML;\n },\n 'video.inserted': function (vid: any) {\n vid.attr('contentEditable', 'true');\n vid.css('width', '100%'); \n vid.css('height', '500px'); \n },\n 'window.copy': function () {\n localStorage.removeItem('fr-copied-html');\n localStorage.removeItem('fr-copied-text');\n },\n 'window.cut': function () {\n localStorage.removeItem('fr-copied-html');\n localStorage.removeItem('fr-copied-text');\n },\n 'contentChanged': () => this._onChange(this.value)\n },\n toolbarButtons: {\n moreText: {\n buttons: ['adsense', 'bold', 'italic', 'underline', 'strikeThrough', 'subscript', 'superscript', 'fontFamily', 'fontSize', 'textColor', 'backgroundColor', 'inlineClass', 'inlineStyle', 'clearFormatting'],\n align: 'left',\n buttonsVisible: 3\n },\n moreParagraph: {\n buttons: ['alignCenter', 'formatOLSimple', 'alignLeft', 'alignRight', 'alignJustify', 'formatOL', 'formatUL', 'paragraphFormat', 'paragraphStyle', 'lineHeight', 'outdent', 'indent', 'quote'],\n align: 'left',\n buttonsVisible: 2\n },\n moreRich: {\n buttons: ['insertLink', 'insertImage', 'customEmbed', 'insertVideo', 'insertTable', 'emoticons', 'specialCharacters', 'insertHR'],\n align: 'left',\n buttonsVisible: 4\n },\n moreMisc: {\n buttons: ['undo', 'redo', 'fullscreen', 'print', 'getPDF', 'spellChecker', 'selectAll', 'html', 'help'],\n align: 'right',\n buttonsVisible: 2\n }\n }\n };\n }\n );\n\n protected readonly _computedClass = computed(\n () => {\n return up(\n 'peer placeholder:text-muted-foreground/30 selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex flex-col min-h-48 size-full min-w-0 rounded-md border bg-transparent text-base shadow-xs transition-[color,box-shadow] outline-none md:text-sm overflow-hidden bg-white',\n this.error()? 'ring-destructive/20 dark:ring-destructive/40 border-destructive has-[textarea:focus-visible]:ring-destructive/50' : '',\n this.inlineClass(),\n );\n }\n );\n\n /**\n * Callback function to handle value changes in the password input.\n * @type {(_val: any) => void}\n */\n protected _onChange: (_val: any) => void = (_val: any): void => {};\n\n /**\n * Callback function to handle touch events in the password input.\n * @type {() => void}\n */\n protected _onTouched: () => void = (): void => {};\n\n constructor() {\n super();\n\n if (this.ngControl !== null) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n public ngOnInit(): void{\n if (this.useCustomSocialEmbed()) {\n this.customSocialEmbed();\n }\n\n FroalaEditor.DefineIcon('adsense', { NAME: 'plus', SVG_KEY: 'tags' });\n FroalaEditor.RegisterCommand('adsense', {\n title: 'Adsense',\n focus: false, undo: false,\n refreshAfterCallback: true,\n callback() { this.html.insert('<div class=\"adsense\"></div>'); }\n });\n }\n\n /**\n * Registers a callback function to be called when the password input value changes.\n * @param {(_val: any) => void} fn - Callback function for value changes.\n */\n public registerOnChange(fn: any): void{\n this._onChange = fn;\n }\n\n /**\n * Registers a callback function to be called when the password input is touched.\n * @param {() => void} fn - Callback function for touch events.\n */\n public registerOnTouched(fn: any): void{\n this._onTouched = fn;\n }\n\n /**\n * Writes a new value to the password input.\n * @param {*} val - The new value to be set.\n */\n public writeValue(val: any): void{\n this.value.set(val?? '');\n }\n\n protected customSocialEmbed(): void{\n FroalaEditor.POPUP_TEMPLATES['customPlugin.popup'] = '[_BUTTONS_][_CUSTOM_LAYER_]';\n Object.assign(\n FroalaEditor.DEFAULTS, \n { popupButtons: ['popupClose'] }\n );\n\n FroalaEditor.PLUGINS.customPlugin = function (editor: any) {\n function initPopup() {\n let tabidx = 0;\n\n const popupButtons = `<div class=\"fr-buttons fr-tabs\">${ editor.button.buildList(editor.opts.popupButtons) }</div>`;\n const inputLayer = `\n <div class=\"fr-link-insert-layer fr-layer fr-active\" id=\"fr-link-insert-layer-${ editor.id }\">\n <div class=\"errorlist\"></div>\n <div class=\"fr-input-line\"><input name=\"href\" type=\"text\" placeholder=\"Paste in embed code\" tabIndex=\"${ (++tabidx) }\"></div>\n <div class=\"fr-action-buttons\"><button class=\"fr-command fr-submit\" data-cmd=\"linkCustomInsert\" href=\"#\" tabIndex=\"${ (++tabidx) }\" type=\"button\">${ editor.language.translate('Insert') }</button></div>\n </div>\n `;\n return editor.popups.create('customPlugin.popup', { buttons: popupButtons, custom_layer: inputLayer });\n }\n\n function showPopup() {\n let popup = editor.popups.get('customPlugin.popup');\n if (!popup) {\n popup = initPopup();\n }\n editor.popups.setContainer('customPlugin.popup', editor.$tb);\n const btn = editor.$tb.find('.fr-command[data-cmd=\"customEmbed\"]');\n\n editor.popups.show('customPlugin.popup', (btn.offset().left + btn.outerWidth() / 2), (btn.offset().top + (editor.opts.toolbarBottom ? 10 : btn.outerHeight() - 10)), btn.outerHeight());\n }\n\n function hidePopup() {\n editor.popups.hide('customPlugin.popup');\n editor.popups.get('customPlugin.popup').find('input[type=\"text\"][name=\"href\"]').val('');\n }\n\n function showError(error: string) {\n const popup = editor.popups.get('customPlugin.popup');\n const errors = popup.find('div.errorlist');\n\n errors.html('<small>' + error + '</small>');\n popup.find('input[type=\"text\"][name=\"href\"]').on('keyup', function(){ errors.html(''); });\n }\n\n function insert(url: string) {\n editor.events.focus(true);\n editor.selection.restore();\n if (url.includes('<script')){\n showError('Oops, can not insert script!');\n return false;\n }\n\n editor.html.insert('<center>' + url + '</center>');\n editor.popups.hide('customPlugin.popup');\n return false;\n } \n\n function insertCallback() {\n insert(editor.popups.get('customPlugin.popup').find('input[type=\"text\"][name=\"href\"]').val());\n }\n\n return { showPopup, hidePopup, insertCallback };\n };\n\n FroalaEditor.DefineIcon('socialEmbed', { NAME: 'star', SVG_KEY: 'insertEmbed'});\n FroalaEditor.RegisterCommand('customEmbed', {\n title: 'Embed Social',\n icon: 'socialEmbed',\n undo: false,\n focus: false,\n plugin: 'customPlugin',\n callback: function () { this['customPlugin'].showPopup(); }\n });\n\n FroalaEditor.DefineIcon('popupClose', { NAME: 'times', SVG_KEY: 'back' });\n FroalaEditor.RegisterCommand('popupClose', {\n title: 'Close',\n undo: false,\n focus: false,\n callback: function () { this['customPlugin'].hidePopup(); }\n });\n\n FroalaEditor.RegisterCommand('linkCustomInsert', {\n focus: false,\n refreshAfterCallback: false,\n callback: function () { this['customPlugin'].insertCallback(); }\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,22 @@
1
1
  import { up, generateContrastColor } from '@unipin/angular-applet/common';
2
2
  import { badgeVariants } from '@unipin/angular-applet/badge';
3
3
 
4
+ const rowNumberColumn = {
5
+ maxWidth: 55,
6
+ pinned: 'left',
7
+ sortable: false,
8
+ lockPinned: true,
9
+ headerName: 'No.',
10
+ lockPosition: true,
11
+ suppressMovable: true,
12
+ valueGetter: 'node.rowIndex + 1',
13
+ cellStyle: {
14
+ fontWeight: 500,
15
+ textAlign: 'center',
16
+ justifyContent: 'center',
17
+ }
18
+ };
19
+
4
20
  function renderFlag(value) {
5
21
  if (!value ||
6
22
  !value.length) {
@@ -101,5 +117,5 @@ function renderStatusBadge(value, { additionalStatus, additionalClass = '' }) {
101
117
  * Generated bundle index. Do not edit.
102
118
  */
103
119
 
104
- export { renderFlag, renderGridBadge, renderStatusBadge };
120
+ export { renderFlag, renderGridBadge, renderStatusBadge, rowNumberColumn };
105
121
  //# sourceMappingURL=unipin-angular-applet-grids.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"unipin-angular-applet-grids.mjs","sources":["../../../projects/unipin-angular/grids/utils/render-flag/render-flag.util.ts","../../../projects/unipin-angular/grids/utils/render-grid-badge/render-grid-badge.util.ts","../../../projects/unipin-angular/grids/utils/render-status-badge/render-status-badge.util.ts","../../../projects/unipin-angular/grids/unipin-angular-applet-grids.ts"],"sourcesContent":["export function renderFlag(value: string | string[]): string{\n \n if (\n !value ||\n !value.length\n ) {\n return '';\n }\n\n const values = Array.isArray(value)? value : [ value ];\n return `\n <div class=\"d-flex align-items-center gap-2 h-100 fw-medium\">\n ${\n values.map(\n (v) => {\n return `\n <div class=\"d-flex align-items-center gap-1 size-full\">\n <div title=\"${ v }\" class=\"fflag-up border rounded fflag-${ v }\"></div>\n </div>\n `;\n }\n ).join('')\n }\n </div>\n `;\n}\n","import { generateContrastColor, up } from '@unipin/angular-applet/common';\nimport { BadgeVariants, badgeVariants } from '@unipin/angular-applet/badge';\n\n\nexport type RenderGridBadgeOptions = {\n additionalClass?: string;\n isAutoGenerateColor?: boolean;\n variant?: BadgeVariants['variant'];\n};\n\nexport function renderGridBadge(\n value: string,\n { \n additionalClass = '', \n variant = 'default',\n isAutoGenerateColor = true,\n }: RenderGridBadgeOptions\n): string{\n \n if (!value) {\n return '';\n }\n\n const badgeClass = up(\n badgeVariants(\n {\n variant: variant\n }\n ),\n 'w-full',\n additionalClass\n );\n\n let style = ''\n if (isAutoGenerateColor) {\n const { background, foreground } = generateContrastColor(value.substring(0,3));\n style = `background-color: ${ background } !important; color: ${ foreground } !important;`;\n }\n\n return `\n <span \n style=\"${ style }\" \n class=\"${ badgeClass }\"\n >\n ${ value }\n </span>\n `;\n}\n","import { up } from '@unipin/angular-applet/common';\nimport { BadgeVariants } from '@unipin/angular-applet/badge';\nimport { renderGridBadge, RenderGridBadgeOptions } from './../render-grid-badge/render-grid-badge.util';\n\n\ntype RenderStatusBadgeOptions = Omit<RenderGridBadgeOptions, 'isAutoGenerateColor' | 'variant'> & {\n additionalStatus?: {\n [key: string]: {\n class: string;\n variant: BadgeVariants['variant'];\n }\n };\n};\n\nconst statusVariant = {\n ACTIVE: {\n class: '',\n variant: 'default'\n },\n \n SUCCESS: {\n variant: 'default',\n class: 'bg-green-700'\n },\n APPROVED: {\n variant: 'default',\n class: 'bg-green-700'\n },\n\n FAIL: {\n class: '',\n variant: 'destructive'\n },\n FAILED: {\n class: '',\n variant: 'destructive'\n },\n DELETED: {\n class: '',\n variant: 'destructive'\n },\n\n INACTIVE: {\n variant: 'default',\n class: 'bg-yellow-500 text-black',\n },\n IN_PROGRESS: {\n variant: 'default',\n class: 'bg-yellow-500 text-black',\n },\n PENDING: {\n variant: 'default',\n class: 'bg-yellow-500 text-black',\n },\n};\n\nexport function renderStatusBadge(\n value: string,\n {\n additionalStatus,\n additionalClass = ''\n }: RenderStatusBadgeOptions\n): string{\n \n if (!value) {\n return '';\n }\n\n let used = statusVariant[value as keyof typeof statusVariant] || additionalStatus?.[value];\n if (!used) {\n return renderGridBadge(\n value, \n { \n additionalClass \n }\n );\n }\n\n return renderGridBadge(\n value,\n {\n isAutoGenerateColor: true,\n variant: used.variant as BadgeVariants['variant'],\n additionalClass: up(\n used.class,\n additionalClass\n )\n }\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unipin-angular-applet-grids.mjs","sources":["../../../projects/unipin-angular/grids/constants/row-number-column.const.ts","../../../projects/unipin-angular/grids/utils/render-flag/render-flag.util.ts","../../../projects/unipin-angular/grids/utils/render-grid-badge/render-grid-badge.util.ts","../../../projects/unipin-angular/grids/utils/render-status-badge/render-status-badge.util.ts","../../../projects/unipin-angular/grids/unipin-angular-applet-grids.ts"],"sourcesContent":["export const rowNumberColumn = {\n maxWidth: 55,\n pinned: 'left', \n sortable: false,\n lockPinned: true,\n headerName: 'No.',\n lockPosition: true,\n suppressMovable: true,\n valueGetter: 'node.rowIndex + 1',\n cellStyle: {\n fontWeight: 500,\n textAlign: 'center',\n justifyContent: 'center',\n }\n};\n","export function renderFlag(value: string | string[]): string{\n \n if (\n !value ||\n !value.length\n ) {\n return '';\n }\n\n const values = Array.isArray(value)? value : [ value ];\n return `\n <div class=\"d-flex align-items-center gap-2 h-100 fw-medium\">\n ${\n values.map(\n (v) => {\n return `\n <div class=\"d-flex align-items-center gap-1 size-full\">\n <div title=\"${ v }\" class=\"fflag-up border rounded fflag-${ v }\"></div>\n </div>\n `;\n }\n ).join('')\n }\n </div>\n `;\n}\n","import { generateContrastColor, up } from '@unipin/angular-applet/common';\nimport { BadgeVariants, badgeVariants } from '@unipin/angular-applet/badge';\n\n\nexport type RenderGridBadgeOptions = {\n additionalClass?: string;\n isAutoGenerateColor?: boolean;\n variant?: BadgeVariants['variant'];\n};\n\nexport function renderGridBadge(\n value: string,\n { \n additionalClass = '', \n variant = 'default',\n isAutoGenerateColor = true,\n }: RenderGridBadgeOptions\n): string{\n \n if (!value) {\n return '';\n }\n\n const badgeClass = up(\n badgeVariants(\n {\n variant: variant\n }\n ),\n 'w-full',\n additionalClass\n );\n\n let style = ''\n if (isAutoGenerateColor) {\n const { background, foreground } = generateContrastColor(value.substring(0,3));\n style = `background-color: ${ background } !important; color: ${ foreground } !important;`;\n }\n\n return `\n <span \n style=\"${ style }\" \n class=\"${ badgeClass }\"\n >\n ${ value }\n </span>\n `;\n}\n","import { up } from '@unipin/angular-applet/common';\nimport { BadgeVariants } from '@unipin/angular-applet/badge';\nimport { renderGridBadge, RenderGridBadgeOptions } from './../render-grid-badge/render-grid-badge.util';\n\n\ntype RenderStatusBadgeOptions = Omit<RenderGridBadgeOptions, 'isAutoGenerateColor' | 'variant'> & {\n additionalStatus?: {\n [key: string]: {\n class: string;\n variant: BadgeVariants['variant'];\n }\n };\n};\n\nconst statusVariant = {\n ACTIVE: {\n class: '',\n variant: 'default'\n },\n \n SUCCESS: {\n variant: 'default',\n class: 'bg-green-700'\n },\n APPROVED: {\n variant: 'default',\n class: 'bg-green-700'\n },\n\n FAIL: {\n class: '',\n variant: 'destructive'\n },\n FAILED: {\n class: '',\n variant: 'destructive'\n },\n DELETED: {\n class: '',\n variant: 'destructive'\n },\n\n INACTIVE: {\n variant: 'default',\n class: 'bg-yellow-500 text-black',\n },\n IN_PROGRESS: {\n variant: 'default',\n class: 'bg-yellow-500 text-black',\n },\n PENDING: {\n variant: 'default',\n class: 'bg-yellow-500 text-black',\n },\n};\n\nexport function renderStatusBadge(\n value: string,\n {\n additionalStatus,\n additionalClass = ''\n }: RenderStatusBadgeOptions\n): string{\n \n if (!value) {\n return '';\n }\n\n let used = statusVariant[value as keyof typeof statusVariant] || additionalStatus?.[value];\n if (!used) {\n return renderGridBadge(\n value, \n { \n additionalClass \n }\n );\n }\n\n return renderGridBadge(\n value,\n {\n isAutoGenerateColor: true,\n variant: used.variant as BadgeVariants['variant'],\n additionalClass: up(\n used.class,\n additionalClass\n )\n }\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -66,10 +66,10 @@ class UpInfiniteScrollDirective {
66
66
  }, options);
67
67
  this.intersectionObserver.observe(this.elementRef.nativeElement);
68
68
  }
69
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpInfiniteScrollDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
70
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.6", type: UpInfiniteScrollDirective, isStandalone: true, selector: "[upInfiniteScroll]", inputs: { threshold: { classPropertyName: "threshold", publicName: "threshold", isSignal: true, isRequired: false, transformFunction: null }, rootMargin: { classPropertyName: "rootMargin", publicName: "rootMargin", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { scrolled: "scrolled" }, exportAs: ["upInfiniteScroll"], ngImport: i0 }); }
69
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpInfiniteScrollDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
70
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.5", type: UpInfiniteScrollDirective, isStandalone: true, selector: "[upInfiniteScroll]", inputs: { threshold: { classPropertyName: "threshold", publicName: "threshold", isSignal: true, isRequired: false, transformFunction: null }, rootMargin: { classPropertyName: "rootMargin", publicName: "rootMargin", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { scrolled: "scrolled" }, exportAs: ["upInfiniteScroll"], ngImport: i0 }); }
71
71
  }
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpInfiniteScrollDirective, decorators: [{
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpInfiniteScrollDirective, decorators: [{
73
73
  type: Directive,
74
74
  args: [{
75
75
  standalone: true,
@@ -29,8 +29,8 @@ class JsonViewerComponent {
29
29
  return up('block overflow-hidden', this.inlineClass());
30
30
  }, ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
31
31
  }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: JsonViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.6", type: JsonViewerComponent, isStandalone: true, selector: "up-json-viewer", inputs: { json: { classPropertyName: "json", publicName: "json", isSignal: true, isRequired: true, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, depth: { classPropertyName: "depth", publicName: "depth", isSignal: true, isRequired: false, transformFunction: null }, inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()" } }, ngImport: i0, template: `
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: JsonViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.5", type: JsonViewerComponent, isStandalone: true, selector: "up-json-viewer", inputs: { json: { classPropertyName: "json", publicName: "json", isSignal: true, isRequired: true, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, depth: { classPropertyName: "depth", publicName: "depth", isSignal: true, isRequired: false, transformFunction: null }, inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()" } }, ngImport: i0, template: `
34
34
  <div class="w-full selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] focus-visible:outline-none">
35
35
  <ngx-json-viewer
36
36
  [json]="json()"
@@ -40,7 +40,7 @@ class JsonViewerComponent {
40
40
  </div>
41
41
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: NgxJsonViewerModule }, { kind: "component", type: i1.NgxJsonViewerComponent, selector: "ngx-json-viewer", inputs: ["json", "expanded", "depth", "_currentDepth"] }] }); }
42
42
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: JsonViewerComponent, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: JsonViewerComponent, decorators: [{
44
44
  type: Component,
45
45
  args: [{
46
46
  standalone: true,
@@ -9,10 +9,10 @@ class UpKbdDirective {
9
9
  return up('bg-muted text-muted-foreground border border-border pointer-events-none inline-flex items-center gap-1 h-5 w-fit min-w-5 justify-center rounded-sm px-1 font-sans text-xs font-medium select-none', `[&_ng-icon:not([class*='size-'])]:size-3`, '[[data-slot=tooltip-content]_&]:bg-background/20 [[data-slot=tooltip-content]_&]:text-background dark:[[data-slot=tooltip-content]_&]:bg-background/10', this.inlineClass());
10
10
  }, ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
11
11
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpKbdDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
13
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.6", type: UpKbdDirective, isStandalone: true, selector: "[upKbd]", inputs: { inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()" } }, exportAs: ["upKbd"], ngImport: i0 }); }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpKbdDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
13
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.5", type: UpKbdDirective, isStandalone: true, selector: "[upKbd]", inputs: { inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()" } }, exportAs: ["upKbd"], ngImport: i0 }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpKbdDirective, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpKbdDirective, decorators: [{
16
16
  type: Directive,
17
17
  args: [{
18
18
  standalone: true,
@@ -56,8 +56,8 @@ class UpLoadingDialogComponent {
56
56
  };
57
57
  });
58
58
  }
59
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpLoadingDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
60
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: UpLoadingDialogComponent, isStandalone: true, selector: "up-loading-dialog", host: { properties: { "attr.data-state": "state()" }, classAttribute: "\n grid relative gap-6 bg-white rounded-xl shadow-lg \n [animation-duration:200] data-[state=open]:animate-in data-[state=closed]:animate-out \n data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 \n data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 \n data-[state=closed]:slide-out-to-top-[2%] data-[state=open]:slide-in-from-top-[2%] \n w-full p-6 max-w-[calc(100%-2rem)] mx-auto\n md:w-full md:min-w-120 md:max-w-130\n overflow-hidden border border-border\n " }, providers: [
59
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpLoadingDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
60
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: UpLoadingDialogComponent, isStandalone: true, selector: "up-loading-dialog", host: { properties: { "attr.data-state": "state()" }, classAttribute: "\n grid relative gap-6 bg-white rounded-xl shadow-lg \n [animation-duration:200] data-[state=open]:animate-in data-[state=closed]:animate-out \n data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 \n data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 \n data-[state=closed]:slide-out-to-top-[2%] data-[state=open]:slide-in-from-top-[2%] \n w-full p-6 max-w-[calc(100%-2rem)] mx-auto\n md:w-full md:min-w-120 md:max-w-130\n overflow-hidden border border-border\n " }, providers: [
61
61
  provideIcons({
62
62
  matWarningRound
63
63
  })
@@ -124,7 +124,7 @@ class UpLoadingDialogComponent {
124
124
  </div>
125
125
  `, isInline: true, dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: UpButtonDirective, selector: "[upButton]", inputs: ["size", "variant", "class"], exportAs: ["upButton"] }, { kind: "directive", type: UpProgressBarDirective, selector: "[upProgressBar]", inputs: ["max", "progress", "class"], exportAs: ["upProgressBar"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
126
126
  }
127
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpLoadingDialogComponent, decorators: [{
127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpLoadingDialogComponent, decorators: [{
128
128
  type: Component,
129
129
  args: [{
130
130
  standalone: true,
@@ -234,10 +234,10 @@ class UpLoadingDialogController {
234
234
  }
235
235
  });
236
236
  }
237
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpLoadingDialogController, deps: [{ token: i1.UpDialogService }], target: i0.ɵɵFactoryTarget.Injectable }); }
238
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpLoadingDialogController, providedIn: 'root' }); }
237
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpLoadingDialogController, deps: [{ token: i1.UpDialogService }], target: i0.ɵɵFactoryTarget.Injectable }); }
238
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpLoadingDialogController, providedIn: 'root' }); }
239
239
  }
240
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpLoadingDialogController, decorators: [{
240
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpLoadingDialogController, decorators: [{
241
241
  type: Injectable,
242
242
  args: [{
243
243
  providedIn: 'root'
@@ -342,10 +342,10 @@ class UpMarkdownDirective {
342
342
  ngOnDestroy() {
343
343
  this.observer.disconnect();
344
344
  }
345
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpMarkdownDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
346
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.6", type: UpMarkdownDirective, isStandalone: true, selector: "[upMarkdown]", host: { properties: { "class": "class" } }, exportAs: ["upMarkdown"], ngImport: i0 }); }
345
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpMarkdownDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
346
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.5", type: UpMarkdownDirective, isStandalone: true, selector: "[upMarkdown]", host: { properties: { "class": "class" } }, exportAs: ["upMarkdown"], ngImport: i0 }); }
347
347
  }
348
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpMarkdownDirective, decorators: [{
348
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpMarkdownDirective, decorators: [{
349
349
  type: Directive,
350
350
  args: [{
351
351
  standalone: true,
@@ -385,10 +385,10 @@ class MarkdownService {
385
385
  })
386
386
  });
387
387
  }
388
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: MarkdownService, deps: [{ token: UNIPIN_GQL_CONFIG }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
389
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: MarkdownService, providedIn: 'root' }); }
388
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: MarkdownService, deps: [{ token: UNIPIN_GQL_CONFIG }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
389
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: MarkdownService, providedIn: 'root' }); }
390
390
  }
391
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: MarkdownService, decorators: [{
391
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: MarkdownService, decorators: [{
392
392
  type: Injectable,
393
393
  args: [{
394
394
  providedIn: 'root'
@@ -422,7 +422,7 @@ class UpMarkdownInputComponent extends UpFieldControlComponent {
422
422
  this.contextType = input('', ...(ngDevMode ? [{ debugName: "contextType" }] : []));
423
423
  this.isTouched = false;
424
424
  this._computedClass = computed(() => {
425
- return up('peer placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex flex-col min-h-48 size-full min-w-0 rounded-md border bg-transparent text-base shadow-xs transition-[color,box-shadow] outline-none md:text-sm overflow-hidden', 'has-[textarea:focus-visible]:border-ring has-[textarea:focus-visible]:ring-ring/50 has-[textarea:focus-visible]:ring-[3px] has-[textarea:focus-visible]:outline-none', this.error() ? 'ring-destructive/20 dark:ring-destructive/40 border-destructive has-[textarea:focus-visible]:ring-destructive/50' : '', this.inlineClass());
425
+ return up('peer placeholder:text-muted-foreground/30 selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex flex-col min-h-48 size-full min-w-0 rounded-md border bg-transparent text-base shadow-xs transition-[color,box-shadow] outline-none md:text-sm overflow-hidden', 'has-[textarea:focus-visible]:border-ring has-[textarea:focus-visible]:ring-ring/50 has-[textarea:focus-visible]:ring-[3px] has-[textarea:focus-visible]:outline-none', this.error() ? 'ring-destructive/20 dark:ring-destructive/40 border-destructive has-[textarea:focus-visible]:ring-destructive/50' : '', this.inlineClass());
426
426
  }, ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
427
427
  this.sub = null;
428
428
  /**
@@ -638,8 +638,8 @@ class UpMarkdownInputComponent extends UpFieldControlComponent {
638
638
  return null;
639
639
  }
640
640
  }
641
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpMarkdownInputComponent, deps: [{ token: MarkdownService }], target: i0.ɵɵFactoryTarget.Component }); }
642
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: UpMarkdownInputComponent, isStandalone: true, selector: "up-markdown-input", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, contextGuid: { classPropertyName: "contextGuid", publicName: "contextGuid", isSignal: true, isRequired: false, transformFunction: null }, contextType: { classPropertyName: "contextType", publicName: "contextType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", mode: "modeChange" }, host: { listeners: { "document:keyup": "handleStyleWithKeyboard($event)" }, properties: { "class": "_computedClass()" } }, providers: [
641
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpMarkdownInputComponent, deps: [{ token: MarkdownService }], target: i0.ɵɵFactoryTarget.Component }); }
642
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: UpMarkdownInputComponent, isStandalone: true, selector: "up-markdown-input", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, contextGuid: { classPropertyName: "contextGuid", publicName: "contextGuid", isSignal: true, isRequired: false, transformFunction: null }, contextType: { classPropertyName: "contextType", publicName: "contextType", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", mode: "modeChange" }, host: { listeners: { "document:keyup": "handleStyleWithKeyboard($event)" }, properties: { "class": "_computedClass()" } }, providers: [
643
643
  {
644
644
  provide: UpFieldControl,
645
645
  useExisting: forwardRef(() => UpMarkdownInputComponent)
@@ -660,7 +660,7 @@ class UpMarkdownInputComponent extends UpFieldControlComponent {
660
660
  }),
661
661
  ], viewQueries: [{ propertyName: "textarea", first: true, predicate: ["textarea"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"shrink-0 w-full flex flex-col-reverse md:flex-row md:items-center justify-between gap-1 bg-[#f5f7f6]\">\n <div class=\"flex items-center h-full\">\n <button\n upButton\n variant=\"ghost\"\n class=\"transition-none rounded-none rounded-t-md\"\n [class]=\"\n mode() !== 'write'? '' : 'border-r border-input bg-white'\n \"\n (click)=\"mode.set('write')\"\n >\n Write\n </button>\n\n <button\n upButton\n variant=\"ghost\"\n class=\"transition-none rounded-none rounded-t-md\"\n [class]=\"\n mode() !== 'preview'? '' : 'border-x border-input bg-white'\n \"\n (click)=\"mode.set('preview')\"\n >\n Preview\n </button>\n </div>\n\n @if (mode() === 'write') {\n <div class=\"flex justify-start md:justify-end items-center gap-0.5\">\n @for (btn of buttons; track btn.action) {\n <button\n upButton\n size=\"sm\"\n variant=\"ghost\"\n class=\"p-0 px-2 py-1\"\n [disabled]=\"disabled()\"\n (click)=\"applyStyle(btn.action)\"\n >\n <ng-icon\n size=\"16px\" \n [name]=\"btn.icon\"\n />\n </button>\n }\n </div>\n }\n</div>\n\n<div class=\"grow relative\">\n @if (mode() === 'preview') {\n <div\n upMarkdown\n class=\"size-full absolute top-0 left-0 bg-white p-2 outline-none text-wrap break-words overflow-y-auto\"\n [innerHTML]=\"(value() || 'Nothing to preview')\"\n ></div>\n }\n @else {\n <textarea\n #textarea\n class=\"size-full absolute top-0 left-0 bg-white p-2 outline-none resize-none\" \n [value]=\"value()\"\n [disabled]=\"disabled()\"\n [placeholder]=\"placeholder()\"\n (blur)=\"touch()\"\n (input)=\"change($event)\"\n (paste)=\"pasteImage($event)\"\n (keyup)=\"changeSelection($event)\"\n (mouseup)=\"changeSelection($event)\"\n ></textarea>\n }\n</div>\n", dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: UpMarkdownDirective, selector: "[upMarkdown]", exportAs: ["upMarkdown"] }, { kind: "directive", type: UpButtonDirective, selector: "[upButton]", inputs: ["size", "variant", "class"], exportAs: ["upButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
662
662
  }
663
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UpMarkdownInputComponent, decorators: [{
663
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: UpMarkdownInputComponent, decorators: [{
664
664
  type: Component,
665
665
  args: [{ standalone: true, selector: 'up-markdown-input', changeDetection: ChangeDetectionStrategy.OnPush, host: {
666
666
  '[class]': '_computedClass()',