@ng-formworks/bootstrap4 17.2.7 → 17.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2014-2016 David Schnell-Davis 2018 Hamza Hamidi 2023 Zaheer M
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,104 @@
1
+ export const cssFrameworkCfgBootstrap4 = {
2
+ "name": "bootstrap-4",
3
+ "text": "Bootstrap 4",
4
+ "scripts": [
5
+ "//cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js",
6
+ "//cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js"
7
+ ],
8
+ "stylesheets": [
9
+ "//cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/css/bootstrap.min.css"
10
+ ],
11
+ "widgetstyles": {
12
+ "__themes__": [
13
+ { "name": "bootstrap4_default", "text": "Bootstrap4 default" }
14
+ ],
15
+ "$ref": {
16
+ "fieldHtmlClass": "btn float-right btn-info"
17
+ },
18
+ "__array_item_nonref__": {
19
+ "htmlClass": "list-group-item"
20
+ },
21
+ "__form_group__": {
22
+ "htmlClass": "form-group"
23
+ },
24
+ "__control_label__": {
25
+ "labelHtmlClass": "control-label"
26
+ },
27
+ "__active__": {
28
+ "activeClass": "active"
29
+ },
30
+ "__required_asterisk__": "text-danger",
31
+ "__screen_reader__": "sr-only",
32
+ "__remove_item__": "close float-right",
33
+ "__help_block__": "help-block",
34
+ "__field_addon_left__": "input-group-text input-group-prepend",
35
+ "__field_addon_right__": "input-group-text input-group-append",
36
+ "alt-date": {},
37
+ "alt-datetime": {},
38
+ "__array__": {
39
+ "htmlClass": "list-group"
40
+ },
41
+ "array": {},
42
+ "authfieldset": {},
43
+ "advancedfieldset": {},
44
+ "button": {
45
+ "fieldHtmlClass": "btn btn-sm btn-primary"
46
+ },
47
+ "checkbox": { "fieldHtmlClass": "checkbox" },
48
+ "checkboxes": {
49
+ "fieldHtmlClass": "checkbox"
50
+ },
51
+ "checkboxbuttons": {
52
+ "fieldHtmlClass": "sr-only",
53
+ "htmlClass": "btn-group",
54
+ "itemLabelHtmlClass": "btn"
55
+ },
56
+ "checkboxes-inline": {
57
+ "htmlClass": "checkbox",
58
+ "itemLabelHtmlClass": "checkbox-inline"
59
+ },
60
+ "date": {},
61
+ "datetime-local": {},
62
+ "fieldset": {},
63
+ "integer": {},
64
+ "number": {},
65
+ "optionfieldset": {},
66
+ "password": {},
67
+ "radiobuttons": {
68
+ "fieldHtmlClass": "sr-only",
69
+ "htmlClass": "btn-group",
70
+ "itemLabelHtmlClass": "btn"
71
+ },
72
+ "radio": { "fieldHtmlClass": "radio" },
73
+ "radios": {
74
+ "fieldHtmlClass": "radio"
75
+ },
76
+ "radios-inline": {
77
+ "htmlClass": "radio",
78
+ "itemLabelHtmlClass": "radio-inline"
79
+ },
80
+ "range": {},
81
+ "section": {},
82
+ "selectfieldset": {},
83
+ "select": {},
84
+ "submit": {
85
+ "fieldHtmlClass": "btn btn-primary"
86
+ },
87
+ "text": {},
88
+ "tabs": {
89
+ "labelHtmlClass": "nav nav-tabs",
90
+ "htmlClass": "tab-content",
91
+ "fieldHtmlClass": "tab-pane"
92
+ },
93
+ "tabarray": {
94
+ "labelHtmlClass": "nav nav-tabs",
95
+ "htmlClass": "tab-content",
96
+ "fieldHtmlClass": "tab-pane"
97
+ },
98
+ "textarea": {},
99
+ "default": {
100
+ "fieldHtmlClass": "form-control"
101
+ }
102
+ }
103
+ };
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwNC1jc3NmcmFtZXdvcmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1mb3Jtd29ya3MtYm9vdHN0cmFwNC9zcmMvbGliL2Jvb3RzdHJhcDQtY3NzZnJhbWV3b3JrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFxQjtJQUN2RCxNQUFNLEVBQUUsYUFBYTtJQUNyQixNQUFNLEVBQUMsYUFBYTtJQUNwQixTQUFTLEVBQUU7UUFDUCw2REFBNkQ7UUFDN0Qsd0VBQXdFO0tBQzNFO0lBQ0QsYUFBYSxFQUFFO1FBQ1gsbUVBQW1FO0tBQ3RFO0lBQ0QsY0FBYyxFQUFFO1FBQ1osWUFBWSxFQUFFO1lBQ1YsRUFBQyxNQUFNLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxFQUFDLG9CQUFvQixFQUFDO1NBQzVEO1FBQ0QsTUFBTSxFQUFFO1lBQ0osZ0JBQWdCLEVBQUUsMEJBQTBCO1NBQy9DO1FBQ0QsdUJBQXVCLEVBQUU7WUFDckIsV0FBVyxFQUFFLGlCQUFpQjtTQUNqQztRQUNELGdCQUFnQixFQUFFO1lBQ2QsV0FBVyxFQUFFLFlBQVk7U0FDNUI7UUFDRCxtQkFBbUIsRUFBRTtZQUNqQixnQkFBZ0IsRUFBRSxlQUFlO1NBQ3BDO1FBQ0QsWUFBWSxFQUFFO1lBQ1YsYUFBYSxFQUFFLFFBQVE7U0FDMUI7UUFDRCx1QkFBdUIsRUFBRSxhQUFhO1FBQ3RDLG1CQUFtQixFQUFFLFNBQVM7UUFDOUIsaUJBQWlCLEVBQUUsbUJBQW1CO1FBQ3RDLGdCQUFnQixFQUFFLFlBQVk7UUFDOUIsc0JBQXNCLEVBQUUsc0NBQXNDO1FBQzlELHVCQUF1QixFQUFFLHFDQUFxQztRQUM5RCxVQUFVLEVBQUUsRUFBRTtRQUNkLGNBQWMsRUFBRSxFQUFFO1FBQ2xCLFdBQVcsRUFBRTtZQUNULFdBQVcsRUFBRSxZQUFZO1NBQzVCO1FBQ0QsT0FBTyxFQUFFLEVBQUU7UUFDWCxjQUFjLEVBQUUsRUFBRTtRQUNsQixrQkFBa0IsRUFBRSxFQUFFO1FBQ3RCLFFBQVEsRUFBRTtZQUNOLGdCQUFnQixFQUFFLHdCQUF3QjtTQUM3QztRQUNELFVBQVUsRUFBRSxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRTtRQUM1QyxZQUFZLEVBQUU7WUFDVixnQkFBZ0IsRUFBRSxVQUFVO1NBQy9CO1FBQ0QsaUJBQWlCLEVBQUU7WUFDZixnQkFBZ0IsRUFBRSxTQUFTO1lBQzNCLFdBQVcsRUFBRSxXQUFXO1lBQ3hCLG9CQUFvQixFQUFFLEtBQUs7U0FDOUI7UUFDRCxtQkFBbUIsRUFBRTtZQUNqQixXQUFXLEVBQUUsVUFBVTtZQUN2QixvQkFBb0IsRUFBRSxpQkFBaUI7U0FDMUM7UUFDRCxNQUFNLEVBQUUsRUFBRTtRQUNWLGdCQUFnQixFQUFFLEVBQUU7UUFDcEIsVUFBVSxFQUFFLEVBQUU7UUFDZCxTQUFTLEVBQUUsRUFBRTtRQUNiLFFBQVEsRUFBRSxFQUFFO1FBQ1osZ0JBQWdCLEVBQUUsRUFBRTtRQUNwQixVQUFVLEVBQUUsRUFBRTtRQUNkLGNBQWMsRUFBRTtZQUNaLGdCQUFnQixFQUFFLFNBQVM7WUFDM0IsV0FBVyxFQUFFLFdBQVc7WUFDeEIsb0JBQW9CLEVBQUUsS0FBSztTQUM5QjtRQUNELE9BQU8sRUFBRSxFQUFFLGdCQUFnQixFQUFFLE9BQU8sRUFBRTtRQUN0QyxRQUFRLEVBQUU7WUFDTixnQkFBZ0IsRUFBRSxPQUFPO1NBQzVCO1FBQ0QsZUFBZSxFQUFFO1lBQ2IsV0FBVyxFQUFFLE9BQU87WUFDcEIsb0JBQW9CLEVBQUUsY0FBYztTQUN2QztRQUNELE9BQU8sRUFBRSxFQUFFO1FBQ1gsU0FBUyxFQUFFLEVBQUU7UUFDYixnQkFBZ0IsRUFBRSxFQUFFO1FBQ3BCLFFBQVEsRUFBRSxFQUFFO1FBQ1osUUFBUSxFQUFFO1lBQ04sZ0JBQWdCLEVBQUUsaUJBQWlCO1NBQ3RDO1FBQ0QsTUFBTSxFQUFFLEVBQUU7UUFDVixNQUFNLEVBQUU7WUFDSixnQkFBZ0IsRUFBRSxjQUFjO1lBQ2hDLFdBQVcsRUFBRSxhQUFhO1lBQzFCLGdCQUFnQixFQUFFLFVBQVU7U0FDL0I7UUFDRCxVQUFVLEVBQUU7WUFDUixnQkFBZ0IsRUFBRSxjQUFjO1lBQ2hDLFdBQVcsRUFBRSxhQUFhO1lBQzFCLGdCQUFnQixFQUFFLFVBQVU7U0FDL0I7UUFDRCxVQUFVLEVBQUUsRUFBRTtRQUNkLFNBQVMsRUFBRTtZQUNQLGdCQUFnQixFQUFFLGNBQWM7U0FDbkM7S0FDSjtDQUNKLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3NfZncgfSBmcm9tIFwiQG5nLWZvcm13b3Jrcy9jc3NmcmFtZXdvcmtcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBjc3NGcmFtZXdvcmtDZmdCb290c3RyYXA0OmNzc19mdy5mcmFtZXdvcmtjZmc9e1xyXG4gICAgXCJuYW1lXCI6IFwiYm9vdHN0cmFwLTRcIixcclxuICAgIFwidGV4dFwiOlwiQm9vdHN0cmFwIDRcIixcclxuICAgIFwic2NyaXB0c1wiOiBbXHJcbiAgICAgICAgXCIvL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2pxdWVyeUAzLjUuMS9kaXN0L2pxdWVyeS5zbGltLm1pbi5qc1wiLFxyXG4gICAgICAgIFwiLy9jZG4uanNkZWxpdnIubmV0L25wbS9ib290c3RyYXBANC42LjIvZGlzdC9qcy9ib290c3RyYXAuYnVuZGxlLm1pbi5qc1wiXHJcbiAgICBdLFxyXG4gICAgXCJzdHlsZXNoZWV0c1wiOiBbXHJcbiAgICAgICAgXCIvL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2Jvb3RzdHJhcEA0LjYuMi9kaXN0L2Nzcy9ib290c3RyYXAubWluLmNzc1wiXHJcbiAgICBdLFxyXG4gICAgXCJ3aWRnZXRzdHlsZXNcIjoge1xyXG4gICAgICAgIFwiX190aGVtZXNfX1wiOiBbXHJcbiAgICAgICAgICAgIHtcIm5hbWVcIjpcImJvb3RzdHJhcDRfZGVmYXVsdFwiLFwidGV4dFwiOlwiQm9vdHN0cmFwNCBkZWZhdWx0XCJ9XHJcbiAgICAgICAgXSxcclxuICAgICAgICBcIiRyZWZcIjoge1xyXG4gICAgICAgICAgICBcImZpZWxkSHRtbENsYXNzXCI6IFwiYnRuIGZsb2F0LXJpZ2h0IGJ0bi1pbmZvXCJcclxuICAgICAgICB9LFxyXG4gICAgICAgIFwiX19hcnJheV9pdGVtX25vbnJlZl9fXCI6IHtcclxuICAgICAgICAgICAgXCJodG1sQ2xhc3NcIjogXCJsaXN0LWdyb3VwLWl0ZW1cIlxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgXCJfX2Zvcm1fZ3JvdXBfX1wiOiB7XHJcbiAgICAgICAgICAgIFwiaHRtbENsYXNzXCI6IFwiZm9ybS1ncm91cFwiXHJcbiAgICAgICAgfSxcclxuICAgICAgICBcIl9fY29udHJvbF9sYWJlbF9fXCI6IHtcclxuICAgICAgICAgICAgXCJsYWJlbEh0bWxDbGFzc1wiOiBcImNvbnRyb2wtbGFiZWxcIlxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgXCJfX2FjdGl2ZV9fXCI6IHtcclxuICAgICAgICAgICAgXCJhY3RpdmVDbGFzc1wiOiBcImFjdGl2ZVwiXHJcbiAgICAgICAgfSxcclxuICAgICAgICBcIl9fcmVxdWlyZWRfYXN0ZXJpc2tfX1wiOiBcInRleHQtZGFuZ2VyXCIsXHJcbiAgICAgICAgXCJfX3NjcmVlbl9yZWFkZXJfX1wiOiBcInNyLW9ubHlcIixcclxuICAgICAgICBcIl9fcmVtb3ZlX2l0ZW1fX1wiOiBcImNsb3NlIGZsb2F0LXJpZ2h0XCIsXHJcbiAgICAgICAgXCJfX2hlbHBfYmxvY2tfX1wiOiBcImhlbHAtYmxvY2tcIixcclxuICAgICAgICBcIl9fZmllbGRfYWRkb25fbGVmdF9fXCI6IFwiaW5wdXQtZ3JvdXAtdGV4dCBpbnB1dC1ncm91cC1wcmVwZW5kXCIsXHJcbiAgICAgICAgXCJfX2ZpZWxkX2FkZG9uX3JpZ2h0X19cIjogXCJpbnB1dC1ncm91cC10ZXh0IGlucHV0LWdyb3VwLWFwcGVuZFwiLFxyXG4gICAgICAgIFwiYWx0LWRhdGVcIjoge30sXHJcbiAgICAgICAgXCJhbHQtZGF0ZXRpbWVcIjoge30sXHJcbiAgICAgICAgXCJfX2FycmF5X19cIjoge1xyXG4gICAgICAgICAgICBcImh0bWxDbGFzc1wiOiBcImxpc3QtZ3JvdXBcIlxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgXCJhcnJheVwiOiB7fSxcclxuICAgICAgICBcImF1dGhmaWVsZHNldFwiOiB7fSxcclxuICAgICAgICBcImFkdmFuY2VkZmllbGRzZXRcIjoge30sXHJcbiAgICAgICAgXCJidXR0b25cIjoge1xyXG4gICAgICAgICAgICBcImZpZWxkSHRtbENsYXNzXCI6IFwiYnRuIGJ0bi1zbSBidG4tcHJpbWFyeVwiXHJcbiAgICAgICAgfSxcclxuICAgICAgICBcImNoZWNrYm94XCI6IHsgXCJmaWVsZEh0bWxDbGFzc1wiOiBcImNoZWNrYm94XCIgfSxcclxuICAgICAgICBcImNoZWNrYm94ZXNcIjoge1xyXG4gICAgICAgICAgICBcImZpZWxkSHRtbENsYXNzXCI6IFwiY2hlY2tib3hcIlxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgXCJjaGVja2JveGJ1dHRvbnNcIjoge1xyXG4gICAgICAgICAgICBcImZpZWxkSHRtbENsYXNzXCI6IFwic3Itb25seVwiLFxyXG4gICAgICAgICAgICBcImh0bWxDbGFzc1wiOiBcImJ0bi1ncm91cFwiLFxyXG4gICAgICAgICAgICBcIml0ZW1MYWJlbEh0bWxDbGFzc1wiOiBcImJ0blwiXHJcbiAgICAgICAgfSxcclxuICAgICAgICBcImNoZWNrYm94ZXMtaW5saW5lXCI6IHtcclxuICAgICAgICAgICAgXCJodG1sQ2xhc3NcIjogXCJjaGVja2JveFwiLFxyXG4gICAgICAgICAgICBcIml0ZW1MYWJlbEh0bWxDbGFzc1wiOiBcImNoZWNrYm94LWlubGluZVwiXHJcbiAgICAgICAgfSxcclxuICAgICAgICBcImRhdGVcIjoge30sXHJcbiAgICAgICAgXCJkYXRldGltZS1sb2NhbFwiOiB7fSxcclxuICAgICAgICBcImZpZWxkc2V0XCI6IHt9LFxyXG4gICAgICAgIFwiaW50ZWdlclwiOiB7fSxcclxuICAgICAgICBcIm51bWJlclwiOiB7fSxcclxuICAgICAgICBcIm9wdGlvbmZpZWxkc2V0XCI6IHt9LFxyXG4gICAgICAgIFwicGFzc3dvcmRcIjoge30sXHJcbiAgICAgICAgXCJyYWRpb2J1dHRvbnNcIjoge1xyXG4gICAgICAgICAgICBcImZpZWxkSHRtbENsYXNzXCI6IFwic3Itb25seVwiLFxyXG4gICAgICAgICAgICBcImh0bWxDbGFzc1wiOiBcImJ0bi1ncm91cFwiLFxyXG4gICAgICAgICAgICBcIml0ZW1MYWJlbEh0bWxDbGFzc1wiOiBcImJ0blwiXHJcbiAgICAgICAgfSxcclxuICAgICAgICBcInJhZGlvXCI6IHsgXCJmaWVsZEh0bWxDbGFzc1wiOiBcInJhZGlvXCIgfSxcclxuICAgICAgICBcInJhZGlvc1wiOiB7XHJcbiAgICAgICAgICAgIFwiZmllbGRIdG1sQ2xhc3NcIjogXCJyYWRpb1wiXHJcbiAgICAgICAgfSxcclxuICAgICAgICBcInJhZGlvcy1pbmxpbmVcIjoge1xyXG4gICAgICAgICAgICBcImh0bWxDbGFzc1wiOiBcInJhZGlvXCIsXHJcbiAgICAgICAgICAgIFwiaXRlbUxhYmVsSHRtbENsYXNzXCI6IFwicmFkaW8taW5saW5lXCJcclxuICAgICAgICB9LFxyXG4gICAgICAgIFwicmFuZ2VcIjoge30sXHJcbiAgICAgICAgXCJzZWN0aW9uXCI6IHt9LFxyXG4gICAgICAgIFwic2VsZWN0ZmllbGRzZXRcIjoge30sXHJcbiAgICAgICAgXCJzZWxlY3RcIjoge30sXHJcbiAgICAgICAgXCJzdWJtaXRcIjoge1xyXG4gICAgICAgICAgICBcImZpZWxkSHRtbENsYXNzXCI6IFwiYnRuIGJ0bi1wcmltYXJ5XCJcclxuICAgICAgICB9LFxyXG4gICAgICAgIFwidGV4dFwiOiB7fSxcclxuICAgICAgICBcInRhYnNcIjoge1xyXG4gICAgICAgICAgICBcImxhYmVsSHRtbENsYXNzXCI6IFwibmF2IG5hdi10YWJzXCIsXHJcbiAgICAgICAgICAgIFwiaHRtbENsYXNzXCI6IFwidGFiLWNvbnRlbnRcIixcclxuICAgICAgICAgICAgXCJmaWVsZEh0bWxDbGFzc1wiOiBcInRhYi1wYW5lXCJcclxuICAgICAgICB9LFxyXG4gICAgICAgIFwidGFiYXJyYXlcIjoge1xyXG4gICAgICAgICAgICBcImxhYmVsSHRtbENsYXNzXCI6IFwibmF2IG5hdi10YWJzXCIsXHJcbiAgICAgICAgICAgIFwiaHRtbENsYXNzXCI6IFwidGFiLWNvbnRlbnRcIixcclxuICAgICAgICAgICAgXCJmaWVsZEh0bWxDbGFzc1wiOiBcInRhYi1wYW5lXCJcclxuICAgICAgICB9LFxyXG4gICAgICAgIFwidGV4dGFyZWFcIjoge30sXHJcbiAgICAgICAgXCJkZWZhdWx0XCI6IHtcclxuICAgICAgICAgICAgXCJmaWVsZEh0bWxDbGFzc1wiOiBcImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19
@@ -0,0 +1,51 @@
1
+ import { Component, Input, ViewEncapsulation } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@ng-formworks/core";
4
+ import * as i2 from "@ng-formworks/cssframework";
5
+ /**
6
+ * Bootstrap 4 framework for Angular JSON Schema Form.
7
+ *
8
+ */
9
+ export class Bootstrap4FrameworkComponent {
10
+ constructor(changeDetector, jsf) {
11
+ this.changeDetector = changeDetector;
12
+ this.jsf = jsf;
13
+ this.frameworkInitialized = false;
14
+ this.formControl = null;
15
+ this.debugOutput = '';
16
+ this.debug = '';
17
+ this.parentArray = null;
18
+ this.isOrderable = false;
19
+ }
20
+ ngOnInit() {
21
+ }
22
+ ngOnChanges() {
23
+ }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Bootstrap4FrameworkComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: Bootstrap4FrameworkComponent, selector: "bootstrap-4-framework", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, usesOnChanges: true, ngImport: i0, template: `
26
+ <div>
27
+ <css-framework [layoutNode]="layoutNode"
28
+ [layoutIndex]="layoutIndex"
29
+ [dataIndex]="dataIndex">
30
+ </css-framework>
31
+ </div>
32
+ `, isInline: true, styles: [":host ::ng-deep .list-group-item .form-control-feedback{top:40px}:host ::ng-deep .checkbox,:host ::ng-deep .radio{margin-top:0;margin-bottom:0}:host ::ng-deep .checkbox-inline,:host ::ng-deep .checkbox-inline+.checkbox-inline,:host ::ng-deep .checkbox-inline+.radio-inline,:host ::ng-deep .radio-inline,:host ::ng-deep .radio-inline+.radio-inline,:host ::ng-deep .radio-inline+.checkbox-inline{margin-left:0;margin-right:10px}:host ::ng-deep .checkbox-inline:last-child,:host ::ng-deep .radio-inline:last-child{margin-right:0}:host ::ng-deep .ng-invalid.ng-touched{border:1px solid #f44336}.input-group .form-control:first-child,.input-group-text:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-text:first-child{border-right:0}.input-group .form-control:last-child,.input-group-text:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-text:last-child{border-left:0}.input-group .form-control:not(:first-child):not(:last-child),.input-group-text:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}\n"], dependencies: [{ kind: "component", type: i2.CssFrameworkComponent, selector: "css-framework", inputs: ["layoutNode", "layoutIndex", "dataIndex", "widgetStyles"] }], encapsulation: i0.ViewEncapsulation.None }); }
33
+ }
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Bootstrap4FrameworkComponent, decorators: [{
35
+ type: Component,
36
+ args: [{ selector: 'bootstrap-4-framework', template: `
37
+ <div>
38
+ <css-framework [layoutNode]="layoutNode"
39
+ [layoutIndex]="layoutIndex"
40
+ [dataIndex]="dataIndex">
41
+ </css-framework>
42
+ </div>
43
+ `, encapsulation: ViewEncapsulation.None, styles: [":host ::ng-deep .list-group-item .form-control-feedback{top:40px}:host ::ng-deep .checkbox,:host ::ng-deep .radio{margin-top:0;margin-bottom:0}:host ::ng-deep .checkbox-inline,:host ::ng-deep .checkbox-inline+.checkbox-inline,:host ::ng-deep .checkbox-inline+.radio-inline,:host ::ng-deep .radio-inline,:host ::ng-deep .radio-inline+.radio-inline,:host ::ng-deep .radio-inline+.checkbox-inline{margin-left:0;margin-right:10px}:host ::ng-deep .checkbox-inline:last-child,:host ::ng-deep .radio-inline:last-child{margin-right:0}:host ::ng-deep .ng-invalid.ng-touched{border:1px solid #f44336}.input-group .form-control:first-child,.input-group-text:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-text:first-child{border-right:0}.input-group .form-control:last-child,.input-group-text:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-text:last-child{border-left:0}.input-group .form-control:not(:first-child):not(:last-child),.input-group-text:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}\n"] }]
44
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.JsonSchemaFormService }], propDecorators: { layoutNode: [{
45
+ type: Input
46
+ }], layoutIndex: [{
47
+ type: Input
48
+ }], dataIndex: [{
49
+ type: Input
50
+ }] } });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwNC1mcmFtZXdvcmsuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZm9ybXdvcmtzLWJvb3RzdHJhcDQvc3JjL2xpYi9ib290c3RyYXA0LWZyYW1ld29yay5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLEVBR0wsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7O0FBR3ZCOzs7R0FHRztBQWVILE1BQU0sT0FBTyw0QkFBNEI7SUFldkMsWUFDUyxjQUFpQyxFQUNqQyxHQUEwQjtRQUQxQixtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDakMsUUFBRyxHQUFILEdBQUcsQ0FBdUI7UUFoQm5DLHlCQUFvQixHQUFHLEtBQUssQ0FBQztRQUk3QixnQkFBVyxHQUFRLElBQUksQ0FBQztRQUN4QixnQkFBVyxHQUFRLEVBQUUsQ0FBQztRQUN0QixVQUFLLEdBQVEsRUFBRSxDQUFDO1FBQ2hCLGdCQUFXLEdBQVEsSUFBSSxDQUFDO1FBQ3hCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0lBVXBCLENBQUM7SUFJRCxRQUFRO0lBRVIsQ0FBQztJQUVELFdBQVc7SUFFWCxDQUFDOytHQTdCVSw0QkFBNEI7bUdBQTVCLDRCQUE0Qiw0S0FYN0I7Ozs7Ozs7R0FPVDs7NEZBSVUsNEJBQTRCO2tCQWR4QyxTQUFTOytCQUVFLHVCQUF1QixZQUN2Qjs7Ozs7OztHQU9ULGlCQUVhLGlCQUFpQixDQUFDLElBQUk7MEhBWTNCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBKc29uU2NoZW1hRm9ybVNlcnZpY2UgfSBmcm9tICdAbmctZm9ybXdvcmtzL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIEJvb3RzdHJhcCA0IGZyYW1ld29yayBmb3IgQW5ndWxhciBKU09OIFNjaGVtYSBGb3JtLlxyXG4gKlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiAnYm9vdHN0cmFwLTQtZnJhbWV3b3JrJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gIDxkaXY+XHJcbiAgICA8Y3NzLWZyYW1ld29yayBbbGF5b3V0Tm9kZV09XCJsYXlvdXROb2RlXCIgXHJcbiAgICBbbGF5b3V0SW5kZXhdPVwibGF5b3V0SW5kZXhcIiBcclxuICAgIFtkYXRhSW5kZXhdPVwiZGF0YUluZGV4XCI+XHJcbiAgICA8L2Nzcy1mcmFtZXdvcms+XHJcbiAgPC9kaXY+XHJcbiAgYCxcclxuICBzdHlsZVVybHM6IFsnLi9ib290c3RyYXA0LWZyYW1ld29yay5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246Vmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQm9vdHN0cmFwNEZyYW1ld29ya0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBmcmFtZXdvcmtJbml0aWFsaXplZCA9IGZhbHNlO1xyXG4gIHdpZGdldE9wdGlvbnM6IGFueTsgLy8gT3B0aW9ucyBwYXNzZWQgdG8gY2hpbGQgd2lkZ2V0XHJcbiAgd2lkZ2V0TGF5b3V0Tm9kZTogYW55OyAvLyBsYXlvdXROb2RlIHBhc3NlZCB0byBjaGlsZCB3aWRnZXRcclxuICBvcHRpb25zOiBhbnk7IC8vIE9wdGlvbnMgdXNlZCBpbiB0aGlzIGZyYW1ld29ya1xyXG4gIGZvcm1Db250cm9sOiBhbnkgPSBudWxsO1xyXG4gIGRlYnVnT3V0cHV0OiBhbnkgPSAnJztcclxuICBkZWJ1ZzogYW55ID0gJyc7XHJcbiAgcGFyZW50QXJyYXk6IGFueSA9IG51bGw7XHJcbiAgaXNPcmRlcmFibGUgPSBmYWxzZTtcclxuICBASW5wdXQoKSBsYXlvdXROb2RlOiBhbnk7XHJcbiAgQElucHV0KCkgbGF5b3V0SW5kZXg6IG51bWJlcltdO1xyXG4gIEBJbnB1dCgpIGRhdGFJbmRleDogbnVtYmVyW107XHJcbiAgXHJcbiAgXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIGpzZjogSnNvblNjaGVtYUZvcm1TZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG4gIFxyXG4gIFxyXG4gIFxyXG4gIG5nT25Jbml0KCkge1xyXG4gIFxyXG4gIH1cclxuICBcclxuICBuZ09uQ2hhbmdlcygpIHtcclxuICBcclxuICB9XHJcbiAgXHJcbiAgXHJcbiAgXHJcbiAgXHJcbiAgXHJcbiAgXHJcbiAgfVxyXG4gICJdfQ==
@@ -0,0 +1,49 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { Framework, FrameworkLibraryService, JsonSchemaFormModule, JsonSchemaFormService, WidgetLibraryModule, WidgetLibraryService } from '@ng-formworks/core';
4
+ import { CssFrameworkModule } from '@ng-formworks/cssframework';
5
+ import { Bootstrap4FrameworkComponent } from './bootstrap4-framework.component';
6
+ import { Bootstrap4Framework } from './bootstrap4.framework';
7
+ import * as i0 from "@angular/core";
8
+ export class Bootstrap4FrameworkModule {
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Bootstrap4FrameworkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: Bootstrap4FrameworkModule, declarations: [Bootstrap4FrameworkComponent], imports: [JsonSchemaFormModule,
11
+ CommonModule,
12
+ WidgetLibraryModule,
13
+ CssFrameworkModule], exports: [JsonSchemaFormModule,
14
+ Bootstrap4FrameworkComponent] }); }
15
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Bootstrap4FrameworkModule, providers: [
16
+ JsonSchemaFormService,
17
+ FrameworkLibraryService,
18
+ WidgetLibraryService,
19
+ { provide: Framework, useClass: Bootstrap4Framework, multi: true },
20
+ ], imports: [JsonSchemaFormModule,
21
+ CommonModule,
22
+ WidgetLibraryModule,
23
+ CssFrameworkModule, JsonSchemaFormModule] }); }
24
+ }
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Bootstrap4FrameworkModule, decorators: [{
26
+ type: NgModule,
27
+ args: [{
28
+ imports: [
29
+ JsonSchemaFormModule,
30
+ CommonModule,
31
+ WidgetLibraryModule,
32
+ CssFrameworkModule
33
+ ],
34
+ declarations: [
35
+ Bootstrap4FrameworkComponent,
36
+ ],
37
+ exports: [
38
+ JsonSchemaFormModule,
39
+ Bootstrap4FrameworkComponent,
40
+ ],
41
+ providers: [
42
+ JsonSchemaFormService,
43
+ FrameworkLibraryService,
44
+ WidgetLibraryService,
45
+ { provide: Framework, useClass: Bootstrap4Framework, multi: true },
46
+ ]
47
+ }]
48
+ }] });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwNC1mcmFtZXdvcmsubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZm9ybXdvcmtzLWJvb3RzdHJhcDQvc3JjL2xpYi9ib290c3RyYXA0LWZyYW1ld29yay5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUNILFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3ZCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDaEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBdUI3RCxNQUFNLE9BQU8seUJBQXlCOytHQUF6Qix5QkFBeUI7Z0hBQXpCLHlCQUF5QixpQkFiOUIsNEJBQTRCLGFBTjVCLG9CQUFvQjtZQUNwQixZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLGtCQUFrQixhQU1sQixvQkFBb0I7WUFDcEIsNEJBQTRCO2dIQVN2Qix5QkFBeUIsYUFQdkI7WUFDUCxxQkFBcUI7WUFDckIsdUJBQXVCO1lBQ3ZCLG9CQUFvQjtZQUNwQixFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7U0FDckUsWUFqQkcsb0JBQW9CO1lBQ3BCLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsa0JBQWtCLEVBTWxCLG9CQUFvQjs7NEZBVWYseUJBQXlCO2tCQXJCckMsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsb0JBQW9CO3dCQUNwQixZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3FCQUNyQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1YsNEJBQTRCO3FCQUMvQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsb0JBQW9CO3dCQUNwQiw0QkFBNEI7cUJBQy9CO29CQUNELFNBQVMsRUFBRTt3QkFDUCxxQkFBcUI7d0JBQ3JCLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQixFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7cUJBQ3JFO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICAgIEZyYW1ld29yayxcclxuICAgIEZyYW1ld29ya0xpYnJhcnlTZXJ2aWNlLFxyXG4gICAgSnNvblNjaGVtYUZvcm1Nb2R1bGUsXHJcbiAgICBKc29uU2NoZW1hRm9ybVNlcnZpY2UsXHJcbiAgICBXaWRnZXRMaWJyYXJ5TW9kdWxlLFxyXG4gICAgV2lkZ2V0TGlicmFyeVNlcnZpY2VcclxufSBmcm9tICdAbmctZm9ybXdvcmtzL2NvcmUnO1xyXG5pbXBvcnQgeyBDc3NGcmFtZXdvcmtNb2R1bGUgfSBmcm9tICdAbmctZm9ybXdvcmtzL2Nzc2ZyYW1ld29yayc7XHJcbmltcG9ydCB7IEJvb3RzdHJhcDRGcmFtZXdvcmtDb21wb25lbnQgfSBmcm9tICcuL2Jvb3RzdHJhcDQtZnJhbWV3b3JrLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJvb3RzdHJhcDRGcmFtZXdvcmsgfSBmcm9tICcuL2Jvb3RzdHJhcDQuZnJhbWV3b3JrJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgSnNvblNjaGVtYUZvcm1Nb2R1bGUsXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIFdpZGdldExpYnJhcnlNb2R1bGUsXHJcbiAgICAgICAgQ3NzRnJhbWV3b3JrTW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgQm9vdHN0cmFwNEZyYW1ld29ya0NvbXBvbmVudCxcclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgSnNvblNjaGVtYUZvcm1Nb2R1bGUsXHJcbiAgICAgICAgQm9vdHN0cmFwNEZyYW1ld29ya0NvbXBvbmVudCxcclxuICAgIF0sXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBKc29uU2NoZW1hRm9ybVNlcnZpY2UsXHJcbiAgICAgICAgRnJhbWV3b3JrTGlicmFyeVNlcnZpY2UsXHJcbiAgICAgICAgV2lkZ2V0TGlicmFyeVNlcnZpY2UsXHJcbiAgICAgICAgeyBwcm92aWRlOiBGcmFtZXdvcmssIHVzZUNsYXNzOiBCb290c3RyYXA0RnJhbWV3b3JrLCBtdWx0aTogdHJ1ZSB9LFxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQm9vdHN0cmFwNEZyYW1ld29ya01vZHVsZSB7XHJcbn1cclxuIl19
@@ -0,0 +1,21 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { CssFramework } from '@ng-formworks/cssframework';
3
+ import { cssFrameworkCfgBootstrap4 } from './bootstrap4-cssframework';
4
+ import { Bootstrap4FrameworkComponent } from './bootstrap4-framework.component';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@ng-formworks/cssframework";
7
+ // Bootstrap 4 Framework
8
+ // https://github.com/ng-bootstrap/ng-bootstrap
9
+ export class Bootstrap4Framework extends CssFramework {
10
+ constructor(cssFWService) {
11
+ super(cssFrameworkCfgBootstrap4, cssFWService);
12
+ this.cssFWService = cssFWService;
13
+ this.framework = Bootstrap4FrameworkComponent;
14
+ }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Bootstrap4Framework, deps: [{ token: i1.CssframeworkService }], target: i0.ɵɵFactoryTarget.Injectable }); }
16
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Bootstrap4Framework }); }
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Bootstrap4Framework, decorators: [{
19
+ type: Injectable
20
+ }], ctorParameters: () => [{ type: i1.CssframeworkService }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwNC5mcmFtZXdvcmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1mb3Jtd29ya3MtYm9vdHN0cmFwNC9zcmMvbGliL2Jvb3RzdHJhcDQuZnJhbWV3b3JrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBdUIsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7O0FBRWhGLHdCQUF3QjtBQUN4QiwrQ0FBK0M7QUFHL0MsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFlBQVk7SUFJbkQsWUFBbUIsWUFBZ0M7UUFDakQsS0FBSyxDQUFDLHlCQUF5QixFQUFDLFlBQVksQ0FBQyxDQUFDO1FBRDdCLGlCQUFZLEdBQVosWUFBWSxDQUFvQjtRQUZuRCxjQUFTLEdBQUcsNEJBQTRCLENBQUM7SUFJekMsQ0FBQzsrR0FOVSxtQkFBbUI7bUhBQW5CLG1CQUFtQjs7NEZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ3NzRnJhbWV3b3JrLCBDc3NmcmFtZXdvcmtTZXJ2aWNlIH0gZnJvbSAnQG5nLWZvcm13b3Jrcy9jc3NmcmFtZXdvcmsnO1xyXG5pbXBvcnQgeyBjc3NGcmFtZXdvcmtDZmdCb290c3RyYXA0IH0gZnJvbSAnLi9ib290c3RyYXA0LWNzc2ZyYW1ld29yayc7XHJcbmltcG9ydCB7IEJvb3RzdHJhcDRGcmFtZXdvcmtDb21wb25lbnQgfSBmcm9tICcuL2Jvb3RzdHJhcDQtZnJhbWV3b3JrLmNvbXBvbmVudCc7XHJcblxyXG4vLyBCb290c3RyYXAgNCBGcmFtZXdvcmtcclxuLy8gaHR0cHM6Ly9naXRodWIuY29tL25nLWJvb3RzdHJhcC9uZy1ib290c3RyYXBcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEJvb3RzdHJhcDRGcmFtZXdvcmsgZXh0ZW5kcyBDc3NGcmFtZXdvcmsge1xyXG4gIFxyXG4gIGZyYW1ld29yayA9IEJvb3RzdHJhcDRGcmFtZXdvcmtDb21wb25lbnQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjc3NGV1NlcnZpY2U6Q3NzZnJhbWV3b3JrU2VydmljZSl7XHJcbiAgICBzdXBlcihjc3NGcmFtZXdvcmtDZmdCb290c3RyYXA0LGNzc0ZXU2VydmljZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZm9ybXdvcmtzLWJvb3RzdHJhcDQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1mb3Jtd29ya3MtYm9vdHN0cmFwNC9zcmMvbmctZm9ybXdvcmtzLWJvb3RzdHJhcDQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
@@ -0,0 +1,7 @@
1
+ /*
2
+ * Public API Surface of @ng-formworks/bootstrap4
3
+ */
4
+ export * from './lib/bootstrap4-framework.component';
5
+ export * from './lib/bootstrap4-framework.module';
6
+ export * from './lib/bootstrap4.framework';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWZvcm13b3Jrcy1ib290c3RyYXA0L3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgQG5nLWZvcm13b3Jrcy9ib290c3RyYXA0XHJcbiAqL1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYm9vdHN0cmFwNC1mcmFtZXdvcmsuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYm9vdHN0cmFwNC1mcmFtZXdvcmsubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYm9vdHN0cmFwNC5mcmFtZXdvcmsnO1xyXG5cclxuIl19
@@ -0,0 +1,226 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Component, ViewEncapsulation, Input, Injectable, NgModule } from '@angular/core';
3
+ import * as i1 from '@ng-formworks/core';
4
+ import { JsonSchemaFormModule, WidgetLibraryModule, JsonSchemaFormService, FrameworkLibraryService, WidgetLibraryService, Framework } from '@ng-formworks/core';
5
+ import * as i1$1 from '@ng-formworks/cssframework';
6
+ import { CssFramework, CssFrameworkModule } from '@ng-formworks/cssframework';
7
+ import { CommonModule } from '@angular/common';
8
+
9
+ /**
10
+ * Bootstrap 4 framework for Angular JSON Schema Form.
11
+ *
12
+ */
13
+ class Bootstrap4FrameworkComponent {
14
+ constructor(changeDetector, jsf) {
15
+ this.changeDetector = changeDetector;
16
+ this.jsf = jsf;
17
+ this.frameworkInitialized = false;
18
+ this.formControl = null;
19
+ this.debugOutput = '';
20
+ this.debug = '';
21
+ this.parentArray = null;
22
+ this.isOrderable = false;
23
+ }
24
+ ngOnInit() {
25
+ }
26
+ ngOnChanges() {
27
+ }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Bootstrap4FrameworkComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.JsonSchemaFormService }], target: i0.ɵɵFactoryTarget.Component }); }
29
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: Bootstrap4FrameworkComponent, selector: "bootstrap-4-framework", inputs: { layoutNode: "layoutNode", layoutIndex: "layoutIndex", dataIndex: "dataIndex" }, usesOnChanges: true, ngImport: i0, template: `
30
+ <div>
31
+ <css-framework [layoutNode]="layoutNode"
32
+ [layoutIndex]="layoutIndex"
33
+ [dataIndex]="dataIndex">
34
+ </css-framework>
35
+ </div>
36
+ `, isInline: true, styles: [":host ::ng-deep .list-group-item .form-control-feedback{top:40px}:host ::ng-deep .checkbox,:host ::ng-deep .radio{margin-top:0;margin-bottom:0}:host ::ng-deep .checkbox-inline,:host ::ng-deep .checkbox-inline+.checkbox-inline,:host ::ng-deep .checkbox-inline+.radio-inline,:host ::ng-deep .radio-inline,:host ::ng-deep .radio-inline+.radio-inline,:host ::ng-deep .radio-inline+.checkbox-inline{margin-left:0;margin-right:10px}:host ::ng-deep .checkbox-inline:last-child,:host ::ng-deep .radio-inline:last-child{margin-right:0}:host ::ng-deep .ng-invalid.ng-touched{border:1px solid #f44336}.input-group .form-control:first-child,.input-group-text:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-text:first-child{border-right:0}.input-group .form-control:last-child,.input-group-text:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-text:last-child{border-left:0}.input-group .form-control:not(:first-child):not(:last-child),.input-group-text:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}\n"], dependencies: [{ kind: "component", type: i1$1.CssFrameworkComponent, selector: "css-framework", inputs: ["layoutNode", "layoutIndex", "dataIndex", "widgetStyles"] }], encapsulation: i0.ViewEncapsulation.None }); }
37
+ }
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Bootstrap4FrameworkComponent, decorators: [{
39
+ type: Component,
40
+ args: [{ selector: 'bootstrap-4-framework', template: `
41
+ <div>
42
+ <css-framework [layoutNode]="layoutNode"
43
+ [layoutIndex]="layoutIndex"
44
+ [dataIndex]="dataIndex">
45
+ </css-framework>
46
+ </div>
47
+ `, encapsulation: ViewEncapsulation.None, styles: [":host ::ng-deep .list-group-item .form-control-feedback{top:40px}:host ::ng-deep .checkbox,:host ::ng-deep .radio{margin-top:0;margin-bottom:0}:host ::ng-deep .checkbox-inline,:host ::ng-deep .checkbox-inline+.checkbox-inline,:host ::ng-deep .checkbox-inline+.radio-inline,:host ::ng-deep .radio-inline,:host ::ng-deep .radio-inline+.radio-inline,:host ::ng-deep .radio-inline+.checkbox-inline{margin-left:0;margin-right:10px}:host ::ng-deep .checkbox-inline:last-child,:host ::ng-deep .radio-inline:last-child{margin-right:0}:host ::ng-deep .ng-invalid.ng-touched{border:1px solid #f44336}.input-group .form-control:first-child,.input-group-text:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-text:first-child{border-right:0}.input-group .form-control:last-child,.input-group-text:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-text:last-child{border-left:0}.input-group .form-control:not(:first-child):not(:last-child),.input-group-text:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}\n"] }]
48
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.JsonSchemaFormService }], propDecorators: { layoutNode: [{
49
+ type: Input
50
+ }], layoutIndex: [{
51
+ type: Input
52
+ }], dataIndex: [{
53
+ type: Input
54
+ }] } });
55
+
56
+ const cssFrameworkCfgBootstrap4 = {
57
+ "name": "bootstrap-4",
58
+ "text": "Bootstrap 4",
59
+ "scripts": [
60
+ "//cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js",
61
+ "//cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js"
62
+ ],
63
+ "stylesheets": [
64
+ "//cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/css/bootstrap.min.css"
65
+ ],
66
+ "widgetstyles": {
67
+ "__themes__": [
68
+ { "name": "bootstrap4_default", "text": "Bootstrap4 default" }
69
+ ],
70
+ "$ref": {
71
+ "fieldHtmlClass": "btn float-right btn-info"
72
+ },
73
+ "__array_item_nonref__": {
74
+ "htmlClass": "list-group-item"
75
+ },
76
+ "__form_group__": {
77
+ "htmlClass": "form-group"
78
+ },
79
+ "__control_label__": {
80
+ "labelHtmlClass": "control-label"
81
+ },
82
+ "__active__": {
83
+ "activeClass": "active"
84
+ },
85
+ "__required_asterisk__": "text-danger",
86
+ "__screen_reader__": "sr-only",
87
+ "__remove_item__": "close float-right",
88
+ "__help_block__": "help-block",
89
+ "__field_addon_left__": "input-group-text input-group-prepend",
90
+ "__field_addon_right__": "input-group-text input-group-append",
91
+ "alt-date": {},
92
+ "alt-datetime": {},
93
+ "__array__": {
94
+ "htmlClass": "list-group"
95
+ },
96
+ "array": {},
97
+ "authfieldset": {},
98
+ "advancedfieldset": {},
99
+ "button": {
100
+ "fieldHtmlClass": "btn btn-sm btn-primary"
101
+ },
102
+ "checkbox": { "fieldHtmlClass": "checkbox" },
103
+ "checkboxes": {
104
+ "fieldHtmlClass": "checkbox"
105
+ },
106
+ "checkboxbuttons": {
107
+ "fieldHtmlClass": "sr-only",
108
+ "htmlClass": "btn-group",
109
+ "itemLabelHtmlClass": "btn"
110
+ },
111
+ "checkboxes-inline": {
112
+ "htmlClass": "checkbox",
113
+ "itemLabelHtmlClass": "checkbox-inline"
114
+ },
115
+ "date": {},
116
+ "datetime-local": {},
117
+ "fieldset": {},
118
+ "integer": {},
119
+ "number": {},
120
+ "optionfieldset": {},
121
+ "password": {},
122
+ "radiobuttons": {
123
+ "fieldHtmlClass": "sr-only",
124
+ "htmlClass": "btn-group",
125
+ "itemLabelHtmlClass": "btn"
126
+ },
127
+ "radio": { "fieldHtmlClass": "radio" },
128
+ "radios": {
129
+ "fieldHtmlClass": "radio"
130
+ },
131
+ "radios-inline": {
132
+ "htmlClass": "radio",
133
+ "itemLabelHtmlClass": "radio-inline"
134
+ },
135
+ "range": {},
136
+ "section": {},
137
+ "selectfieldset": {},
138
+ "select": {},
139
+ "submit": {
140
+ "fieldHtmlClass": "btn btn-primary"
141
+ },
142
+ "text": {},
143
+ "tabs": {
144
+ "labelHtmlClass": "nav nav-tabs",
145
+ "htmlClass": "tab-content",
146
+ "fieldHtmlClass": "tab-pane"
147
+ },
148
+ "tabarray": {
149
+ "labelHtmlClass": "nav nav-tabs",
150
+ "htmlClass": "tab-content",
151
+ "fieldHtmlClass": "tab-pane"
152
+ },
153
+ "textarea": {},
154
+ "default": {
155
+ "fieldHtmlClass": "form-control"
156
+ }
157
+ }
158
+ };
159
+
160
+ // Bootstrap 4 Framework
161
+ // https://github.com/ng-bootstrap/ng-bootstrap
162
+ class Bootstrap4Framework extends CssFramework {
163
+ constructor(cssFWService) {
164
+ super(cssFrameworkCfgBootstrap4, cssFWService);
165
+ this.cssFWService = cssFWService;
166
+ this.framework = Bootstrap4FrameworkComponent;
167
+ }
168
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Bootstrap4Framework, deps: [{ token: i1$1.CssframeworkService }], target: i0.ɵɵFactoryTarget.Injectable }); }
169
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Bootstrap4Framework }); }
170
+ }
171
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Bootstrap4Framework, decorators: [{
172
+ type: Injectable
173
+ }], ctorParameters: () => [{ type: i1$1.CssframeworkService }] });
174
+
175
+ class Bootstrap4FrameworkModule {
176
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Bootstrap4FrameworkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
177
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: Bootstrap4FrameworkModule, declarations: [Bootstrap4FrameworkComponent], imports: [JsonSchemaFormModule,
178
+ CommonModule,
179
+ WidgetLibraryModule,
180
+ CssFrameworkModule], exports: [JsonSchemaFormModule,
181
+ Bootstrap4FrameworkComponent] }); }
182
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Bootstrap4FrameworkModule, providers: [
183
+ JsonSchemaFormService,
184
+ FrameworkLibraryService,
185
+ WidgetLibraryService,
186
+ { provide: Framework, useClass: Bootstrap4Framework, multi: true },
187
+ ], imports: [JsonSchemaFormModule,
188
+ CommonModule,
189
+ WidgetLibraryModule,
190
+ CssFrameworkModule, JsonSchemaFormModule] }); }
191
+ }
192
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: Bootstrap4FrameworkModule, decorators: [{
193
+ type: NgModule,
194
+ args: [{
195
+ imports: [
196
+ JsonSchemaFormModule,
197
+ CommonModule,
198
+ WidgetLibraryModule,
199
+ CssFrameworkModule
200
+ ],
201
+ declarations: [
202
+ Bootstrap4FrameworkComponent,
203
+ ],
204
+ exports: [
205
+ JsonSchemaFormModule,
206
+ Bootstrap4FrameworkComponent,
207
+ ],
208
+ providers: [
209
+ JsonSchemaFormService,
210
+ FrameworkLibraryService,
211
+ WidgetLibraryService,
212
+ { provide: Framework, useClass: Bootstrap4Framework, multi: true },
213
+ ]
214
+ }]
215
+ }] });
216
+
217
+ /*
218
+ * Public API Surface of @ng-formworks/bootstrap4
219
+ */
220
+
221
+ /**
222
+ * Generated bundle index. Do not edit.
223
+ */
224
+
225
+ export { Bootstrap4Framework, Bootstrap4FrameworkComponent, Bootstrap4FrameworkModule };
226
+ //# sourceMappingURL=ng-formworks-bootstrap4.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ng-formworks-bootstrap4.mjs","sources":["../../../../projects/ng-formworks-bootstrap4/src/lib/bootstrap4-framework.component.ts","../../../../projects/ng-formworks-bootstrap4/src/lib/bootstrap4-cssframework.ts","../../../../projects/ng-formworks-bootstrap4/src/lib/bootstrap4.framework.ts","../../../../projects/ng-formworks-bootstrap4/src/lib/bootstrap4-framework.module.ts","../../../../projects/ng-formworks-bootstrap4/src/public_api.ts","../../../../projects/ng-formworks-bootstrap4/src/ng-formworks-bootstrap4.ts"],"sourcesContent":["import {\r\n ChangeDetectorRef,\r\n Component,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport { JsonSchemaFormService } from '@ng-formworks/core';\r\n\r\n/**\r\n * Bootstrap 4 framework for Angular JSON Schema Form.\r\n *\r\n */\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'bootstrap-4-framework',\r\n template: `\r\n <div>\r\n <css-framework [layoutNode]=\"layoutNode\" \r\n [layoutIndex]=\"layoutIndex\" \r\n [dataIndex]=\"dataIndex\">\r\n </css-framework>\r\n </div>\r\n `,\r\n styleUrls: ['./bootstrap4-framework.component.scss'],\r\n encapsulation:ViewEncapsulation.None\r\n})\r\nexport class Bootstrap4FrameworkComponent implements OnInit, OnChanges {\r\n frameworkInitialized = false;\r\n widgetOptions: any; // Options passed to child widget\r\n widgetLayoutNode: any; // layoutNode passed to child widget\r\n options: any; // Options used in this framework\r\n formControl: any = null;\r\n debugOutput: any = '';\r\n debug: any = '';\r\n parentArray: any = null;\r\n isOrderable = false;\r\n @Input() layoutNode: any;\r\n @Input() layoutIndex: number[];\r\n @Input() dataIndex: number[];\r\n \r\n \r\n constructor(\r\n public changeDetector: ChangeDetectorRef,\r\n public jsf: JsonSchemaFormService\r\n ) {\r\n }\r\n \r\n \r\n \r\n ngOnInit() {\r\n \r\n }\r\n \r\n ngOnChanges() {\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n ","import { css_fw } from \"@ng-formworks/cssframework\";\r\n\r\nexport const cssFrameworkCfgBootstrap4:css_fw.frameworkcfg={\r\n \"name\": \"bootstrap-4\",\r\n \"text\":\"Bootstrap 4\",\r\n \"scripts\": [\r\n \"//cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js\",\r\n \"//cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js\"\r\n ],\r\n \"stylesheets\": [\r\n \"//cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/css/bootstrap.min.css\"\r\n ],\r\n \"widgetstyles\": {\r\n \"__themes__\": [\r\n {\"name\":\"bootstrap4_default\",\"text\":\"Bootstrap4 default\"}\r\n ],\r\n \"$ref\": {\r\n \"fieldHtmlClass\": \"btn float-right btn-info\"\r\n },\r\n \"__array_item_nonref__\": {\r\n \"htmlClass\": \"list-group-item\"\r\n },\r\n \"__form_group__\": {\r\n \"htmlClass\": \"form-group\"\r\n },\r\n \"__control_label__\": {\r\n \"labelHtmlClass\": \"control-label\"\r\n },\r\n \"__active__\": {\r\n \"activeClass\": \"active\"\r\n },\r\n \"__required_asterisk__\": \"text-danger\",\r\n \"__screen_reader__\": \"sr-only\",\r\n \"__remove_item__\": \"close float-right\",\r\n \"__help_block__\": \"help-block\",\r\n \"__field_addon_left__\": \"input-group-text input-group-prepend\",\r\n \"__field_addon_right__\": \"input-group-text input-group-append\",\r\n \"alt-date\": {},\r\n \"alt-datetime\": {},\r\n \"__array__\": {\r\n \"htmlClass\": \"list-group\"\r\n },\r\n \"array\": {},\r\n \"authfieldset\": {},\r\n \"advancedfieldset\": {},\r\n \"button\": {\r\n \"fieldHtmlClass\": \"btn btn-sm btn-primary\"\r\n },\r\n \"checkbox\": { \"fieldHtmlClass\": \"checkbox\" },\r\n \"checkboxes\": {\r\n \"fieldHtmlClass\": \"checkbox\"\r\n },\r\n \"checkboxbuttons\": {\r\n \"fieldHtmlClass\": \"sr-only\",\r\n \"htmlClass\": \"btn-group\",\r\n \"itemLabelHtmlClass\": \"btn\"\r\n },\r\n \"checkboxes-inline\": {\r\n \"htmlClass\": \"checkbox\",\r\n \"itemLabelHtmlClass\": \"checkbox-inline\"\r\n },\r\n \"date\": {},\r\n \"datetime-local\": {},\r\n \"fieldset\": {},\r\n \"integer\": {},\r\n \"number\": {},\r\n \"optionfieldset\": {},\r\n \"password\": {},\r\n \"radiobuttons\": {\r\n \"fieldHtmlClass\": \"sr-only\",\r\n \"htmlClass\": \"btn-group\",\r\n \"itemLabelHtmlClass\": \"btn\"\r\n },\r\n \"radio\": { \"fieldHtmlClass\": \"radio\" },\r\n \"radios\": {\r\n \"fieldHtmlClass\": \"radio\"\r\n },\r\n \"radios-inline\": {\r\n \"htmlClass\": \"radio\",\r\n \"itemLabelHtmlClass\": \"radio-inline\"\r\n },\r\n \"range\": {},\r\n \"section\": {},\r\n \"selectfieldset\": {},\r\n \"select\": {},\r\n \"submit\": {\r\n \"fieldHtmlClass\": \"btn btn-primary\"\r\n },\r\n \"text\": {},\r\n \"tabs\": {\r\n \"labelHtmlClass\": \"nav nav-tabs\",\r\n \"htmlClass\": \"tab-content\",\r\n \"fieldHtmlClass\": \"tab-pane\"\r\n },\r\n \"tabarray\": {\r\n \"labelHtmlClass\": \"nav nav-tabs\",\r\n \"htmlClass\": \"tab-content\",\r\n \"fieldHtmlClass\": \"tab-pane\"\r\n },\r\n \"textarea\": {},\r\n \"default\": {\r\n \"fieldHtmlClass\": \"form-control\"\r\n }\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { CssFramework, CssframeworkService } from '@ng-formworks/cssframework';\r\nimport { cssFrameworkCfgBootstrap4 } from './bootstrap4-cssframework';\r\nimport { Bootstrap4FrameworkComponent } from './bootstrap4-framework.component';\r\n\r\n// Bootstrap 4 Framework\r\n// https://github.com/ng-bootstrap/ng-bootstrap\r\n\r\n@Injectable()\r\nexport class Bootstrap4Framework extends CssFramework {\r\n \r\n framework = Bootstrap4FrameworkComponent;\r\n\r\n constructor(public cssFWService:CssframeworkService){\r\n super(cssFrameworkCfgBootstrap4,cssFWService);\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport {\r\n Framework,\r\n FrameworkLibraryService,\r\n JsonSchemaFormModule,\r\n JsonSchemaFormService,\r\n WidgetLibraryModule,\r\n WidgetLibraryService\r\n} from '@ng-formworks/core';\r\nimport { CssFrameworkModule } from '@ng-formworks/cssframework';\r\nimport { Bootstrap4FrameworkComponent } from './bootstrap4-framework.component';\r\nimport { Bootstrap4Framework } from './bootstrap4.framework';\r\n\r\n@NgModule({\r\n imports: [\r\n JsonSchemaFormModule,\r\n CommonModule,\r\n WidgetLibraryModule,\r\n CssFrameworkModule\r\n ],\r\n declarations: [\r\n Bootstrap4FrameworkComponent,\r\n ],\r\n exports: [\r\n JsonSchemaFormModule,\r\n Bootstrap4FrameworkComponent,\r\n ],\r\n providers: [\r\n JsonSchemaFormService,\r\n FrameworkLibraryService,\r\n WidgetLibraryService,\r\n { provide: Framework, useClass: Bootstrap4Framework, multi: true },\r\n ]\r\n})\r\nexport class Bootstrap4FrameworkModule {\r\n}\r\n","/*\r\n * Public API Surface of @ng-formworks/bootstrap4\r\n */\r\n\r\nexport * from './lib/bootstrap4-framework.component';\r\nexport * from './lib/bootstrap4-framework.module';\r\nexport * from './lib/bootstrap4.framework';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i2","i1"],"mappings":"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"}
package/index.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@ng-formworks/bootstrap4" />
5
+ export * from './public_api';
@@ -0,0 +1,2 @@
1
+ import { css_fw } from "@ng-formworks/cssframework";
2
+ export declare const cssFrameworkCfgBootstrap4: css_fw.frameworkcfg;
@@ -0,0 +1,28 @@
1
+ import { ChangeDetectorRef, OnChanges, OnInit } from '@angular/core';
2
+ import { JsonSchemaFormService } from '@ng-formworks/core';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Bootstrap 4 framework for Angular JSON Schema Form.
6
+ *
7
+ */
8
+ export declare class Bootstrap4FrameworkComponent implements OnInit, OnChanges {
9
+ changeDetector: ChangeDetectorRef;
10
+ jsf: JsonSchemaFormService;
11
+ frameworkInitialized: boolean;
12
+ widgetOptions: any;
13
+ widgetLayoutNode: any;
14
+ options: any;
15
+ formControl: any;
16
+ debugOutput: any;
17
+ debug: any;
18
+ parentArray: any;
19
+ isOrderable: boolean;
20
+ layoutNode: any;
21
+ layoutIndex: number[];
22
+ dataIndex: number[];
23
+ constructor(changeDetector: ChangeDetectorRef, jsf: JsonSchemaFormService);
24
+ ngOnInit(): void;
25
+ ngOnChanges(): void;
26
+ static ɵfac: i0.ɵɵFactoryDeclaration<Bootstrap4FrameworkComponent, never>;
27
+ static ɵcmp: i0.ɵɵComponentDeclaration<Bootstrap4FrameworkComponent, "bootstrap-4-framework", never, { "layoutNode": { "alias": "layoutNode"; "required": false; }; "layoutIndex": { "alias": "layoutIndex"; "required": false; }; "dataIndex": { "alias": "dataIndex"; "required": false; }; }, {}, never, never, false, never>;
28
+ }
@@ -0,0 +1,10 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./bootstrap4-framework.component";
3
+ import * as i2 from "@ng-formworks/core";
4
+ import * as i3 from "@angular/common";
5
+ import * as i4 from "@ng-formworks/cssframework";
6
+ export declare class Bootstrap4FrameworkModule {
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<Bootstrap4FrameworkModule, never>;
8
+ static ɵmod: i0.ɵɵNgModuleDeclaration<Bootstrap4FrameworkModule, [typeof i1.Bootstrap4FrameworkComponent], [typeof i2.JsonSchemaFormModule, typeof i3.CommonModule, typeof i2.WidgetLibraryModule, typeof i4.CssFrameworkModule], [typeof i2.JsonSchemaFormModule, typeof i1.Bootstrap4FrameworkComponent]>;
9
+ static ɵinj: i0.ɵɵInjectorDeclaration<Bootstrap4FrameworkModule>;
10
+ }
@@ -0,0 +1,10 @@
1
+ import { CssFramework, CssframeworkService } from '@ng-formworks/cssframework';
2
+ import { Bootstrap4FrameworkComponent } from './bootstrap4-framework.component';
3
+ import * as i0 from "@angular/core";
4
+ export declare class Bootstrap4Framework extends CssFramework {
5
+ cssFWService: CssframeworkService;
6
+ framework: typeof Bootstrap4FrameworkComponent;
7
+ constructor(cssFWService: CssframeworkService);
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<Bootstrap4Framework, never>;
9
+ static ɵprov: i0.ɵɵInjectableDeclaration<Bootstrap4Framework>;
10
+ }
package/package.json CHANGED
@@ -1,54 +1,65 @@
1
- {
2
- "name": "@ng-formworks/bootstrap4",
3
- "version": "17.2.7",
4
- "description": "Angular ng-formworks - JSON Schema Form builder using Bootstrap 4 UI",
5
- "author": "https://github.com/zahmo/ng-formworks/graphs/contributors",
6
- "keywords": [
7
- "Angular",
8
- "ng",
9
- "Angular15",
10
- "Angular 15",
11
- "Angular16",
12
- "Angular 16",
13
- "Angular17",
14
- "Angular 17",
15
- "ng15",
16
- "ng16",
17
- "ng17",
18
- "JSON Schema",
19
- "form",
20
- "forms",
21
- "form builder",
22
- "form themes",
23
- "form generator",
24
- "bootstrap",
25
- "bootstrap 4",
26
- "ajsf",
27
- "ng-formworks",
28
- "ng formworks",
29
- "formworks",
30
- "angular json schema form"
31
- ],
32
- "license": "MIT",
33
- "repository": {
34
- "type": "git",
35
- "url": "git+https://github.com/zahmo/ng-formworks"
36
- },
37
- "bugs": {
38
- "url": "https://github.com/zahmo/ng-formworks/issues"
39
- },
40
- "private": false,
41
- "dependencies": {
42
- "lodash-es": "~4.17.21",
43
- "@ng-formworks/core": "~17.2.7",
44
- "@ng-formworks/cssframework": "~17.2.7",
45
- "tslib": "^2.0.0"
46
- },
47
- "peerDependencies": {
48
- "@angular/common": ">=17.0.0",
49
- "@angular/core": ">=17.0.0"
50
- },
51
- "devDependencies": {
52
- "@types/lodash-es": "^4.17.6"
53
- }
1
+ {
2
+ "name": "@ng-formworks/bootstrap4",
3
+ "version": "17.3.0",
4
+ "description": "Angular ng-formworks - JSON Schema Form builder using Bootstrap 4 UI",
5
+ "author": "https://github.com/zahmo/ng-formworks/graphs/contributors",
6
+ "keywords": [
7
+ "Angular",
8
+ "ng",
9
+ "Angular15",
10
+ "Angular 15",
11
+ "Angular16",
12
+ "Angular 16",
13
+ "Angular17",
14
+ "Angular 17",
15
+ "ng15",
16
+ "ng16",
17
+ "ng17",
18
+ "JSON Schema",
19
+ "form",
20
+ "forms",
21
+ "form builder",
22
+ "form themes",
23
+ "form generator",
24
+ "bootstrap",
25
+ "bootstrap 4",
26
+ "ajsf",
27
+ "ng-formworks",
28
+ "ng formworks",
29
+ "formworks",
30
+ "angular json schema form"
31
+ ],
32
+ "license": "MIT",
33
+ "repository": {
34
+ "type": "git",
35
+ "url": "git+https://github.com/zahmo/ng-formworks"
36
+ },
37
+ "bugs": {
38
+ "url": "https://github.com/zahmo/ng-formworks/issues"
39
+ },
40
+ "private": false,
41
+ "dependencies": {
42
+ "lodash-es": "~4.17.21",
43
+ "@ng-formworks/core": "~17.3.0",
44
+ "@ng-formworks/cssframework": "~17.3.0",
45
+ "tslib": "^2.0.0"
46
+ },
47
+ "peerDependencies": {
48
+ "@angular/common": ">=17.0.0",
49
+ "@angular/core": ">=17.0.0"
50
+ },
51
+ "module": "fesm2022/ng-formworks-bootstrap4.mjs",
52
+ "typings": "index.d.ts",
53
+ "exports": {
54
+ "./package.json": {
55
+ "default": "./package.json"
56
+ },
57
+ ".": {
58
+ "types": "./index.d.ts",
59
+ "esm2022": "./esm2022/ng-formworks-bootstrap4.mjs",
60
+ "esm": "./esm2022/ng-formworks-bootstrap4.mjs",
61
+ "default": "./fesm2022/ng-formworks-bootstrap4.mjs"
62
+ }
63
+ },
64
+ "sideEffects": false
54
65
  }
@@ -1,8 +1,3 @@
1
- /*
2
- * Public API Surface of @ng-formworks/bootstrap4
3
- */
4
-
5
- export * from './lib/bootstrap4-framework.component';
6
- export * from './lib/bootstrap4-framework.module';
7
- export * from './lib/bootstrap4.framework';
8
-
1
+ export * from './lib/bootstrap4-framework.component';
2
+ export * from './lib/bootstrap4-framework.module';
3
+ export * from './lib/bootstrap4.framework';
package/karma.conf.js DELETED
@@ -1,46 +0,0 @@
1
- // Karma configuration file, see link for more information
2
- // https://karma-runner.github.io/1.0/config/configuration-file.html
3
-
4
- module.exports = function (config) {
5
- config.set({
6
- basePath: '',
7
- frameworks: ['jasmine', '@angular-devkit/build-angular'],
8
- plugins: [
9
- require('karma-jasmine'),
10
- require('karma-chrome-launcher'),
11
- require('karma-jasmine-html-reporter'),
12
- require('karma-coverage'),
13
- require('@angular-devkit/build-angular/plugins/karma'),
14
- ],
15
- client: {
16
- clearContext: false // leave Jasmine Spec Runner output visible in browser
17
- },
18
- coverageReporter: {
19
- dir: require('path').join(__dirname, '../../coverage/ajsf-bootstrap4'),
20
- reporters: [
21
- {
22
- type: 'html',
23
- },
24
- {
25
- type: 'lcov',
26
- },
27
- {
28
- type: 'text-summary',
29
- },
30
- ],
31
- },
32
- reporters: ['progress', 'kjhtml'],
33
- port: 9876,
34
- colors: true,
35
- logLevel: config.LOG_INFO,
36
- autoWatch: true,
37
- singleRun: false,
38
- browsers: ['Chrome', 'ChromeHeadlessCI'],
39
- customLaunchers: {
40
- ChromeHeadlessCI: {
41
- base: 'ChromeHeadless',
42
- flags: ['--no-sandbox'],
43
- },
44
- },
45
- });
46
- };
package/ng-package.json DELETED
@@ -1,13 +0,0 @@
1
- {
2
- "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
3
- "dest": "../../dist/@ng-formworks/bootstrap4",
4
- "lib": {
5
- "entryFile": "src/public_api.ts"
6
- },
7
- "assets": ["./assets"],
8
- "allowedNonPeerDependencies": [
9
- "lodash-es",
10
- "@ng-formworks/core",
11
- "@ng-formworks/cssframework"
12
- ]
13
- }
@@ -1,37 +0,0 @@
1
- /*adapted from bootstrap 3 to fix input groups */
2
-
3
- .input-group .form-control:first-child,
4
- .input-group-text:first-child,
5
- .input-group-btn:first-child>.btn,
6
- .input-group-btn:first-child>.btn-group>.btn,
7
- .input-group-btn:first-child>.dropdown-toggle,
8
- .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),
9
- .input-group-btn:last-child>.btn-group:not(:last-child)>.btn {
10
- border-top-right-radius: 0;
11
- border-bottom-right-radius: 0;
12
- }
13
-
14
- .input-group-text:first-child {
15
- border-right: 0;
16
- }
17
-
18
- .input-group .form-control:last-child,
19
- .input-group-text:last-child,
20
- .input-group-btn:last-child>.btn,
21
- .input-group-btn:last-child>.btn-group>.btn,
22
- .input-group-btn:last-child>.dropdown-toggle,
23
- .input-group-btn:first-child>.btn:not(:first-child),
24
- .input-group-btn:first-child>.btn-group:not(:first-child)>.btn {
25
- border-top-left-radius: 0;
26
- border-bottom-left-radius: 0;
27
- }
28
-
29
- .input-group-text:last-child {
30
- border-left: 0;
31
- }
32
-
33
- .input-group .form-control:not(:first-child):not(:last-child),
34
- .input-group-text:not(:first-child):not(:last-child),
35
- .input-group-btn:not(:first-child):not(:last-child) {
36
- border-radius: 0
37
- }
@@ -1,105 +0,0 @@
1
- import { css_fw } from "@ng-formworks/cssframework";
2
-
3
- export const cssFrameworkCfgBootstrap4:css_fw.frameworkcfg={
4
- "name": "bootstrap-4",
5
- "text":"Bootstrap 4",
6
- "scripts": [
7
- "//cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js",
8
- "//cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js"
9
- ],
10
- "stylesheets": [
11
- "//cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/css/bootstrap.min.css"
12
- ],
13
- "widgetstyles": {
14
- "__themes__": [
15
- {"name":"bootstrap4_default","text":"Bootstrap4 default"}
16
- ],
17
- "$ref": {
18
- "fieldHtmlClass": "btn float-right btn-info"
19
- },
20
- "__array_item_nonref__": {
21
- "htmlClass": "list-group-item"
22
- },
23
- "__form_group__": {
24
- "htmlClass": "form-group"
25
- },
26
- "__control_label__": {
27
- "labelHtmlClass": "control-label"
28
- },
29
- "__active__": {
30
- "activeClass": "active"
31
- },
32
- "__required_asterisk__": "text-danger",
33
- "__screen_reader__": "sr-only",
34
- "__remove_item__": "close float-right",
35
- "__help_block__": "help-block",
36
- "__field_addon_left__": "input-group-text input-group-prepend",
37
- "__field_addon_right__": "input-group-text input-group-append",
38
- "alt-date": {},
39
- "alt-datetime": {},
40
- "__array__": {
41
- "htmlClass": "list-group"
42
- },
43
- "array": {},
44
- "authfieldset": {},
45
- "advancedfieldset": {},
46
- "button": {
47
- "fieldHtmlClass": "btn btn-sm btn-primary"
48
- },
49
- "checkbox": { "fieldHtmlClass": "checkbox" },
50
- "checkboxes": {
51
- "fieldHtmlClass": "checkbox"
52
- },
53
- "checkboxbuttons": {
54
- "fieldHtmlClass": "sr-only",
55
- "htmlClass": "btn-group",
56
- "itemLabelHtmlClass": "btn"
57
- },
58
- "checkboxes-inline": {
59
- "htmlClass": "checkbox",
60
- "itemLabelHtmlClass": "checkbox-inline"
61
- },
62
- "date": {},
63
- "datetime-local": {},
64
- "fieldset": {},
65
- "integer": {},
66
- "number": {},
67
- "optionfieldset": {},
68
- "password": {},
69
- "radiobuttons": {
70
- "fieldHtmlClass": "sr-only",
71
- "htmlClass": "btn-group",
72
- "itemLabelHtmlClass": "btn"
73
- },
74
- "radio": { "fieldHtmlClass": "radio" },
75
- "radios": {
76
- "fieldHtmlClass": "radio"
77
- },
78
- "radios-inline": {
79
- "htmlClass": "radio",
80
- "itemLabelHtmlClass": "radio-inline"
81
- },
82
- "range": {},
83
- "section": {},
84
- "selectfieldset": {},
85
- "select": {},
86
- "submit": {
87
- "fieldHtmlClass": "btn btn-primary"
88
- },
89
- "text": {},
90
- "tabs": {
91
- "labelHtmlClass": "nav nav-tabs",
92
- "htmlClass": "tab-content",
93
- "fieldHtmlClass": "tab-pane"
94
- },
95
- "tabarray": {
96
- "labelHtmlClass": "nav nav-tabs",
97
- "htmlClass": "tab-content",
98
- "fieldHtmlClass": "tab-pane"
99
- },
100
- "textarea": {},
101
- "default": {
102
- "fieldHtmlClass": "form-control"
103
- }
104
- }
105
- }
@@ -1,28 +0,0 @@
1
- :host ::ng-deep {
2
- .list-group-item .form-control-feedback {
3
- top: 40px;
4
- }
5
- .checkbox,
6
- .radio {
7
- margin-top: 0;
8
- margin-bottom: 0;
9
- }
10
- .checkbox-inline,
11
- .checkbox-inline+.checkbox-inline,
12
- .checkbox-inline+.radio-inline,
13
- .radio-inline,
14
- .radio-inline+.radio-inline,
15
- .radio-inline+.checkbox-inline {
16
- margin-left: 0;
17
- margin-right: 10px;
18
- }
19
- .checkbox-inline:last-child,
20
- .radio-inline:last-child {
21
- margin-right: 0;
22
- }
23
- .ng-invalid.ng-touched {
24
- border: 1px solid #f44336;
25
- }
26
- }
27
-
28
- @import './bootstrap4-cssframework.scss';
@@ -1,39 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
3
- import {
4
- JsonSchemaFormModule,
5
- JsonSchemaFormService,
6
- WidgetLibraryModule
7
- } from '@ng-formworks/core';
8
- import { Bootstrap4FrameworkComponent } from './bootstrap4-framework.component';
9
-
10
- describe('FwBootstrap4Component', () => {
11
- let component: Bootstrap4FrameworkComponent;
12
- let fixture: ComponentFixture<Bootstrap4FrameworkComponent>;
13
-
14
- beforeEach(waitForAsync(() => {
15
- TestBed.configureTestingModule({
16
- imports: [
17
- JsonSchemaFormModule,
18
- CommonModule,
19
- WidgetLibraryModule,
20
- ],
21
- declarations: [Bootstrap4FrameworkComponent],
22
- providers: [JsonSchemaFormService]
23
- })
24
- .compileComponents();
25
- }));
26
-
27
- beforeEach(() => {
28
- fixture = TestBed.createComponent(Bootstrap4FrameworkComponent);
29
- component = fixture.componentInstance;
30
- component.layoutNode = { options: {} };
31
- component.layoutIndex = [];
32
- component.dataIndex = [];
33
- fixture.detectChanges();
34
- });
35
-
36
- it('should create', () => {
37
- expect(component).toBeTruthy();
38
- });
39
- });
@@ -1,66 +0,0 @@
1
- import {
2
- ChangeDetectorRef,
3
- Component,
4
- Input,
5
- OnChanges,
6
- OnInit,
7
- ViewEncapsulation
8
- } from '@angular/core';
9
- import { JsonSchemaFormService } from '@ng-formworks/core';
10
-
11
- /**
12
- * Bootstrap 4 framework for Angular JSON Schema Form.
13
- *
14
- */
15
- @Component({
16
- // tslint:disable-next-line:component-selector
17
- selector: 'bootstrap-4-framework',
18
- template: `
19
- <div>
20
- <css-framework [layoutNode]="layoutNode"
21
- [layoutIndex]="layoutIndex"
22
- [dataIndex]="dataIndex">
23
- </css-framework>
24
- </div>
25
- `,
26
- styleUrls: ['./bootstrap4-framework.component.scss'],
27
- encapsulation:ViewEncapsulation.None
28
- })
29
- export class Bootstrap4FrameworkComponent implements OnInit, OnChanges {
30
- frameworkInitialized = false;
31
- widgetOptions: any; // Options passed to child widget
32
- widgetLayoutNode: any; // layoutNode passed to child widget
33
- options: any; // Options used in this framework
34
- formControl: any = null;
35
- debugOutput: any = '';
36
- debug: any = '';
37
- parentArray: any = null;
38
- isOrderable = false;
39
- @Input() layoutNode: any;
40
- @Input() layoutIndex: number[];
41
- @Input() dataIndex: number[];
42
-
43
-
44
- constructor(
45
- public changeDetector: ChangeDetectorRef,
46
- public jsf: JsonSchemaFormService
47
- ) {
48
- }
49
-
50
-
51
-
52
- ngOnInit() {
53
-
54
- }
55
-
56
- ngOnChanges() {
57
-
58
- }
59
-
60
-
61
-
62
-
63
-
64
-
65
- }
66
-
@@ -1,37 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import {
4
- Framework,
5
- FrameworkLibraryService,
6
- JsonSchemaFormModule,
7
- JsonSchemaFormService,
8
- WidgetLibraryModule,
9
- WidgetLibraryService
10
- } from '@ng-formworks/core';
11
- import { CssFrameworkModule } from '@ng-formworks/cssframework';
12
- import { Bootstrap4FrameworkComponent } from './bootstrap4-framework.component';
13
- import { Bootstrap4Framework } from './bootstrap4.framework';
14
-
15
- @NgModule({
16
- imports: [
17
- JsonSchemaFormModule,
18
- CommonModule,
19
- WidgetLibraryModule,
20
- CssFrameworkModule
21
- ],
22
- declarations: [
23
- Bootstrap4FrameworkComponent,
24
- ],
25
- exports: [
26
- JsonSchemaFormModule,
27
- Bootstrap4FrameworkComponent,
28
- ],
29
- providers: [
30
- JsonSchemaFormService,
31
- FrameworkLibraryService,
32
- WidgetLibraryService,
33
- { provide: Framework, useClass: Bootstrap4Framework, multi: true },
34
- ]
35
- })
36
- export class Bootstrap4FrameworkModule {
37
- }
@@ -1,17 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { CssFramework, CssframeworkService } from '@ng-formworks/cssframework';
3
- import { cssFrameworkCfgBootstrap4 } from './bootstrap4-cssframework';
4
- import { Bootstrap4FrameworkComponent } from './bootstrap4-framework.component';
5
-
6
- // Bootstrap 4 Framework
7
- // https://github.com/ng-bootstrap/ng-bootstrap
8
-
9
- @Injectable()
10
- export class Bootstrap4Framework extends CssFramework {
11
-
12
- framework = Bootstrap4FrameworkComponent;
13
-
14
- constructor(public cssFWService:CssframeworkService){
15
- super(cssFrameworkCfgBootstrap4,cssFWService);
16
- }
17
- }
package/src/test.ts DELETED
@@ -1,17 +0,0 @@
1
- // This file is required by karma.conf.js and loads recursively all the .spec and framework files
2
-
3
- import 'zone.js';
4
- import 'zone.js/testing';
5
- import { getTestBed } from '@angular/core/testing';
6
- import {
7
- BrowserDynamicTestingModule,
8
- platformBrowserDynamicTesting
9
- } from '@angular/platform-browser-dynamic/testing';
10
-
11
- // First, initialize the Angular testing environment.
12
- getTestBed().initTestEnvironment(
13
- BrowserDynamicTestingModule,
14
- platformBrowserDynamicTesting(), {
15
- teardown: { destroyAfterEach: false }
16
- }
17
- );
package/tsconfig.lib.json DELETED
@@ -1,26 +0,0 @@
1
- {
2
- "extends": "../../tsconfig.json",
3
- "compilerOptions": {
4
- "outDir": "../../out-tsc/lib",
5
- "declarationMap": true,
6
- "declaration": true,
7
- "inlineSources": true,
8
- "types": [],
9
- "lib": [
10
- "dom",
11
- "es2018"
12
- ]
13
- },
14
- "angularCompilerOptions": {
15
- "skipTemplateCodegen": true,
16
- "strictMetadataEmit": true,
17
- "fullTemplateTypeCheck": true,
18
- "strictInjectionParameters": true,
19
- "enableResourceInlining": true,
20
- "preserveSymlinks": true
21
- },
22
- "exclude": [
23
- "src/test.ts",
24
- "**/*.spec.ts"
25
- ]
26
- }
@@ -1,9 +0,0 @@
1
- {
2
- "extends": "./tsconfig.lib.json",
3
- "compilerOptions": {
4
- "declarationMap": false
5
- },
6
- "angularCompilerOptions": {
7
- "compilationMode": "partial"
8
- }
9
- }
@@ -1,17 +0,0 @@
1
- {
2
- "extends": "../../tsconfig.json",
3
- "compilerOptions": {
4
- "outDir": "../../out-tsc/spec",
5
- "types": [
6
- "jasmine",
7
- "node"
8
- ]
9
- },
10
- "files": [
11
- "src/test.ts"
12
- ],
13
- "include": [
14
- "**/*.spec.ts",
15
- "**/*.d.ts"
16
- ]
17
- }
package/tslint.json DELETED
@@ -1,11 +0,0 @@
1
- {
2
- "extends": "../../tslint.json",
3
- "rules": {
4
- "directive-selector": [
5
- true,
6
- "attribute",
7
- "lib",
8
- "camelCase"
9
- ]
10
- }
11
- }