@iamproperty/components 6.1.0--beta → 6.1.0--beta3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/assets/css/components/actionbar.css.map +1 -1
  2. package/assets/css/components/actionbar.global.css.map +1 -1
  3. package/assets/css/components/card.component.css +1 -1
  4. package/assets/css/components/card.component.css.map +1 -1
  5. package/assets/css/components/card.module.css +1 -1
  6. package/assets/css/components/card.module.css.map +1 -1
  7. package/assets/css/components/carousel.component.css +1 -0
  8. package/assets/css/components/carousel.component.css.map +1 -0
  9. package/assets/css/components/carousel.config.css +1 -0
  10. package/assets/css/components/carousel.config.css.map +1 -0
  11. package/assets/css/components/collapsible-side.css.map +1 -1
  12. package/assets/css/components/fileupload.css.map +1 -1
  13. package/assets/css/components/filter-card.component.css +1 -1
  14. package/assets/css/components/filter-card.component.css.map +1 -1
  15. package/assets/css/components/header.css +1 -1
  16. package/assets/css/components/header.css.map +1 -1
  17. package/assets/css/components/marketing.css.map +1 -1
  18. package/assets/css/components/multi-step.component.css +1 -0
  19. package/assets/css/components/multi-step.component.css.map +1 -0
  20. package/assets/css/components/multiselect.preload.css.map +1 -1
  21. package/assets/css/components/nav.css.map +1 -1
  22. package/assets/css/components/nav.docs.css.map +1 -1
  23. package/assets/css/components/nav.global.css.map +1 -1
  24. package/assets/css/components/nav.old.css.map +1 -1
  25. package/assets/css/components/nav.preload.css +1 -1
  26. package/assets/css/components/nav.preload.css.map +1 -1
  27. package/assets/css/components/notification.css.map +1 -1
  28. package/assets/css/components/pagination.css.map +1 -1
  29. package/assets/css/components/property-searchbar.css.map +1 -1
  30. package/assets/css/components/record-card.component.css +1 -1
  31. package/assets/css/components/record-card.component.css.map +1 -1
  32. package/assets/css/components/slider.css.map +1 -1
  33. package/assets/css/components/snapshot.css.map +1 -1
  34. package/assets/css/components/stepper.css.map +1 -1
  35. package/assets/css/components/table.global.css.map +1 -1
  36. package/assets/css/components/tabs.css +1 -1
  37. package/assets/css/components/tabs.css.map +1 -1
  38. package/assets/css/components/testimonial.css.map +1 -1
  39. package/assets/css/components/timeline.css.map +1 -1
  40. package/assets/css/components/video-card.component.css +1 -1
  41. package/assets/css/components/video-card.component.css.map +1 -1
  42. package/assets/css/core.min.css +1 -1
  43. package/assets/css/core.min.css.map +1 -1
  44. package/assets/css/style.min.css +1 -1
  45. package/assets/css/style.min.css.map +1 -1
  46. package/assets/img/illustrations/not-found.png +0 -0
  47. package/assets/js/components/accordion/accordion.component.min.js +2 -2
  48. package/assets/js/components/actionbar/actionbar.component.min.js +6 -6
  49. package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
  50. package/assets/js/components/address-lookup/address-lookup.component.min.js +2 -2
  51. package/assets/js/components/applied-filters/applied-filters.component.min.js +2 -2
  52. package/assets/js/components/barchart/barchart.component.min.js +2 -2
  53. package/assets/js/components/card/card.component.min.js +4 -4
  54. package/assets/js/components/card/card.component.min.js.map +1 -1
  55. package/assets/js/components/carousel/carousel.component.js +36 -41
  56. package/assets/js/components/carousel/carousel.component.min.js +18 -12
  57. package/assets/js/components/carousel/carousel.component.min.js.map +1 -1
  58. package/assets/js/components/collapsible-side/collapsible-side.component.min.js +2 -2
  59. package/assets/js/components/fileupload/fileupload.component.min.js +2 -2
  60. package/assets/js/components/filter-card/filter-card.component.min.js +5 -5
  61. package/assets/js/components/filter-card/filter-card.component.min.js.map +1 -1
  62. package/assets/js/components/filterlist/filterlist.component.min.js +2 -2
  63. package/assets/js/components/header/header.component.min.js +3 -3
  64. package/assets/js/components/inline-edit/inline-edit.component.min.js +2 -2
  65. package/assets/js/components/marketing/marketing.component.min.js +2 -2
  66. package/assets/js/components/multi-step/multi-step.component.js +162 -0
  67. package/assets/js/components/multiselect/multiselect.component.min.js +2 -2
  68. package/assets/js/components/nav/nav.component.min.js +2 -2
  69. package/assets/js/components/notification/notification.component.min.js +2 -2
  70. package/assets/js/components/pagination/pagination.component.min.js +2 -2
  71. package/assets/js/components/record-card/record-card.component.min.js +6 -6
  72. package/assets/js/components/record-card/record-card.component.min.js.map +1 -1
  73. package/assets/js/components/search/search.component.min.js +2 -2
  74. package/assets/js/components/slider/slider.component.min.js +2 -2
  75. package/assets/js/components/table/table.component.js +1 -1
  76. package/assets/js/components/table/table.component.min.js +3 -3
  77. package/assets/js/components/table/table.component.min.js.map +1 -1
  78. package/assets/js/components/tabs/tabs.component.min.js +3 -3
  79. package/assets/js/components/video-card/video-card.component.min.js +6 -6
  80. package/assets/js/components/video-card/video-card.component.min.js.map +1 -1
  81. package/assets/js/components.bundle.js +3 -3
  82. package/assets/js/components.bundle.js.map +1 -1
  83. package/assets/js/components.js +1 -1
  84. package/assets/js/modules/card.module.js +4 -1
  85. package/assets/js/modules/carousel.js +110 -8
  86. package/assets/js/modules/dialogs.js +5 -123
  87. package/assets/js/scripts.bundle.js +4 -4
  88. package/assets/js/scripts.bundle.js.map +1 -1
  89. package/assets/js/scripts.bundle.min.js +3 -3
  90. package/assets/js/scripts.bundle.min.js.map +1 -1
  91. package/assets/sass/_components.scss +3 -19
  92. package/assets/sass/_corefiles.scss +15 -0
  93. package/assets/sass/_func.scss +3 -0
  94. package/assets/sass/_functions/functions.scss +304 -1
  95. package/assets/sass/_functions/mixins.scss +458 -2
  96. package/assets/sass/_functions/utilities.scss +647 -2
  97. package/assets/sass/_functions/variables.scss +1724 -2
  98. package/assets/sass/_utilities.scss +126 -7
  99. package/assets/sass/components/card.module.scss +1 -1
  100. package/assets/sass/components/carousel.component.scss +605 -0
  101. package/assets/sass/components/carousel.config.scss +84 -0
  102. package/assets/sass/components/header.scss +1 -0
  103. package/assets/sass/components/multi-step.component.scss +148 -0
  104. package/assets/sass/components/nav.preload.scss +5 -0
  105. package/assets/sass/components/tabs.scss +1 -1
  106. package/assets/sass/elements/admin-panel.scss +2 -1
  107. package/assets/sass/elements/buttons.scss +33 -0
  108. package/assets/sass/elements/container.scss +16 -6
  109. package/assets/sass/elements/details.scss +2 -0
  110. package/assets/sass/elements/forms.scss +236 -24
  111. package/assets/sass/elements/links.scss +27 -4
  112. package/assets/sass/elements/lists.scss +46 -0
  113. package/assets/sass/elements/media.scss +11 -1
  114. package/assets/sass/elements/modal.scss +138 -238
  115. package/assets/sass/elements/table.element.scss +35 -0
  116. package/assets/sass/elements/type.scss +38 -2
  117. package/assets/sass/error.scss +32 -1
  118. package/assets/sass/foundations/bs_grid.scss +33 -0
  119. package/assets/sass/foundations/grid.scss +270 -0
  120. package/assets/sass/foundations/reboot.scss +71 -49
  121. package/assets/sass/foundations/root.scss +16 -2
  122. package/assets/ts/components/carousel/carousel.component.ts +51 -44
  123. package/assets/ts/components/multi-step/multi-step.component.ts +262 -0
  124. package/assets/ts/components/table/table.component.ts +2 -1
  125. package/assets/ts/components.ts +1 -1
  126. package/assets/ts/modules/card.module.ts +4 -1
  127. package/assets/ts/modules/carousel.ts +161 -7
  128. package/assets/ts/modules/dialogs.ts +6 -174
  129. package/dist/components.es.js +177 -193
  130. package/dist/components.umd.js +73 -67
  131. package/dist/style.css +1 -1
  132. package/package.json +3 -2
  133. package/src/components/Carousel/Carousel.vue +1 -15
  134. package/src/components/FilterCard/FilterCard.vue +1 -1
  135. package/src/components/MultiStep/MultiStep.vue +25 -0
  136. package/src/components/RecordCard/RecordCard.vue +1 -1
  137. package/src/components/VideoCard/VideoCard.vue +1 -1
  138. package/assets/css/components/carousel.css +0 -1
  139. package/assets/css/components/carousel.css.map +0 -1
  140. package/assets/css/components/carousel.preload.css +0 -1
  141. package/assets/css/components/carousel.preload.css.map +0 -1
  142. package/assets/sass/components/carousel.preload.scss +0 -82
  143. package/assets/sass/components/carousel.scss +0 -258
  144. package/assets/ts/tests/dialogs.spec.js +0 -50
