{"version":3,"sources":["jsdelivr-header.js","/npm/plastiq-semantic-ui@2.1.0/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,IAAI,QAAU,QAAQ,WAClB,EAAI,QAAQ,KAEhB,SAAS,UAAU,EAAK,GACtB,IAAI,EAAO,CAAC,EAMZ,OAJA,OAAO,KAAK,GAAK,SAAQ,SAAU,GACjC,EAAK,GAAO,EAAG,EAAI,GACrB,IAEO,CACT,CAEA,SAAS,iBAAiB,GACxB,OAAO,UAAU,GAAK,SAAU,GAC9B,MAAqB,mBAAV,EACF,EAAE,WAAW,GAEb,CAEX,GACF,CAkCA,SAAS,cAAc,GACrB,OAAO,EAAE,cAAgB,MAC3B,CA8OA,SAAS,OAAO,EAAQ,GAKtB,OAJA,OAAO,KAAK,GAAW,SAAQ,SAAU,GACvC,EAAO,GAAO,EAAU,EAC1B,IAEO,CACT,CAEA,SAAS,4BAA4B,EAAgB,GACnD,SAAS,EAAS,GAGhB,EAAU,GAAQ,WACZ,EAAe,SAAS,IAC1B,EAAe,SAAS,GAAM,MAAM,KAAK,SAAU,UAEvD,CACF,CAEA,IAAI,EAAY,CAAC,EAOjB,OALA,EAAS,aACT,EAAS,aACT,EAAS,WACT,EAAS,aAEF,OAAO,EAAU,EAC1B,CA3SA,QAAQ,MAAQ,SAAe,EAAS,GAGtC,OAFA,EAAU,iBAAiB,GAEpB,EAAE,UACP,CACE,UAAU,EACV,MAAO,SAAU,GACf,IAAI,EAAO,KACX,KAAK,MAAQ,EAAE,GAEf,IAAI,EAAiB,EAAQ,OAC7B,EAAQ,OAAS,WACf,EAAK,QAAS,EACV,GACF,EAAe,KAAK,KAAM,UAE9B,EAEA,KAAK,MAAM,MAAM,GACjB,KAAK,MAAM,MAAM,OACnB,EACA,SAAU,SAAU,GACb,KAAK,QACR,KAAK,MAAM,MAAM,QAEnB,KAAK,MAAM,QACb,GAEF,EAEJ,EAMA,QAAQ,KAAO,SAAc,EAAU,EAAS,GAC9C,GAAwB,iBAAd,EAAwB,CAChC,IAAI,EAAU,QAAQ,QAAQ,EAAQ,SAElC,EAAY,EAAQ,MACnB,IACH,EAAY,EAAQ,KAAK,GAAG,IAC5B,EAAQ,IAAI,IAGd,IAAI,EAAY,EAAQ,KAAK,QAAO,SAAU,GAAO,OAAO,EAAI,KAAO,CAAW,IAAG,GAEhF,IACH,EAAY,EAAQ,KAAK,GACzB,EAAY,EAAU,KAGxB,IAAI,EAAU,EAAU,QAAQ,GAIhC,OAHA,EAAQ,WAAW,WAAa,UAChC,EAAQ,IAAM,UAEP,CACL,EAAE,EAAU,CAAC,IAAK,QAChB,EAAQ,KAAK,KAAI,SAAU,GACzB,IAAI,EAAW,EAAI,IAUnB,OARI,GAAa,EAAI,MACnB,EAAS,WAAW,WAAa,WAGnC,EAAS,WAAW,QAAU,WAC5B,EAAQ,IAAI,EAAI,IAClB,EAEO,CACT,KAEF,EAEJ,CAaE,OAXA,EADA,EAAU,EAGL,cAAc,KACjB,EAAO,EACP,OAAU,GAGR,IACF,EAAU,iBAAiB,IAGtB,EAAE,UACP,CACE,MAAO,SAAU,GACf,IAAI,EAAQ,EAAE,GAAS,KAAK,SACxB,EACF,EAAM,IAAI,GAEV,EAAM,KAEV,GAEF,EAGN,EAEA,QAAQ,SAAW,SAAU,EAAS,GAUpC,OATK,cAAc,KACjB,EAAO,EACP,OAAU,GAGR,IACF,EAAU,iBAAiB,IAGtB,EAAE,UACP,CACE,MAAO,SAAU,GACf,KAAK,QAAU,EAAE,GACb,EACF,KAAK,QAAQ,SAAS,GAEtB,KAAK,QAAQ,UAEjB,EACA,SAAU,WACR,KAAK,QAAQ,SAAS,UACxB,GAEF,EAEJ,EAEA,QAAQ,SAAW,SAAU,EAAS,GACpC,IAAI,EAAU,EAAE,QAAQ,EAAQ,SAEhC,OAAO,EAAE,UACP,CACE,QAAS,EAET,MAAO,SAAU,GACf,IAAI,EAAO,KACP,EAAW,EAAE,GAEjB,EAAS,WAAW,GAAG,SAAS,WAC9B,EAAK,QAAU,EAAE,MAAM,SAAS,cAChC,EAAK,QAAQ,IAAI,EAAK,QACxB,IAEA,KAAK,UAAY,KAAK,QAAQ,MAC1B,KAAK,SACP,EAAS,SAAS,QAEtB,EAEA,SAAU,SAAU,GAClB,IAAI,IAAY,KAAK,QAAQ,MACzB,GAAW,KAAK,UAClB,KAAK,QAAU,EACf,EAAE,GAAS,SAAS,EAAS,QAAS,WAE1C,GAEF,EAEJ,EAEA,QAAQ,OAAS,SAAS,EAAS,GAGjC,OAFA,EAAU,iBAAiB,GAEpB,EAAE,UACP,CACE,MAAO,SAAU,GACf,EAAE,GAAS,OAAO,EACpB,GAEF,EAEJ,EAEA,QAAQ,KAAO,SAAU,EAAS,GAMhC,GALK,IACH,EAAO,EACP,OAAU,GAGQ,mBAAT,EAAqB,CAC9B,IAAI,EAAiB,EACrB,EAAO,SAAU,GACf,OAAO,EAAe,EAAU,MAClC,CACF,CAEA,IAAI,EAAK,GAAW,EAAQ,GAE5B,OAAO,EAAE,UACP,CACE,IAAK,EAAQ,IACb,QAAS,EAET,kBAAmB,SAAU,GACvB,GAAM,GAAW,EAAQ,OAC3B,KAAK,YAAc,EAAE,GAAS,KAAK,EAAQ,OAAQ,OAAO,KAAK,sBAAuB,IAEtF,KAAK,YAAc,EAAE,GAAS,KAAK,OAAO,KAAK,sBAAuB,GAE1E,EAEA,MAAO,SAAU,GACf,KAAK,kBAAkB,EACzB,EAEA,SAAU,SAAU,GAClB,KAAK,kBAAkB,EACzB,EAEA,oBAAqB,WACnB,IAAI,EAAO,KAEX,MAAO,CACL,UAAW,WAIT,OAHI,EAAK,QAAQ,WACf,EAAK,QAAQ,UAAU,MAAM,EAAK,QAAS,WAEtC,EAAK,UAAU,MAAM,EAAM,UACpC,EAEA,UAAW,WAIT,OAHI,EAAK,QAAQ,WACf,EAAK,QAAQ,UAAU,MAAM,EAAK,QAAS,WAEtC,EAAK,UAAU,MAAM,EAAM,UACpC,EAEJ,EAEA,SAAU,WACR,IAEI,EADA,GAAU,EAad,GAVA,KAAK,UAAY,WACf,CACF,EACA,KAAK,UAAY,SAAU,GACzB,GAAU,EACV,EAAS,CACX,EAEA,KAAK,YAAY,KAAK,iBAElB,EACF,OAAO,CAEX,GAEF,EAEJ,EAEA,QAAQ,MAAQ,SAAU,EAAS,GAGjC,OAFA,EAAU,iBAAiB,GAEpB,EAAE,UACP,CACE,MAAO,SAAU,GACf,EAAE,GAAS,MAAM,EACnB,GAEF,EAEJ","file":"/npm/plastiq-semantic-ui@2.1.0/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/plastiq-semantic-ui@2.1.0/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","var plastiq = require('plastiq');\nvar h = plastiq.html;\n\nfunction mapObject(src, fn) {\n  var dest = {};\n\n  Object.keys(src).forEach(function (key) {\n    dest[key] = fn(src[key]);\n  });\n\n  return dest;\n}\n\nfunction refreshifyObject(obj) {\n  return mapObject(obj, function (value) {\n    if (typeof value === 'function') {\n      return h.refreshify(value);\n    } else {\n      return value;\n    }\n  });\n}\n\nexports.modal = function modal(options, vdom) {\n  options = refreshifyObject(options);\n\n  return h.component(\n    {\n      detached: true,\n      onadd: function (element) {\n        var self = this;\n        this.modal = $(element);\n\n        var originalOnHide = options.onHide;\n        options.onHide = function () {\n          self.hiding = true;\n          if (originalOnHide) {\n            originalOnHide.call(this, arguments);\n          }\n        };\n\n        this.modal.modal(options);\n        this.modal.modal('show');\n      },\n      onremove: function (element) {\n        if (!this.hiding) {\n          this.modal.modal('hide');\n        }\n        this.modal.remove();\n      }\n    },\n    vdom\n  );\n};\n\nfunction isPlainObject(o) {\n  return o.constructor === Object;\n}\n\nexports.tabs = function tabs(selector, options, vdom) {\n  if (typeof(selector) == 'string') {\n    var binding = plastiq.binding(options.binding);\n    \n    var activeKey = binding.get();\n    if (!activeKey) {\n      activeKey = options.tabs[0].key;\n      binding.set(activeKey);\n    }\n\n    var activeTab = options.tabs.filter(function (tab) { return tab.key == activeKey; })[0];\n\n    if (!activeTab) {\n      activeTab = options.tabs[0];\n      activeKey = activeTab.key;\n    }\n\n    var content = activeTab.content(activeKey);\n    content.properties.className += ' active';\n    content.key = 'content';\n\n    return [\n      h(selector, {key: 'tabs'},\n        options.tabs.map(function (tab) {\n          var tabTitle = tab.tab;\n\n          if (activeKey == tab.key) {\n            tabTitle.properties.className += ' active';\n          }\n\n          tabTitle.properties.onclick = function () {\n            binding.set(tab.key);\n          };\n\n          return tabTitle;\n        })\n      ),\n      content\n    ];\n  } else {\n    options = selector;\n    vdom = options;\n\n    if (!isPlainObject(options)) {\n      vdom = options;\n      options = undefined;\n    }\n\n    if (options) {\n      options = refreshifyObject(options);\n    }\n\n    return h.component(\n      {\n        onadd: function (element) {\n          var items = $(element).find('.item');\n          if (options) {\n            items.tab(options);\n          } else {\n            items.tab();\n          }\n        }\n      },\n      vdom\n    );\n  }\n};\n\nexports.dropdown = function (options, vdom) {\n  if (!isPlainObject(options)) {\n    vdom = options;\n    options = undefined;\n  }\n\n  if (options) {\n    options = refreshifyObject(options);\n  }\n\n  return h.component(\n    {\n      onadd: function (element) {\n        this.element = $(element);\n        if (options) {\n          this.element.dropdown(options);\n        } else {\n          this.element.dropdown();\n        }\n      },\n      onupdate: function () {\n        this.element.dropdown('refresh');\n      }\n    },\n    vdom\n  );\n};\n\nexports.checkbox = function (options, vdom) {\n  var binding = h.binding(options.binding);\n\n  return h.component(\n    {\n      binding: binding,\n\n      onadd: function (element) {\n        var self = this;\n        var $element = $(element);\n\n        $element.checkbox().on('click', function () {\n          self.checked = $(this).checkbox('is checked');\n          self.binding.set(self.checked);\n        });\n\n        this.checked = !!this.binding.get();\n        if (this.checked) {\n          $element.checkbox('check');\n        }\n      },\n\n      onupdate: function (element) {\n        var checked = !!this.binding.get();\n        if (checked != this.checked) {\n          this.checked = checked;\n          $(element).checkbox(checked? 'check': 'uncheck');\n        }\n      }\n    },\n    vdom\n  );\n};\n\nexports.search = function(options, vdom) {\n  options = refreshifyObject(options);\n\n  return h.component(\n    {\n      onadd: function (element) {\n        $(element).search(options);\n      }\n    },\n    vdom\n  );\n};\n\nexports.form = function (options, vdom) {\n  if (!vdom) {\n    vdom = options;\n    options = undefined;\n  }\n\n  if (typeof vdom === 'function') {\n    var originalVdomFn = vdom;\n    vdom = function (component) {\n      return originalVdomFn(component.state);\n    };\n  }\n\n  var v1 = options && options.v1;\n\n  return h.component(\n    {\n      key: options.key,\n      options: options,\n\n      createFormElement: function (element) {\n        if (v1 && options && options.fields) {\n          this.formElement = $(element).form(options.fields, extend(this.validationCallbacks(), options));\n        } else {\n          this.formElement = $(element).form(extend(this.validationCallbacks(), options));\n        }\n      },\n\n      onadd: function (element) {\n        this.createFormElement(element);\n      },\n\n      onupdate: function (element) {\n        this.createFormElement(element);\n      },\n\n      validationCallbacks: function () {\n        var self = this;\n\n        return {\n          onSuccess: function () {\n            if (self.options.onSuccess) {\n              self.options.onSuccess.apply(self.options, arguments);\n            }\n            return self.onSuccess.apply(self, arguments);\n          },\n\n          onFailure: function () {\n            if (self.options.onFailure) {\n              self.options.onFailure.apply(self.options, arguments);\n            }\n            return self.onFailure.apply(self, arguments);\n          }\n        };\n      },\n\n      validate: function () {\n        var success = false;\n        var failure = false;\n        var errors;\n\n        this.onSuccess = function () {\n          success = true;\n        };\n        this.onFailure = function (e) {\n          failure = true;\n          errors = e;\n        };\n\n        this.formElement.form('validate form');\n\n        if (failure) {\n          return errors;\n        }\n      }\n    },\n    vdom\n  );\n};\n\nexports.popup = function (options, vdom) {\n  options = refreshifyObject(options);\n\n  return h.component(\n    {\n      onadd: function (element) {\n        $(element).popup(options);\n      }\n    },\n    vdom\n  );\n};\n\nfunction extend(object, extension) {\n  Object.keys(extension).forEach(function (key) {\n    object[key] = extension[key];\n  });\n\n  return object;\n}\n\nfunction settingsWithLatestCallbacks(componentState, settings) {\n  function callback(name) {\n    // always call the latest callback, not the one registered\n    // when the compnent was first added.\n    callbacks[name] = function () {\n      if (componentState.settings[name]) {\n        componentState.settings[name].apply(self.settings, arguments);\n      }\n    }\n  }\n\n  var callbacks = {};\n\n  callback('onSuccess');\n  callback('onFailure');\n  callback('onValid');\n  callback('onInvalid');\n\n  return extend(settings, callbacks);\n}\n"]}