@acorex/components 21.0.0-next.10 → 21.0.0-next.11
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.
- package/fesm2022/acorex-components-map.mjs +1 -0
 - package/fesm2022/acorex-components-map.mjs.map +1 -1
 - package/fesm2022/acorex-components-rest-api-generator.mjs +2 -2
 - package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
 - package/fesm2022/acorex-components-rrule.mjs +128 -33
 - package/fesm2022/acorex-components-rrule.mjs.map +1 -1
 - package/fesm2022/acorex-components-selection-list-2.mjs +165 -0
 - package/fesm2022/acorex-components-selection-list-2.mjs.map +1 -0
 - package/fesm2022/acorex-components-selection-list.mjs +69 -14
 - package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
 - package/package.json +10 -10
 - package/rrule/index.d.ts +99 -4
 - package/selection-list/README.md +2 -2
 - package/selection-list/index.d.ts +57 -16
 - package/selection-list-2/README.md +3 -0
 - package/selection-list-2/index.d.ts +52 -0
 - package/fesm2022/acorex-components-selection-list-legacy.mjs +0 -220
 - package/fesm2022/acorex-components-selection-list-legacy.mjs.map +0 -1
 - package/selection-list-legacy/README.md +0 -3
 - package/selection-list-legacy/index.d.ts +0 -93
 
| 
         @@ -22,40 +22,103 @@ import { AXSelectionListModule } from '@acorex/components/selection-list'; 
     | 
|
| 
       22 
22 
     | 
    
         
             
            import * as i1$1 from '@angular/forms';
         
     | 
| 
       23 
23 
     | 
    
         
             
            import { FormsModule } from '@angular/forms';
         
     | 
| 
       24 
24 
     | 
    
         | 
| 
      
 25 
     | 
    
         
            +
            /**
         
     | 
| 
      
 26 
     | 
    
         
            +
             * Service for working with RRule recurrence patterns.
         
     | 
| 
      
 27 
     | 
    
         
            +
             * Provides methods to create RRule instances from options or strings,
         
     | 
| 
      
 28 
     | 
    
         
            +
             * convert between formats, and query occurrences.
         
     | 
| 
      
 29 
     | 
    
         
            +
             */
         
     | 
| 
       25 
