ngx-semantic 2.0.7-beta.0 → 2.0.7-beta.2

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 (116) hide show
  1. package/fesm2022/ngx-semantic-collections-breadcrumb.mjs +13 -10
  2. package/fesm2022/ngx-semantic-collections-breadcrumb.mjs.map +1 -1
  3. package/fesm2022/ngx-semantic-collections-form.mjs +987 -16
  4. package/fesm2022/ngx-semantic-collections-form.mjs.map +1 -1
  5. package/fesm2022/ngx-semantic-collections-grid.mjs +13 -10
  6. package/fesm2022/ngx-semantic-collections-grid.mjs.map +1 -1
  7. package/fesm2022/ngx-semantic-collections-menu.mjs +25 -13
  8. package/fesm2022/ngx-semantic-collections-menu.mjs.map +1 -1
  9. package/fesm2022/ngx-semantic-collections-message.mjs +20 -20
  10. package/fesm2022/ngx-semantic-collections-message.mjs.map +1 -1
  11. package/fesm2022/ngx-semantic-collections-table.mjs +17 -13
  12. package/fesm2022/ngx-semantic-collections-table.mjs.map +1 -1
  13. package/fesm2022/ngx-semantic-core-base.mjs +1 -0
  14. package/fesm2022/ngx-semantic-core-base.mjs.map +1 -1
  15. package/fesm2022/ngx-semantic-core-util.mjs.map +1 -1
  16. package/fesm2022/ngx-semantic-elements-button.mjs +9 -7
  17. package/fesm2022/ngx-semantic-elements-button.mjs.map +1 -1
  18. package/fesm2022/ngx-semantic-elements-container.mjs.map +1 -1
  19. package/fesm2022/ngx-semantic-elements-divider.mjs.map +1 -1
  20. package/fesm2022/ngx-semantic-elements-flag.mjs +5 -4
  21. package/fesm2022/ngx-semantic-elements-flag.mjs.map +1 -1
  22. package/fesm2022/ngx-semantic-elements-header.mjs.map +1 -1
  23. package/fesm2022/ngx-semantic-elements-icon.mjs +5 -4
  24. package/fesm2022/ngx-semantic-elements-icon.mjs.map +1 -1
  25. package/fesm2022/ngx-semantic-elements-image.mjs +5 -4
  26. package/fesm2022/ngx-semantic-elements-image.mjs.map +1 -1
  27. package/fesm2022/ngx-semantic-elements-input.mjs +5 -4
  28. package/fesm2022/ngx-semantic-elements-input.mjs.map +1 -1
  29. package/fesm2022/ngx-semantic-elements-label.mjs +5 -4
  30. package/fesm2022/ngx-semantic-elements-label.mjs.map +1 -1
  31. package/fesm2022/ngx-semantic-elements-list.mjs.map +1 -1
  32. package/fesm2022/ngx-semantic-elements-loader.mjs.map +1 -1
  33. package/fesm2022/ngx-semantic-elements-placeholder.mjs.map +1 -1
  34. package/fesm2022/ngx-semantic-elements-rail.mjs.map +1 -1
  35. package/fesm2022/ngx-semantic-elements-reveal.mjs.map +1 -1
  36. package/fesm2022/ngx-semantic-elements-segment.mjs +5 -4
  37. package/fesm2022/ngx-semantic-elements-segment.mjs.map +1 -1
  38. package/fesm2022/ngx-semantic-elements-steps.mjs +5 -4
  39. package/fesm2022/ngx-semantic-elements-steps.mjs.map +1 -1
  40. package/fesm2022/ngx-semantic-modules-accordion.mjs.map +1 -1
  41. package/fesm2022/ngx-semantic-modules-checkbox.mjs +19 -19
  42. package/fesm2022/ngx-semantic-modules-checkbox.mjs.map +1 -1
  43. package/fesm2022/ngx-semantic-modules-dimmer.mjs +42 -33
  44. package/fesm2022/ngx-semantic-modules-dimmer.mjs.map +1 -1
  45. package/fesm2022/ngx-semantic-modules-dropdown.mjs.map +1 -1
  46. package/fesm2022/ngx-semantic-modules-embed.mjs +22 -22
  47. package/fesm2022/ngx-semantic-modules-embed.mjs.map +1 -1
  48. package/fesm2022/ngx-semantic-modules-modal.mjs +31 -32
  49. package/fesm2022/ngx-semantic-modules-modal.mjs.map +1 -1
  50. package/fesm2022/ngx-semantic-modules-popup.mjs +22 -23
  51. package/fesm2022/ngx-semantic-modules-popup.mjs.map +1 -1
  52. package/fesm2022/ngx-semantic-modules-progress.mjs +6 -6
  53. package/fesm2022/ngx-semantic-modules-progress.mjs.map +1 -1
  54. package/fesm2022/ngx-semantic-modules-rating.mjs +15 -17
  55. package/fesm2022/ngx-semantic-modules-rating.mjs.map +1 -1
  56. package/fesm2022/ngx-semantic-modules-search.mjs +34 -34
  57. package/fesm2022/ngx-semantic-modules-search.mjs.map +1 -1
  58. package/fesm2022/ngx-semantic-modules-select.mjs +87 -88
  59. package/fesm2022/ngx-semantic-modules-select.mjs.map +1 -1
  60. package/fesm2022/ngx-semantic-modules-shape.mjs +6 -6
  61. package/fesm2022/ngx-semantic-modules-shape.mjs.map +1 -1
  62. package/fesm2022/ngx-semantic-modules-sidebar.mjs +13 -12
  63. package/fesm2022/ngx-semantic-modules-sidebar.mjs.map +1 -1
  64. package/fesm2022/ngx-semantic-modules-sticky.mjs +9 -12
  65. package/fesm2022/ngx-semantic-modules-sticky.mjs.map +1 -1
  66. package/fesm2022/ngx-semantic-modules-tabs.mjs +30 -30
  67. package/fesm2022/ngx-semantic-modules-tabs.mjs.map +1 -1
  68. package/fesm2022/ngx-semantic-modules-transition.mjs +721 -0
  69. package/fesm2022/ngx-semantic-modules-transition.mjs.map +1 -0
  70. package/fesm2022/ngx-semantic-views-advertisement.mjs +5 -4
  71. package/fesm2022/ngx-semantic-views-advertisement.mjs.map +1 -1
  72. package/fesm2022/ngx-semantic-views-card.mjs +6 -9
  73. package/fesm2022/ngx-semantic-views-card.mjs.map +1 -1
  74. package/fesm2022/ngx-semantic-views-comment.mjs.map +1 -1
  75. package/fesm2022/ngx-semantic-views-feed.mjs +26 -26
  76. package/fesm2022/ngx-semantic-views-feed.mjs.map +1 -1
  77. package/fesm2022/ngx-semantic-views-items.mjs +13 -10
  78. package/fesm2022/ngx-semantic-views-items.mjs.map +1 -1
  79. package/fesm2022/ngx-semantic-views-statistics.mjs +16 -16
  80. package/fesm2022/ngx-semantic-views-statistics.mjs.map +1 -1
  81. package/fesm2022/ngx-semantic.mjs +11 -5
  82. package/fesm2022/ngx-semantic.mjs.map +1 -1
  83. package/modules/transition/package.json +4 -0
  84. package/package.json +5 -1
  85. package/types/ngx-semantic-collections-breadcrumb.d.ts +4 -17
  86. package/types/ngx-semantic-collections-form.d.ts +150 -20
  87. package/types/ngx-semantic-collections-grid.d.ts +4 -17
  88. package/types/ngx-semantic-collections-menu.d.ts +4 -17
  89. package/types/ngx-semantic-collections-message.d.ts +1 -3
  90. package/types/ngx-semantic-collections-table.d.ts +5 -22
  91. package/types/ngx-semantic-core-base.d.ts +1 -1
  92. package/types/ngx-semantic-elements-button.d.ts +3 -8
  93. package/types/ngx-semantic-elements-flag.d.ts +2 -3
  94. package/types/ngx-semantic-elements-icon.d.ts +1 -2
  95. package/types/ngx-semantic-elements-image.d.ts +2 -7
  96. package/types/ngx-semantic-elements-input.d.ts +2 -7
  97. package/types/ngx-semantic-elements-label.d.ts +2 -7
  98. package/types/ngx-semantic-elements-segment.d.ts +1 -6
  99. package/types/ngx-semantic-elements-steps.d.ts +1 -6
  100. package/types/ngx-semantic-modules-checkbox.d.ts +3 -4
  101. package/types/ngx-semantic-modules-dimmer.d.ts +2 -3
  102. package/types/ngx-semantic-modules-embed.d.ts +2 -5
  103. package/types/ngx-semantic-modules-modal.d.ts +2 -2
  104. package/types/ngx-semantic-modules-popup.d.ts +2 -4
  105. package/types/ngx-semantic-modules-rating.d.ts +4 -4
  106. package/types/ngx-semantic-modules-select.d.ts +1 -2
  107. package/types/ngx-semantic-modules-shape.d.ts +1 -2
  108. package/types/ngx-semantic-modules-sidebar.d.ts +1 -15
  109. package/types/ngx-semantic-modules-sticky.d.ts +1 -2
  110. package/types/ngx-semantic-modules-transition.d.ts +107 -0
  111. package/types/ngx-semantic-views-advertisement.d.ts +2 -7
  112. package/types/ngx-semantic-views-card.d.ts +2 -2
  113. package/types/ngx-semantic-views-feed.d.ts +2 -11
  114. package/types/ngx-semantic-views-items.d.ts +4 -9
  115. package/types/ngx-semantic-views-statistics.d.ts +13 -26
  116. package/types/ngx-semantic.d.ts +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-semantic-collections-form.mjs","sources":["../../src/collections/form/form-field.directive.ts","../../src/collections/form/form-fields.directive.ts","../../src/collections/form/form.directive.ts","../../src/collections/form/form.module.ts","../../src/collections/form/public-api.ts","../../src/collections/form/ngx-semantic-collections-form.ts"],"sourcesContent":["/**\n * Created by bolor on 6/5/2020\n */\n\nimport {Directive, ElementRef, Input} from '@angular/core';\nimport {SuiWidth} from 'ngx-semantic/core/enums';\nimport {ClassUtils, InputBoolean} from 'ngx-semantic/core/util';\nimport {BaseDirective} from 'ngx-semantic/core/base';\n\n@Directive({\n standalone: true,\n exportAs: 'suiFormField',\n selector: '[suiFormField]'\n})\nexport class SuiFormFieldDirective extends BaseDirective {\n @Input() public suiWidth: SuiWidth = null;\n @Input() @InputBoolean() public suiError = false;\n @Input() @InputBoolean() public suiInline = false;\n @Input() @InputBoolean() public disabled = false;\n @Input() @InputBoolean() public suiRequired = false;\n\n constructor(element: ElementRef) {\n super(element);\n }\n\n get classes(): string {\n return [\n ClassUtils.getPropClass(this.suiInline, 'inline'),\n this.suiWidth,\n this.suiWidth ? 'wide' : '',\n ClassUtils.getPropClass(this.disabled, 'disabled'),\n ClassUtils.getPropClass(this.suiRequired, 'required'),\n 'field',\n ClassUtils.getPropClass(this.suiError, 'error')\n ].join(' ');\n }\n}\n","/**\n * Created by bolor on 6/5/2020\n */\n\nimport {Directive, ElementRef, Input} from '@angular/core';\nimport {SuiWidth} from 'ngx-semantic/core/enums';\nimport {ClassUtils, InputBoolean} from 'ngx-semantic/core/util';\nimport {BaseDirective} from 'ngx-semantic/core/base';\n\n@Directive({\n standalone: true,\n exportAs: 'suiFormFields',\n selector: '[suiFormFields]'\n})\nexport class SuiFormFieldsDirective extends BaseDirective {\n @Input() public suiWidth: SuiWidth = null;\n @Input() @InputBoolean() public suiInline = false;\n @Input() @InputBoolean() public suiGrouped = false;\n @Input() @InputBoolean() public suiEqualWidth = false;\n\n constructor(element: ElementRef) {\n super(element);\n }\n\n get classes(): string {\n return [\n this.suiWidth,\n ClassUtils.getPropClass(this.suiInline, 'inline'),\n ClassUtils.getPropClass(this.suiGrouped, 'grouped'),\n ClassUtils.getPropClass(this.suiEqualWidth, 'equal width'),\n 'fields'\n ].join(' ');\n }\n}\n","/**\n * Created by bolor on 6/5/2020\n */\n\nimport {Directive, ElementRef, Input} from '@angular/core';\nimport {SuiSize} from 'ngx-semantic/core/enums';\nimport {ClassUtils, InputBoolean} from 'ngx-semantic/core/util';\nimport {BaseDirective} from 'ngx-semantic/core/base';\n\nexport type SuiFormState = 'success' | 'warning' | 'error' | null;\n\n@Directive({\n standalone: true,\n selector: '[sui-form]',\n exportAs: 'suiForm'\n})\nexport class SuiFormDirective extends BaseDirective {\n @Input() public suiState: SuiFormState = null;\n @Input() public suiSize: SuiSize = null;\n @Input() @InputBoolean() public suiLoading = false;\n @Input() @InputBoolean() public suiEqualWidth = false;\n @Input() @InputBoolean() public suiInverted = false;\n @Input() @InputBoolean() public suiReply = false;\n\n constructor(element: ElementRef) {\n super(element);\n }\n\n get classes(): string {\n return [\n 'ui',\n ClassUtils.getPropClass(this.suiLoading, 'loading'),\n ClassUtils.getPropClass(this.suiEqualWidth, 'equal width'),\n ClassUtils.getPropClass(this.suiInverted, 'inverted'),\n ClassUtils.getPropClass(this.suiReply, 'reply'),\n this.suiSize,\n 'form',\n this.suiState\n ].join(' ');\n }\n}\n","/**\n * Created by bolor on 5/26/2020\n */\n\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {SuiFormFieldDirective} from './form-field.directive';\nimport {SuiFormDirective} from './form.directive';\nimport {SuiFormFieldsDirective} from './form-fields.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n SuiFormFieldDirective,\n SuiFormDirective,\n SuiFormFieldsDirective\n ],\n exports: [\n SuiFormFieldDirective,\n SuiFormDirective,\n SuiFormFieldsDirective\n ]\n})\nexport class SuiFormModule {\n}\n","/**\n * Created by bolor on 6/5/2020\n */\n\nexport * from './form-field.directive';\nexport * from './form-fields.directive';\nexport * from './form.directive';\nexport * from './form.module';\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":"ngx-semantic-collections-form.mjs","sources":["../../src/collections/form/form-field.directive.ts","../../src/collections/form/form-fields.directive.ts","../../src/collections/form/form.directive.ts","../../src/collections/form/validation/form-validation.dom.ts","../../src/collections/form/validation/form-validation.normalize.ts","../../src/collections/form/validation/form-validation.rules.ts","../../src/collections/form/validation/form-validation.prompt.ts","../../src/collections/form/validation/form-validation.model.ts","../../src/collections/form/validation/form-validation.control-errors.ts","../../src/collections/form/validation/form-validation.directive.ts","../../src/collections/form/form.module.ts","../../src/collections/form/public-api.ts","../../src/collections/form/ngx-semantic-collections-form.ts"],"sourcesContent":["/**\n * Created by bolor on 6/5/2020\n */\n\nimport { Directive, ElementRef, Input, inject } from '@angular/core';\nimport { SuiWidth } from 'ngx-semantic/core/enums';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\nimport { BaseDirective } from 'ngx-semantic/core/base';\n\n@Directive({\n standalone: true,\n exportAs: 'suiFormField',\n selector: '[suiFormField]'\n})\nexport class SuiFormFieldDirective extends BaseDirective {\n @Input() public suiWidth: SuiWidth = null;\n @Input() @InputBoolean() public suiError = false;\n @Input() @InputBoolean() public suiInline = false;\n @Input() @InputBoolean() public disabled = false;\n @Input() @InputBoolean() public suiRequired = false;\n\n constructor() {\n const element = inject(ElementRef);\n\n super(element);\n }\n\n get classes(): string {\n return [\n ClassUtils.getPropClass(this.suiInline, 'inline'),\n this.suiWidth,\n this.suiWidth ? 'wide' : '',\n ClassUtils.getPropClass(this.disabled, 'disabled'),\n ClassUtils.getPropClass(this.suiRequired, 'required'),\n 'field',\n ClassUtils.getPropClass(this.suiError, 'error')\n ].join(' ');\n }\n}\n","/**\n * Created by bolor on 6/5/2020\n */\n\nimport { Directive, ElementRef, Input, inject } from '@angular/core';\nimport { SuiWidth } from 'ngx-semantic/core/enums';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\nimport { BaseDirective } from 'ngx-semantic/core/base';\n\n@Directive({\n standalone: true,\n exportAs: 'suiFormFields',\n selector: '[suiFormFields]'\n})\nexport class SuiFormFieldsDirective extends BaseDirective {\n @Input() public suiWidth: SuiWidth = null;\n @Input() @InputBoolean() public suiInline = false;\n @Input() @InputBoolean() public suiGrouped = false;\n @Input() @InputBoolean() public suiEqualWidth = false;\n\n constructor() {\n const element = inject(ElementRef);\n\n super(element);\n }\n\n get classes(): string {\n return [\n this.suiWidth,\n ClassUtils.getPropClass(this.suiInline, 'inline'),\n ClassUtils.getPropClass(this.suiGrouped, 'grouped'),\n ClassUtils.getPropClass(this.suiEqualWidth, 'equal width'),\n 'fields'\n ].join(' ');\n }\n}\n","/**\n * Created by bolor on 6/5/2020\n *\n * For Semantic-style rules on the same element, add `suiFormValidation` (`SuiFormValidationDirective` in `./validation/`).\n */\n\nimport { Directive, ElementRef, Input, inject } from '@angular/core';\nimport { SuiSize } from 'ngx-semantic/core/enums';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\nimport { BaseDirective } from 'ngx-semantic/core/base';\n\nexport type SuiFormState = 'success' | 'warning' | 'error' | null;\n\n@Directive({\n standalone: true,\n selector: '[sui-form]',\n exportAs: 'suiForm'\n})\nexport class SuiFormDirective extends BaseDirective {\n @Input() public suiState: SuiFormState = null;\n @Input() public suiSize: SuiSize = null;\n @Input() @InputBoolean() public suiLoading = false;\n @Input() @InputBoolean() public suiEqualWidth = false;\n @Input() @InputBoolean() public suiInverted = false;\n @Input() @InputBoolean() public suiReply = false;\n\n constructor() {\n const element = inject(ElementRef);\n\n super(element);\n }\n\n get classes(): string {\n return [\n 'ui',\n ClassUtils.getPropClass(this.suiLoading, 'loading'),\n ClassUtils.getPropClass(this.suiEqualWidth, 'equal width'),\n ClassUtils.getPropClass(this.suiInverted, 'inverted'),\n ClassUtils.getPropClass(this.suiReply, 'reply'),\n this.suiSize,\n 'form',\n this.suiState\n ].join(' ');\n }\n}\n","/** Resolve control like Semantic UI: id, then name, then data-validate. */\nexport function resolveFieldElement(root: HTMLElement, identifier: string): HTMLElement | null {\n if (!identifier) {\n return null;\n }\n const byId = root.querySelector(`#${escapeCssId(identifier)}`);\n if (byId instanceof HTMLElement) {\n return byId;\n }\n const byName = root.querySelector(`[name=\"${escapeAttrSelector(identifier)}\"]`);\n if (byName instanceof HTMLElement) {\n return byName;\n }\n const byMeta = root.querySelector(`[data-validate=\"${escapeAttrSelector(identifier)}\"]`);\n return byMeta instanceof HTMLElement ? byMeta : null;\n}\n\nfunction escapeCssId(id: string): string {\n if (typeof CSS !== 'undefined' && typeof CSS.escape === 'function') {\n return CSS.escape(id);\n }\n return id.replace(/([^a-zA-Z0-9_-])/g, '\\\\$1');\n}\n\nexport function escapeAttrSelector(s: string): string {\n return s.replace(/\\\\/g, '\\\\\\\\').replace(/\"/g, '\\\\\"');\n}\n\nexport function readControlValue(el: HTMLElement): unknown {\n if (el instanceof HTMLInputElement) {\n if (el.type === 'checkbox') {\n return el.checked;\n }\n if (el.type === 'radio') {\n const form = el.form ?? el.closest('form');\n if (form) {\n const checked = form.querySelector<HTMLInputElement>(\n `input[type=\"radio\"][name=\"${escapeAttrSelector(el.name)}\"]:checked`\n );\n return checked ? checked.value : '';\n }\n return el.checked ? el.value : '';\n }\n return el.value;\n }\n if (el instanceof HTMLSelectElement) {\n if (el.multiple) {\n return Array.from(el.selectedOptions).map(o => o.value);\n }\n return el.value;\n }\n if (el instanceof HTMLTextAreaElement) {\n return el.value;\n }\n return '';\n}\n\nexport function findSemanticField(el: HTMLElement): HTMLElement | null {\n return el.closest('.field');\n}\n\n/** Label text for prompts: label[for=id], aria-label, placeholder. */\nexport function inferFieldName(el: HTMLElement, identifier: string): string {\n if (el.id) {\n const label = el.ownerDocument?.querySelector(`label[for=\"${escapeAttrSelector(el.id)}\"]`);\n if (label?.textContent?.trim()) {\n return label.textContent.trim();\n }\n }\n const aria = el.getAttribute('aria-label');\n if (aria) {\n return aria;\n }\n if (el instanceof HTMLInputElement || el instanceof HTMLTextAreaElement) {\n const ph = el.getAttribute('placeholder');\n if (ph) {\n return ph;\n }\n }\n return identifier;\n}\n","import type {\n SuiFormNormalizedField,\n SuiFormValidationFieldSpec,\n SuiFormValidationFieldsInput,\n SuiFormValidationRuleSpec\n} from './form-validation.model';\n\nfunction toRuleSpecs(\n rules: SuiFormValidationRuleSpec[] | string | string[]\n): SuiFormValidationRuleSpec[] {\n if (typeof rules === 'string') {\n return [{ type: rules }];\n }\n if (Array.isArray(rules)) {\n return rules.map(r => (typeof r === 'string' ? { type: r } : r));\n }\n return rules;\n}\n\nexport function normalizeFields(input: SuiFormValidationFieldsInput): SuiFormNormalizedField[] {\n const out: SuiFormNormalizedField[] = [];\n for (const key of Object.keys(input)) {\n const raw = input[key];\n if (typeof raw === 'string' || Array.isArray(raw)) {\n out.push({\n key,\n identifier: key,\n rules: toRuleSpecs(raw),\n optional: false\n });\n continue;\n }\n const spec = raw as SuiFormValidationFieldSpec;\n out.push({\n key,\n identifier: spec.identifier ?? key,\n rules: toRuleSpecs(spec.rules),\n optional: !!spec.optional,\n depends: spec.depends\n });\n }\n return out;\n}\n","import type { SuiFormRuleContext, SuiFormRuleParseResult, SuiFormValidationRuleSpec } from './form-validation.model';\n\n/** Split `ruleName[param]` (supports nested brackets in regExp by using `value` on rule spec instead). */\nexport function parseRuleType(type: string): SuiFormRuleParseResult {\n const t = type.trim();\n const open = t.indexOf('[');\n if (open === -1) {\n return { name: t };\n }\n const close = t.lastIndexOf(']');\n if (close <= open) {\n return { name: t };\n }\n return {\n name: t.slice(0, open),\n bracket: t.slice(open + 1, close)\n };\n}\n\nfunction asString(v: unknown): string {\n if (v === null || v === undefined) {\n return '';\n }\n if (Array.isArray(v)) {\n return v.join(',');\n }\n if (typeof v === 'boolean') {\n return v ? 'true' : '';\n }\n return String(v);\n}\n\nfunction isEmptyValue(v: unknown): boolean {\n if (v === null || v === undefined) {\n return true;\n }\n if (typeof v === 'boolean') {\n return !v;\n }\n if (Array.isArray(v)) {\n return v.length === 0;\n }\n return String(v).trim() === '';\n}\n\nconst EMAIL_RE =\n /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n\nfunction isValidUrl(s: string): boolean {\n try {\n const u = new URL(s);\n return u.protocol === 'http:' || u.protocol === 'https:';\n } catch {\n return false;\n }\n}\n\nfunction parseIntegerRange(\n bracket: string | undefined\n): {min?: number; max?: number} | null {\n if (!bracket) {\n return {};\n }\n const m = /^(-?\\d+)\\.\\.(-?\\d+)$/.exec(bracket.trim());\n if (m) {\n return { min: Number(m[1]), max: Number(m[2]) };\n }\n return null;\n}\n\nfunction luhnValid(digits: string): boolean {\n const d = digits.replace(/\\D/g, '');\n if (d.length < 13) {\n return false;\n }\n let sum = 0;\n let alt = false;\n for (let i = d.length - 1; i >= 0; i--) {\n let n = parseInt(d.charAt(i), 10);\n if (alt) {\n n *= 2;\n if (n > 9) {\n n -= 9;\n }\n }\n sum += n;\n alt = !alt;\n }\n return sum % 10 === 0;\n}\n\nconst CARD_TYPES: Record<string, RegExp> = {\n visa: /^4[0-9]{12}(?:[0-9]{3})?$/,\n mastercard: /^5[1-5][0-9]{14}$/,\n amex: /^3[47][0-9]{13}$/,\n discover: /^6(?:011|5[0-9]{2})[0-9]{12}$/,\n unionpay: /^62[0-9]{14,17}$/,\n jcb: /^(?:2131|1800|35\\d{3})\\d{11}$/,\n dinersClub: /^3(?:0[0-5]|[68][0-9])[0-9]{11}$/,\n maestro: /^(?:5[0678]\\d{2}|6304|6706|6771|6709)\\d{8,15}$/,\n laser: /^(6304|6706|6709|6771)[0-9]{12,15}$/,\n visaElectron: /^(4026|417500|4405|4508|4844|4913|4917)\\d+$/\n};\n\n/**\n * Returns true if the value satisfies the rule.\n */\nexport function evaluateRule(\n rule: SuiFormValidationRuleSpec,\n fieldValue: unknown,\n fieldIdentifier: string,\n ctx: SuiFormRuleContext\n): boolean {\n const { name, bracket } = parseRuleType(rule.type);\n const s = asString(fieldValue);\n const lower = name.toLowerCase();\n\n switch (lower) {\n case 'empty':\n return !isEmptyValue(fieldValue);\n case 'checked':\n return fieldValue === true;\n case 'email':\n return s === '' || EMAIL_RE.test(s);\n case 'url':\n return s === '' || isValidUrl(s);\n case 'decimal':\n return s === '' || /^-?\\d+\\.\\d+$/.test(s.trim());\n case 'number':\n return s === '' || /^-?\\d+(\\.\\d+)?$/.test(s.trim());\n case 'integer': {\n if (s.trim() === '') {\n return true;\n }\n if (!/^-?\\d+$/.test(s.trim())) {\n return false;\n }\n const n = parseInt(s, 10);\n const range = parseIntegerRange(bracket);\n if (range && range.min !== undefined && range.max !== undefined) {\n return n >= range.min && n <= range.max;\n }\n return true;\n }\n case 'regexp': {\n let re: RegExp | null = null;\n if (rule.value instanceof RegExp) {\n re = rule.value;\n } else if (bracket) {\n const inner = bracket.trim();\n const m = inner.match(/^\\/(.*)\\/([gimuy]*)$/);\n if (m) {\n re = new RegExp(m[1], m[2] || '');\n }\n }\n if (!re) {\n return false;\n }\n return re.test(s);\n }\n case 'minlength': {\n const min = bracket ? parseInt(bracket, 10) : NaN;\n if (Number.isNaN(min)) {\n return false;\n }\n return s.length >= min;\n }\n case 'maxlength': {\n const max = bracket ? parseInt(bracket, 10) : NaN;\n if (Number.isNaN(max)) {\n return false;\n }\n return s.length <= max;\n }\n case 'exactlength': {\n const ex = bracket ? parseInt(bracket, 10) : NaN;\n if (Number.isNaN(ex)) {\n return false;\n }\n return s.length === ex;\n }\n case 'match': {\n if (!bracket) {\n return false;\n }\n const other = asString(ctx.getFieldValue(bracket));\n return s === other;\n }\n case 'different': {\n if (!bracket) {\n return false;\n }\n const other = asString(ctx.getFieldValue(bracket));\n return s !== other || s === '';\n }\n case 'mincount': {\n const min = bracket ? parseInt(bracket, 10) : NaN;\n if (!Number.isFinite(min)) {\n return false;\n }\n const arr = Array.isArray(fieldValue) ? fieldValue : [];\n return arr.length >= min;\n }\n case 'maxcount': {\n const max = bracket ? parseInt(bracket, 10) : NaN;\n if (!Number.isFinite(max)) {\n return false;\n }\n const arr = Array.isArray(fieldValue) ? fieldValue : [];\n return arr.length <= max;\n }\n case 'exactcount': {\n const ex = bracket ? parseInt(bracket, 10) : NaN;\n if (!Number.isFinite(ex)) {\n return false;\n }\n const arr = Array.isArray(fieldValue) ? fieldValue : [];\n return arr.length === ex;\n }\n case 'contains':\n return bracket ? s.toLowerCase().includes(bracket.toLowerCase()) : false;\n case 'containsexactly':\n return bracket ? s.includes(bracket) : false;\n case 'doesntcontain':\n return bracket ? !s.toLowerCase().includes(bracket.toLowerCase()) : false;\n case 'doesntcontainexactly':\n return bracket ? !s.includes(bracket) : false;\n case 'is':\n return bracket ? s.toLowerCase() === bracket.toLowerCase() : false;\n case 'isexactly':\n return bracket ? s === bracket : false;\n case 'not':\n return bracket ? s.toLowerCase() !== bracket.toLowerCase() : false;\n case 'notexactly':\n return bracket ? s !== bracket : false;\n case 'exactly':\n return bracket ? s.toLowerCase() === bracket.toLowerCase() : false;\n case 'creditcard': {\n const digits = s.replace(/\\s/g, '');\n if (!luhnValid(digits)) {\n return false;\n }\n if (!bracket) {\n return true;\n }\n const types = bracket.split(',').map(t => t.trim().toLowerCase());\n return types.some(t => {\n const rx = CARD_TYPES[t];\n return rx && rx.test(digits);\n });\n }\n default:\n return true;\n }\n}\n","import { parseRuleType } from './form-validation.rules';\n\nconst DEFAULT_PROMPTS: Record<string, string> = {\n empty: '{name} must have a value',\n checked: '{name} must be checked',\n email: '{name} must be a valid e-mail',\n url: '{name} must be a valid url',\n regexp: '{name} is not formatted correctly',\n integer: '{name} must be an integer',\n decimal: '{name} must be a decimal number',\n number: '{name} must be set to a number',\n is: \"{name} must be '{ruleValue}'\",\n isexactly: \"{name} must be exactly '{ruleValue}'\",\n not: \"{name} cannot be set to '{ruleValue}'\",\n notexactly: \"{name} cannot be set to exactly '{ruleValue}'\",\n contains: \"{name} must contain '{ruleValue}'\",\n containsexactly: \"{name} must contain exactly '{ruleValue}'\",\n doesntcontain: \"{name} must not contain '{ruleValue}'\",\n doesntcontainexactly: \"{name} must not contain exactly '{ruleValue}'\",\n minlength: '{name} must be at least {ruleValue} characters',\n exactlength: '{name} must be exactly {ruleValue} characters',\n maxlength: '{name} cannot be longer than {ruleValue} characters',\n match: '{name} must match {ruleValue} field',\n different: '{name} must have a different value than {ruleValue} field',\n creditcard: '{name} must be a valid credit card number',\n mincount: '{name} must have at least {ruleValue} choices',\n exactcount: '{name} must have exactly {ruleValue} choices',\n maxcount: '{name} must have {ruleValue} or less choices',\n exactly: \"{name} must be '{ruleValue}'\"\n};\n\nexport function formatValidationPrompt(\n ruleType: string,\n fieldName: string,\n fieldIdentifier: string,\n fieldValue: unknown,\n customPrompt: string | ((value: unknown) => string) | undefined,\n ruleValue: string\n): string {\n if (typeof customPrompt === 'function') {\n return customPrompt(fieldValue);\n }\n if (customPrompt) {\n return applyTemplate(customPrompt, fieldName, fieldIdentifier, fieldValue, ruleValue);\n }\n const { name } = parseRuleType(ruleType);\n const key = name.toLowerCase();\n const template = DEFAULT_PROMPTS[key] ?? 'Please enter a valid value';\n return applyTemplate(template, fieldName, fieldIdentifier, fieldValue, ruleValue);\n}\n\nfunction applyTemplate(\n template: string,\n name: string,\n identifier: string,\n value: unknown,\n ruleValue: string\n): string {\n const v =\n value === null || value === undefined\n ? ''\n : Array.isArray(value)\n ? value.join(',')\n : String(value);\n return template\n .replace(/\\{name\\}/g, name)\n .replace(/\\{identifier\\}/g, identifier)\n .replace(/\\{value\\}/g, v)\n .replace(/\\{ruleValue\\}/g, ruleValue);\n}\n","/**\n * Types for Semantic UI [Form Validation](https://semantic-ui.com/behaviors/form.html) — Angular port.\n * Lives with `ngx-semantic/collections/form` (use with `sui-form` + `suiFormValidation` on the same `<form>`).\n */\n\n/** `AbstractControl.errors` key for Semantic rule failures (string message). Works with built-in validators. */\nexport const SUI_FORM_VALIDATION_ERROR_KEY = 'suiFormValidation';\n\n/** Single rule as string, e.g. `'empty'`, `'minLength[6]'`. */\nexport type SuiFormRuleTypeString = string;\n\nexport interface SuiFormValidationRuleSpec {\n /** Rule name, optionally with bracket param: `minLength[6]`, `integer[1..10]`. */\n type: SuiFormRuleTypeString;\n prompt?: string | ((value: unknown) => string);\n /** For `regExp` when brackets are awkward; also used by custom rules. */\n value?: unknown;\n}\n\nexport interface SuiFormValidationFieldSpec {\n /** Defaults to the object key in `fields` when omitted. */\n identifier?: string;\n rules: SuiFormValidationRuleSpec[] | SuiFormRuleTypeString | SuiFormRuleTypeString[];\n optional?: boolean;\n /** Other field id/name/data-validate must be non-empty for these rules to run. */\n depends?: string;\n}\n\n/** Shorthand: `name: 'empty'` or `password: ['empty', 'minLength[6]']` or longhand field spec. */\nexport type SuiFormValidationFieldsInput = Record<\n string,\n SuiFormRuleTypeString | SuiFormRuleTypeString[] | SuiFormValidationFieldSpec\n>;\n\nexport interface SuiFormNormalizedField {\n key: string;\n identifier: string;\n rules: SuiFormValidationRuleSpec[];\n optional: boolean;\n depends?: string;\n}\n\nexport interface SuiFormRuleContext {\n getFieldValue(identifier: string): unknown;\n getFieldElement(identifier: string): Element | null;\n}\n\nexport interface SuiFormRuleParseResult {\n name: string;\n bracket?: string;\n}\n","import type { AbstractControl } from '@angular/forms';\nimport { SUI_FORM_VALIDATION_ERROR_KEY } from './form-validation.model';\n\n/** Merge or clear Semantic validation errors without wiping other validator errors on the control. */\nexport function patchSuiFormValidationControlError(control: AbstractControl, message: string | null): void {\n const key = SUI_FORM_VALIDATION_ERROR_KEY;\n const cur = control.errors;\n if (message === null) {\n if (!cur?.[key]) {\n return;\n }\n const rest = { ...cur };\n delete rest[key];\n control.setErrors(Object.keys(rest).length ? rest : null);\n } else {\n control.setErrors({ ...(cur || {}), [key]: message });\n }\n}\n","/**\n * Semantic UI [Form Validation](https://semantic-ui.com/behaviors/form.html) — native Angular (no jQuery).\n * Use on the same `<form>` as `[sui-form]` (via `SuiFormModule`); add `suiFormValidation` and `suiFields`\n * matching Semantic’s `fields` object.\n *\n * When the host `<form>` uses **`NgForm`** (template-driven) or **`[formGroup]`** (reactive), rule failures are\n * written to matching `AbstractControl` errors under `suiFormValidation` so `form.valid` /\n * `control.invalid` align with Semantic rules alongside built-in validators.\n */\n\nimport { Directive, ElementRef, EventEmitter, HostListener, Input, NgZone, OnChanges, OnDestroy, Output, Renderer2, SimpleChanges, inject } from '@angular/core';\nimport { FormGroupDirective, NgForm } from '@angular/forms';\nimport type { AbstractControl, FormGroup } from '@angular/forms';\nimport { InputBoolean } from 'ngx-semantic/core/util';\nimport { Subject, fromEvent, merge } from 'rxjs';\nimport { debounceTime, takeUntil } from 'rxjs/operators';\n\nimport type {\n SuiFormNormalizedField,\n SuiFormRuleContext,\n SuiFormValidationFieldsInput\n} from './form-validation.model';\nimport {\n escapeAttrSelector,\n findSemanticField,\n inferFieldName,\n readControlValue,\n resolveFieldElement\n} from './form-validation.dom';\nimport { normalizeFields } from './form-validation.normalize';\nimport { formatValidationPrompt } from './form-validation.prompt';\nimport { patchSuiFormValidationControlError } from './form-validation.control-errors';\nimport { evaluateRule, parseRuleType } from './form-validation.rules';\n\nfunction isEmptyValue(v: unknown): boolean {\n if (v === null || v === undefined) {\n return true;\n }\n if (typeof v === 'boolean') {\n return !v;\n }\n if (Array.isArray(v)) {\n return v.length === 0;\n }\n return String(v).trim() === '';\n}\n\n@Directive({\n standalone: true,\n selector: 'form[suiFormValidation]',\n exportAs: 'suiFormValidation'\n})\nexport class SuiFormValidationDirective implements OnChanges, OnDestroy {\n private readonly el = inject<ElementRef<HTMLFormElement>>(ElementRef);\n private readonly renderer = inject(Renderer2);\n private readonly zone = inject(NgZone);\n private readonly ngForm = inject(NgForm, { optional: true, host: true });\n private readonly formGroupDir = inject(FormGroupDirective, { optional: true, host: true });\n\n /** Validation field definitions (shorthand or longhand), matching Semantic UI `fields`. */\n @Input() public suiFields: SuiFormValidationFieldsInput | null = null;\n /** `submit`, `blur`, or `change` — when to validate fields. */\n @Input() public suiOn: 'submit' | 'blur' | 'change' = 'submit';\n @Input() @InputBoolean() public suiInline = false;\n @Input() @InputBoolean() public suiRevalidate = true;\n /** Debounce (ms) for `change` / revalidation; `true` uses 300ms; `false` disables. */\n @Input() public suiDelay: number | boolean = true;\n @Input() @InputBoolean() public suiKeyboardShortcuts = true;\n /** When using `NgForm` / `FormGroup`, mark all controls touched after a failed submit (shows native errors). */\n @Input() @InputBoolean() public suiMarkControlsTouchedOnInvalid = true;\n\n @Output() public readonly suiOnSuccess = new EventEmitter<Event>();\n @Output() public readonly suiOnFailure = new EventEmitter<{errors: string[]; fields: string[]}>();\n\n private readonly destroy$ = new Subject<void>();\n private readonly host: HTMLFormElement;\n private normalized: SuiFormNormalizedField[] = [];\n private defaultValues = new Map<string, string>();\n private teardownFieldSubs: (() => void) | null = null;\n\n constructor() {\n const el = this.el;\n\n this.host = el.nativeElement;\n }\n\n /** Reactive `[formGroup]` or template-driven `NgForm` on this host, if any. */\n public getAngularForm(): FormGroup | null {\n if (this.formGroupDir?.form) {\n return this.formGroupDir.form;\n }\n if (this.ngForm?.form) {\n return this.ngForm.form;\n }\n return null;\n }\n\n /** Control whose name matches `suiFields` identifier (flat `FormGroup` only). */\n public resolveControl(identifier: string): AbstractControl | null {\n const g = this.getAngularForm();\n const c = g?.get(identifier);\n return c ?? null;\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (changes['suiFields']) {\n this.normalized = this.suiFields ? normalizeFields(this.suiFields) : [];\n }\n if (changes['suiFields'] || changes['suiOn'] || changes['suiDelay'] || changes['suiRevalidate']) {\n this.bindFieldTriggers();\n }\n }\n\n public ngOnDestroy(): void {\n this.teardownFieldSubs?.();\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n @HostListener('submit', ['$event'])\n protected onHostSubmit(event: Event): void {\n if (!this.normalized.length) {\n return;\n }\n this.cacheDefaultsOnce();\n const r = this.runValidationWithUi();\n const form = this.getAngularForm();\n const ok = r.valid && (!form || form.valid);\n // Always prevent native form navigation; consumers use suiOnSuccess for follow-up.\n event.preventDefault();\n if (!ok) {\n if (this.suiMarkControlsTouchedOnInvalid && form) {\n form.markAllAsTouched();\n }\n event.stopPropagation();\n const errorsOut =\n r.errors.length > 0\n ? r.errors\n : form && !form.valid\n ? ['This form has validation errors.']\n : r.errors;\n this.suiOnFailure.emit({ errors: errorsOut, fields: r.fieldIds });\n return;\n }\n this.suiOnSuccess.emit(event);\n }\n\n @HostListener('keydown', ['$event'])\n protected onHostKeydown(ev: KeyboardEvent): void {\n if (!this.suiKeyboardShortcuts) {\n return;\n }\n if (!this.host.contains(ev.target as Node)) {\n return;\n }\n if (ev.key === 'Escape') {\n (ev.target as HTMLElement)?.blur?.();\n }\n }\n\n /** Validate the whole form, update UI, emit success/failure. */\n public validateForm(): boolean {\n this.cacheDefaultsOnce();\n const r = this.runValidationWithUi();\n const form = this.getAngularForm();\n const ok = r.valid && (!form || form.valid);\n if (!ok) {\n if (this.suiMarkControlsTouchedOnInvalid && form) {\n form.markAllAsTouched();\n }\n const errorsOut =\n r.errors.length > 0\n ? r.errors\n : form && !form.valid\n ? ['This form has validation errors.']\n : r.errors;\n this.suiOnFailure.emit({ errors: errorsOut, fields: r.fieldIds });\n } else {\n this.suiOnSuccess.emit(new Event('semantic-form-valid'));\n }\n return ok;\n }\n\n private runValidationWithUi(): {valid: boolean; errors: string[]; fieldIds: string[]} {\n const errors: string[] = [];\n const fieldIds: string[] = [];\n this.clearFormLevelMessage();\n this.clearAllFieldUi();\n for (const f of this.normalized) {\n const msg = this.evaluateFieldMessage(f);\n const ctrl = this.resolveControl(f.identifier);\n if (msg) {\n errors.push(msg);\n fieldIds.push(f.identifier);\n this.applyFieldError(f.identifier, msg);\n if (ctrl) {\n patchSuiFormValidationControlError(ctrl, msg);\n }\n }\n }\n this.renderFormLevelErrors(errors);\n return { valid: errors.length === 0, errors, fieldIds };\n }\n\n /** Validate one field by identifier (updates UI and `AbstractControl` errors when bound). */\n public validateField(identifier: string): boolean {\n const field = this.normalized.find(\n x => x.identifier === identifier || x.key === identifier\n );\n if (!field) {\n return true;\n }\n this.clearFieldUi(field.identifier);\n const msg = this.evaluateFieldMessage(field);\n const ctrl = this.resolveControl(field.identifier);\n if (msg) {\n if (ctrl) {\n patchSuiFormValidationControlError(ctrl, msg);\n }\n this.applyFieldError(field.identifier, msg);\n return false;\n }\n return true;\n }\n\n /** Whether the form (or one field) passes rules; does not update UI (Semantic `is valid`). */\n public isValid(identifier?: string): boolean {\n if (identifier) {\n const field = this.normalized.find(\n x => x.identifier === identifier || x.key === identifier\n );\n return field ? this.evaluateFieldMessage(field) === null : true;\n }\n return this.normalized.every(f => this.evaluateFieldMessage(f) === null);\n }\n\n public getFieldElement(identifier: string): HTMLElement | null {\n return resolveFieldElement(this.host, identifier);\n }\n\n public getValue(identifier: string): unknown {\n const ctrl = this.resolveControl(identifier);\n if (ctrl) {\n return ctrl.value;\n }\n const el = this.getFieldElement(identifier);\n return el ? readControlValue(el) : undefined;\n }\n\n public getValues(identifiers?: string[]): Record<string, unknown> {\n const ids =\n identifiers ??\n this.normalized.map(f => f.identifier);\n const out: Record<string, unknown> = {};\n for (const id of ids) {\n const ctrl = this.resolveControl(id);\n if (ctrl) {\n out[id] = ctrl.value;\n continue;\n }\n const el = resolveFieldElement(this.host, id);\n if (!el) {\n continue;\n }\n const name =\n el.getAttribute('name') ?? el.getAttribute('id') ?? el.getAttribute('data-validate') ?? id;\n out[name] = readControlValue(el);\n }\n return out;\n }\n\n public setValue(identifier: string, value: unknown): void {\n const ctrl = this.resolveControl(identifier);\n if (ctrl) {\n ctrl.setValue(value);\n return;\n }\n const el = resolveFieldElement(this.host, identifier);\n if (!el) {\n return;\n }\n this.writeControlValue(el, value);\n }\n\n public setValues(values: Record<string, unknown>): void {\n for (const k of Object.keys(values)) {\n this.setValue(k, values[k]);\n }\n }\n\n /** Restore values cached at first validation init (Semantic `reset`). */\n public reset(): void {\n const fields = this.host.querySelectorAll<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>(\n 'input, select, textarea'\n );\n fields.forEach(control => {\n const key = control.name || control.id;\n if (!key) {\n return;\n }\n if (this.defaultValues.has(key)) {\n this.writeControlValue(control as HTMLElement, this.defaultValues.get(key));\n }\n });\n }\n\n /** Clear all field values (Semantic `clear`). */\n public clear(): void {\n this.host.querySelectorAll<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>(\n 'input, select, textarea'\n ).forEach(control => {\n if (control instanceof HTMLInputElement) {\n if (control.type === 'checkbox' || control.type === 'radio') {\n control.checked = false;\n } else {\n control.value = '';\n }\n } else if (control instanceof HTMLSelectElement) {\n if (control.multiple) {\n Array.from(control.options).forEach(o => (o.selected = false));\n } else {\n control.selectedIndex = 0;\n }\n } else {\n control.value = '';\n }\n });\n }\n\n private debounceMs(): number {\n if (this.suiDelay === false) {\n return 0;\n }\n if (this.suiDelay === true) {\n return 300;\n }\n return Math.max(0, this.suiDelay);\n }\n\n private ctx(): SuiFormRuleContext {\n return {\n getFieldValue: id => {\n const c = this.resolveControl(id);\n if (c) {\n return c.value;\n }\n const el = resolveFieldElement(this.host, id);\n return el ? readControlValue(el) : '';\n },\n getFieldElement: id => resolveFieldElement(this.host, id)\n };\n }\n\n private evaluateFieldMessage(field: SuiFormNormalizedField): string | null {\n const ctx = this.ctx();\n if (field.depends) {\n const dep = ctx.getFieldValue(field.depends);\n if (isEmptyValue(dep)) {\n return null;\n }\n }\n const ctrl = this.resolveControl(field.identifier);\n const el = resolveFieldElement(this.host, field.identifier);\n const value = ctrl ? ctrl.value : el ? readControlValue(el) : undefined;\n if (field.optional && isEmptyValue(value)) {\n return null;\n }\n const fieldName = el ? inferFieldName(el, field.identifier) : field.identifier;\n for (const rule of field.rules) {\n if (!evaluateRule(rule, value, field.identifier, ctx)) {\n const { bracket } = parseRuleType(rule.type);\n return formatValidationPrompt(\n rule.type,\n fieldName,\n field.identifier,\n value,\n rule.prompt,\n bracket ?? ''\n );\n }\n }\n return null;\n }\n\n private cacheDefaultsOnce(): void {\n if (this.defaultValues.size) {\n return;\n }\n this.host.querySelectorAll<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>(\n 'input, select, textarea'\n ).forEach(control => {\n const key = control.name || control.id;\n if (!key) {\n return;\n }\n if (control instanceof HTMLInputElement && (control.type === 'checkbox' || control.type === 'radio')) {\n this.defaultValues.set(key, control.checked ? '1' : '');\n } else {\n this.defaultValues.set(key, control.value);\n }\n });\n }\n\n private bindFieldTriggers(): void {\n this.teardownFieldSubs?.();\n this.teardownFieldSubs = null;\n if (!this.normalized.length || this.suiOn === 'submit') {\n return;\n }\n const sub = new Subject<void>();\n const stop = () => {\n sub.next();\n sub.complete();\n };\n this.teardownFieldSubs = stop;\n const ms = this.debounceMs();\n\n this.zone.runOutsideAngular(() => {\n for (const f of this.normalized) {\n const el = resolveFieldElement(this.host, f.identifier);\n if (!el) {\n continue;\n }\n const ev =\n this.suiOn === 'blur'\n ? fromEvent(el, 'blur')\n : merge(fromEvent(el, 'input'), fromEvent(el, 'change'));\n const piped =\n ms > 0 ? ev.pipe(debounceTime(ms)) : ev;\n piped.pipe(takeUntil(sub), takeUntil(this.destroy$)).subscribe(() => {\n this.zone.run(() => {\n this.validateField(f.identifier);\n });\n });\n }\n });\n\n if (this.suiRevalidate && this.suiOn === 'blur') {\n this.zone.runOutsideAngular(() => {\n for (const f of this.normalized) {\n const el = resolveFieldElement(this.host, f.identifier);\n if (!el) {\n continue;\n }\n const piped =\n ms > 0\n ? fromEvent(el, 'input').pipe(debounceTime(ms))\n : fromEvent(el, 'input');\n piped.pipe(takeUntil(sub), takeUntil(this.destroy$)).subscribe(() => {\n const group = findSemanticField(el);\n if (group?.classList.contains('error')) {\n this.zone.run(() => this.validateField(f.identifier));\n }\n });\n }\n });\n }\n }\n\n private clearAllFieldUi(): void {\n for (const f of this.normalized) {\n this.clearFieldUi(f.identifier);\n }\n }\n\n private clearFieldUi(identifier: string): void {\n const ctrl = this.resolveControl(identifier);\n if (ctrl) {\n patchSuiFormValidationControlError(ctrl, null);\n }\n const el = resolveFieldElement(this.host, identifier);\n const group = el ? findSemanticField(el) : null;\n if (group) {\n this.renderer.removeClass(group, 'error');\n const prompt = group.querySelector<HTMLElement>('.prompt');\n if (prompt) {\n this.renderer.setProperty(prompt, 'textContent', '');\n if (this.suiInline) {\n this.renderer.removeStyle(prompt, 'display');\n } else {\n this.renderer.setStyle(prompt, 'display', 'none');\n }\n }\n }\n }\n\n private applyFieldError(identifier: string, message: string): void {\n const el = resolveFieldElement(this.host, identifier);\n const group = el ? findSemanticField(el) : null;\n if (!group) {\n return;\n }\n this.renderer.addClass(group, 'error');\n if (!this.suiInline) {\n return;\n }\n let prompt = group.querySelector<HTMLElement>('.prompt');\n if (!prompt) {\n prompt = this.renderer.createElement('div');\n this.renderer.addClass(prompt, 'ui');\n this.renderer.addClass(prompt, 'basic');\n this.renderer.addClass(prompt, 'red');\n this.renderer.addClass(prompt, 'pointing');\n this.renderer.addClass(prompt, 'label');\n this.renderer.addClass(prompt, 'prompt');\n this.renderer.setAttribute(prompt, 'role', 'alert');\n this.renderer.appendChild(group, prompt);\n }\n this.renderer.setProperty(prompt, 'textContent', message);\n this.renderer.removeStyle(prompt, 'display');\n }\n\n private renderFormLevelErrors(messages: string[]): void {\n const block = this.host.querySelector<HTMLElement>('.ui.error.message, .error.message');\n if (!block || !messages.length) {\n return;\n }\n const ul = this.renderer.createElement('ul');\n ul.className = 'list';\n for (const m of messages) {\n const li = this.renderer.createElement('li');\n li.textContent = m;\n ul.appendChild(li);\n }\n block.innerHTML = '';\n block.appendChild(ul);\n this.renderer.removeClass(block, 'hidden');\n }\n\n private clearFormLevelMessage(): void {\n const block = this.host.querySelector<HTMLElement>('.ui.error.message, .error.message');\n if (block) {\n block.innerHTML = '';\n }\n }\n\n private writeControlValue(el: HTMLElement, value: unknown): void {\n if (el instanceof HTMLInputElement) {\n if (el.type === 'checkbox') {\n el.checked = Boolean(value);\n return;\n }\n if (el.type === 'radio') {\n const form = el.form ?? this.host;\n const name = el.name;\n const str = String(value ?? '');\n form\n .querySelectorAll<HTMLInputElement>(\n `input[type=\"radio\"][name=\"${escapeAttrSelector(name)}\"]`\n )\n .forEach(r => {\n r.checked = r.value === str;\n });\n return;\n }\n el.value = value === null || value === undefined ? '' : String(value);\n return;\n }\n if (el instanceof HTMLSelectElement) {\n if (el.multiple && Array.isArray(value)) {\n const set = new Set(value.map(String));\n Array.from(el.options).forEach(o => {\n o.selected = set.has(o.value);\n });\n } else {\n el.value = String(value ?? '');\n }\n return;\n }\n if (el instanceof HTMLTextAreaElement) {\n el.value = value === null || value === undefined ? '' : String(value);\n }\n }\n}\n","/**\n * Created by bolor on 5/26/2020\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { SuiFormFieldDirective } from './form-field.directive';\nimport { SuiFormDirective } from './form.directive';\nimport { SuiFormFieldsDirective } from './form-fields.directive';\nimport { SuiFormValidationDirective } from './validation/form-validation.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n SuiFormFieldDirective,\n SuiFormDirective,\n SuiFormFieldsDirective,\n SuiFormValidationDirective\n ],\n exports: [\n FormsModule,\n ReactiveFormsModule,\n SuiFormFieldDirective,\n SuiFormDirective,\n SuiFormFieldsDirective,\n SuiFormValidationDirective\n ]\n})\nexport class SuiFormModule {\n}\n","/**\n * Created by bolor on 6/5/2020\n */\n\nexport * from './form-field.directive';\nexport * from './form-fields.directive';\nexport * from './form.directive';\nexport * from './form.module';\nexport * from './validation/form-validation.model';\nexport * from './validation/form-validation.control-errors';\nexport * from './validation/form-validation.rules';\nexport * from './validation/form-validation.normalize';\nexport * from './validation/form-validation.prompt';\nexport * from './validation/form-validation.dom';\nexport * from './validation/form-validation.directive';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["isEmptyValue"],"mappings":"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"}