@@ -34,8 +34,11 @@ const extendDialogs = (body) => {
34
34
  dialog.showModal();
35
35
  dialog.focus();
36
36
 
37
- let firstWidth = dialog.offsetWidth;
38
- dialog.setAttribute('style',`max-width: ${firstWidth}px;`);
37
+ if(!dialog.querySelector('iam-multi-step')){
38
+
39
+ let firstWidth = dialog.offsetWidth;
40
+ dialog.setAttribute('style',`max-width: ${firstWidth}px;`);
41
+ }
39
42
 
40
43
  // When the modal is opened we want to make sure any duplicate checkboxes are matching the originals
41
44
  Array.from(dialog.querySelectorAll('[data-duplicate]')).forEach((element,index) => {
@@ -229,13 +232,8 @@ const extendDialogs = (body) => {
229
232
 
230
233
  export const createDialog = (dialog) => {
231
234
 
232
- // Multi dialog
233
- if(dialog.classList.contains('dialog--multi') && !dialog.querySelector(':scope > .steps')) {
234
- createMultiFormDialog(dialog);
235
- }
236
-
237
235
  // If you are using Vue eevents and bindings its recommended to add in the .mh-lg div manually to the dialog
238
- if(!dialog.querySelector(':scope .mh-lg') && !dialog.classList.contains('dialog--multi')){
236
+ if(!dialog.querySelector(':scope .mh-lg') && !dialog.querySelector('iam-multi-step')){
239
237
  dialog.innerHTML = `<div class="mh-lg">${dialog.innerHTML}</div>`;
240
238
 
241
239
  let dialogContent = dialog.querySelector('.mh-lg');
@@ -258,170 +256,4 @@ export const createDialog = (dialog) => {
258
256
 
259
257
  }
260
258
 
261
- export const createMultiFormDialog = (dialog) => {
262
-
263
- let buttons = "";
264
- let fieldsets = Array.from(dialog.querySelectorAll('fieldset[data-title]'));
265
- let form = dialog.querySelector('form');
266
-
267
- fieldsets.forEach((fieldset,index) => {
268
- buttons += `<button data-title="${fieldset.getAttribute('data-title')}" type="button" class="${index == 0 ? "active":""}" tabindex="-1">${fieldset.getAttribute('data-title')}</button>`;
269
-
270
- const btnWrapper = document.createElement("div");
271
- btnWrapper.classList.add('btn--wrapper');
272
- fieldset.appendChild(btnWrapper);
273
-
274
- if(index != 0)
275
- btnWrapper.innerHTML += `<button data-title="${fieldsets[index-1].getAttribute('data-title')}" class="btn btn-secondary mb-0" data-previous type="button">Previous</button>`;
276
-
277
- if(index != fieldsets.length - 1)
278
- btnWrapper.innerHTML += `<button data-title="${fieldsets[index+1].getAttribute('data-title')}" class="btn btn-primary mb-0" data-next type="button">Next</button>`;
279
-
280
- // Last fieldset
281
- if(index == fieldsets.length - 1){
282
- if(form && form.querySelector(':scope > button[type="submit"]')){
283
-
284
- let existingButton = form.querySelector(':scope > button[type="submit"]');
285
- existingButton.classList.add('mb-0')
286
-
287
- btnWrapper.insertAdjacentElement('beforeend',existingButton);
288
- }
289
- else
290
- btnWrapper.innerHTML += `<button data-title="${fieldsets[index].getAttribute('data-title')}" class="btn btn-primary mb-0" data-next type="submit">Submit</button>`;
291
- }
292
- });
293
-
294
- dialog.insertAdjacentHTML('afterbegin',`<div class="steps bg-primary">${buttons}</div>`);
295
-
296
-
297
- // Open the fieldset with an error inside
298
- let validatedFieldsets = Array.from(dialog.querySelectorAll('fieldset.was-validated'));
299
- for (let i = 0; i < validatedFieldsets.length; i++) {
300
-
301
- let fieldset = validatedFieldsets[i];
302
- let fieldsetID = fieldset.getAttribute('data-title');
303
-
304
- if(fieldset.querySelector('.is-invalid')){
305
-
306
- Array.from(dialog.querySelectorAll(`[data-title="${fieldsetID}"]`)).forEach((element, index) => {
307
-
308
- element.classList.add('active');
309
- });
310
-
311
- break;
312
- }
313
- else {
314
-
315
- Array.from(dialog.querySelectorAll(`[data-title="${fieldsetID}"]`)).forEach((element, index) => {
316
-
317
- element.classList.add('valid');
318
- });
319
- }
320
- }
321
-
322
- // Prevent the bubble messages
323
- dialog.addEventListener('invalid', (function () {
324
- return function (e) {
325
- e.preventDefault();
326
- };
327
- })(), true);
328
-
329
-
330
- function validateFieldset(button){
331
-
332
- const currentFieldset = dialog.querySelector(`fieldset.active`) ? dialog.querySelector(`fieldset.active`) : dialog.querySelector(`fieldset[data-title]`);
333
- const currentFieldsetID = currentFieldset.getAttribute('data-title');
334
- let isFieldsetValid = true;
335
-
336
- currentFieldset.classList.add('was-validated');
337
-
338
- Array.from(currentFieldset.querySelectorAll('input')).forEach((input, index) => {
339
-
340
- if (!input.checkValidity())
341
- isFieldsetValid = false;
342
- });
343
-
344
- // If valid mode to next field set
345
- if(!isFieldsetValid){
346
-
347
- Array.from(dialog.querySelectorAll(`[data-title="${currentFieldsetID}"]`)).forEach((element, index) => {
348
-
349
- element.classList.remove('valid');
350
- });
351
- }
352
- else {
353
-
354
- Array.from(dialog.querySelectorAll(`[data-title="${currentFieldsetID}"]`)).forEach((element, index) => {
355
-
356
- element.classList.add('valid');
357
- });
358
- }
359
-
360
- // Allow the previous button to navigate
361
- if(isFieldsetValid || !button.hasAttribute('data-next')){
362
-
363
- const fieldset = dialog.querySelector(`fieldset[data-title="${button.getAttribute('data-title')}"]`);
364
- const step = dialog.querySelector(`.steps button[data-title="${button.getAttribute('data-title')}"]`);
365
-
366
- Array.from(dialog.querySelectorAll('button')).forEach((button, index) => {
367
- button.classList.remove('active');
368
- });
369
- Array.from(dialog.querySelectorAll('fieldset')).forEach((button, index) => {
370
- button.classList.remove('active');
371
- });
372
-
373
- step.classList.add('active');
374
- fieldset.classList.add('active');
375
- }
376
-
377
-
378
- let fieldsetCount = Array.from(dialog.querySelectorAll(`fieldset`)).length;
379
- let validFieldsetCount = Array.from(dialog.querySelectorAll(`fieldset.valid`)).length;
380
-
381
- // update the progress bar
382
- dialog.style.setProperty('--progress', `${(validFieldsetCount/(fieldsetCount - 1) * 100)}%`);
383
- }
384
-
385
- // remove error messages from server
386
- dialog.addEventListener('keydown', (event) => {
387
- if (event && event.target instanceof HTMLElement && event.target.closest('button')){
388
-
389
- const button = event.target.closest('button');
390
-
391
- if(event.keyCode == 13 && button.getAttribute('type') != "submit"){
392
-
393
- event.preventDefault();
394
- validateFieldset(button);
395
- }
396
-
397
- }
398
-
399
- if (event && event.target instanceof HTMLElement && event.target.closest('input')){
400
- const input = event.target.closest('input');
401
-
402
- input.classList.remove('is-invalid');
403
-
404
- if(event.keyCode == 13){
405
-
406
- event.preventDefault();
407
- }
408
- }
409
- });
410
-
411
-
412
- dialog.addEventListener('click', (event) => {
413
- if (event && event.target instanceof HTMLElement && event.target.closest('button[type="submit"]')){
414
-
415
- const form = event.target.closest('form');
416
- form.classList.add('was-validated');
417
- }
418
- else if (event && event.target instanceof HTMLElement && event.target.closest('button[data-title]')){
419
-
420
- const button = event.target.closest('button[data-title]');
421
- validateFieldset(button);
422
- };
423
- return null
424
- });
425
- }
426
-
427
259
  export default extendDialogs;