30 
     | 
    
         
             
            class AXRruleService {
         
     | 
| 
      
 31 
     | 
    
         
            +
                /**
         
     | 
| 
      
 32 
     | 
    
         
            +
                 * Creates an RRule instance from options object.
         
     | 
| 
      
 33 
     | 
    
         
            +
                 * @param options Partial RRule options to create the rule from
         
     | 
| 
      
 34 
     | 
    
         
            +
                 * @returns Promise resolving to the RRule instance
         
     | 
| 
      
 35 
     | 
    
         
            +
                 */
         
     | 
| 
       26 
36 
     | 
    
         
             
                async rruleFromOptions(options) {
         
     | 
| 
       27 
37 
     | 
    
         
             
                    // eslint-disable-next-line @nx/enforce-module-boundaries
         
     | 
| 
       28 
38 
     | 
    
         
             
                    const { RRule } = await import('rrule');
         
     | 
| 
       29 
39 
     | 
    
         
             
                    return new RRule(options);
         
     | 
| 
       30 
40 
     | 
    
         
             
                }
         
     | 
| 
      
 41 
     | 
    
         
            +
                /**
         
     | 
| 
      
 42 
     | 
    
         
            +
                 * Creates an RRule instance from a RRULE string.
         
     | 
| 
      
 43 
     | 
    
         
            +
                 * @param ruleString Valid RRULE string (e.g., "RRULE:FREQ=WEEKLY;COUNT=5")
         
     | 
| 
      
 44 
     | 
    
         
            +
                 * @returns Promise resolving to the RRule instance
         
     | 
| 
      
 45 
     | 
    
         
            +
                 */
         
     | 
| 
       31 
46 
     | 
    
         
             
                async rruleFromString(ruleString) {
         
     | 
| 
       32 
47 
     | 
    
         
             
                    // eslint-disable-next-line @nx/enforce-module-boundaries
         
     | 
| 
       33 
48 
     | 
    
         
             
                    const { RRule } = await import('rrule');
         
     | 
| 
       34 
49 
     | 
    
         
             
                    return RRule.fromString(ruleString);
         
     | 
| 
       35 
50 
     | 
    
         
             
                }
         
     | 
| 
      
 51 
     | 
    
         
            +
                /**
         
     | 
| 
      
 52 
     | 
    
         
            +
                 * Creates an RRule instance from human-readable text.
         
     | 
| 
      
 53 
     | 
    
         
            +
                 * @param ruleText Human-readable text describing the recurrence (e.g., "every Monday for 5 weeks")
         
     | 
| 
      
 54 
     | 
    
         
            +
                 * @returns Promise resolving to the RRule instance
         
     | 
| 
      
 55 
     | 
    
         
            +
                 */
         
     | 
| 
       36 
56 
     | 
    
         
             
                async rruleFromText(ruleText) {
         
     | 
| 
       37 
57 
     | 
    
         
             
                    // eslint-disable-next-line @nx/enforce-module-boundaries
         
     | 
| 
       38 
58 
     | 
    
         
             
                    const { RRule } = await import('rrule');
         
     | 
| 
       39 
59 
     | 
    
         
             
                    return RRule.fromText(ruleText);
         
     | 
| 
       40 
60 
     | 
    
         
             
                }
         
     | 
| 
      
 61 
     | 
    
         
            +
                /**
         
     | 
| 
      
 62 
     | 
    
         
            +
                 * Extracts options from an RRule instance.
         
     | 
| 
      
 63 
     | 
    
         
            +
                 * @param rule RRule instance to extract options from
         
     | 
| 
      
 64 
     | 
    
         
            +
                 * @returns Parsed options with all required fields
         
     | 
| 
      
 65 
     | 
    
         
            +
                 */
         
     | 
| 
       41 
66 
     | 
    
         
             
                rruleToOptions(rule) {
         
     | 
| 
       42 
67 
     | 
    
         
             
                    return rule.options;
         
     | 
| 
       43 
68 
     | 
    
         
             
                }
         
     | 
| 
      
 69 
     | 
    
         
            +
                /**
         
     | 
| 
      
 70 
     | 
    
         
            +
                 * Converts an RRule instance to RRULE string format.
         
     | 
| 
      
 71 
     | 
    
         
            +
                 * @param rule RRule instance to convert
         
     | 
| 
      
 72 
     | 
    
         
            +
                 * @returns RRULE string representation
         
     | 
| 
      
 73 
     | 
    
         
            +
                 */
         
     | 
| 
       44 
74 
     | 
    
         
             
                rruleToString(rule) {
         
     | 
| 
       45 
75 
     | 
    
         
             
                    return rule.toString();
         
     | 
| 
       46 
76 
     | 
    
         
             
                }
         
     | 
| 
      
 77 
     | 
    
         
            +
                /**
         
     | 
| 
      
 78 
     | 
    
         
            +
                 * Converts an RRule instance to human-readable text.
         
     | 
| 
      
 79 
     | 
    
         
            +
                 * @param rule RRule instance to convert
         
     | 
| 
      
 80 
     | 
    
         
            +
                 * @returns Human-readable text description
         
     | 
| 
      
 81 
     | 
    
         
            +
                 */
         
     | 
| 
       47 
82 
     | 
    
         
             
                rruleToText(rule) {
         
     | 
| 
       48 
83 
     | 
    
         
             
                    return rule.toText();
         
     | 
| 
       49 
84 
     | 
    
         
             
                }
         
     | 
| 
      
 85 
     | 
    
         
            +
                /**
         
     | 
| 
      
 86 
     | 
    
         
            +
                 * Gets all occurrences of the rule up to a limit.
         
     | 
| 
      
 87 
     | 
    
         
            +
                 * @param rule RRule instance to query
         
     | 
| 
      
 88 
     | 
    
         
            +
                 * @param limit Maximum number of occurrences to return (default: 500)
         
     | 
| 
      
 89 
     | 
    
         
            +
                 * @returns Array of occurrence dates
         
     | 
| 
      
 90 
     | 
    
         
            +
                 */
         
     | 
| 
       50 
91 
     | 
    
         
             
                rruleGetAll(rule, limit = 500) {
         
     | 
| 
       51 
92 
     | 
    
         
             
                    return rule.all((d, l) => l < limit);
         
     | 
| 
       52 
93 
     | 
    
         
             
                }
         
     | 
| 
      
 94 
     | 
    
         
            +
                /**
         
     | 
| 
      
 95 
     | 
    
         
            +
                 * Gets occurrences between two dates.
         
     | 
| 
      
 96 
     | 
    
         
            +
                 * @param rule RRule instance to query
         
     | 
| 
      
 97 
     | 
    
         
            +
                 * @param after Start date (exclusive by default)
         
     | 
| 
      
 98 
     | 
    
         
            +
                 * @param before End date (exclusive by default)
         
     | 
| 
      
 99 
     | 
    
         
            +
                 * @param inclusive Whether to include the boundary dates
         
     | 
| 
      
 100 
     | 
    
         
            +
                 * @returns Array of occurrence dates between the specified dates
         
     | 
| 
      
 101 
     | 
    
         
            +
                 */
         
     | 
| 
       53 
102 
     | 
    
         
             
                rruleGetBetween(rule, after, before, inclusive = false) {
         
     | 
| 
       54 
103 
     | 
    
         
             
                    return rule.between(after, before, inclusive);
         
     | 
| 
       55 
104 
     | 
    
         
             
                }
         
     | 
| 
      
 105 
     | 
    
         
            +
                /**
         
     | 
| 
      
 106 
     | 
    
         
            +
                 * Gets the last occurrence before the specified date.
         
     | 
| 
      
 107 
     | 
    
         
            +
                 * @param rule RRule instance to query
         
     | 
| 
      
 108 
     | 
    
         
            +
                 * @param date Date to search before
         
     | 
| 
      
 109 
     | 
    
         
            +
                 * @param inclusive Whether to include the specified date
         
     | 
| 
      
 110 
     | 
    
         
            +
                 * @returns Last occurrence before the date, or null if none found
         
     | 
| 
      
 111 
     | 
    
         
            +
                 */
         
     | 
| 
       56 
112 
     | 
    
         
             
                rruleGetBefore(rule, date, inclusive = false) {
         
     | 
| 
       57 
113 
     | 
    
         
             
                    return rule.before(date, inclusive);
         
     | 
| 
       58 
114 
     | 
    
         
             
                }
         
     | 
| 
      
 115 
     | 
    
         
            +
                /**
         
     | 
| 
      
 116 
     | 
    
         
            +
                 * Gets the first occurrence after the specified date.
         
     | 
| 
      
 117 
     | 
    
         
            +
                 * @param rule RRule instance to query
         
     | 
| 
      
 118 
     | 
    
         
            +
                 * @param date Date to search after
         
     | 
| 
      
 119 
     | 
    
         
            +
                 * @param inclusive Whether to include the specified date
         
     | 
| 
      
 120 
     | 
    
         
            +
                 * @returns First occurrence after the date, or null if none found
         
     | 
| 
      
 121 
     | 
    
         
            +
                 */
         
     | 
| 
       59 
122 
     | 
    
         
             
                rruleGetAfter(rule, date, inclusive = false) {
         
     | 
| 
       60 
123 
     | 
    
         
             
                    return rule.after(date, inclusive);
         
     | 
| 
       61 
124 
     | 
    
         
             
                }
         
     | 
| 
         @@ -92,7 +155,7 @@ class AXRrulePreviewComponent { 
     | 
|
| 
       92 
155 
     | 
    
         
             
                }
         
     | 
| 
       93 
156 
     | 
    
         
             
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXRrulePreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
         
     | 
| 
       94 
157 
     | 
    
         
             
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: AXRrulePreviewComponent, isStandalone: true, selector: "ax-rrule-preview", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, repeat: { classPropertyName: "repeat", publicName: "repeat", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
         
     | 
| 
       95 
     | 
    
         
            -
                <div class="ax-flex ax-flex-col ax-gap-4 ax-rounded-md ax-border ax-p-4">
         
     | 
| 
      
 158 
     | 
    
         
            +
                <div class="ax-flex ax-flex-col ax-gap-4 ax-text-pretty ax-rounded-md ax-border ax-p-4">
         
     | 
| 
       96 
159 
     | 
    
         
             
                  <div>
         
     | 
| 
       97 
160 
     | 
    
         
             
                    <ax-label>{{ 'rrule.text' | translate: { scope: 'common' } | async }}</ax-label>
         
     | 
| 
       98 
161 
     | 
    
         
             
                    <code class="ax-mt-2 ax-block ax-rounded ax-bg-surface ax-p-2">
         
     | 
| 
         @@ -101,7 +164,7 @@ class AXRrulePreviewComponent { 
     | 
|
| 
       101 
164 
     | 
    
         
             
                  </div>
         
     | 
| 
       102 
165 
     | 
    
         
             
                  <div>
         
     | 
| 
       103 
166 
     | 
    
         
             
                    <ax-label>{{ 'rrule.string' | translate: { scope: 'common' } | async }}</ax-label>
         
     | 
| 
       104 
     | 
    
         
            -
                    <code class="ax-mt-2 ax-block ax-rounded ax-bg-surface ax-p-2">
         
     | 
| 
      
 167 
     | 
    
         
            +
                    <code class="ax-mt-2 ax-block ax-text-pretty ax-break-all ax-rounded ax-bg-surface ax-p-2">
         
     | 
| 
       105 
168 
     | 
    
         
             
                      {{ string() }}
         
     | 
| 
       106 
169 
     | 
    
         
             
                    </code>
         
     | 
| 
       107 
170 
     | 
    
         
             
                  </div>
         
     | 
| 
         @@ -125,7 +188,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor 
     | 
|
| 
       125 
188 
     | 
    
         
             
                        args: [{
         
     | 
| 
       126 
189 
     | 
    
         
             
                                selector: 'ax-rrule-preview',
         
     | 
| 
       127 
190 
     | 
    
         
             
                                template: `
         
     | 
| 
       128 
     | 
    
         
            -
                <div class="ax-flex ax-flex-col ax-gap-4 ax-rounded-md ax-border ax-p-4">
         
     | 
| 
      
 191 
     | 
    
         
            +
                <div class="ax-flex ax-flex-col ax-gap-4 ax-text-pretty ax-rounded-md ax-border ax-p-4">
         
     | 
| 
       129 
192 
     | 
    
         
             
                  <div>
         
     | 
| 
       130 
193 
     | 
    
         
             
                    <ax-label>{{ 'rrule.text' | translate: { scope: 'common' } | async }}</ax-label>
         
     | 
| 
       131 
194 
     | 
    
         
             
                    <code class="ax-mt-2 ax-block ax-rounded ax-bg-surface ax-p-2">
         
     | 
| 
         @@ -134,7 +197,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor 
     | 
|
| 
       134 
197 
     | 
    
         
             
                  </div>
         
     | 
| 
       135 
198 
     | 
    
         
             
                  <div>
         
     | 
| 
       136 
199 
     | 
    
         
             
                    <ax-label>{{ 'rrule.string' | translate: { scope: 'common' } | async }}</ax-label>
         
     | 
| 
       137 
     | 
    
         
            -
                    <code class="ax-mt-2 ax-block ax-rounded ax-bg-surface ax-p-2">
         
     | 
| 
      
 200 
     | 
    
         
            +
                    <code class="ax-mt-2 ax-block ax-text-pretty ax-break-all ax-rounded ax-bg-surface ax-p-2">
         
     | 
| 
       138 
201 
     | 
    
         
             
                      {{ string() }}
         
     | 
| 
       139 
202 
     | 
    
         
             
                    </code>
         
     | 
| 
       140 
203 
     | 
    
         
             
                  </div>
         
     | 
| 
         @@ -157,36 +220,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor 
     | 
|
| 
       157 
220 
     | 
    
         
             
                    }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], repeat: [{ type: i0.Input, args: [{ isSignal: true, alias: "repeat", required: false }] }], format: [{ type: i0.Input, args: [{ isSignal: true, alias: "format", required: false }] }] } });
         
     | 
| 
       158 
221 
     | 
    
         | 
| 
       159 
222 
     | 
    
         
             
            const freqs = [
         
     | 
| 
       160 
     | 
    
         
            -
                { text: 'Yearly',  
     | 
| 
       161 
     | 
    
         
            -
                { text: 'Monthly',  
     | 
| 
       162 
     | 
    
         
            -
                { text: 'Weekly',  
     | 
| 
       163 
     | 
    
         
            -
                { text: 'Daily',  
     | 
| 
       164 
     | 
    
         
            -
                { text: 'Hourly',  
     | 
| 
       165 
     | 
    
         
            -
                { text: 'Minutely',  
     | 
| 
       166 
     | 
    
         
            -
                { text: 'Secondly',  
     | 
| 
      
 223 
     | 
    
         
            +
                { text: 'Yearly', value: 0 },
         
     | 
| 
      
 224 
     | 
    
         
            +
                { text: 'Monthly', value: 1 },
         
     | 
| 
      
 225 
     | 
    
         
            +
                { text: 'Weekly', value: 2 },
         
     | 
| 
      
 226 
     | 
    
         
            +
                { text: 'Daily', value: 3 },
         
     | 
| 
      
 227 
     | 
    
         
            +
                { text: 'Hourly', value: 4 },
         
     | 
| 
      
 228 
     | 
    
         
            +
                { text: 'Minutely', value: 5 },
         
     | 
| 
      
 229 
     | 
    
         
            +
                { text: 'Secondly', value: 6 },
         
     | 
| 
       167 
230 
     | 
    
         
             
            ];
         
     | 
| 
       168 
231 
     | 
    
         
             
            const weekdays = [
         
     | 
| 
       169 
     | 
    
         
            -
                { text: 'Sunday',  
     | 
| 
       170 
     | 
    
         
            -
                { text: 'Monday',  
     | 
| 
       171 
     | 
    
         
            -
                { text: 'Tuesday',  
     | 
| 
       172 
     | 
    
         
            -
                { text: 'Wednesday',  
     | 
| 
       173 
     | 
    
         
            -
                { text: 'Thursday',  
     | 
| 
       174 
     | 
    
         
            -
                { text: 'Friday',  
     | 
| 
       175 
     | 
    
         
            -
                { text: 'Saturday',  
     | 
| 
      
 232 
     | 
    
         
            +
                { text: 'Sunday', value: 6 },
         
     | 
| 
      
 233 
     | 
    
         
            +
                { text: 'Monday', value: 0 },
         
     | 
| 
      
 234 
     | 
    
         
            +
                { text: 'Tuesday', value: 1 },
         
     | 
| 
      
 235 
     | 
    
         
            +
                { text: 'Wednesday', value: 2 },
         
     | 
| 
      
 236 
     | 
    
         
            +
                { text: 'Thursday', value: 3 },
         
     | 
| 
      
 237 
     | 
    
         
            +
                { text: 'Friday', value: 4 },
         
     | 
| 
      
 238 
     | 
    
         
            +
                { text: 'Saturday', value: 5 },
         
     | 
| 
       176 
239 
     | 
    
         
             
            ];
         
     | 
| 
       177 
240 
     | 
    
         
             
            const months = [
         
     | 
| 
       178 
     | 
    
         
            -
                { text: 'January',  
     | 
| 
       179 
     | 
    
         
            -
                { text: 'February',  
     | 
| 
       180 
     | 
    
         
            -
                { text: 'March',  
     | 
| 
       181 
     | 
    
         
            -
                { text: 'April',  
     | 
| 
       182 
     | 
    
         
            -
                { text: 'May',  
     | 
| 
       183 
     | 
    
         
            -
                { text: 'June',  
     | 
| 
       184 
     | 
    
         
            -
                { text: 'July',  
     | 
| 
       185 
     | 
    
         
            -
                { text: 'August',  
     | 
| 
       186 
     | 
    
         
            -
                { text: 'September',  
     | 
| 
       187 
     | 
    
         
            -
                { text: 'October',  
     | 
| 
       188 
     | 
    
         
            -
                { text: 'November',  
     | 
| 
       189 
     | 
    
         
            -
                { text: 'December',  
     | 
| 
      
 241 
     | 
    
         
            +
                { text: 'January', value: 1 },
         
     | 
| 
      
 242 
     | 
    
         
            +
                { text: 'February', value: 2 },
         
     | 
| 
      
 243 
     | 
    
         
            +
                { text: 'March', value: 3 },
         
     | 
| 
      
 244 
     | 
    
         
            +
                { text: 'April', value: 4 },
         
     | 
| 
      
 245 
     | 
    
         
            +
                { text: 'May', value: 5 },
         
     | 
| 
      
 246 
     | 
    
         
            +
                { text: 'June', value: 6 },
         
     | 
| 
      
 247 
     | 
    
         
            +
                { text: 'July', value: 7 },
         
     | 
| 
      
 248 
     | 
    
         
            +
                { text: 'August', value: 8 },
         
     | 
| 
      
 249 
     | 
    
         
            +
                { text: 'September', value: 9 },
         
     | 
| 
      
 250 
     | 
    
         
            +
                { text: 'October', value: 10 },
         
     | 
| 
      
 251 
     | 
    
         
            +
                { text: 'November', value: 11 },
         
     | 
| 
      
 252 
     | 
    
         
            +
                { text: 'December', value: 12 },
         
     | 
| 
       190 
253 
     | 
    
         
             
            ];
         
     | 
| 
       191 
254 
     | 
    
         
             
            const timezones = Intl.supportedValuesOf('timeZone');
         
     | 
| 
       192 
255 
     | 
    
         
             
            const hours = Array.from({ length: 24 }, (_, i) => i);
         
     | 
| 
         @@ -227,12 +290,36 @@ const defaultOptions = { 
     | 
|
| 
       227 
290 
     | 
    
         
             
            };
         
     | 
| 
       228 
291 
     | 
    
         
             
            const defaultRrule = 'RRULE:FREQ=WEEKLY;INTERVAL=1;WKST=MO;COUNT=5';
         
     | 
| 
       229 
292 
     | 
    
         | 
| 
      
 293 
     | 
    
         
            +
            /**
         
     | 
| 
      
 294 
     | 
    
         
            +
             * RRule component provides a user-friendly interface for creating and managing recurrence rules.
         
     | 
| 
      
 295 
     | 
    
         
            +
             * Supports various frequencies, intervals, and date constraints with real-time preview and validation.
         
     | 
| 
      
 296 
     | 
    
         
            +
             */
         
     | 
| 
       230 
297 
     | 
    
         
             
            class AXRruleComponent {
         
     | 
| 
       231 
298 
     | 
    
         
             
                constructor() {
         
     | 
| 
      
 299 
     | 
    
         
            +
                    /**
         
     | 
| 
      
 300 
     | 
    
         
            +
                     * Current recurrence rule model value (options object or RRULE string).
         
     | 
| 
      
 301 
     | 
    
         
            +
                     * @default null
         
     | 
| 
      
 302 
     | 
    
         
            +
                     */
         
     | 
| 
       232 
303 
     | 
    
         
             
                    this.value = model(null, ...(ngDevMode ? [{ debugName: "value" }] : []));
         
     | 
| 
      
 304 
     | 
    
         
            +
                    /**
         
     | 
| 
      
 305 
     | 
    
         
            +
                     * Emitted when the model value changes.
         
     | 
| 
      
 306 
     | 
    
         
            +
                     */
         
     | 
| 
      
 307 
     | 
    
         
            +
                    this.valueChange = output();
         
     | 
| 
      
 308 
     | 
    
         
            +
                    /**
         
     | 
| 
      
 309 
     | 
    
         
            +
                     * Emitted with the computed RRule instance when updated.
         
     | 
| 
      
 310 
     | 
    
         
            +
                     */
         
     | 
| 
       233 
311 
     | 
    
         
             
                    this.rruleChange = output();
         
     | 
| 
      
 312 
     | 
    
         
            +
                    /**
         
     | 
| 
      
 313 
     | 
    
         
            +
                     * Emitted with the normalized options whenever they change.
         
     | 
| 
      
 314 
     | 
    
         
            +
                     */
         
     | 
| 
       234 
315 
     | 
    
         
             
                    this.optionsChange = output();
         
     | 
| 
      
 316 
     | 
    
         
            +
                    /**
         
     | 
| 
      
 317 
     | 
    
         
            +
                     * Emitted with the RRULE string representation.
         
     | 
| 
      
 318 
     | 
    
         
            +
                     */
         
     | 
| 
       235 
319 
     | 
    
         
             
                    this.stringChange = output();
         
     | 
| 
      
 320 
     | 
    
         
            +
                    /**
         
     | 
| 
      
 321 
     | 
    
         
            +
                     * Emitted with the human-readable text of the rule.
         
     | 
| 
      
 322 
     | 
    
         
            +
                     */
         
     | 
| 
       236 
323 
     | 
    
         
             
                    this.textChange = output();
         
     | 
| 
       237 
324 
     | 
    
         
             
                    this.freqs = freqs;
         
     | 
| 
       238 
325 
     | 
    
         
             
                    this.weekdays = weekdays;
         
     | 
| 
         @@ -356,6 +443,11 @@ class AXRruleComponent { 
     | 
|
| 
       356 
443 
     | 
    
         
             
                    }
         
     | 
| 
       357 
444 
     | 
    
         
             
                    return options;
         
     | 
| 
       358 
445 
     | 
    
         
             
                }
         
     | 
| 
      
 446 
     | 
    
         
            +
                /**
         
     | 
| 
      
 447 
     | 
    
         
            +
                 * Updates a single option and recomputes the rule.
         
     | 
| 
      
 448 
     | 
    
         
            +
                 * @param key The option key to update
         
     | 
| 
      
 449 
     | 
    
         
            +
                 * @param value The new value for the option
         
     | 
| 
      
 450 
     | 
    
         
            +
                 */
         
     | 
| 
       359 
451 
     | 
    
         
             
                async updateOption(key, value) {
         
     | 
| 
       360 
452 
     | 
    
         
             
                    const current = this.options()[key];
         
     | 
| 
       361 
453 
     | 
    
         
             
                    if (this._areOptionValuesEqual(current, value))
         
     | 
| 
         @@ -372,6 +464,9 @@ class AXRruleComponent { 
     | 
|
| 
       372 
464 
     | 
    
         
             
                    }
         
     | 
| 
       373 
465 
     | 
    
         
             
                    this._emitAll();
         
     | 
| 
       374 
466 
     | 
    
         
             
                }
         
     | 
| 
      
 467 
     | 
    
         
            +
                /**
         
     | 
| 
      
 468 
     | 
    
         
            +
                 * Resets options to defaults and recomputes the rule.
         
     | 
| 
      
 469 
     | 
    
         
            +
                 */
         
     | 
| 
       375 
470 
     | 
    
         
             
                async resetOptions() {
         
     | 
| 
       376 
471 
     | 
    
         
             
                    this.options.set({ ...defaultOptions });
         
     | 
| 
       377 
472 
     | 
    
         
             
                    const newRrule = await this.rruleService.rruleFromOptions(this.options());
         
     | 
| 
         @@ -386,7 +481,7 @@ class AXRruleComponent { 
     | 
|
| 
       386 
481 
     | 
    
         
             
                    this._emitAll();
         
     | 
| 
       387 
482 
     | 
    
         
             
                }
         
     | 
| 
       388 
483 
     | 
    
         
             
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXRruleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
         
     | 
| 
       389 
     | 
    
         
            -
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.6", type: AXRruleComponent, isStandalone: true, selector: "ax-rrule", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", rruleChange: "rruleChange", optionsChange: "optionsChange", stringChange: "stringChange", textChange: "textChange" }, ngImport: i0, template: "<div class=\"ax-rrule-container ax-grid ax-grid-cols-1 ax-gap-4 md:ax-grid-cols-2 lg:ax-grid-cols-3\">\n  <!-- General -->\n  <div class=\"ax-flex ax-flex-col ax-gap-4 ax-rounded-md ax-border ax-p-4\">\n    <div class=\"ax-text-lg ax-font-semibold\">{{ 'rrule.general' | translate: { scope: 'common' } | async }}</div>\n\n    <div>\n      <ax-label>{{ 'rrule.freq' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-selection-list\n        name=\"freq\"\n        [items]=\"freqs\"\n        [ngModel]=\"options().freq\"\n        (ngModelChange)=\"updateOption('freq', $event)\"\n      ></ax-selection-list>\n    </div>\n\n    <div>\n      <ax-label>{{ 'rrule.dtstart' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-datetime-box\n        name=\"dtstart\"\n        [ngModel]=\"options().dtstart\"\n        (ngModelChange)=\"updateOption('dtstart', $event)\"\n      ></ax-datetime-box>\n    </div>\n\n    <div>\n      <ax-label>{{ 'rrule.until' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-datetime-box\n        name=\"until\"\n        [ngModel]=\"options().until\"\n        (ngModelChange)=\"updateOption('until', $event)\"\n      ></ax-datetime-box>\n    </div>\n\n    <div>\n      <ax-label>{{ 'rrule.count' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-number-box\n        name=\"count\"\n        [ngModel]=\"options().count\"\n        (ngModelChange)=\"updateOption('count', $event)\"\n        [minValue]=\"1\"\n      ></ax-number-box>\n    </div>\n\n    <div>\n      <ax-label>{{ 'rrule.interval' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-number-box\n        name=\"interval\"\n        [ngModel]=\"options().interval\"\n        (ngModelChange)=\"updateOption('interval', $event)\"\n        [minValue]=\"1\"\n      ></ax-number-box>\n    </div>\n\n    <div>\n      <ax-label>{{ 'rrule.tzid' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-select-box\n        name=\"tzid\"\n        [dataSource]=\"timezones\"\n        [ngModel]=\"options().tzid\"\n        (ngModelChange)=\"updateOption('tzid', $event)\"\n      >\n        <ax-search-box></ax-search-box>\n      </ax-select-box>\n    </div>\n  </div>\n\n  <!-- By Weekday -->\n  <div class=\"ax-flex ax-flex-col ax-gap-4 ax-rounded-md ax-border ax-p-4\">\n    <div class=\"ax-text-lg ax-font-semibold\">{{ 'rrule.by-weekday' | translate: { scope: 'common' } | async }}</div>\n    <div>\n      <ax-label>{{ 'rrule.wkst' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-selection-list\n        name=\"wkst\"\n        [items]=\"weekdays\"\n        [ngModel]=\"options().wkst\"\n        (ngModelChange)=\"updateOption('wkst', $event)\"\n      ></ax-selection-list>\n    </div>\n    <div>\n      <ax-label>{{ 'rrule.by-weekday-rule' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-selection-list\n        name=\"byweekday\"\n        [items]=\"weekdays\"\n        multiple=\"true\"\n        [ngModel]=\"options().byweekday\"\n        (ngModelChange)=\"updateOption('byweekday', $event)\"\n      ></ax-selection-list>\n    </div>\n  </div>\n\n  <!-- By Month -->\n  <div class=\"ax-flex ax-flex-col ax-gap-4 ax-rounded-md ax-border ax-p-4\">\n    <div class=\"ax-text-lg ax-font-semibold\">{{ 'rrule.by-month' | translate: { scope: 'common' } | async }}</div>\n    <div>\n      <ax-label>{{ 'rrule.by-month-rule' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-selection-list\n        name=\"bymonth\"\n        [items]=\"months\"\n        multiple=\"true\"\n        [ngModel]=\"options().bymonth\"\n        (ngModelChange)=\"updateOption('bymonth', $event)\"\n      ></ax-selection-list>\n    </div>\n    <div>\n      <ax-label>{{ 'rrule.by-month-day' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-select-box\n        name=\"bymonthday\"\n        [dataSource]=\"monthdays\"\n        multiple=\"true\"\n        [ngModel]=\"options().bymonthday\"\n        (ngModelChange)=\"updateOption('bymonthday', $event)\"\n      >\n      </ax-select-box>\n    </div>\n    <!-- <div>\n      <ax-label>By Negative Month Day (BYNMONTHDAY)</ax-label>\n      <ax-select-box\n        name=\"bynmonthday\"\n        [dataSource]=\"nmonthdays\"\n        multiple=\"true\"\n        [ngModel]=\"options().bynmonthday\"\n        (ngModelChange)=\"updateOption('bynmonthday', $event)\"\n      >\n      </ax-select-box>\n    </div> -->\n  </div>\n\n  <!-- By Year -->\n  <div class=\"ax-flex ax-flex-col ax-gap-4 ax-rounded-md ax-border ax-p-4\">\n    <div class=\"ax-text-lg ax-font-semibold\">{{ 'rrule.by-year' | translate: { scope: 'common' } | async }}</div>\n    <div>\n      <ax-label>{{ 'rrule.by-year-day' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-select-box\n        name=\"byyearday\"\n        [dataSource]=\"yeardays\"\n        multiple=\"true\"\n        [ngModel]=\"options().byyearday\"\n        (ngModelChange)=\"updateOption('byyearday', $event)\"\n      >\n      </ax-select-box>\n    </div>\n    <div>\n      <ax-label>{{ 'rrule.by-week-no' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-select-box\n        name=\"byweekno\"\n        [dataSource]=\"weeknos\"\n        multiple=\"true\"\n        [ngModel]=\"options().byweekno\"\n        (ngModelChange)=\"updateOption('byweekno', $event)\"\n      >\n      </ax-select-box>\n    </div>\n  </div>\n\n  <!-- By Time -->\n  <div class=\"ax-flex ax-flex-col ax-gap-4 ax-rounded-md ax-border ax-p-4\">\n    <div class=\"ax-text-lg ax-font-semibold\">{{ 'rrule.by-time' | translate: { scope: 'common' } | async }}</div>\n    <div>\n      <ax-label>{{ 'rrule.by-hour' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-select-box\n        name=\"byhour\"\n        [dataSource]=\"hours\"\n        multiple=\"true\"\n        [ngModel]=\"options().byhour\"\n        (ngModelChange)=\"updateOption('byhour', $event)\"\n      >\n      </ax-select-box>\n    </div>\n    <div>\n      <ax-label>{{ 'rrule.by-minute' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-select-box\n        name=\"byminute\"\n        [dataSource]=\"minutes\"\n        multiple=\"true\"\n        [ngModel]=\"options().byminute\"\n        (ngModelChange)=\"updateOption('byminute', $event)\"\n      >\n      </ax-select-box>\n    </div>\n    <div>\n      <ax-label>{{ 'rrule.by-second' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-select-box\n        name=\"bysecond\"\n        [dataSource]=\"seconds\"\n        multiple=\"true\"\n        [ngModel]=\"options().bysecond\"\n        (ngModelChange)=\"updateOption('bysecond', $event)\"\n      >\n      </ax-select-box>\n    </div>\n  </div>\n\n  <!-- Advanced -->\n  <div class=\"ax-flex ax-flex-col ax-gap-4 ax-rounded-md ax-border ax-p-4\">\n    <div class=\"ax-text-lg ax-font-semibold\">{{ 'rrule.advanced' | translate: { scope: 'common' } | async }}</div>\n    <div>\n      <ax-label>{{ 'rrule.by-set-pos' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-select-box\n        name=\"bysetpos\"\n        [dataSource]=\"setpos\"\n        multiple=\"true\"\n        [ngModel]=\"options().bysetpos\"\n        (ngModelChange)=\"updateOption('bysetpos', $event)\"\n        [disabled]=\"true\"\n      >\n      </ax-select-box>\n    </div>\n  </div>\n</div>\n\n<div class=\"ax-flex ax-justify-end ax-py-4\">\n  <ax-button [text]=\"'rrule.reset' | translate: { scope: 'common' } | async\" (click)=\"resetOptions()\"></ax-button>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXDateTimeBoxModule }, { kind: "component", type: i2$1.AXDateTimeBoxComponent, selector: "ax-datetime-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "depth", "id", "type", "look", "holidayDates", "allowTyping", "picker", "calendar", "weekend", "weekdays", "format"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "onOpened", "onClosed", "readonlyChange", "disabledChange", "formatChange"] }, { kind: "ngmodule", type: AXSelectionListModule }, { kind: "component", type: i3.AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "size", "value", "valueField", "textField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "look", "showControl", "items"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "ngmodule", type: AXNumberBoxModule }, { kind: "component", type: i4.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "minValue", "maxValue", "showSpinButtons", "thousandsSeparator", "decimals", "changeOnScroll", "step"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress", "thousandsSeparatorChange"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i5.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "isItemTruncated", "showItemTooltip", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed", "onItemSelected", "onItemClick"] }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i1.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i7.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i8.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.AXTranslatorPipe, name: "translate" }] }); }
         
     | 
| 
      
 484 
     | 
    
         
            +
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.6", type: AXRruleComponent, isStandalone: true, selector: "ax-rrule", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", valueChange: "valueChange", rruleChange: "rruleChange", optionsChange: "optionsChange", stringChange: "stringChange", textChange: "textChange" }, ngImport: i0, template: "<div class=\"ax-rrule-container ax-grid ax-grid-cols-1 ax-gap-4 md:ax-grid-cols-2 lg:ax-grid-cols-3\">\n  <!-- General -->\n  <div class=\"ax-flex ax-flex-col ax-gap-4 ax-rounded-md ax-border ax-p-4\">\n    <div class=\"ax-text-lg ax-font-semibold\">{{ 'rrule.general' | translate: { scope: 'common' } | async }}</div>\n\n    <div>\n      <ax-label>{{ 'rrule.freq' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-selection-list\n        valueField=\"value\"\n        textField=\"text\"\n        name=\"freq\"\n        [items]=\"freqs\"\n        [ngModel]=\"options().freq\"\n        (ngModelChange)=\"updateOption('freq', $event)\"\n      ></ax-selection-list>\n    </div>\n\n    <div>\n      <ax-label>{{ 'rrule.dtstart' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-datetime-box\n        name=\"dtstart\"\n        [ngModel]=\"options().dtstart\"\n        (ngModelChange)=\"updateOption('dtstart', $event)\"\n      ></ax-datetime-box>\n    </div>\n\n    <div>\n      <ax-label>{{ 'rrule.until' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-datetime-box\n        name=\"until\"\n        [ngModel]=\"options().until\"\n        (ngModelChange)=\"updateOption('until', $event)\"\n      ></ax-datetime-box>\n    </div>\n\n    <div>\n      <ax-label>{{ 'rrule.count' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-number-box\n        name=\"count\"\n        [ngModel]=\"options().count\"\n        (ngModelChange)=\"updateOption('count', $event)\"\n        [minValue]=\"1\"\n      ></ax-number-box>\n    </div>\n\n    <div>\n      <ax-label>{{ 'rrule.interval' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-number-box\n        name=\"interval\"\n        [ngModel]=\"options().interval\"\n        (ngModelChange)=\"updateOption('interval', $event)\"\n        [minValue]=\"1\"\n      ></ax-number-box>\n    </div>\n\n    <div>\n      <ax-label>{{ 'rrule.tzid' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-select-box\n        name=\"tzid\"\n        [dataSource]=\"timezones\"\n        [ngModel]=\"options().tzid\"\n        (ngModelChange)=\"updateOption('tzid', $event)\"\n      >\n        <ax-search-box></ax-search-box>\n      </ax-select-box>\n    </div>\n  </div>\n\n  <!-- By Weekday -->\n  <div class=\"ax-flex ax-flex-col ax-gap-4 ax-rounded-md ax-border ax-p-4\">\n    <div class=\"ax-text-lg ax-font-semibold\">{{ 'rrule.by-weekday' | translate: { scope: 'common' } | async }}</div>\n    <div>\n      <ax-label>{{ 'rrule.wkst' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-selection-list\n        valueField=\"value\"\n        textField=\"text\"\n        name=\"wkst\"\n        [items]=\"weekdays\"\n        [ngModel]=\"options().wkst\"\n        (ngModelChange)=\"updateOption('wkst', $event)\"\n      ></ax-selection-list>\n    </div>\n    <div>\n      <ax-label>{{ 'rrule.by-weekday-rule' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-selection-list\n        valueField=\"value\"\n        textField=\"text\"\n        name=\"byweekday\"\n        [items]=\"weekdays\"\n        multiple=\"true\"\n        [ngModel]=\"options().byweekday\"\n        (ngModelChange)=\"updateOption('byweekday', $event)\"\n      ></ax-selection-list>\n    </div>\n  </div>\n\n  <!-- By Month -->\n  <div class=\"ax-flex ax-flex-col ax-gap-4 ax-rounded-md ax-border ax-p-4\">\n    <div class=\"ax-text-lg ax-font-semibold\">{{ 'rrule.by-month' | translate: { scope: 'common' } | async }}</div>\n    <div>\n      <ax-label>{{ 'rrule.by-month-rule' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-selection-list\n        valueField=\"value\"\n        textField=\"text\"\n        name=\"bymonth\"\n        [items]=\"months\"\n        multiple=\"true\"\n        [ngModel]=\"options().bymonth\"\n        (ngModelChange)=\"updateOption('bymonth', $event)\"\n      ></ax-selection-list>\n    </div>\n    <div>\n      <ax-label>{{ 'rrule.by-month-day' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-select-box\n        name=\"bymonthday\"\n        [dataSource]=\"monthdays\"\n        multiple=\"true\"\n        [ngModel]=\"options().bymonthday\"\n        (ngModelChange)=\"updateOption('bymonthday', $event)\"\n      >\n      </ax-select-box>\n    </div>\n    <!-- <div>\n      <ax-label>By Negative Month Day (BYNMONTHDAY)</ax-label>\n      <ax-select-box\n        name=\"bynmonthday\"\n        [dataSource]=\"nmonthdays\"\n        multiple=\"true\"\n        [ngModel]=\"options().bynmonthday\"\n        (ngModelChange)=\"updateOption('bynmonthday', $event)\"\n      >\n      </ax-select-box>\n    </div> -->\n  </div>\n\n  <!-- By Year -->\n  <div class=\"ax-flex ax-flex-col ax-gap-4 ax-rounded-md ax-border ax-p-4\">\n    <div class=\"ax-text-lg ax-font-semibold\">{{ 'rrule.by-year' | translate: { scope: 'common' } | async }}</div>\n    <div>\n      <ax-label>{{ 'rrule.by-year-day' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-select-box\n        name=\"byyearday\"\n        [dataSource]=\"yeardays\"\n        multiple=\"true\"\n        [ngModel]=\"options().byyearday\"\n        (ngModelChange)=\"updateOption('byyearday', $event)\"\n      >\n      </ax-select-box>\n    </div>\n    <div>\n      <ax-label>{{ 'rrule.by-week-no' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-select-box\n        name=\"byweekno\"\n        [dataSource]=\"weeknos\"\n        multiple=\"true\"\n        [ngModel]=\"options().byweekno\"\n        (ngModelChange)=\"updateOption('byweekno', $event)\"\n      >\n      </ax-select-box>\n    </div>\n  </div>\n\n  <!-- By Time -->\n  <div class=\"ax-flex ax-flex-col ax-gap-4 ax-rounded-md ax-border ax-p-4\">\n    <div class=\"ax-text-lg ax-font-semibold\">{{ 'rrule.by-time' | translate: { scope: 'common' } | async }}</div>\n    <div>\n      <ax-label>{{ 'rrule.by-hour' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-select-box\n        name=\"byhour\"\n        [dataSource]=\"hours\"\n        multiple=\"true\"\n        [ngModel]=\"options().byhour\"\n        (ngModelChange)=\"updateOption('byhour', $event)\"\n      >\n      </ax-select-box>\n    </div>\n    <div>\n      <ax-label>{{ 'rrule.by-minute' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-select-box\n        name=\"byminute\"\n        [dataSource]=\"minutes\"\n        multiple=\"true\"\n        [ngModel]=\"options().byminute\"\n        (ngModelChange)=\"updateOption('byminute', $event)\"\n      >\n      </ax-select-box>\n    </div>\n    <div>\n      <ax-label>{{ 'rrule.by-second' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-select-box\n        name=\"bysecond\"\n        [dataSource]=\"seconds\"\n        multiple=\"true\"\n        [ngModel]=\"options().bysecond\"\n        (ngModelChange)=\"updateOption('bysecond', $event)\"\n      >\n      </ax-select-box>\n    </div>\n  </div>\n\n  <!-- Advanced -->\n  <div class=\"ax-flex ax-flex-col ax-gap-4 ax-rounded-md ax-border ax-p-4\">\n    <div class=\"ax-text-lg ax-font-semibold\">{{ 'rrule.advanced' | translate: { scope: 'common' } | async }}</div>\n    <div>\n      <ax-label>{{ 'rrule.by-set-pos' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-select-box\n        name=\"bysetpos\"\n        [dataSource]=\"setpos\"\n        multiple=\"true\"\n        [ngModel]=\"options().bysetpos\"\n        (ngModelChange)=\"updateOption('bysetpos', $event)\"\n        [disabled]=\"true\"\n      >\n      </ax-select-box>\n    </div>\n  </div>\n</div>\n\n<div class=\"ax-flex ax-justify-end ax-py-4\">\n  <ax-button [text]=\"'rrule.reset' | translate: { scope: 'common' } | async\" (click)=\"resetOptions()\"></ax-button>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXDateTimeBoxModule }, { kind: "component", type: i2$1.AXDateTimeBoxComponent, selector: "ax-datetime-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "depth", "id", "type", "look", "holidayDates", "allowTyping", "picker", "calendar", "weekend", "weekdays", "format"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "onOpened", "onClosed", "readonlyChange", "disabledChange", "formatChange"] }, { kind: "ngmodule", type: AXSelectionListModule }, { kind: "component", type: i3.AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "size", "value", "valueField", "textField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "ngmodule", type: AXNumberBoxModule }, { kind: "component", type: i4.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "minValue", "maxValue", "showSpinButtons", "thousandsSeparator", "decimals", "changeOnScroll", "step"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress", "thousandsSeparatorChange"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i5.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "isItemTruncated", "showItemTooltip", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed", "onItemSelected", "onItemClick"] }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i1.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i7.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i8.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.AXTranslatorPipe, name: "translate" }] }); }
         
     | 
| 
       390 
485 
     | 
    
         
             
            }
         
     | 
| 
       391 
486 
     | 
    
         
             
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: AXRruleComponent, decorators: [{
         
     | 
| 
       392 
487 
     | 
    
         
             
                        type: Component,
         
     | 
| 
         @@ -402,8 +497,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor 
     | 
|
| 
       402 
497 
     | 
    
         
             
                                    AXSearchBoxModule,
         
     | 
| 
       403 
498 
     | 
    
         
             
                                    AXButtonModule,
         
     | 
| 
       404 
499 
     | 
    
         
             
                                    AXTranslationModule,
         
     | 
| 
       405 
     | 
    
         
            -
                                ], template: "<div class=\"ax-rrule-container ax-grid ax-grid-cols-1 ax-gap-4 md:ax-grid-cols-2 lg:ax-grid-cols-3\">\n  <!-- General -->\n  <div class=\"ax-flex ax-flex-col ax-gap-4 ax-rounded-md ax-border ax-p-4\">\n    <div class=\"ax-text-lg ax-font-semibold\">{{ 'rrule.general' | translate: { scope: 'common' } | async }}</div>\n\n    <div>\n      <ax-label>{{ 'rrule.freq' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-selection-list\n        name=\"freq\"\n        [items]=\"freqs\"\n        [ngModel]=\"options().freq\"\n        (ngModelChange)=\"updateOption('freq', $event)\"\n      ></ax-selection-list>\n    </div>\n\n    <div>\n      <ax-label>{{ 'rrule.dtstart' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-datetime-box\n        name=\"dtstart\"\n        [ngModel]=\"options().dtstart\"\n        (ngModelChange)=\"updateOption('dtstart', $event)\"\n      ></ax-datetime-box>\n    </div>\n\n    <div>\n      <ax-label>{{ 'rrule.until' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-datetime-box\n        name=\"until\"\n        [ngModel]=\"options().until\"\n        (ngModelChange)=\"updateOption('until', $event)\"\n      ></ax-datetime-box>\n    </div>\n\n    <div>\n      <ax-label>{{ 'rrule.count' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-number-box\n        name=\"count\"\n        [ngModel]=\"options().count\"\n        (ngModelChange)=\"updateOption('count', $event)\"\n        [minValue]=\"1\"\n      ></ax-number-box>\n    </div>\n\n    <div>\n      <ax-label>{{ 'rrule.interval' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-number-box\n        name=\"interval\"\n        [ngModel]=\"options().interval\"\n        (ngModelChange)=\"updateOption('interval', $event)\"\n        [minValue]=\"1\"\n      ></ax-number-box>\n    </div>\n\n    <div>\n      <ax-label>{{ 'rrule.tzid' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-select-box\n        name=\"tzid\"\n        [dataSource]=\"timezones\"\n        [ngModel]=\"options().tzid\"\n        (ngModelChange)=\"updateOption('tzid', $event)\"\n      >\n        <ax-search-box></ax-search-box>\n      </ax-select-box>\n    </div>\n  </div>\n\n  <!-- By Weekday -->\n  <div class=\"ax-flex ax-flex-col ax-gap-4 ax-rounded-md ax-border ax-p-4\">\n    <div class=\"ax-text-lg ax-font-semibold\">{{ 'rrule.by-weekday' | translate: { scope: 'common' } | async }}</div>\n    <div>\n      <ax-label>{{ 'rrule.wkst' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-selection-list\n        name=\"wkst\"\n        [items]=\"weekdays\"\n        [ngModel]=\"options().wkst\"\n        (ngModelChange)=\"updateOption('wkst', $event)\"\n      ></ax-selection-list>\n    </div>\n    <div>\n      <ax-label>{{ 'rrule.by-weekday-rule' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-selection-list\n        name=\"byweekday\"\n        [items]=\"weekdays\"\n        multiple=\"true\"\n        [ngModel]=\"options().byweekday\"\n        (ngModelChange)=\"updateOption('byweekday', $event)\"\n      ></ax-selection-list>\n    </div>\n  </div>\n\n  <!-- By Month -->\n  <div class=\"ax-flex ax-flex-col ax-gap-4 ax-rounded-md ax-border ax-p-4\">\n    <div class=\"ax-text-lg ax-font-semibold\">{{ 'rrule.by-month' | translate: { scope: 'common' } | async }}</div>\n    <div>\n      <ax-label>{{ 'rrule.by-month-rule' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-selection-list\n        name=\"bymonth\"\n        [items]=\"months\"\n        multiple=\"true\"\n        [ngModel]=\"options().bymonth\"\n        (ngModelChange)=\"updateOption('bymonth', $event)\"\n      ></ax-selection-list>\n    </div>\n    <div>\n      <ax-label>{{ 'rrule.by-month-day' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-select-box\n        name=\"bymonthday\"\n        [dataSource]=\"monthdays\"\n        multiple=\"true\"\n        [ngModel]=\"options().bymonthday\"\n        (ngModelChange)=\"updateOption('bymonthday', $event)\"\n      >\n      </ax-select-box>\n    </div>\n    <!-- <div>\n      <ax-label>By Negative Month Day (BYNMONTHDAY)</ax-label>\n      <ax-select-box\n        name=\"bynmonthday\"\n        [dataSource]=\"nmonthdays\"\n        multiple=\"true\"\n        [ngModel]=\"options().bynmonthday\"\n        (ngModelChange)=\"updateOption('bynmonthday', $event)\"\n      >\n      </ax-select-box>\n    </div> -->\n  </div>\n\n  <!-- By Year -->\n  <div class=\"ax-flex ax-flex-col ax-gap-4 ax-rounded-md ax-border ax-p-4\">\n    <div class=\"ax-text-lg ax-font-semibold\">{{ 'rrule.by-year' | translate: { scope: 'common' } | async }}</div>\n    <div>\n      <ax-label>{{ 'rrule.by-year-day' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-select-box\n        name=\"byyearday\"\n        [dataSource]=\"yeardays\"\n        multiple=\"true\"\n        [ngModel]=\"options().byyearday\"\n        (ngModelChange)=\"updateOption('byyearday', $event)\"\n      >\n      </ax-select-box>\n    </div>\n    <div>\n      <ax-label>{{ 'rrule.by-week-no' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-select-box\n        name=\"byweekno\"\n        [dataSource]=\"weeknos\"\n        multiple=\"true\"\n        [ngModel]=\"options().byweekno\"\n        (ngModelChange)=\"updateOption('byweekno', $event)\"\n      >\n      </ax-select-box>\n    </div>\n  </div>\n\n  <!-- By Time -->\n  <div class=\"ax-flex ax-flex-col ax-gap-4 ax-rounded-md ax-border ax-p-4\">\n    <div class=\"ax-text-lg ax-font-semibold\">{{ 'rrule.by-time' | translate: { scope: 'common' } | async }}</div>\n    <div>\n      <ax-label>{{ 'rrule.by-hour' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-select-box\n        name=\"byhour\"\n        [dataSource]=\"hours\"\n        multiple=\"true\"\n        [ngModel]=\"options().byhour\"\n        (ngModelChange)=\"updateOption('byhour', $event)\"\n      >\n      </ax-select-box>\n    </div>\n    <div>\n      <ax-label>{{ 'rrule.by-minute' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-select-box\n        name=\"byminute\"\n        [dataSource]=\"minutes\"\n        multiple=\"true\"\n        [ngModel]=\"options().byminute\"\n        (ngModelChange)=\"updateOption('byminute', $event)\"\n      >\n      </ax-select-box>\n    </div>\n    <div>\n      <ax-label>{{ 'rrule.by-second' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-select-box\n        name=\"bysecond\"\n        [dataSource]=\"seconds\"\n        multiple=\"true\"\n        [ngModel]=\"options().bysecond\"\n        (ngModelChange)=\"updateOption('bysecond', $event)\"\n      >\n      </ax-select-box>\n    </div>\n  </div>\n\n  <!-- Advanced -->\n  <div class=\"ax-flex ax-flex-col ax-gap-4 ax-rounded-md ax-border ax-p-4\">\n    <div class=\"ax-text-lg ax-font-semibold\">{{ 'rrule.advanced' | translate: { scope: 'common' } | async }}</div>\n    <div>\n      <ax-label>{{ 'rrule.by-set-pos' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-select-box\n        name=\"bysetpos\"\n        [dataSource]=\"setpos\"\n        multiple=\"true\"\n        [ngModel]=\"options().bysetpos\"\n        (ngModelChange)=\"updateOption('bysetpos', $event)\"\n        [disabled]=\"true\"\n      >\n      </ax-select-box>\n    </div>\n  </div>\n</div>\n\n<div class=\"ax-flex ax-justify-end ax-py-4\">\n  <ax-button [text]=\"'rrule.reset' | translate: { scope: 'common' } | async\" (click)=\"resetOptions()\"></ax-button>\n</div>\n" }]
         
     | 
| 
       406 
     | 
    
         
            -
                    }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], rruleChange: [{ type: i0.Output, args: ["rruleChange"] }], optionsChange: [{ type: i0.Output, args: ["optionsChange"] }], stringChange: [{ type: i0.Output, args: ["stringChange"] }], textChange: [{ type: i0.Output, args: ["textChange"] }] } });
         
     | 
| 
      
 500 
     | 
    
         
            +
                                ], template: "<div class=\"ax-rrule-container ax-grid ax-grid-cols-1 ax-gap-4 md:ax-grid-cols-2 lg:ax-grid-cols-3\">\n  <!-- General -->\n  <div class=\"ax-flex ax-flex-col ax-gap-4 ax-rounded-md ax-border ax-p-4\">\n    <div class=\"ax-text-lg ax-font-semibold\">{{ 'rrule.general' | translate: { scope: 'common' } | async }}</div>\n\n    <div>\n      <ax-label>{{ 'rrule.freq' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-selection-list\n        valueField=\"value\"\n        textField=\"text\"\n        name=\"freq\"\n        [items]=\"freqs\"\n        [ngModel]=\"options().freq\"\n        (ngModelChange)=\"updateOption('freq', $event)\"\n      ></ax-selection-list>\n    </div>\n\n    <div>\n      <ax-label>{{ 'rrule.dtstart' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-datetime-box\n        name=\"dtstart\"\n        [ngModel]=\"options().dtstart\"\n        (ngModelChange)=\"updateOption('dtstart', $event)\"\n      ></ax-datetime-box>\n    </div>\n\n    <div>\n      <ax-label>{{ 'rrule.until' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-datetime-box\n        name=\"until\"\n        [ngModel]=\"options().until\"\n        (ngModelChange)=\"updateOption('until', $event)\"\n      ></ax-datetime-box>\n    </div>\n\n    <div>\n      <ax-label>{{ 'rrule.count' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-number-box\n        name=\"count\"\n        [ngModel]=\"options().count\"\n        (ngModelChange)=\"updateOption('count', $event)\"\n        [minValue]=\"1\"\n      ></ax-number-box>\n    </div>\n\n    <div>\n      <ax-label>{{ 'rrule.interval' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-number-box\n        name=\"interval\"\n        [ngModel]=\"options().interval\"\n        (ngModelChange)=\"updateOption('interval', $event)\"\n        [minValue]=\"1\"\n      ></ax-number-box>\n    </div>\n\n    <div>\n      <ax-label>{{ 'rrule.tzid' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-select-box\n        name=\"tzid\"\n        [dataSource]=\"timezones\"\n        [ngModel]=\"options().tzid\"\n        (ngModelChange)=\"updateOption('tzid', $event)\"\n      >\n        <ax-search-box></ax-search-box>\n      </ax-select-box>\n    </div>\n  </div>\n\n  <!-- By Weekday -->\n  <div class=\"ax-flex ax-flex-col ax-gap-4 ax-rounded-md ax-border ax-p-4\">\n    <div class=\"ax-text-lg ax-font-semibold\">{{ 'rrule.by-weekday' | translate: { scope: 'common' } | async }}</div>\n    <div>\n      <ax-label>{{ 'rrule.wkst' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-selection-list\n        valueField=\"value\"\n        textField=\"text\"\n        name=\"wkst\"\n        [items]=\"weekdays\"\n        [ngModel]=\"options().wkst\"\n        (ngModelChange)=\"updateOption('wkst', $event)\"\n      ></ax-selection-list>\n    </div>\n    <div>\n      <ax-label>{{ 'rrule.by-weekday-rule' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-selection-list\n        valueField=\"value\"\n        textField=\"text\"\n        name=\"byweekday\"\n        [items]=\"weekdays\"\n        multiple=\"true\"\n        [ngModel]=\"options().byweekday\"\n        (ngModelChange)=\"updateOption('byweekday', $event)\"\n      ></ax-selection-list>\n    </div>\n  </div>\n\n  <!-- By Month -->\n  <div class=\"ax-flex ax-flex-col ax-gap-4 ax-rounded-md ax-border ax-p-4\">\n    <div class=\"ax-text-lg ax-font-semibold\">{{ 'rrule.by-month' | translate: { scope: 'common' } | async }}</div>\n    <div>\n      <ax-label>{{ 'rrule.by-month-rule' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-selection-list\n        valueField=\"value\"\n        textField=\"text\"\n        name=\"bymonth\"\n        [items]=\"months\"\n        multiple=\"true\"\n        [ngModel]=\"options().bymonth\"\n        (ngModelChange)=\"updateOption('bymonth', $event)\"\n      ></ax-selection-list>\n    </div>\n    <div>\n      <ax-label>{{ 'rrule.by-month-day' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-select-box\n        name=\"bymonthday\"\n        [dataSource]=\"monthdays\"\n        multiple=\"true\"\n        [ngModel]=\"options().bymonthday\"\n        (ngModelChange)=\"updateOption('bymonthday', $event)\"\n      >\n      </ax-select-box>\n    </div>\n    <!-- <div>\n      <ax-label>By Negative Month Day (BYNMONTHDAY)</ax-label>\n      <ax-select-box\n        name=\"bynmonthday\"\n        [dataSource]=\"nmonthdays\"\n        multiple=\"true\"\n        [ngModel]=\"options().bynmonthday\"\n        (ngModelChange)=\"updateOption('bynmonthday', $event)\"\n      >\n      </ax-select-box>\n    </div> -->\n  </div>\n\n  <!-- By Year -->\n  <div class=\"ax-flex ax-flex-col ax-gap-4 ax-rounded-md ax-border ax-p-4\">\n    <div class=\"ax-text-lg ax-font-semibold\">{{ 'rrule.by-year' | translate: { scope: 'common' } | async }}</div>\n    <div>\n      <ax-label>{{ 'rrule.by-year-day' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-select-box\n        name=\"byyearday\"\n        [dataSource]=\"yeardays\"\n        multiple=\"true\"\n        [ngModel]=\"options().byyearday\"\n        (ngModelChange)=\"updateOption('byyearday', $event)\"\n      >\n      </ax-select-box>\n    </div>\n    <div>\n      <ax-label>{{ 'rrule.by-week-no' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-select-box\n        name=\"byweekno\"\n        [dataSource]=\"weeknos\"\n        multiple=\"true\"\n        [ngModel]=\"options().byweekno\"\n        (ngModelChange)=\"updateOption('byweekno', $event)\"\n      >\n      </ax-select-box>\n    </div>\n  </div>\n\n  <!-- By Time -->\n  <div class=\"ax-flex ax-flex-col ax-gap-4 ax-rounded-md ax-border ax-p-4\">\n    <div class=\"ax-text-lg ax-font-semibold\">{{ 'rrule.by-time' | translate: { scope: 'common' } | async }}</div>\n    <div>\n      <ax-label>{{ 'rrule.by-hour' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-select-box\n        name=\"byhour\"\n        [dataSource]=\"hours\"\n        multiple=\"true\"\n        [ngModel]=\"options().byhour\"\n        (ngModelChange)=\"updateOption('byhour', $event)\"\n      >\n      </ax-select-box>\n    </div>\n    <div>\n      <ax-label>{{ 'rrule.by-minute' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-select-box\n        name=\"byminute\"\n        [dataSource]=\"minutes\"\n        multiple=\"true\"\n        [ngModel]=\"options().byminute\"\n        (ngModelChange)=\"updateOption('byminute', $event)\"\n      >\n      </ax-select-box>\n    </div>\n    <div>\n      <ax-label>{{ 'rrule.by-second' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-select-box\n        name=\"bysecond\"\n        [dataSource]=\"seconds\"\n        multiple=\"true\"\n        [ngModel]=\"options().bysecond\"\n        (ngModelChange)=\"updateOption('bysecond', $event)\"\n      >\n      </ax-select-box>\n    </div>\n  </div>\n\n  <!-- Advanced -->\n  <div class=\"ax-flex ax-flex-col ax-gap-4 ax-rounded-md ax-border ax-p-4\">\n    <div class=\"ax-text-lg ax-font-semibold\">{{ 'rrule.advanced' | translate: { scope: 'common' } | async }}</div>\n    <div>\n      <ax-label>{{ 'rrule.by-set-pos' | translate: { scope: 'common' } | async }}</ax-label>\n      <ax-select-box\n        name=\"bysetpos\"\n        [dataSource]=\"setpos\"\n        multiple=\"true\"\n        [ngModel]=\"options().bysetpos\"\n        (ngModelChange)=\"updateOption('bysetpos', $event)\"\n        [disabled]=\"true\"\n      >\n      </ax-select-box>\n    </div>\n  </div>\n</div>\n\n<div class=\"ax-flex ax-justify-end ax-py-4\">\n  <ax-button [text]=\"'rrule.reset' | translate: { scope: 'common' } | async\" (click)=\"resetOptions()\"></ax-button>\n</div>\n" }]
         
     | 
| 
      
 501 
     | 
    
         
            +
                    }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }], rruleChange: [{ type: i0.Output, args: ["rruleChange"] }], optionsChange: [{ type: i0.Output, args: ["optionsChange"] }], stringChange: [{ type: i0.Output, args: ["stringChange"] }], textChange: [{ type: i0.Output, args: ["textChange"] }] } });
         
     | 
| 
       407 
502 
     | 
    
         | 
| 
       408 
503 
     | 
    
         
             
            /**
         
     | 
| 
       409 
504 
     | 
    
         
             
             * Generated bundle index. Do not edit.
         
     |