@@ -1,12 +1,13 @@
1
1
  import { __decorate } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
- import { Input, Directive, NgModule } from '@angular/core';
3
+ import { inject, ElementRef, Input, Directive, NgModule } from '@angular/core';
4
4
  import { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';
5
5
  import { BaseDirective } from 'ngx-semantic/core/base';
6
6
  import { CommonModule } from '@angular/common';
7
7
 
8
8
  class SuiGridDirective extends BaseDirective {
9
- constructor(element) {
9
+ constructor() {
10
+ const element = inject(ElementRef);
10
11
  super(element);
11
12
  this.suiWidth = null;
12
13
  this.suiAlignment = null;
@@ -40,7 +41,7 @@ class SuiGridDirective extends BaseDirective {
40
41
  ClassUtils.getPropClass(this.suiContainer, 'container')
41
42
  ].join(' ');
42
43
  }
43
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiGridDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
44
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiGridDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
44
45
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.7", type: SuiGridDirective, isStandalone: true, selector: "[sui-grid]", inputs: { suiWidth: "suiWidth", suiAlignment: "suiAlignment", suiDivided: "suiDivided", suiCelled: "suiCelled", suiPadded: "suiPadded", suiReversed: "suiReversed", suiRelaxation: "suiRelaxation", suiEqual: "suiEqual", suiCentered: "suiCentered", suiContainer: "suiContainer", suiStackable: "suiStackable", suiDoubling: "suiDoubling" }, exportAs: ["suiGrid"], usesInheritance: true, ngImport: i0 }); }
45
46
  }
46
47
  __decorate([
@@ -65,7 +66,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImpor
65
66
  selector: '[sui-grid]',
66
67
  exportAs: 'suiGrid'
67
68
  }]
68
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { suiWidth: [{
69
+ }], ctorParameters: () => [], propDecorators: { suiWidth: [{
69
70
  type: Input
70
71
  }], suiAlignment: [{
71
72
  type: Input
@@ -95,7 +96,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImpor
95
96
  * Created by bolor on 6/14/2020
96
97
  */
97
98
  class SuiGridColumnDirective extends BaseDirective {
98
- constructor(element) {
99
+ constructor() {
100
+ const element = inject(ElementRef);
99
101
  super(element);
100
102
  this.suiWidth = null;
101
103
  this.suiFloated = null;
@@ -114,7 +116,7 @@ class SuiGridColumnDirective extends BaseDirective {
114
116
  'column'
115
117
  ].join(' ');
116
118
  }
117
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiGridColumnDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
119
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiGridColumnDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
118
120
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.7", type: SuiGridColumnDirective, isStandalone: true, selector: "[suiGridColumn]", inputs: { suiWidth: "suiWidth", suiFloated: "suiFloated", suiColour: "suiColour", suiAlignment: "suiAlignment", suiDeviceVisibility: "suiDeviceVisibility" }, exportAs: ["suiGridColumn"], usesInheritance: true, ngImport: i0 }); }
119
121
  }
120
122
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiGridColumnDirective, decorators: [{
@@ -124,7 +126,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImpor
124
126
  exportAs: 'suiGridColumn',
125
127
  selector: '[suiGridColumn]'
126
128
  }]
127
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { suiWidth: [{
129
+ }], ctorParameters: () => [], propDecorators: { suiWidth: [{
128
130
  type: Input
129
131
  }], suiFloated: [{
130
132
  type: Input
@@ -137,7 +139,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImpor
137
139
  }] } });
138
140
 
139
141
  class SuiGridRowDirective extends BaseDirective {
140
- constructor(element) {
142
+ constructor() {
143
+ const element = inject(ElementRef);
141
144
  super(element);
142
145
  this.suiWidth = null;
143
146
  this.suiAlignment = null;
@@ -156,7 +159,7 @@ class SuiGridRowDirective extends BaseDirective {
156
159
  'row'
157
160
  ].join(' ');
158
161
  }
159
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiGridRowDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
162
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiGridRowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
160
163
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.7", type: SuiGridRowDirective, isStandalone: true, selector: "[suiGridRow]", inputs: { suiWidth: "suiWidth", suiAlignment: "suiAlignment", suiDeviceVisibility: "suiDeviceVisibility", suiEqual: "suiEqual", suiCentered: "suiCentered" }, exportAs: ["suiGridRow"], usesInheritance: true, ngImport: i0 }); }
161
164
  }
162
165
  __decorate([
@@ -172,7 +175,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImpor
172
175
  exportAs: 'suiGridRow',
173
176
  selector: '[suiGridRow]'
174
177
  }]
175
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { suiWidth: [{
178
+ }], ctorParameters: () => [], propDecorators: { suiWidth: [{
176
179
  type: Input
177
180
  }], suiAlignment: [{
178
181
  type: Input
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-semantic-collections-grid.mjs","sources":["../../src/collections/grid/grid.directive.ts","../../src/collections/grid/grid-column.directive.ts","../../src/collections/grid/grid-row.directive.ts","../../src/collections/grid/grid.module.ts","../../src/collections/grid/public-api.ts","../../src/collections/grid/ngx-semantic-collections-grid.ts"],"sourcesContent":["/**\n * Created by bolor on 6/11/2020\n */\n\nimport {Directive, ElementRef, Input} from '@angular/core';\nimport {SuiWidth} from 'ngx-semantic/core/enums';\nimport {ClassUtils, InputBoolean} from 'ngx-semantic/core/util';\nimport {BaseDirective} from 'ngx-semantic/core/base';\n\nexport type SuiGridAlignment = 'left aligned' | 'center aligned' | 'right aligned' | null;\nexport type SuiGridDivision = 'divided' | 'vertically divided' | null;\nexport type SuiGridCellType = 'celled' | 'internally celled' | null;\nexport type SuiGridPadding = 'padding' | 'vertically padding' | null;\nexport type SuiGridReverse = 'computer reversed' | 'tablet reversed' | 'mobile reversed' | null;\nexport type SuiGridRelaxation = 'relaxed' | 'very relaxed' | null;\n\n@Directive({\n standalone: true,\n selector: '[sui-grid]',\n exportAs: 'suiGrid'\n})\nexport class SuiGridDirective extends BaseDirective {\n @Input() public suiWidth: SuiWidth = null;\n @Input() public suiAlignment: SuiGridAlignment = null;\n @Input() public suiDivided: SuiGridDivision = null;\n @Input() public suiCelled: SuiGridCellType = null;\n @Input() public suiPadded: SuiGridPadding = null;\n @Input() public suiReversed: SuiGridReverse = null;\n @Input() public suiRelaxation: SuiGridRelaxation = null;\n @Input() @InputBoolean() public suiEqual = false;\n @Input() @InputBoolean() public suiCentered = false;\n @Input() @InputBoolean() public suiContainer = false;\n @Input() @InputBoolean() public suiStackable = false;\n @Input() @InputBoolean() public suiDoubling = false;\n\n constructor(element: ElementRef) {\n super(element);\n }\n\n get classes(): string {\n return [\n 'ui',\n this.suiWidth,\n this.suiWidth ? 'column' : '',\n this.suiAlignment,\n this.suiDivided,\n this.suiCelled,\n this.suiPadded,\n this.suiReversed,\n this.suiRelaxation,\n ClassUtils.getPropClass(this.suiStackable, 'stackable'),\n ClassUtils.getPropClass(this.suiEqual, 'equal width'),\n ClassUtils.getPropClass(this.suiCentered, 'centered'),\n ClassUtils.getPropClass(this.suiDoubling, 'doubling'),\n 'grid',\n ClassUtils.getPropClass(this.suiContainer, 'container')\n ].join(' ');\n }\n}\n","/**\n * Created by bolor on 6/14/2020\n */\n\nimport {Directive, ElementRef, Input} from '@angular/core';\nimport {SuiColour, SuiWidth} from 'ngx-semantic/core/enums';\nimport {BaseDirective} from 'ngx-semantic/core/base';\n\nexport type SuiColumnFloat = 'left floated' | 'right floated' | null;\nexport type SuiColumnAlignment = 'left aligned' | 'middle aligned' | 'right aligned' | null;\n\n@Directive({\n standalone: true,\n exportAs: 'suiGridColumn',\n selector: '[suiGridColumn]'\n})\nexport class SuiGridColumnDirective extends BaseDirective{\n @Input() public suiWidth: SuiWidth = null;\n @Input() public suiFloated: SuiColumnFloat = null;\n @Input() public suiColour: SuiColour = null;\n @Input() public suiAlignment: SuiColumnAlignment = null;\n @Input() public suiDeviceVisibility: string | null = null;\n\n constructor(element: ElementRef) {\n super(element);\n }\n\n get classes(): string {\n return [\n this.suiFloated,\n this.suiAlignment,\n this.suiWidth,\n this.suiWidth ? 'wide' : '',\n this.suiColour,\n this.suiDeviceVisibility,\n 'column'\n ].join(' ');\n }\n}\n","/**\n * Created by bolor on 6/14/2020\n */\n\nimport {Directive, ElementRef, Input} from '@angular/core';\nimport {SuiDeviceVisibility, SuiWidth} from 'ngx-semantic/core/enums';\nimport {ClassUtils, InputBoolean} from 'ngx-semantic/core/util';\nimport {BaseDirective} from 'ngx-semantic/core/base';\n\nexport type SuiRowAlignment = 'left aligned' | 'middle aligned' | 'right aligned' | null;\n\n@Directive({\n standalone: true,\n exportAs: 'suiGridRow',\n selector: '[suiGridRow]'\n})\nexport class SuiGridRowDirective extends BaseDirective {\n @Input() public suiWidth: SuiWidth = null;\n @Input() public suiAlignment: SuiRowAlignment = null;\n @Input() public suiDeviceVisibility: SuiDeviceVisibility = null;\n @Input() @InputBoolean() public suiEqual = false;\n @Input() @InputBoolean() public suiCentered = false;\n\n constructor(element: ElementRef) {\n super(element);\n }\n\n get classes(): string {\n return [\n this.suiAlignment,\n this.suiWidth,\n this.suiWidth ? 'column' : '',\n this.suiDeviceVisibility,\n ClassUtils.getPropClass(this.suiEqual, 'equal width'),\n ClassUtils.getPropClass(this.suiCentered, 'centered'),\n 'row'\n ].join(' ');\n }\n}\n","/**\n * Created by bolor on 5/26/2020\n */\n\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {SuiGridDirective} from './grid.directive';\nimport {SuiGridColumnDirective} from './grid-column.directive';\nimport {SuiGridRowDirective} from './grid-row.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n SuiGridDirective,\n SuiGridColumnDirective,\n SuiGridRowDirective\n ],\n exports: [\n SuiGridDirective,\n SuiGridColumnDirective,\n SuiGridRowDirective\n ]\n})\nexport class SuiGridModule {\n}\n","/**\n * Created by bolor on 6/11/2020\n */\n\nexport * from './grid.directive';\nexport * from './grid-column.directive';\nexport * from './grid-row.directive';\nexport * from './grid.module';\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":"ngx-semantic-collections-grid.mjs","sources":["../../src/collections/grid/grid.directive.ts","../../src/collections/grid/grid-column.directive.ts","../../src/collections/grid/grid-row.directive.ts","../../src/collections/grid/grid.module.ts","../../src/collections/grid/public-api.ts","../../src/collections/grid/ngx-semantic-collections-grid.ts"],"sourcesContent":["/**\n * Created by bolor on 6/11/2020\n */\n\nimport { Directive, ElementRef, Input, inject } from '@angular/core';\nimport { SuiWidth } from 'ngx-semantic/core/enums';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\nimport { BaseDirective } from 'ngx-semantic/core/base';\n\nexport type SuiGridAlignment = 'left aligned' | 'center aligned' | 'right aligned' | null;\nexport type SuiGridDivision = 'divided' | 'vertically divided' | null;\nexport type SuiGridCellType = 'celled' | 'internally celled' | null;\nexport type SuiGridPadding = 'padding' | 'vertically padding' | null;\nexport type SuiGridReverse = 'computer reversed' | 'tablet reversed' | 'mobile reversed' | null;\nexport type SuiGridRelaxation = 'relaxed' | 'very relaxed' | null;\n\n@Directive({\n standalone: true,\n selector: '[sui-grid]',\n exportAs: 'suiGrid'\n})\nexport class SuiGridDirective extends BaseDirective {\n @Input() public suiWidth: SuiWidth = null;\n @Input() public suiAlignment: SuiGridAlignment = null;\n @Input() public suiDivided: SuiGridDivision = null;\n @Input() public suiCelled: SuiGridCellType = null;\n @Input() public suiPadded: SuiGridPadding = null;\n @Input() public suiReversed: SuiGridReverse = null;\n @Input() public suiRelaxation: SuiGridRelaxation = null;\n @Input() @InputBoolean() public suiEqual = false;\n @Input() @InputBoolean() public suiCentered = false;\n @Input() @InputBoolean() public suiContainer = false;\n @Input() @InputBoolean() public suiStackable = false;\n @Input() @InputBoolean() public suiDoubling = false;\n\n constructor() {\n const element = inject(ElementRef);\n\n super(element);\n }\n\n get classes(): string {\n return [\n 'ui',\n this.suiWidth,\n this.suiWidth ? 'column' : '',\n this.suiAlignment,\n this.suiDivided,\n this.suiCelled,\n this.suiPadded,\n this.suiReversed,\n this.suiRelaxation,\n ClassUtils.getPropClass(this.suiStackable, 'stackable'),\n ClassUtils.getPropClass(this.suiEqual, 'equal width'),\n ClassUtils.getPropClass(this.suiCentered, 'centered'),\n ClassUtils.getPropClass(this.suiDoubling, 'doubling'),\n 'grid',\n ClassUtils.getPropClass(this.suiContainer, 'container')\n ].join(' ');\n }\n}\n","/**\n * Created by bolor on 6/14/2020\n */\n\nimport { Directive, ElementRef, Input, inject } from '@angular/core';\nimport { SuiColour, SuiWidth } from 'ngx-semantic/core/enums';\nimport { BaseDirective } from 'ngx-semantic/core/base';\n\nexport type SuiColumnFloat = 'left floated' | 'right floated' | null;\nexport type SuiColumnAlignment = 'left aligned' | 'middle aligned' | 'right aligned' | null;\n\n@Directive({\n standalone: true,\n exportAs: 'suiGridColumn',\n selector: '[suiGridColumn]'\n})\nexport class SuiGridColumnDirective extends BaseDirective{\n @Input() public suiWidth: SuiWidth = null;\n @Input() public suiFloated: SuiColumnFloat = null;\n @Input() public suiColour: SuiColour = null;\n @Input() public suiAlignment: SuiColumnAlignment = null;\n @Input() public suiDeviceVisibility: string | null = null;\n\n constructor() {\n const element = inject(ElementRef);\n\n super(element);\n }\n\n get classes(): string {\n return [\n this.suiFloated,\n this.suiAlignment,\n this.suiWidth,\n this.suiWidth ? 'wide' : '',\n this.suiColour,\n this.suiDeviceVisibility,\n 'column'\n ].join(' ');\n }\n}\n","/**\n * Created by bolor on 6/14/2020\n */\n\nimport { Directive, ElementRef, Input, inject } from '@angular/core';\nimport { SuiDeviceVisibility, SuiWidth } from 'ngx-semantic/core/enums';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\nimport { BaseDirective } from 'ngx-semantic/core/base';\n\nexport type SuiRowAlignment = 'left aligned' | 'middle aligned' | 'right aligned' | null;\n\n@Directive({\n standalone: true,\n exportAs: 'suiGridRow',\n selector: '[suiGridRow]'\n})\nexport class SuiGridRowDirective extends BaseDirective {\n @Input() public suiWidth: SuiWidth = null;\n @Input() public suiAlignment: SuiRowAlignment = null;\n @Input() public suiDeviceVisibility: SuiDeviceVisibility = null;\n @Input() @InputBoolean() public suiEqual = false;\n @Input() @InputBoolean() public suiCentered = false;\n\n constructor() {\n const element = inject(ElementRef);\n\n super(element);\n }\n\n get classes(): string {\n return [\n this.suiAlignment,\n this.suiWidth,\n this.suiWidth ? 'column' : '',\n this.suiDeviceVisibility,\n ClassUtils.getPropClass(this.suiEqual, 'equal width'),\n ClassUtils.getPropClass(this.suiCentered, 'centered'),\n 'row'\n ].join(' ');\n }\n}\n","/**\n * Created by bolor on 5/26/2020\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SuiGridDirective } from './grid.directive';\nimport { SuiGridColumnDirective } from './grid-column.directive';\nimport { SuiGridRowDirective } from './grid-row.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n SuiGridDirective,\n SuiGridColumnDirective,\n SuiGridRowDirective\n ],\n exports: [\n SuiGridDirective,\n SuiGridColumnDirective,\n SuiGridRowDirective\n ]\n})\nexport class SuiGridModule {\n}\n","/**\n * Created by bolor on 6/11/2020\n */\n\nexport * from './grid.directive';\nexport * from './grid-column.directive';\nexport * from './grid-row.directive';\nexport * from './grid.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
1
  import { __decorate } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
- import { Input, Directive, HostBinding, NgModule } from '@angular/core';
3
+ import { inject, ElementRef, Input, Directive, HostBinding, NgModule } from '@angular/core';
4
4
  import { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';
5
5
  import { BaseDirective } from 'ngx-semantic/core/base';
6
6
  import { CommonModule } from '@angular/common';
7
7
 
8
8
  class SuiMenuDirective extends BaseDirective {
9
- constructor(element) {
9
+ constructor() {
10
+ const element = inject(ElementRef);
10
11
  super(element);
11
12
  this.suiWidth = null;
12
13
  this.suiAttached = null;
@@ -54,7 +55,7 @@ class SuiMenuDirective extends BaseDirective {
54
55
  'menu'
55
56
  ].join(' ');
56
57
  }
57
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiMenuDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
58
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiMenuDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
58
59
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.7", type: SuiMenuDirective, isStandalone: true, selector: "[sui-menu]", inputs: { suiWidth: "suiWidth", suiAttached: "suiAttached", suiFixed: "suiFixed", suiColour: "suiColour", suiIcon: "suiIcon", suiSize: "suiSize", suiText: "suiText", suiSecondary: "suiSecondary", suiPointing: "suiPointing", suiTabular: "suiTabular", suiVertical: "suiVertical", suiFluid: "suiFluid", suiRight: "suiRight", suiPagination: "suiPagination", suiCompact: "suiCompact", suiStackable: "suiStackable", suiInverted: "suiInverted", suiBorderless: "suiBorderless" }, exportAs: ["suiMenu"], usesInheritance: true, ngImport: i0 }); }
59
60
  }
60
61
  __decorate([
@@ -100,7 +101,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImpor
100
101
  selector: '[sui-menu]',
101
102
  exportAs: 'suiMenu'
102
103
  }]
103
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { suiWidth: [{
104
+ }], ctorParameters: () => [], propDecorators: { suiWidth: [{
104
105
  type: Input
105
106
  }], suiAttached: [{
106
107
  type: Input
@@ -138,11 +139,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImpor
138
139
  type: Input
139
140
  }] } });
140
141
 
141
- /**
142
- * Created by bolor on 7/3/2020
143
- */
144
142
  class SuiMenuItemDirective extends BaseDirective {
145
- constructor(element) {
143
+ constructor() {
144
+ const element = inject(ElementRef);
146
145
  super(element);
147
146
  this.suiLink = false;
148
147
  this.suiActive = false;
@@ -158,9 +157,21 @@ class SuiMenuItemDirective extends BaseDirective {
158
157
  'item'
159
158
  ].join(' ');
160
159
  }
161
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiMenuItemDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
160
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiMenuItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
162
161
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.7", type: SuiMenuItemDirective, isStandalone: true, selector: "[suiMenuItem]", inputs: { suiLink: "suiLink", suiActive: "suiActive", suiBrowser: "suiBrowser", disabled: "disabled" }, exportAs: ["suiMenuItem"], usesInheritance: true, ngImport: i0 }); }
163
162
  }
163
+ __decorate([
164
+ InputBoolean()
165
+ ], SuiMenuItemDirective.prototype, "suiLink", void 0);
166
+ __decorate([
167
+ InputBoolean()
168
+ ], SuiMenuItemDirective.prototype, "suiActive", void 0);
169
+ __decorate([
170
+ InputBoolean()
171
+ ], SuiMenuItemDirective.prototype, "suiBrowser", void 0);
172
+ __decorate([
173
+ InputBoolean()
174
+ ], SuiMenuItemDirective.prototype, "disabled", void 0);
164
175
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiMenuItemDirective, decorators: [{
165
176
  type: Directive,
166
177
  args: [{
@@ -168,7 +179,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImpor
168
179
  exportAs: 'suiMenuItem',
169
180
  selector: '[suiMenuItem]'
170
181
  }]
171
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { suiLink: [{
182
+ }], ctorParameters: () => [], propDecorators: { suiLink: [{
172
183
  type: Input
173
184
  }], suiActive: [{
174
185
  type: Input
@@ -179,7 +190,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImpor
179
190
  }] } });
180
191
 
181
192
  class SuiSubMenuDirective extends BaseDirective {
182
- constructor(element) {
193
+ constructor() {
194
+ const element = inject(ElementRef);
183
195
  super(element);
184
196
  this.suiRight = false;
185
197
  }
@@ -189,7 +201,7 @@ class SuiSubMenuDirective extends BaseDirective {
189
201
  'menu'
190
202
  ].join(' ');
191
203
  }
192
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiSubMenuDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
204
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.7", ngImport: i0, type: SuiSubMenuDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
193
205
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.7", type: SuiSubMenuDirective, isStandalone: true, selector: "[suiSubMenu]", inputs: { suiRight: "suiRight" }, exportAs: ["suiSubMenu"], usesInheritance: true, ngImport: i0 }); }
194
206
  }
195
207
  __decorate([
@@ -202,7 +214,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.7", ngImpor
202
214
  selector: '[suiSubMenu]',
203
215
  exportAs: 'suiSubMenu'
204
216
  }]
205
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { suiRight: [{
217
+ }], ctorParameters: () => [], propDecorators: { suiRight: [{
206
218
  type: Input
207
219
  }] } });
208
220
 
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-semantic-collections-menu.mjs","sources":["../../src/collections/menu/menu.directive.ts","../../src/collections/menu/menu-item.directive.ts","../../src/collections/menu/sub-menu.directive.ts","../../src/collections/menu/menu-header.directive.ts","../../src/collections/menu/menu.module.ts","../../src/collections/menu/public-api.ts","../../src/collections/menu/ngx-semantic-collections-menu.ts"],"sourcesContent":["/**\n * Created by bolor on 6/17/2020\n */\n\nimport { Directive, ElementRef, Input } from '@angular/core';\nimport {SuiColour, SuiSize, SuiWidth} from 'ngx-semantic/core/enums';\nimport {ClassUtils, InputBoolean} from 'ngx-semantic/core/util';\nimport { BaseDirective } from 'ngx-semantic/core/base';\n\nexport type SuiMenuAttachment = 'top' | 'bottom' | null;\nexport type SuiMenuFixation = 'top' | 'bottom' | 'left' | 'right' | null;\nexport type SuiMenuIconType = 'icon' | 'labeled icon' | null;\n\n@Directive({\n standalone: true,\n selector: '[sui-menu]',\n exportAs: 'suiMenu'\n})\nexport class SuiMenuDirective extends BaseDirective {\n @Input() public suiWidth: SuiWidth = null;\n @Input() public suiAttached: SuiMenuAttachment = null;\n @Input() public suiFixed: SuiMenuFixation = null;\n @Input() public suiColour: SuiColour = null;\n @Input() public suiIcon: SuiMenuIconType = null;\n @Input() public suiSize: SuiSize = null;\n @Input() @InputBoolean() public suiText = false;\n @Input() @InputBoolean() public suiSecondary = false;\n @Input() @InputBoolean() public suiPointing = false;\n @Input() @InputBoolean() public suiTabular = false;\n @Input() @InputBoolean() public suiVertical = false;\n @Input() @InputBoolean() public suiFluid = false;\n @Input() @InputBoolean() public suiRight = false;\n @Input() @InputBoolean() public suiPagination = false;\n @Input() @InputBoolean() public suiCompact = false;\n @Input() @InputBoolean() public suiStackable = false;\n @Input() @InputBoolean() public suiInverted = false;\n @Input() @InputBoolean() public suiBorderless = false;\n\n constructor(element: ElementRef) {\n super(element);\n }\n\n get classes(): string {\n return [\n 'ui',\n this.suiColour,\n this.suiSize,\n this.suiAttached,\n this.suiAttached ? 'attached' : '',\n this.suiFixed,\n this.suiFixed ? 'fixed' : '',\n this.suiWidth,\n this.suiWidth ? 'item' : '',\n this.suiIcon,\n ClassUtils.getPropClass(this.suiInverted, 'inverted'),\n ClassUtils.getPropClass(this.suiCompact, 'compact'),\n ClassUtils.getPropClass(this.suiFluid, 'fluid'),\n ClassUtils.getPropClass(this.suiVertical, 'vertical'),\n ClassUtils.getPropClass(this.suiText, 'text'),\n ClassUtils.getPropClass(this.suiSecondary, 'secondary'),\n ClassUtils.getPropClass(this.suiPointing, 'pointing'),\n ClassUtils.getPropClass(this.suiRight, 'right'),\n ClassUtils.getPropClass(this.suiTabular, 'tabular'),\n ClassUtils.getPropClass(this.suiPagination, 'pagination'),\n ClassUtils.getPropClass(this.suiStackable, 'stackable'),\n ClassUtils.getPropClass(this.suiBorderless, 'borderless'),\n 'menu'\n ].join(' ');\n }\n}\n","/**\n * Created by bolor on 7/3/2020\n */\n\nimport { Directive, ElementRef, Input } from '@angular/core';\nimport { ClassUtils } from 'ngx-semantic/core/util';\nimport { BaseDirective } from 'ngx-semantic/core/base';\n\n@Directive({\n standalone: true,\n exportAs: 'suiMenuItem',\n selector: '[suiMenuItem]'\n})\nexport class SuiMenuItemDirective extends BaseDirective {\n @Input() public suiLink = false;\n @Input() public suiActive = false;\n @Input() public suiBrowser = false;\n @Input() public disabled = false;\n\n constructor(element: ElementRef) {\n super(element);\n }\n\n get classes(): string {\n return [\n ClassUtils.getPropClass(this.suiLink, 'link'),\n ClassUtils.getPropClass(this.suiActive, 'active'),\n ClassUtils.getPropClass(this.suiBrowser, 'browser'),\n ClassUtils.getPropClass(this.disabled, 'disabled'),\n 'item'\n ].join(' ');\n }\n}\n","/**\n * Created by bolor on 7/3/2020\n */\n\nimport { Directive, ElementRef, Input } from '@angular/core';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\nimport { BaseDirective } from 'ngx-semantic/core/base';\n\n@Directive({\n standalone: true,\n selector: '[suiSubMenu]',\n exportAs: 'suiSubMenu'\n})\nexport class SuiSubMenuDirective extends BaseDirective {\n @Input() @InputBoolean() public suiRight = false;\n\n constructor(element: ElementRef) {\n super(element);\n }\n\n get classes(): string {\n return [\n ClassUtils.getPropClass(this.suiRight, 'right'),\n 'menu'\n ].join(' ');\n }\n}\n","/**\n * Created by bolor on 7/3/2020\n */\n\nimport {Directive, HostBinding} from '@angular/core';\n\n@Directive({\n standalone: true,\n exportAs: 'suiMenuHeader',\n selector: '[suiMenuHeader]'\n})\nexport class SuiMenuHeaderDirective {\n @HostBinding('class')\n get classes(): string {\n return 'header';\n }\n}\n","/**\n * Created by bolor on 6/17/2020\n */\n\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {SuiMenuHeaderDirective} from './menu-header.directive';\nimport {SuiMenuItemDirective} from './menu-item.directive';\nimport {SuiMenuDirective} from './menu.directive';\nimport {SuiSubMenuDirective} from './sub-menu.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n SuiMenuDirective,\n SuiMenuItemDirective,\n SuiSubMenuDirective,\n SuiMenuHeaderDirective\n ],\n exports: [\n SuiMenuDirective,\n SuiMenuItemDirective,\n SuiSubMenuDirective,\n SuiMenuHeaderDirective\n ]\n})\nexport class SuiMenuModule {\n}\n","/**\n * Created by bolor on 6/17/2020\n */\n\nexport * from './menu.directive';\nexport * from './menu-item.directive';\nexport * from './sub-menu.directive';\nexport * from './menu-header.directive';\nexport * from './menu.module';\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":"ngx-semantic-collections-menu.mjs","sources":["../../src/collections/menu/menu.directive.ts","../../src/collections/menu/menu-item.directive.ts","../../src/collections/menu/sub-menu.directive.ts","../../src/collections/menu/menu-header.directive.ts","../../src/collections/menu/menu.module.ts","../../src/collections/menu/public-api.ts","../../src/collections/menu/ngx-semantic-collections-menu.ts"],"sourcesContent":["/**\n * Created by bolor on 6/17/2020\n */\n\nimport { Directive, ElementRef, Input, inject } from '@angular/core';\nimport { SuiColour, SuiSize, SuiWidth } from 'ngx-semantic/core/enums';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\nimport { BaseDirective } from 'ngx-semantic/core/base';\n\nexport type SuiMenuAttachment = 'top' | 'bottom' | null;\nexport type SuiMenuFixation = 'top' | 'bottom' | 'left' | 'right' | null;\nexport type SuiMenuIconType = 'icon' | 'labeled icon' | null;\n\n@Directive({\n standalone: true,\n selector: '[sui-menu]',\n exportAs: 'suiMenu'\n})\nexport class SuiMenuDirective extends BaseDirective {\n @Input() public suiWidth: SuiWidth = null;\n @Input() public suiAttached: SuiMenuAttachment = null;\n @Input() public suiFixed: SuiMenuFixation = null;\n @Input() public suiColour: SuiColour = null;\n @Input() public suiIcon: SuiMenuIconType = null;\n @Input() public suiSize: SuiSize = null;\n @Input() @InputBoolean() public suiText = false;\n @Input() @InputBoolean() public suiSecondary = false;\n @Input() @InputBoolean() public suiPointing = false;\n @Input() @InputBoolean() public suiTabular = false;\n @Input() @InputBoolean() public suiVertical = false;\n @Input() @InputBoolean() public suiFluid = false;\n @Input() @InputBoolean() public suiRight = false;\n @Input() @InputBoolean() public suiPagination = false;\n @Input() @InputBoolean() public suiCompact = false;\n @Input() @InputBoolean() public suiStackable = false;\n @Input() @InputBoolean() public suiInverted = false;\n @Input() @InputBoolean() public suiBorderless = false;\n\n constructor() {\n const element = inject(ElementRef);\n\n super(element);\n }\n\n get classes(): string {\n return [\n 'ui',\n this.suiColour,\n this.suiSize,\n this.suiAttached,\n this.suiAttached ? 'attached' : '',\n this.suiFixed,\n this.suiFixed ? 'fixed' : '',\n this.suiWidth,\n this.suiWidth ? 'item' : '',\n this.suiIcon,\n ClassUtils.getPropClass(this.suiInverted, 'inverted'),\n ClassUtils.getPropClass(this.suiCompact, 'compact'),\n ClassUtils.getPropClass(this.suiFluid, 'fluid'),\n ClassUtils.getPropClass(this.suiVertical, 'vertical'),\n ClassUtils.getPropClass(this.suiText, 'text'),\n ClassUtils.getPropClass(this.suiSecondary, 'secondary'),\n ClassUtils.getPropClass(this.suiPointing, 'pointing'),\n ClassUtils.getPropClass(this.suiRight, 'right'),\n ClassUtils.getPropClass(this.suiTabular, 'tabular'),\n ClassUtils.getPropClass(this.suiPagination, 'pagination'),\n ClassUtils.getPropClass(this.suiStackable, 'stackable'),\n ClassUtils.getPropClass(this.suiBorderless, 'borderless'),\n 'menu'\n ].join(' ');\n }\n}\n","/**\n * Created by bolor on 7/3/2020\n */\n\nimport { Directive, ElementRef, Input, inject } from '@angular/core';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\nimport { BaseDirective } from 'ngx-semantic/core/base';\n\n@Directive({\n standalone: true,\n exportAs: 'suiMenuItem',\n selector: '[suiMenuItem]'\n})\nexport class SuiMenuItemDirective extends BaseDirective {\n @Input() @InputBoolean() public suiLink = false;\n @Input() @InputBoolean() public suiActive = false;\n @Input() @InputBoolean() public suiBrowser = false;\n @Input() @InputBoolean() public disabled = false;\n\n constructor() {\n const element = inject(ElementRef);\n\n super(element);\n }\n\n get classes(): string {\n return [\n ClassUtils.getPropClass(this.suiLink, 'link'),\n ClassUtils.getPropClass(this.suiActive, 'active'),\n ClassUtils.getPropClass(this.suiBrowser, 'browser'),\n ClassUtils.getPropClass(this.disabled, 'disabled'),\n 'item'\n ].join(' ');\n }\n}\n","/**\n * Created by bolor on 7/3/2020\n */\n\nimport { Directive, ElementRef, Input, inject } from '@angular/core';\nimport { ClassUtils, InputBoolean } from 'ngx-semantic/core/util';\nimport { BaseDirective } from 'ngx-semantic/core/base';\n\n@Directive({\n standalone: true,\n selector: '[suiSubMenu]',\n exportAs: 'suiSubMenu'\n})\nexport class SuiSubMenuDirective extends BaseDirective {\n @Input() @InputBoolean() public suiRight = false;\n\n constructor() {\n const element = inject(ElementRef);\n\n super(element);\n }\n\n get classes(): string {\n return [\n ClassUtils.getPropClass(this.suiRight, 'right'),\n 'menu'\n ].join(' ');\n }\n}\n","/**\n * Created by bolor on 7/3/2020\n */\n\nimport { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n standalone: true,\n exportAs: 'suiMenuHeader',\n selector: '[suiMenuHeader]'\n})\nexport class SuiMenuHeaderDirective {\n @HostBinding('class')\n get classes(): string {\n return 'header';\n }\n}\n","/**\n * Created by bolor on 6/17/2020\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SuiMenuHeaderDirective } from './menu-header.directive';\nimport { SuiMenuItemDirective } from './menu-item.directive';\nimport { SuiMenuDirective } from './menu.directive';\nimport { SuiSubMenuDirective } from './sub-menu.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n SuiMenuDirective,\n SuiMenuItemDirective,\n SuiSubMenuDirective,\n SuiMenuHeaderDirective\n ],\n exports: [\n SuiMenuDirective,\n SuiMenuItemDirective,\n SuiSubMenuDirective,\n SuiMenuHeaderDirective\n ]\n})\nexport class SuiMenuModule {\n}\n","/**\n * Created by bolor on 6/17/2020\n */\n\nexport * from './menu.directive';\nexport * from './menu-item.directive';\nexport * from './sub-menu.directive';\nexport * from './menu-header.directive';\nexport * from './menu.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}