@iamproperty/components 6.1.0--beta → 6.1.0--beta2
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/assets/css/components/actionbar.css.map +1 -1
- package/assets/css/components/actionbar.global.css.map +1 -1
- package/assets/css/components/card.component.css +1 -1
- package/assets/css/components/card.component.css.map +1 -1
- package/assets/css/components/carousel.component.css +1 -0
- package/assets/css/components/carousel.component.css.map +1 -0
- package/assets/css/components/carousel.config.css +1 -0
- package/assets/css/components/carousel.config.css.map +1 -0
- package/assets/css/components/collapsible-side.css.map +1 -1
- package/assets/css/components/fileupload.css.map +1 -1
- package/assets/css/components/header.css +1 -1
- package/assets/css/components/header.css.map +1 -1
- package/assets/css/components/marketing.css.map +1 -1
- package/assets/css/components/multi-step.component.css +1 -0
- package/assets/css/components/multi-step.component.css.map +1 -0
- package/assets/css/components/multiselect.preload.css.map +1 -1
- package/assets/css/components/nav.css.map +1 -1
- package/assets/css/components/nav.docs.css.map +1 -1
- package/assets/css/components/nav.global.css.map +1 -1
- package/assets/css/components/nav.old.css.map +1 -1
- package/assets/css/components/nav.preload.css +1 -1
- package/assets/css/components/nav.preload.css.map +1 -1
- package/assets/css/components/notification.css.map +1 -1
- package/assets/css/components/pagination.css.map +1 -1
- package/assets/css/components/property-searchbar.css.map +1 -1
- package/assets/css/components/slider.css.map +1 -1
- package/assets/css/components/snapshot.css.map +1 -1
- package/assets/css/components/stepper.css.map +1 -1
- package/assets/css/components/table.global.css.map +1 -1
- package/assets/css/components/tabs.css +1 -1
- package/assets/css/components/tabs.css.map +1 -1
- package/assets/css/components/testimonial.css.map +1 -1
- package/assets/css/components/timeline.css.map +1 -1
- package/assets/css/core.min.css +1 -1
- package/assets/css/core.min.css.map +1 -1
- package/assets/css/style.min.css +1 -1
- package/assets/css/style.min.css.map +1 -1
- package/assets/img/illustrations/not-found.png +0 -0
- package/assets/js/components/accordion/accordion.component.min.js +2 -2
- package/assets/js/components/actionbar/actionbar.component.min.js +6 -6
- package/assets/js/components/actionbar/actionbar.component.min.js.map +1 -1
- package/assets/js/components/address-lookup/address-lookup.component.min.js +2 -2
- package/assets/js/components/applied-filters/applied-filters.component.min.js +2 -2
- package/assets/js/components/barchart/barchart.component.min.js +2 -2
- package/assets/js/components/card/card.component.min.js +3 -3
- package/assets/js/components/carousel/carousel.component.js +36 -41
- package/assets/js/components/carousel/carousel.component.min.js +18 -12
- package/assets/js/components/carousel/carousel.component.min.js.map +1 -1
- package/assets/js/components/collapsible-side/collapsible-side.component.min.js +2 -2
- package/assets/js/components/fileupload/fileupload.component.min.js +2 -2
- package/assets/js/components/filter-card/filter-card.component.min.js +2 -2
- package/assets/js/components/filterlist/filterlist.component.min.js +2 -2
- package/assets/js/components/header/header.component.min.js +3 -3
- package/assets/js/components/inline-edit/inline-edit.component.min.js +2 -2
- package/assets/js/components/marketing/marketing.component.min.js +2 -2
- package/assets/js/components/multi-step/multi-step.component.js +162 -0
- package/assets/js/components/multiselect/multiselect.component.min.js +2 -2
- package/assets/js/components/nav/nav.component.min.js +2 -2
- package/assets/js/components/notification/notification.component.min.js +2 -2
- package/assets/js/components/pagination/pagination.component.min.js +2 -2
- package/assets/js/components/record-card/record-card.component.min.js +2 -2
- package/assets/js/components/search/search.component.min.js +2 -2
- package/assets/js/components/slider/slider.component.min.js +2 -2
- package/assets/js/components/table/table.component.js +1 -1
- package/assets/js/components/table/table.component.min.js +3 -3
- package/assets/js/components/table/table.component.min.js.map +1 -1
- package/assets/js/components/tabs/tabs.component.min.js +3 -3
- package/assets/js/components/video-card/video-card.component.min.js +2 -2
- package/assets/js/components.bundle.js +3 -3
- package/assets/js/components.bundle.js.map +1 -1
- package/assets/js/components.js +1 -1
- package/assets/js/modules/carousel.js +110 -8
- package/assets/js/modules/dialogs.js +5 -123
- package/assets/js/scripts.bundle.js +4 -4
- package/assets/js/scripts.bundle.js.map +1 -1
- package/assets/js/scripts.bundle.min.js +3 -3
- package/assets/js/scripts.bundle.min.js.map +1 -1
- package/assets/sass/_components.scss +3 -19
- package/assets/sass/_corefiles.scss +15 -0
- package/assets/sass/_func.scss +3 -0
- package/assets/sass/_functions/functions.scss +304 -1
- package/assets/sass/_functions/mixins.scss +458 -2
- package/assets/sass/_functions/utilities.scss +647 -2
- package/assets/sass/_functions/variables.scss +1724 -2
- package/assets/sass/_utilities.scss +126 -7
- package/assets/sass/components/carousel.component.scss +605 -0
- package/assets/sass/components/carousel.config.scss +84 -0
- package/assets/sass/components/header.scss +1 -0
- package/assets/sass/components/multi-step.component.scss +148 -0
- package/assets/sass/components/nav.preload.scss +5 -0
- package/assets/sass/components/tabs.scss +1 -1
- package/assets/sass/elements/admin-panel.scss +2 -1
- package/assets/sass/elements/buttons.scss +33 -0
- package/assets/sass/elements/container.scss +16 -6
- package/assets/sass/elements/details.scss +2 -0
- package/assets/sass/elements/forms.scss +236 -24
- package/assets/sass/elements/links.scss +27 -4
- package/assets/sass/elements/lists.scss +46 -0
- package/assets/sass/elements/media.scss +11 -1
- package/assets/sass/elements/modal.scss +138 -238
- package/assets/sass/elements/table.element.scss +35 -0
- package/assets/sass/elements/type.scss +38 -2
- package/assets/sass/error.scss +32 -1
- package/assets/sass/foundations/bs_grid.scss +33 -0
- package/assets/sass/foundations/grid.scss +270 -0
- package/assets/sass/foundations/reboot.scss +71 -49
- package/assets/sass/foundations/root.scss +16 -2
- package/assets/ts/components/carousel/carousel.component.ts +51 -44
- package/assets/ts/components/multi-step/multi-step.component.ts +262 -0
- package/assets/ts/components/table/table.component.ts +2 -1
- package/assets/ts/components.ts +1 -1
- package/assets/ts/modules/carousel.ts +161 -7
- package/assets/ts/modules/dialogs.ts +6 -174
- package/dist/components.es.js +177 -193
- package/dist/components.umd.js +73 -67
- package/dist/style.css +1 -1
- package/package.json +3 -2
- package/src/components/Carousel/Carousel.vue +1 -15
- package/src/components/FilterCard/FilterCard.vue +1 -1
- package/src/components/MultiStep/MultiStep.vue +25 -0
- package/src/components/RecordCard/RecordCard.vue +1 -1
- package/src/components/VideoCard/VideoCard.vue +1 -1
- package/assets/css/components/carousel.css +0 -1
- package/assets/css/components/carousel.css.map +0 -1
- package/assets/css/components/carousel.preload.css +0 -1
- package/assets/css/components/carousel.preload.css.map +0 -1
- package/assets/sass/components/carousel.preload.scss +0 -82
- package/assets/sass/components/carousel.scss +0 -258
- 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
|
-
|
|
38
|
-
|
|
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.
|
|
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;
|